Commit eab8275fd255
systems/aomi/extra.nix
@@ -276,55 +276,8 @@
systemd.tmpfiles.rules = [
"d /var/lib/ollama-exporter 0755 root root -"
"d /var/lib/git-builds 0755 builder users -"
- "d /var/lib/slack-archive 0750 vincent users -"
];
- # Slack Archive - daily backup of public Slack channels
- systemd.services.slack-archive = {
- description = "Slack Public Channel Archiver";
- after = [ "network-online.target" ];
- wants = [ "network-online.target" ];
-
- serviceConfig = {
- Type = "oneshot";
- User = "vincent";
- Group = "users";
- ExecStart = "${pkgs.slack-archive}/bin/slack-archive archive";
- Environment = [
- "SLACK_ARCHIVE_DIR=/var/lib/slack-archive"
- "HOME=/home/vincent"
- "XDG_CACHE_HOME=/home/vincent/.cache"
- ];
-
- # Security hardening
- PrivateTmp = true;
- ProtectSystem = "strict";
- ProtectHome = "read-only";
- ReadWritePaths = [
- "/var/lib/slack-archive"
- "/home/vincent/.cache/slackdump"
- "/home/vincent/.local/cache/slackdump"
- ];
- NoNewPrivileges = true;
-
- # Logging
- StandardOutput = "journal";
- StandardError = "journal";
- SyslogIdentifier = "slack-archive";
- };
- };
-
- systemd.timers.slack-archive = {
- description = "Daily Slack Archive Timer";
- wantedBy = [ "timers.target" ];
-
- timerConfig = {
- OnCalendar = "daily";
- RandomizedDelaySec = 3600; # 0-1 hour random delay
- Persistent = true;
- };
- };
-
systemd.services.ollama-exporter = {
description = "Ollama Prometheus Exporter";
after = [
systems/kyushu/extra.nix
@@ -102,4 +102,54 @@
# Make sure we don't start docker until required
systemd.services.docker.wantedBy = lib.mkForce [ ];
+
+ # Slack Archive - daily backup of public Slack channels
+ systemd.tmpfiles.rules = [
+ "d /var/lib/slack-archive 0750 vincent users -"
+ ];
+
+ systemd.services.slack-archive = {
+ description = "Slack Public Channel Archiver";
+ after = [ "network-online.target" ];
+ wants = [ "network-online.target" ];
+
+ serviceConfig = {
+ Type = "oneshot";
+ User = "vincent";
+ Group = "users";
+ ExecStart = "${pkgs.slack-archive}/bin/slack-archive archive";
+ Environment = [
+ "SLACK_ARCHIVE_DIR=/var/lib/slack-archive"
+ "HOME=/home/vincent"
+ "XDG_CACHE_HOME=/home/vincent/.cache"
+ ];
+
+ # Security hardening
+ PrivateTmp = true;
+ ProtectSystem = "strict";
+ ProtectHome = "read-only";
+ ReadWritePaths = [
+ "/var/lib/slack-archive"
+ "/home/vincent/.cache/slackdump"
+ "/home/vincent/.local/cache/slackdump"
+ ];
+ NoNewPrivileges = true;
+
+ # Logging
+ StandardOutput = "journal";
+ StandardError = "journal";
+ SyslogIdentifier = "slack-archive";
+ };
+ };
+
+ systemd.timers.slack-archive = {
+ description = "Daily Slack Archive Timer";
+ wantedBy = [ "timers.target" ];
+
+ timerConfig = {
+ OnCalendar = "daily";
+ RandomizedDelaySec = 3600; # 0-1 hour random delay
+ Persistent = true;
+ };
+ };
}
systems/kyushu/home.nix
@@ -80,6 +80,8 @@ in
neovim
unzip # for mason.nvim
luarocks # for lazy.nvim rocks support
+
+ slackdump
];
# Automatic color scheme switching