summaryrefslogtreecommitdiff
path: root/modules/systemd.nix
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-06-17 10:59:01 +0300
committerKyren223 <Kyren223@proton.me>2025-06-17 10:59:01 +0300
commit56ea48ff7820d0532e8e4acaf6fa59badce4965b (patch)
tree6e59c6d7a3dc09b6e537e53e43312097501d29cd /modules/systemd.nix
parentdf48f7d9cc3c6a4245d549b41385bac7bd2ad986 (diff)
Replaced manual mounting in .zshrc with better mounting using systemd
Diffstat (limited to 'modules/systemd.nix')
-rw-r--r--modules/systemd.nix75
1 files changed, 75 insertions, 0 deletions
diff --git a/modules/systemd.nix b/modules/systemd.nix
new file mode 100644
index 0000000..8ea13db
--- /dev/null
+++ b/modules/systemd.nix
@@ -0,0 +1,75 @@
+{ config, pkgs, ... }: {
+
+ systemd.timers."git-auto-sync" = {
+ wantedBy = [ "timers.target" ];
+ timerConfig = {
+ OnBootSec = "5m";
+ OnUnitActiveSec = "5m";
+ Unit = "git-auto-sync.service";
+ };
+ };
+
+ systemd.services."git-auto-sync" = {
+ script = "$HOME/scripts/git-auto-sync.sh";
+ path = [
+ pkgs.git
+ pkgs.gh
+ pkgs.keychain
+ pkgs.openssh
+ ];
+ serviceConfig = { Type = "oneshot"; User = "kyren"; };
+ };
+
+ ###########################################################################
+
+ systemd.timers."k-sleep-tracker" = {
+ wantedBy = [ "timers.target" ];
+ timerConfig = {
+ OnBootSec = "1m";
+ OnUnitActiveSec = "1m";
+ Unit = "k-sleep-tracker.service";
+ };
+ };
+
+ systemd.services."k-sleep-tracker" = {
+ script = "$HOME/projects/k/bin/k tracker sleep";
+ serviceConfig = { Type = "oneshot"; User = "kyren"; };
+ };
+
+ ###########################################################################
+
+ systemd.timers."git-auto-mirror" = {
+ wantedBy = [ "timers.target" ];
+ timerConfig = {
+ OnBootSec = "1m";
+ OnUnitActiveSec = "5h";
+ Unit = "git-auto-mirror.service";
+ };
+ };
+
+ sops.secrets.gitea-sync-token = { owner = "kyren"; };
+ sops.secrets.github-mirror-token = { owner = "kyren"; };
+ systemd.services."git-auto-mirror" = {
+ script = "python $HOME/scripts/gitea.py";
+ path = [
+ (pkgs.python312.withPackages (pypkgs: [
+ pypkgs.matplotlib
+ pypkgs.pandas
+ pypkgs.pygithub
+ ]))
+ ];
+ environment = {
+ GITEA_TOKEN_FILE = config.sops.secrets.gitea-sync-token.path;
+ GITHUB_TOKEN_FILE = config.sops.secrets.github-mirror-token.path;
+ };
+ serviceConfig = { Type = "oneshot"; User = "kyren"; };
+ };
+
+ ###########################################################################
+
+ systemd.mounts = [
+ { what = "/dev/nvme1n1p4"; where = "/mnt/c"; type = "ntfs"; options = "rw,noatime"; wantedBy = ["multi-user.target"]; }
+ { what = "/dev/sda2"; where = "/mnt/e"; type = "ntfs"; options = "rw,noatime"; wantedBy = ["multi-user.target"]; }
+ ];
+
+}