From 74c9f6d8f833f03ad81bd284a99ce6e0cdacec6d Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Sun, 14 May 2017 22:44:21 -0400 Subject: Add weechat service --- config/weechat.nix | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 config/weechat.nix (limited to 'config/weechat.nix') diff --git a/config/weechat.nix b/config/weechat.nix new file mode 100644 index 0000000..e15cd33 --- /dev/null +++ b/config/weechat.nix @@ -0,0 +1,30 @@ +{ config, pkgs, ... }: +{ + systemd.services = { + weechat = { + description = "weechat session"; + path = [ pkgs.weechat pkgs.tmux pkgs.coreutils ]; + after = [ "networking.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "oneshot"; + User = "orbekk"; + RemainAfterExit = true; + }; + script = '' + tmux -2 new-session -d -s irc "${pkgs.weechat}/bin/weechat" + ''; + preStop = '' + # Gently shut down weechat. + # -xf is needed to kill precisely weechat (and not this script). + pkill -SIGTERM -xf "${pkgs.weechat}/bin/weechat" + for i in {1..10}; do + echo "Waiting for weechat to stop" + pgrep -xlf "${pkgs.weechat}/bin/weechat" || break + sleep 1 + done + tmux kill-session -t irc || true + ''; + }; + }; +} -- cgit v1.2.3