8 Commits

Author SHA1 Message Date
Noah Masur fa307c0f4b updates for swan 2026-05-30 22:36:02 +00:00
Noah Masur 07a980e937 fix: grafana secrets systemd 2026-05-30 22:22:14 +00:00
Noah Masur 0a4a28d06a increase mealie login session 2026-05-30 18:54:42 +00:00
Noah Masur 5fd6593a92 fix: replace enableAllTerminfo with specific terminfo packages 2026-05-30 13:56:15 -04:00
Noah Masur 8af595b62b update to 26.05 for stable 2026-05-30 13:02:48 -04:00
Noah Masur 1e723db068 use jj-starship from nixpkgs instead of separate flake 2026-05-30 12:54:20 -04:00
Noah Masur 16e42c2021 fix: upgrade prometheus-actual-exporter to nodejs_22 2026-05-30 10:36:00 -04:00
github-actions[bot] 38edf0a1a6 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/8c62fba0854ba15c8917aed18894dbccb48a3777' (2026-05-03)
  → 'github:lnl7/nix-darwin/56c666e108467d87d13508936aade6d567f2a501' (2026-05-17)
• Updated input 'disko':
    'github:nix-community/disko/63b4e7e6cf75307c1d26ac3762b886b5b0247267' (2026-05-02)
  → 'github:nix-community/disko/65fb947964bd44fc0008faf77d1fcb7a9f40bb32' (2026-05-19)
• Updated input 'home-manager':
    'github:nix-community/home-manager/a89686d115e970e200eb2caa7603f3673050e00c' (2026-05-04)
  → 'github:nix-community/home-manager/509ed3c603349a9d43de9e2ae6613baea6bd5b34' (2026-05-23)
• Updated input 'jj-starship':
    'github:dmmulroy/jj-starship/76cf00619b0cce5bd08a1b9a49b310ed928794d5' (2026-01-25)
  → 'github:dmmulroy/jj-starship/292224a93d5490332f32cc26d77676ccaeec0bfa' (2026-05-13)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/15f4ee454b1dce334612fa6843b3e05cf546efab' (2026-04-30)
  → 'github:nixos/nixpkgs/f83fc3c307e74bc5fd5adb7eb6b8b13ffd2a36e1' (2026-05-21)
• Updated input 'nur':
    'github:nix-community/nur/3a67c1ca739171f7196584bc250d195736e524b4' (2026-05-04)
  → 'github:nix-community/nur/7233bc9ba561a4a40166d72f489c76592354e5e4' (2026-05-23)
• Updated input 'rust-overlay':
    'github:oxalica/rust-overlay/669151bbc7f2416b622af2f48e9136e2c9da5530' (2026-05-04)
  → 'github:oxalica/rust-overlay/d9973e2ab49747fada06ebbe26cda27eb0220cf1' (2026-05-23)
2026-05-23 06:27:33 +00:00
15 changed files with 63 additions and 113 deletions
Generated
+34 -89
View File
@@ -4,7 +4,7 @@
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"systems": "systems_2", "systems": "systems",
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
@@ -28,11 +28,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1777780666, "lastModified": 1779036909,
"narHash": "sha256-8wURyQMdDkGUarSTKOGdCuFfYiwa3HbzwscUfn3STDE=", "narHash": "sha256-zXcwYQGCT6pzinK+1dBB2ekTVtfxGZAapb3Evdcu4fY=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "8c62fba0854ba15c8917aed18894dbccb48a3777", "rev": "56c666e108467d87d13508936aade6d567f2a501",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -49,11 +49,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1777713215, "lastModified": 1780048612,
"narHash": "sha256-8GzXDOXckDWwST8TY5DbwYFjdvQLlP7K9CLSVx6iTTo=", "narHash": "sha256-Md/eOK5OjmvvHc2H52pLZe4zpP4XyfiS5vHqfRCz2HU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "63b4e7e6cf75307c1d26ac3762b886b5b0247267", "rev": "caa775cf67bfdc47f940edd96c975b5016df9059",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -135,24 +135,6 @@
} }
}, },
"flake-utils": { "flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": { "inputs": {
"systems": [ "systems": [
"mac-app-util", "mac-app-util",
@@ -172,9 +154,9 @@
"type": "indirect" "type": "indirect"
} }
}, },
"flake-utils_3": { "flake-utils_2": {
"inputs": { "inputs": {
"systems": "systems_4" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -197,11 +179,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1777913624, "lastModified": 1780099287,
"narHash": "sha256-4MwfrGuqjsnEORQbM3cmkmG/9cWhDV63dTDguDj4FXw=", "narHash": "sha256-efIPwVGtIWIjWcznhaop6XN6HxnOL8800hF6CBNvlqQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "a89686d115e970e200eb2caa7603f3673050e00c", "rev": "7d8127d308c3fb9664f7e643eec944be74ebb37d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -211,34 +193,13 @@
"type": "github" "type": "github"
} }
}, },
"jj-starship": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1769370163,
"narHash": "sha256-YfcFlJsPCRfqhN+3JUWE77c+eHIp5RAu2rq/JhSxCec=",
"owner": "dmmulroy",
"repo": "jj-starship",
"rev": "76cf00619b0cce5bd08a1b9a49b310ed928794d5",
"type": "github"
},
"original": {
"owner": "dmmulroy",
"repo": "jj-starship",
"type": "github"
}
},
"mac-app-util": { "mac-app-util": {
"inputs": { "inputs": {
"cl-nix-lite": "cl-nix-lite", "cl-nix-lite": "cl-nix-lite",
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"systems": "systems_3", "systems": "systems_2",
"treefmt-nix": "treefmt-nix_2" "treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
@@ -257,17 +218,17 @@
}, },
"nix2vim": { "nix2vim": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1772905551, "lastModified": 1779563638,
"narHash": "sha256-TZaHyWUJRhmVY9sRe4p2/wlC+p+O02LLeutjTwlZdLU=", "narHash": "sha256-9CQKxDKDqVYdDhJW+A955AZwpwZjKUgvu0LbfsL6uyI=",
"owner": "gytis-ivaskevicius", "owner": "gytis-ivaskevicius",
"repo": "nix2vim", "repo": "nix2vim",
"rev": "71acbf5f97545b01778df03a8f2194e918103eba", "rev": "6927414f0de10a18fb6bc9977717088777d50d0d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -345,16 +306,16 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1767313136, "lastModified": 1779971959,
"narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=", "narHash": "sha256-R5nauXyqyfRUFiZycFFZdkF7wl6eaUpPLst35+2nJQY=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ac62194c3917d5f474c1a844b6fd6da2db95077d", "rev": "ec942ba042dad5ef097e2ef3a3effc034241f011",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-25.05", "ref": "nixos-26.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -409,11 +370,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1777578337, "lastModified": 1779560665,
"narHash": "sha256-Ad49moKWeXtKBJNy2ebiTQUEgdLyvGmTeykAQ9xM+Z4=", "narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "15f4ee454b1dce334612fa6843b3e05cf546efab", "rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -447,11 +408,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1777936899, "lastModified": 1780150535,
"narHash": "sha256-RCCTUoSeUI8CpDdEwRNXLu+YmDLNvSxV+FIQqvn8ECA=", "narHash": "sha256-Kz22fIYgDwCD1/HVyfQJUDRMEdwdtVIOSq4Ma1WfmfY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nur", "repo": "nur",
"rev": "3a67c1ca739171f7196584bc250d195736e524b4", "rev": "0014c5be6969541b8ae4c6f64f59f14ce1b09503",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -465,7 +426,6 @@
"darwin": "darwin", "darwin": "darwin",
"disko": "disko", "disko": "disko",
"home-manager": "home-manager", "home-manager": "home-manager",
"jj-starship": "jj-starship",
"mac-app-util": "mac-app-util", "mac-app-util": "mac-app-util",
"nix2vim": "nix2vim", "nix2vim": "nix2vim",
"nixos-generators": "nixos-generators", "nixos-generators": "nixos-generators",
@@ -483,11 +443,11 @@
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_6"
}, },
"locked": { "locked": {
"lastModified": 1777864665, "lastModified": 1780110990,
"narHash": "sha256-oE4lnjiBa3uE+dP9jM0jFzofP1xYIlK6IQBjLfWjH04=", "narHash": "sha256-6QBThUi7SuK+dgA+DCaEkQGZN4kYx6DpXmK45+MG9zI=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "669151bbc7f2416b622af2f48e9136e2c9da5530", "rev": "85570ef134d92a8702de6afd1f6f0209c863fa91",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -512,21 +472,6 @@
} }
}, },
"systems_2": { "systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": { "locked": {
"lastModified": 1689347925, "lastModified": 1689347925,
"narHash": "sha256-ozenz5bFe1UUqOn7f60HRmgc01BgTGIKZ4Xl+HbocGQ=", "narHash": "sha256-ozenz5bFe1UUqOn7f60HRmgc01BgTGIKZ4Xl+HbocGQ=",
@@ -541,7 +486,7 @@
"type": "github" "type": "github"
} }
}, },
"systems_4": { "systems_3": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -556,7 +501,7 @@
"type": "github" "type": "github"
} }
}, },
"systems_5": { "systems_4": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -636,7 +581,7 @@
"rust-overlay": [ "rust-overlay": [
"rust-overlay" "rust-overlay"
], ],
"systems": "systems_5" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1742588229, "lastModified": 1742588229,
+1 -6
View File
@@ -8,7 +8,7 @@
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
# Used for specific stable packages # Used for specific stable packages
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.05"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-26.05";
# Used for MacOS system config # Used for MacOS system config
darwin = { darwin = {
@@ -75,11 +75,6 @@
inputs.rust-overlay.follows = "rust-overlay"; inputs.rust-overlay.follows = "rust-overlay";
}; };
jj-starship = {
url = "github:dmmulroy/jj-starship";
inputs.nixpkgs.follows = "nixpkgs";
};
# # Text editor # # Text editor
# helix = { # helix = {
# url = "github:helix-editor/helix"; # url = "github:helix-editor/helix";
+3
View File
@@ -33,6 +33,9 @@ rec {
system.stateVersion = "23.05"; system.stateVersion = "23.05";
# Temp: disable while this isn't working
services.automatic-timezoned.enable = false;
# Not sure what's necessary but too afraid to remove anything # Not sure what's necessary but too afraid to remove anything
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [
"xhci_pci" "xhci_pci"
-1
View File
@@ -67,7 +67,6 @@ lib
inputs.nur.overlays.default inputs.nur.overlays.default
inputs.nix2vim.overlay inputs.nix2vim.overlay
inputs.zellij-switch.overlays.default inputs.zellij-switch.overlays.default
inputs.jj-starship.overlays.default
# inputs.helix.overlays.default # inputs.helix.overlays.default
] ]
++ (importOverlays ../overlays); ++ (importOverlays ../overlays);
+1 -1
View File
@@ -18,5 +18,5 @@
}).withPlugins }).withPlugins
{ {
plugins = [ "github.com/caddy-dns/cloudflare@v0.2.1" ]; plugins = [ "github.com/caddy-dns/cloudflare@v0.2.1" ];
hash = "sha256-Zls+5kWd/JSQsmZC4SRQ/WS+pUcRolNaaI7UQoPzJA0="; hash = "sha256-xz43pXTsnYmXZDAAUT+vTapoq3O/8br7igGwqZbjFdk=";
} }
+3 -3
View File
@@ -1,7 +1,7 @@
{ {
lib, lib,
fetchFromGitHub, fetchFromGitHub,
nodejs_20, nodejs_22,
buildNpmPackage, buildNpmPackage,
typescript, typescript,
node-gyp, node-gyp,
@@ -30,7 +30,7 @@ buildNpmPackage (finalAttrs: rec {
npmDepsHash = "sha256-N8xqRYFelolNGTEhG22M7KJ7B5U/uW7o+/XfLF8rHMg="; npmDepsHash = "sha256-N8xqRYFelolNGTEhG22M7KJ7B5U/uW7o+/XfLF8rHMg=";
nativeBuildInputs = [ nativeBuildInputs = [
nodejs_20 nodejs_22
typescript typescript
python3 python3
node-gyp node-gyp
@@ -65,7 +65,7 @@ buildNpmPackage (finalAttrs: rec {
installPhase = '' installPhase = ''
mkdir -p $out/{bin,lib} mkdir -p $out/{bin,lib}
cp -r . $out/lib/prometheus-actual-exporter cp -r . $out/lib/prometheus-actual-exporter
makeWrapper ${lib.getExe nodejs_20} $out/bin/prometheus-actual-exporter \ makeWrapper ${lib.getExe nodejs_22} $out/bin/prometheus-actual-exporter \
--add-flags "$out/lib/prometheus-actual-exporter/dist/app.js" --add-flags "$out/lib/prometheus-actual-exporter/dist/app.js"
''; '';
@@ -33,7 +33,7 @@ in
home.packages = [ home.packages = [
# Required for the fsmonitor to auto-snapshot # Required for the fsmonitor to auto-snapshot
pkgs.watchman pkgs.stable.watchman
# Required to be on path to work in Zellij # Required to be on path to work in Zellij
pkgs.jjui pkgs.jjui
@@ -71,7 +71,7 @@ in
bazarr = { bazarr = {
enable = true; enable = true;
}; };
jellyseerr.enable = true; seerr.enable = true;
prowlarr.enable = true; prowlarr.enable = true;
sabnzbd = { sabnzbd = {
enable = true; enable = true;
@@ -244,7 +244,7 @@ in
handle = [ handle = [
{ {
handler = "reverse_proxy"; handler = "reverse_proxy";
upstreams = [ { dial = "localhost:${builtins.toString config.services.jellyseerr.port}"; } ]; upstreams = [ { dial = "localhost:${builtins.toString config.services.seerr.port}"; } ];
} }
]; ];
} }
@@ -35,7 +35,7 @@ in
group = "grafana"; group = "grafana";
permissions = "0440"; permissions = "0440";
}; };
systemd.services.grafana-secret-key = { systemd.services.grafana-secret-key-secret = {
requiredBy = [ "grafana.service" ]; requiredBy = [ "grafana.service" ];
before = [ "grafana.service" ]; before = [ "grafana.service" ];
}; };
@@ -786,12 +786,12 @@ in
{ {
matcher = { matcher = {
id = "byName"; id = "byName";
options = "localhost:${builtins.toString config.services.jellyseerr.port}"; options = "localhost:${builtins.toString config.services.seerr.port}";
}; };
properties = [ properties = [
{ {
id = "displayName"; id = "displayName";
value = "Jellyseerr"; value = "Seerr";
} }
{ {
id = "links"; id = "links";
@@ -15,6 +15,9 @@ in
port = 9099; port = 9099;
database.createLocally = true; database.createLocally = true;
listenAddress = "127.0.0.1"; listenAddress = "127.0.0.1";
settings = {
TOKEN_TIME = 7200; # Hours for login to last (300 days)
};
}; };
nmasur.presets.services.caddy.routes = [ nmasur.presets.services.caddy.routes = [
@@ -23,7 +26,7 @@ in
handle = [ handle = [
{ {
handler = "reverse_proxy"; handler = "reverse_proxy";
upstreams = [ { dial = "localhost:${builtins.toString config.services.mealie.port}"; } ]; upstreams = [ { dial = "localhost:${toString config.services.mealie.port}"; } ];
} }
]; ];
} }
@@ -17,7 +17,7 @@ in
services.nextcloud = { services.nextcloud = {
enable = true; enable = true;
package = pkgs.nextcloud32; # Required to specify package = pkgs.nextcloud33; # Required to specify
configureRedis = true; configureRedis = true;
datadir = "/data/nextcloud"; datadir = "/data/nextcloud";
database.createLocally = true; database.createLocally = true;
@@ -3,6 +3,7 @@
{ {
config, config,
lib, lib,
pkgs,
... ...
}: }:
@@ -46,6 +47,9 @@ in
) cfg.publicKeys; ) cfg.publicKeys;
# Add terminfo for SSH from popular terminal emulators # Add terminfo for SSH from popular terminal emulators
environment.enableAllTerminfo = true; environment.systemPackages = [
pkgs.ghostty.terminfo
pkgs.kitty.terminfo
];
}; };
} }
@@ -5,12 +5,12 @@
let let
inherit (config.nmasur.settings) hostnames; inherit (config.nmasur.settings) hostnames;
cfg = config.nmasur.presets.services.stalwart-mail; cfg = config.nmasur.presets.services.stalwart;
in in
{ {
options.nmasur.presets.services.stalwart-mail = { options.nmasur.presets.services.stalwart = {
enable = lib.mkEnableOption "Stalwart mail and contacts server"; enable = lib.mkEnableOption "Stalwart mail and contacts server";
port = lib.mkOption { port = lib.mkOption {
type = lib.types.port; type = lib.types.port;
@@ -21,7 +21,7 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
services.stalwart-mail = { services.stalwart = {
enable = true; enable = true;
settings = { settings = {
server.listener.http = { server.listener.http = {
@@ -45,6 +45,7 @@ in
]; ];
# If password is requested and fails, continue to boot eventually # If password is requested and fails, continue to boot eventually
passwordTimeout = 300; passwordTimeout = 300;
forceImportRoot = false; # Recommended default
}; };
}; };
@@ -38,7 +38,7 @@ in
ntfy-sh.enable = lib.mkDefault true; ntfy-sh.enable = lib.mkDefault true;
pgweb.enable = lib.mkDefault true; pgweb.enable = lib.mkDefault true;
postgresql.enable = lib.mkDefault true; postgresql.enable = lib.mkDefault true;
stalwart-mail.enable = lib.mkDefault true; stalwart.enable = lib.mkDefault true;
thelounge.enable = lib.mkDefault true; thelounge.enable = lib.mkDefault true;
uptime-kuma.enable = lib.mkDefault true; uptime-kuma.enable = lib.mkDefault true;
vaultwarden.enable = lib.mkDefault true; vaultwarden.enable = lib.mkDefault true;