services.nix (3076B)
1 { writeScript, ... }: 2 3 4 let 5 stw-background = "#4d4d4d"; 6 stw-foreground = "#eeeeee"; 7 stw-font = "Monaco:size=9"; 8 9 in [ 10 { 11 name = "9wm"; 12 enable = false; 13 setup = ""; 14 run = writeScript "9wm-run" '' 15 #!/bin/sh 16 17 SVDIR=.. sv check xserver > /dev/null || exit 1 18 19 cd $HOMEs 20 exec 9wm 21 ''; 22 } 23 { 24 name = "blueman-applet"; 25 enable = true; 26 setup = ""; 27 run = writeScript "blueman-applet-run" '' 28 #!/bin/sh 29 30 exec blueman-applet 31 ''; 32 } 33 { 34 name = "dbus-session"; 35 enable = true; 36 setup = ""; 37 run = writeScript "dbus-session-run" '' 38 #!/bin/sh 39 40 exec dbus-daemon --nofork --session 41 ''; 42 } 43 { 44 name = "dwm"; 45 enable = true; 46 setup = ""; 47 run = writeScript "dwm-run" '' 48 #!/bin/sh 49 50 cd $HOME 51 exec dwm 52 ''; 53 } 54 { 55 name = "nm-applet"; 56 enable = true; 57 setup = ""; 58 run = writeScript "nm-applet-run" '' 59 #!/bin/sh 60 61 exec nm-applet 62 ''; 63 } 64 { 65 name = "pa-applet"; 66 enable = true; 67 setup = ""; 68 run = writeScript "pa-applet-run" '' 69 #!/bin/sh 70 71 exec pa-applet 72 ''; 73 } 74 { 75 name = "battery-applet"; 76 enable = true; 77 setup = ""; 78 run = writeScript "battery-applet-run" '' 79 #!/bin/sh 80 81 exec cbatticon 82 ''; 83 } 84 { 85 name = "slstatus"; 86 enable = true; 87 setup = ""; 88 run = writeScript "slstatus-run" '' 89 #!/bin/sh 90 91 FIFO=/tmp/slstatus.fifo 92 93 [ -p $FIFO ] || rm -f $FIFO 94 mkfifo $FIFO 95 96 exec slstatus -p $FIFO 97 ''; 98 } 99 { 100 name = "slstatus-xbps"; 101 enable = true; 102 setup = ""; 103 run = writeScript "slstatus-xbps-run" '' 104 #!/bin/bash 105 106 OUTPUT=/tmp/xbps-updates.txt 107 108 while true; do 109 updates=$(xbps-install -Mun | wc -l) 110 111 if [ $updates -ne 0 ]; then 112 echo $updates > $OUTPUT 113 else 114 echo up-to-date > $OUTPUT 115 fi 116 sleep 120 117 done 118 ''; 119 } 120 { 121 name = "stw-service"; 122 enable = true; 123 setup = ""; 124 run = writeScript "stw-service-run" '' 125 #!/bin/sh 126 127 exec stw -b '${stw-background}' -f '${stw-foreground}' -F '${stw-font}' -p 1 -B 10 -y 20 sh -c 'echo -- services -- ; psv /var/service/* ~/.xservice/* 2> /dev/null | sort -k2,2 -k1,1' 128 ''; 129 } 130 { 131 name = "stw-xbps"; 132 enable = true; 133 setup = ""; 134 run = writeScript "stw-xbps-run" '' 135 #!/bin/sh 136 137 exec stw -b '${stw-background}' -f '${stw-foreground}' -F '${stw-font}' -B 10 -p 120 -y 100% -Y -100% sh -c 'echo -- updates -- && xbps-install -Mun | cut -d" " -f1' 138 ''; 139 } 140 { 141 name = "tiramisu"; 142 enable = true; 143 setup = ""; 144 run = writeScript "tiramisu-run" '' 145 #!/bin/sh 146 147 SVDIR=.. sv check slstatus > /dev/null || exit 1 148 149 exec tiramisu -o '\\x04#source\\x05#summary: #body\\n' | xargs -i printf '%b' '{}' > /tmp/slstatus.fifo 150 ''; 151 } 152 { 153 name = "xfce-polkit"; 154 enable = true; 155 setup = ""; 156 run = writeScript "xfce-polkit-run" '' 157 #!/bin/sh 158 159 exec /usr/libexec/xfce-polkit 160 ''; 161 } 162 ]