l IM: add tmux to packages, add weechat-matrix
This commit is contained in:
parent
cd816fb427
commit
889b5b91fb
@ -1,29 +1,37 @@
|
|||||||
with (import <stockholm/lib>);
|
with (import <stockholm/lib>);
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }: let
|
||||||
|
weechat = pkgs.weechat.override {
|
||||||
|
configure = { availablePlugins, ... }: with pkgs.weechatScripts; {
|
||||||
|
plugins = lib.attrValues (availablePlugins // {
|
||||||
|
python = availablePlugins.python.withPackages (_: [ weechat-matrix ]);
|
||||||
|
});
|
||||||
|
scripts = [ weechat-matrix ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
{
|
tmux = pkgs.writeDashBin "tmux" ''
|
||||||
|
exec ${pkgs.tmux}/bin/tmux -f ${pkgs.writeText "tmux.conf" ''
|
||||||
|
set-option -g prefix `
|
||||||
|
unbind-key C-b
|
||||||
|
bind ` send-prefix
|
||||||
|
|
||||||
|
set-option -g status off
|
||||||
|
set-option -g default-terminal screen-256color
|
||||||
|
|
||||||
|
#use session instead of windows
|
||||||
|
bind-key c new-session
|
||||||
|
bind-key p switch-client -p
|
||||||
|
bind-key n switch-client -n
|
||||||
|
bind-key C-s switch-client -l
|
||||||
|
''} "$@"
|
||||||
|
'';
|
||||||
|
|
||||||
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./bitlbee.nix
|
./bitlbee.nix
|
||||||
];
|
];
|
||||||
|
environment.systemPackages = [ tmux ];
|
||||||
systemd.services.chat = let
|
systemd.services.chat = {
|
||||||
tmux = pkgs.writeDash "tmux" ''
|
|
||||||
exec ${pkgs.tmux}/bin/tmux -f ${pkgs.writeText "tmux.conf" ''
|
|
||||||
set-option -g prefix `
|
|
||||||
unbind-key C-b
|
|
||||||
bind ` send-prefix
|
|
||||||
|
|
||||||
set-option -g status off
|
|
||||||
set-option -g default-terminal screen-256color
|
|
||||||
|
|
||||||
#use session instead of windows
|
|
||||||
bind-key c new-session
|
|
||||||
bind-key p switch-client -p
|
|
||||||
bind-key n switch-client -n
|
|
||||||
bind-key C-s switch-client -l
|
|
||||||
''} "$@"
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
description = "chat environment setup";
|
description = "chat environment setup";
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
@ -38,8 +46,8 @@ with (import <stockholm/lib>);
|
|||||||
User = "lass";
|
User = "lass";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
ExecStart = "${tmux} -2 new-session -d -s IM ${pkgs.weechat}/bin/weechat";
|
ExecStart = "${tmux}/bin/tmux -2 new-session -d -s IM ${weechat}/bin/weechat";
|
||||||
ExecStop = "${tmux} kill-session -t IM";
|
ExecStop = "${tmux}/bin/tmux kill-session -t IM"; # TODO run save in weechat
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user