diff --git a/flake.lock b/flake.lock index e43e87a..a7d009e 100644 --- a/flake.lock +++ b/flake.lock @@ -316,17 +316,17 @@ "proj": "proj" }, "locked": { - "lastModified": 1774331454, - "narHash": "sha256-PK9UUJENvPFqZC72DjJGxYgakbauzi8LDUwfDdYroVE=", + "lastModified": 1776466403, + "narHash": "sha256-RkmSoA732KP2sC0DpgmexD+M1Vv+yYWx01rPSaKUYo4=", "owner": "Gleipnir-Technology", "repo": "nidus-sync", - "rev": "2a4b3e551e2a414b51fa544cf50bb6a4985a953f", + "rev": "ade629ecf57d9842bc2301cfeb53af614747ddcf", "type": "github" }, "original": { "owner": "Gleipnir-Technology", "repo": "nidus-sync", - "rev": "2a4b3e551e2a414b51fa544cf50bb6a4985a953f", + "rev": "ade629ecf57d9842bc2301cfeb53af614747ddcf", "type": "github" } }, diff --git a/flake.nix b/flake.nix index 0ce633b..0e05a99 100644 --- a/flake.nix +++ b/flake.nix @@ -27,7 +27,7 @@ type = "github"; owner = "Gleipnir-Technology"; repo = "nidus-sync"; - rev = "2a4b3e551e2a414b51fa544cf50bb6a4985a953f"; + rev = "ade629ecf57d9842bc2301cfeb53af614747ddcf"; }; nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; diff --git a/modules/system/nidus-sync.nix b/modules/system/nidus-sync.nix index d991819..237da26 100644 --- a/modules/system/nidus-sync.nix +++ b/modules/system/nidus-sync.nix @@ -102,19 +102,26 @@ in { systemd.services."${nidusName}-webserver" = { after=["network.target" "network-online.target"]; description="Nidus Sync Webserver"; - path = [ pkgs.ffmpeg ]; + path = with pkgs; [ + ffmpeg + google-chrome + ]; requires=["network-online.target"]; serviceConfig = { Group = "${group}"; - Environment="SENTRY_RELEASE=${inputs.nidus-sync.rev}"; + Environment=[ + "SENTRY_RELEASE=${inputs.nidus-sync.rev}" + "HOME=/var/lib/nidus-sync" + ]; EnvironmentFile="${environmentFile}"; ExecStart = "${nidus-sync-pkg}/bin/nidus-sync"; PrivateTmp = true; Restart = "on-failure"; + StateDirectory = "nidus-sync"; # Creates /var/lib/nidus-sync TimeoutStopSec = "5s"; Type = "simple"; User = "${user}"; - WorkingDirectory = "/tmp"; + WorkingDirectory = "/var/lib/nidus-sync"; }; wantedBy = ["multi-user.target"]; }; diff --git a/roles/nidus-sync.nix b/roles/nidus-sync.nix index 0a6319e..c9cbc9d 100644 --- a/roles/nidus-sync.nix +++ b/roles/nidus-sync.nix @@ -1,5 +1,18 @@ { inputs, lib, pkgs, ...}: { + environment.systemPackages = [ + pkgs.google-chrome + + # Create a wrapper for google-chrome command + (pkgs.writeShellScriptBin "google-chrome" '' + exec ${pkgs.google-chrome}/bin/google-chrome-stable "$@" + '') + ]; + fonts.packages = with pkgs; [ + corefonts + liberation_ttf + ]; + fonts.fontDir.enable = true; myModules.asterisk.enable = false; myModules.caddy.enable = true; myModules.qgis.enable = false; diff --git a/secrets/prod/nidus-sync.env b/secrets/prod/nidus-sync.env index 68b1b8f..8bb354f 100644 --- a/secrets/prod/nidus-sync.env +++ b/secrets/prod/nidus-sync.env @@ -17,6 +17,7 @@ FORWARDEMAIL_RMO_PASSWORD=ENC[AES256_GCM,data:yzK6/ZUH4dfCkLvpZTzdgvnf01COiDtJ,i FORWARDEMAIL_NIDUS_ADDRESS=ENC[AES256_GCM,data:WYwHbYxfdvkiCORbUbEsaDU4jw==,iv:6Rs5E1Cigzxm4bbDQSppu4ev8m+qf2GxRJeuXfFtRtc=,tag:e88cMff3ISUnSvuUIR0dmg==,type:str] FORWARDEMAIL_NIDUS_PASSWORD=ENC[AES256_GCM,data:wsDCS2AhZFSBU6RetdOkaY5SdWyVA4bq,iv:EYrEI6h5sT8l9vHUIJsplXQXqYq3p2CJh/CK5qaf1f8=,tag:uxbCw90gRsWGYpM4njWQUw==,type:str] FORWARDEMAIL_NIDUS_USERNAME=ENC[AES256_GCM,data:0rAezkdzf3K1yXoym/L17OkEgw==,iv:DXwYnwNdQJTwJB0lAM7himC4XnzzrXIhPzk2LyxYuDE=,tag:FVmXcBpwPxI2EjvZXBI/EQ==,type:str] +LOB_API_KEY=ENC[AES256_GCM,data:NbKHzIc/bfz5+pgqBciYuyihHu8yqjAUxFOWUYmczAFuEmZXWQfV2g==,iv:oGg5V3aAZxsN+VbBfQ3U5vTYdDDtYdy+DP6OUbq4z+o=,tag:GzOGBas3E9bQMGRRwiE07A==,type:str] MAPBOX_TOKEN=ENC[AES256_GCM,data:4DUd+znj0b7O3G54vcNcyBtcSlcGuD5ujqF2WLfvZ56EPFKPbbTscfMnFusCuL4dUepcqgeJfKbcUnLmAhydTkSlOZbAUikm+/r/74OHkZslHMgHJb7FlFFPMwo=,iv:K8EXVn4SaUGtc3TYsSFwUZ5ibtS4ib6PxJCinVET3p8=,tag:MNSvAPlBQQz6eJqTvd6DhQ==,type:str] OPENAI_API_KEY=ENC[AES256_GCM,data:8FirpVvHVWk0gnrt1iMOR0tClWLJLLAlWvv9q1WF0CJLkt0rb/oW2KDuz1fcFnOlwsnbt24lNS5YmM1SDUyj2vR6I31PBNACJt/+SylA7wvsgZaF3evpXIbrSkXOjgIyZYiJSk6+GnB1NwcY7FG8nkJEiwLWSK1rjM/Y1KnzcJ2ITFX/aToJHfZUsDatRkORBosblZ1CbUMMV7zGrxhATpCSvL8=,iv:RqqBmqC4IwjXe58edKJMHfW4pcG2g9RifHmHDTh7wAE=,tag:WmlJlLp4OpadDFdjFrv7qg==,type:str] PHONE_NUMBER_RMO=ENC[AES256_GCM,data:RoQMZJX3D1i72TGo,iv:kax3JDKo8jXcDplD4VCiyiJGiW7Bvk8BlqkqdBdN2yc=,tag:YBmbMDfAXk8Zh7hm9tJ0Rg==,type:str] @@ -50,7 +51,7 @@ sops_age__list_7__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb2 sops_age__list_7__map_recipient=age167q6r28ws6wrpjwxnt4ap2fgs6d9cyvrdhzl2wflr2tnsw5xapxq36n2ec sops_age__list_8__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2U2tPWDZ0SVcrcENVaVpG\nc1kvd0hRMC9xS09EMER1d3lpWERvQVhsam5RCkZON0hDTWo3QnlZcWhyanVFQ2po\nbmxMWVVFRm5JTU5yRXBySzdWV1B0REkKLS0tIDJCTEZUQkh1UW9ONG56aTFFV3F0\nMGRDK2V1QWVZTE9HK1V3eFZkSVJ4SFkKvnqmRWFSYtjFluRuZiep5Lds16du+5+U\n8H6uaXLdnJCuo24CmW1extaCC/UGHguNe8VAeki9eeBLWAxLtvHIew==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_8__map_recipient=age1gcgg40w7ja4gujzsujpgt7kd2ww6fpepkz04s5lkryx6ulnggdhs03yrkw -sops_lastmodified=2026-02-18T08:35:59Z -sops_mac=ENC[AES256_GCM,data:CfFVXm1MoAxu7dpJBNpk7KdjTtaukrz/04W5FIIQ1FM8uosWspsIO8rEDnU5GML5hASnnIQjtndcEz4eHAbj6wwSh5qwAc0vJfe3lsB7jPW92NktU1PzGxpBaqjdkr9OF61SV/DnjE8etCOG2m/4EWjpjaj0XvfcOINGQBfjbKY=,iv:JqjmjC7Wamw8auE7H5/P5ZFlAz+RtdEFz/4d7shE8DE=,tag:JQFkg0B1DrAD0XJzqc1pnQ==,type:str] +sops_lastmodified=2026-04-16T15:08:21Z +sops_mac=ENC[AES256_GCM,data:XL36rTINOEJ9QupVDjLKfEhWovrrtY/NbicsLyTgpQ2AXSorVfCWHvQEnAo0ahSs0WjHN8bgNAemLtsh4G47MDz2O0/Jpl8vK2Zpv83vrPgkPyvmp34yy9fQHGtXfDEArw5vl9ElSvBUH3fWVbONR1wA2KV2IE0ULFxh0Wqzcio=,iv:5+dv3wt3T++8p4nVS9AipvlL/pcS8oiQjNM80x/S4DU=,tag:wEaxkgqc7UgcSe4SoEG8SQ==,type:str] sops_unencrypted_suffix=_unencrypted -sops_version=3.11.0 +sops_version=3.12.1 diff --git a/secrets/staging/nidus-sync.env b/secrets/staging/nidus-sync.env index 9ae4b91..49ba7c8 100644 --- a/secrets/staging/nidus-sync.env +++ b/secrets/staging/nidus-sync.env @@ -17,6 +17,7 @@ FORWARDEMAIL_RMO_USERNAME=ENC[AES256_GCM,data:e/8zzxq6b5vOHbK0ocZDNJC03vSJkN6+Yp FORWARDEMAIL_NIDUS_ADDRESS=ENC[AES256_GCM,data:DcvfS7fGJRBtGeZCprXnWxOnyWIbggJo6XrDZSL34kU=,iv:2Oh9AIYIyCgLaP5EEhumRMEAhFMBDNEt+PWciYYQszw=,tag:ujmcqUQyfIdaGzSG/3tgiw==,type:str] FORWARDEMAIL_NIDUS_PASSWORD=ENC[AES256_GCM,data:1Qw7Jsd/zzz6kJ3sUhuIxzrD9rTxSUgH,iv:fTtzUOOGhgKrFRamIdrsxvt4Rqms3iorrZo5/6V9nR0=,tag:eQnYFnmcZ/YkYmfdb79NRQ==,type:str] FORWARDEMAIL_NIDUS_USERNAME=ENC[AES256_GCM,data:l/UHYSfzwgBoS29etCHa0d4ZMSULtIY13EpOuXCkR8c=,iv:AqI7dZ+Oj392zKSU9OngYWQYOOEWd+6jzUCLSmjcl8k=,tag:5GVWtSOY6SkRs7DtrFLWBQ==,type:str] +LOB_API_KEY=ENC[AES256_GCM,data:GqBYovx3lG0pma7ctTDu+QGM5djMPAwGdj3MnorJ6v7L5D8/ABCbZw==,iv:c8+9Gr329/WxpwOAIXYscUL8aB0B+oXESPg31tsJR14=,tag:Y/Mle/YYzFpxI/Hol5lM7Q==,type:str] MAPBOX_TOKEN=ENC[AES256_GCM,data:PCoZkFfl6Z2P9aa8BnLI9J6zO0VdcQueKJDUwWc5ze/EiRqwHoG1Pq/w6+5fWaGYwuLcro/dh0fZSsHu2PQnqPezG7WvSoP62VzXngHGJTFwYHC2B9h6xxKuXjE=,iv:uu1RMth1bLviOVELY2iOY74cLiY/RoUQrRjCwIroTMc=,tag:dSS9WW1TnpD6Oh2HVluDvA==,type:str] OPENAI_API_KEY=ENC[AES256_GCM,data:VpGLvn6YP05qw3V92rG2iGlSLfU5IeuLHzP2+5Ehqcjuje4qDKmaVd1lFZiK4Oc3i4qKC0P3JZ65ze3M3hGxcREWqA/kksxo9Y+cP8tNeIfPz/jQTPo6NOFb0p9MSihpaZmWys1qjYwYmqu4hiS2pO+EMPRS2ahhBE+Zoekz1h0uGAXBWTVA0Zy3hlp90fg5bunDtXKSszmY8YzDy0+56qSkZdw=,iv:ufccSx0dlX0RdEwiJdDNcHBuK+6Ip5P8OviC+oQjJd8=,tag:bseLdYrTmiOUDOXLWLcHFw==,type:str] PHONE_NUMBER_RMO=ENC[AES256_GCM,data:jBJ3iGseNDop6Aaq2g==,iv:vRfyGz5sKpj7Fz7GQNbiykXqmK/XnN8TXn5O5Qb+vHw=,tag:viJfNf50MWY7DLbXGj47qQ==,type:str] @@ -50,7 +51,7 @@ sops_age__list_7__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb2 sops_age__list_7__map_recipient=age167q6r28ws6wrpjwxnt4ap2fgs6d9cyvrdhzl2wflr2tnsw5xapxq36n2ec sops_age__list_8__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvR1NnUmxVL0w2STJvVDhq\nT3JKYlZJZW5ZS2Q1eHBDMVM2SEVJY2ZPdGk0CnRBK1RKaSt1WEhnNHVhMzY2RXdw\nbUMrVXIzQXAzTjQ0K0l5azlEWWtoblEKLS0tIFN6bnhSVGJHb1lSVVF1WEdGd0hW\nTGpVME5iMTNjd0diOWhKYTFuMHFTS3MKibwqgBftT4l3bVrB7e8RYgGNeuLwAkUn\n16OIGtnnGaByPQ76C/itJmocr5qyGt+Gv13iu48hpf0w3xK/tnzelQ==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_8__map_recipient=age1924evks66k9g6c4zcnn2ghjcxpe0fzw2y9j253xredkwqnw9p5qqjcvjqt -sops_lastmodified=2026-02-18T08:35:37Z -sops_mac=ENC[AES256_GCM,data:ysmfDh3iJQjqHGMFi7/ngeu8hpRpVNvl6P2WbrrdR3wCug9KnejuGCvwdx+O+GBUwHvqF99XZojL1Od0vW0Lha+HjsrHN5tII7LRXnxh5UurQ3L8hoKxlpQqJ1qT4I5+tx6txd8xA86CKeMqbhm2EtveknwBVjaQDG/UZTV+ZUo=,iv:WVywCZ2cq1EWSmnLtekPj+ysg6TwkJg1g09McwMUgC8=,tag:H1sYypuB7+ix6DTwsm4E/A==,type:str] +sops_lastmodified=2026-04-16T15:06:54Z +sops_mac=ENC[AES256_GCM,data:kMhkClBDPsgaL6q5EdugghUOfUZAc6yuVERub91GdzRyaaJKhdI6Yrq0LqMJlQ946epIV15W05GCDxap5SuplbMuUNPYp4m2elv9x60P9wWRMzlJxlLVg9BccTnzCPc98/DMSeWxxBQykAf1ZCp0M+KjKpD96WC4guMwPP9kNgE=,iv:pCI40D/pTble0oPd3+BuWUXVuKWeNTZDI4IrogsETSo=,tag:STiUrFML1+2cLmNw9s6bYw==,type:str] sops_unencrypted_suffix=_unencrypted -sops_version=3.11.0 +sops_version=3.12.1 diff --git a/system.nix b/system.nix index 90f7d71..8c461b7 100644 --- a/system.nix +++ b/system.nix @@ -2,6 +2,7 @@ let allowed-unfree-packages = [ "corefonts" + "google-chrome" "mongodb" ]; in nixpkgs.lib.nixosSystem {