summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--custom/notify-user.nix29
-rw-r--r--hel.nix10
2 files changed, 9 insertions, 30 deletions
diff --git a/custom/notify-user.nix b/custom/notify-user.nix
deleted file mode 100644
index ae8ea56c..00000000
--- a/custom/notify-user.nix
+++ /dev/null
@@ -1,29 +0,0 @@
1{ stdenv, writeTextFile
2, ghcWithPackages
3, user ? "gkleen"
4, libnotify
5}:
6
7stdenv.mkDerivation {
8 name = ''notify-${user}'';
9 src = writeTextFile { name = ''notify-${user}.hs''; text = ''
10 import Control.Shell
11 import System.FilePath.Glob (glob)
12
13 import Data.List (isPrefixOf)
14
15 main = shell_ $ do
16 (envFile:_) <- liftIO $ glob "/home/${user}/.dbus/session-bus/*-0"
17 sessionAddr <- snd . break (== '=') . head . filter ("DBUS_SESSION_BUS_ADDRESS=" `isPrefixOf`) . lines <$> input envFile
18 env <- getShellEnv
19 withEnv "DBUS_SESSION_BUS_ADDRESS" sessionAddr $ run "${libnotify}/bin/notify-send" cmdline
20 ''; };
21 phases = [ "buildPhase" "installPhase" ];
22 buildPhase = ''
23 ${ghcWithPackages (p: with p; [ shellmate Glob ])}/bin/ghc -odir . -hidir . $src -o notify-${user}
24 '';
25 installPhase = ''
26 mkdir -p $out/bin
27 install -m 755 notify-${user} $out/bin
28 '';
29}
diff --git a/hel.nix b/hel.nix
index f2147c3f..2a1b9736 100644
--- a/hel.nix
+++ b/hel.nix
@@ -254,7 +254,15 @@
254 program = "notify-gkleen"; 254 program = "notify-gkleen";
255 setgid = true; 255 setgid = true;
256 setuid = true; 256 setuid = true;
257 source = pkgs.callPackage ./custom/notify-user.nix { inherit (pkgs.haskellPackages) ghcWithPackages; user = "gkleen"; }; 257 source = pkgs.lib.writeTextFile {
258 name = "notify-gkleen";
259 text = ''
260 #!${pkgs.zsh}/bin/zsh
261
262 DBUS_ADDRESS=`grep "DBUS_SESSION_BUS_ADDRESS=" /home/gkleen/.dbus/session-bus/${"*"}-0 | cut -d "=" -f 2-`
263 exec env DBUS_SESSION_BUS_ADDRESS='${DBUS_ADDRESS} ${pkgs.libnotify}/notify-send '${(qq)@}
264 '';
265 };
258 } 266 }
259 ]; 267 ];
260 }; 268 };