summaryrefslogtreecommitdiff
path: root/accounts/gkleen@sif/systemd.nix
diff options
context:
space:
mode:
Diffstat (limited to 'accounts/gkleen@sif/systemd.nix')
-rw-r--r--accounts/gkleen@sif/systemd.nix107
1 files changed, 107 insertions, 0 deletions
diff --git a/accounts/gkleen@sif/systemd.nix b/accounts/gkleen@sif/systemd.nix
new file mode 100644
index 00000000..c6ec6f64
--- /dev/null
+++ b/accounts/gkleen@sif/systemd.nix
@@ -0,0 +1,107 @@
1{ pkgs, config, userName, ... }:
2let
3 xmobar = import ./xmobar pkgs.haskellPackages;
4 cfg = config.home-manager.users.${userName};
5in {
6 services = {
7 "dynamic-forward@" = {
8 Service = {
9 WorkingDirectory = "~";
10 ExecStart = "${pkgs.autossh}/bin/autossh -M 20000 -- -vN -o ControlMaster=no \"%I\"";
11 Environment = [ "AUTOSSH_POLL=30" "AUTOSSH_PIDFILE=.ssh/autossh.%i.pid" ];
12 PIDFile = "~/.ssh/autossh.%i.pid";
13 Restart = "on-failure";
14 RestartSec = "30";
15 };
16 Install = {
17 WantedBy = ["default.target"];
18 };
19 };
20 sync-keepass = {
21 Service = {
22 Type = "oneshot";
23 WorkingDirectory = "~";
24 ExecStart = "${pkgs.lftp}/bin/lftp -f ${./store.kdbx.lftp}";
25 };
26 };
27 urxvtd = {
28 Service = {
29 Type = "simple";
30 WorkingDirectory = "~";
31 ExecStart = "${cfg.programs.urxvt.package}/bin/urxvtd";
32 Restart = "always";
33 };
34 Unit = {
35 After = ["graphical-session.target"];
36 };
37 Install = {
38 WantedBy = ["graphical-session.target"];
39 };
40 };
41 emacs = {
42 Unit = {
43 After = ["graphical-session-pre.target"];
44 };
45 };
46 trayer = {
47 Service = {
48 Type = "simple";
49 WorkingDirectory = "~";
50 ExecStart = "${pkgs.trayer}/bin/trayer --edge top --align right --SetDockType true --SetPartialStrut true --expand true --width 8 --tint 0x000000 --alpha 0 --transparent true --height 32 --monitor primary";
51 Restart = "always";
52 };
53 Install = {
54 WantedBy = ["graphical-session.target"];
55 };
56 };
57 xmobar = {
58 Service = {
59 Type = "simple";
60 WorkingDirectory = "~";
61 ExecStart = "${xmobar}/bin/xmobar";
62 Restart = "always";
63 Environment = "PATH=${pkgs.worktime}/bin:${pkgs.openssh}/bin";
64
65 };
66 Install = {
67 WantedBy = ["graphical-session.target"];
68 };
69 };
70 dunst = {
71 Service = {
72 Restart = "always";
73 };
74 Install = {
75 WantedBy = ["graphical-session.target"];
76 };
77 };
78 xiccd = {
79 Service = {
80 Type = "simple";
81 WorkingDirectory = "~";
82 ExecStart = "${pkgs.xiccd}/bin/xiccd";
83 Restart = "always";
84 };
85 };
86 };
87 timers = {
88 sync-keepass = {
89 Timer = {
90 OnActiveSec = "1m";
91 OnUnitActiveSec = "1m";
92 };
93
94 Install = {
95 WantedBy = ["default.target"];
96 };
97 };
98 };
99 targets = {
100 graphical-session = {
101 Unit = {
102 BindsTo = ["default.target"];
103 After = ["basic.target"];
104 };
105 };
106 };
107}