summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2021-01-23 18:32:56 +0100
committerlassulus <lassulus@lassul.us>2021-01-23 18:32:56 +0100
commitdf53de085f35b9da52e31ca2db6c1f6d97062127 (patch)
treea703bd67d9d4fedaa207b5613b91049ed92d5e36
parent9e4d47c5b46a92436d8e71c17a61ab729d4c4133 (diff)
l: add missing IM.nix
-rw-r--r--lass/2configs/IM.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/lass/2configs/IM.nix b/lass/2configs/IM.nix
new file mode 100644
index 000000000..b79af3b49
--- /dev/null
+++ b/lass/2configs/IM.nix
@@ -0,0 +1,45 @@
+with (import <stockholm/lib>);
+{ config, lib, pkgs, ... }:
+
+{
+ imports = [
+ ./bitlbee.nix
+ ];
+
+ systemd.services.chat = let
+ 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";
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+
+ restartIfChanged = false;
+
+ path = [
+ pkgs.rxvt_unicode.terminfo
+ ];
+
+ serviceConfig = {
+ User = "lass";
+ RemainAfterExit = true;
+ Type = "oneshot";
+ ExecStart = "${tmux} -2 new-session -d -s IM ${pkgs.weechat}/bin/weechat";
+ ExecStop = "${tmux} kill-session -t IM";
+ };
+ };
+}