27 Commits

Author SHA1 Message Date
f9f3abee19 fix(pkgs): moving some home.packages to system 2025-11-02 16:50:13 +01:00
15bc0f211f fix(fish): fixing nixpkgs module with lib.getExe 2025-11-02 16:30:56 +01:00
f0fb53b480 feat(tailscale): adding tailscale to bunk 2025-11-02 15:47:49 +01:00
1ae85bd66e feat(fish): disable gpg, its fking up fish atm 2025-11-02 12:14:31 +01:00
87b49d0f58 feat(fish): adding some abbrs for dry running and show trace 2025-11-02 10:14:05 +01:00
c5a1c2861c feat(kanata) adding pipe symbol 2025-11-02 10:07:07 +01:00
8dc67e2b54 chore(update): flake lock 2025-10-28 19:47:35 +01:00
322136e4f3 Merge pull request 'bunk things' (#8) from bunk into main
Reviewed-on: #8
2025-10-28 19:47:07 +01:00
300eb66afc bunk things 2025-10-28 19:25:34 +01:00
545888878e Merge pull request 'chore(update): flake up' (#7) from upd into main
Reviewed-on: #7
2025-10-26 19:16:27 +01:00
5042675e0b chore(update): flake up 2025-10-26 19:14:50 +01:00
ece5e89a84 feat(hyprlock): visuals 2025-10-26 00:31:45 +02:00
2933bcdf02 feat(unbound): adding manual traefik data 2025-10-25 18:48:20 +02:00
59e548f02e feat(headscale): remove for now 2025-10-25 14:13:30 +02:00
2ffc94161d chore(dead): remove obsolete code 2025-10-25 14:04:38 +02:00
ff5490194b feat(headscale): just an initial test 2025-10-25 14:03:34 +02:00
1dd06ef3f5 chore(git): fix deprecated settings 2025-10-23 19:13:12 +02:00
ec9a3bd845 feat(waybar) some visual updates 2025-10-20 20:15:26 +02:00
2c08f78586 feat(hypr): more keybindings 2025-10-20 18:22:52 +02:00
d22801168f feat(hypr): add swapping window bind 2025-10-20 18:16:59 +02:00
0c86dc56bd chore(update): flake up 2025-10-18 14:57:12 +02:00
3d8deae6f3 feat(llm): testing some local models 2025-10-16 21:20:40 +02:00
cd978f5eb6 feat(hypr): back to hyprland, and fix some clib importing stuffs 2025-10-15 20:00:31 +02:00
64df7abad5 feat(hypr): clean up 2025-10-15 19:38:47 +02:00
8efa649d47 feat(homepage-dashboard): change vaultwarden icon 2025-10-15 18:01:39 +02:00
2dc09e23a0 chore(jellyseerr): typo 2025-10-15 17:50:11 +02:00
8fd2a7d9ad feat(homepage-dashboard): reintroduce path option 2025-10-15 17:49:30 +02:00
39 changed files with 661 additions and 522 deletions

342
flake.lock generated
View File

@@ -8,11 +8,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1754433428, "lastModified": 1761656077,
"narHash": "sha256-NA/FT2hVhKDftbHSwVnoRTFhes62+7dxZbxj5Gxvghs=", "narHash": "sha256-lsNWuj4Z+pE7s0bd2OKicOFq9bK86JE0ZGeKJbNqb94=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "9edb1787864c4f59ae5074ad498b6272b3ec308d", "rev": "9ba0d85de3eaa7afeab493fed622008b6e4924f5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -29,11 +29,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1760083914, "lastModified": 1761806975,
"narHash": "sha256-I9IMO9d+z71oeqOz6gOre07tK2Du3vp2FcOW3x4FDXw=", "narHash": "sha256-GLGdVJSPH0LnsO64Biw0WFJaj1PlltYxgH13f+FGWgQ=",
"owner": "anyrun-org", "owner": "anyrun-org",
"repo": "anyrun", "repo": "anyrun",
"rev": "3050aa30e25957bbb9e1ac91a44d3979eccadf59", "rev": "329d31af9ba038ef65db9914eb94de695c738377",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -83,11 +83,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759499898, "lastModified": 1760101617,
"narHash": "sha256-UNzYHLWfkSzLHDep5Ckb5tXc0fdxwPIrT+MY4kpQttM=", "narHash": "sha256-8jf/3ZCi+B7zYpIyV04+3wm72BD7Z801IlOzsOACR7I=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "655e067f96fd44b3f5685e17f566b0e4d535d798", "rev": "1826a9923881320306231b1c2090379ebf9fa4f8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -100,14 +100,10 @@
"inputs": { "inputs": {
"authentik-src": "authentik-src", "authentik-src": "authentik-src",
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"flake-parts": [ "flake-parts": "flake-parts_2",
"flake-parts"
],
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"napalm": "napalm", "napalm": "napalm",
"nixpkgs": [ "nixpkgs": "nixpkgs_3",
"nixpkgs"
],
"pyproject-build-systems": "pyproject-build-systems", "pyproject-build-systems": "pyproject-build-systems",
"pyproject-nix": "pyproject-nix", "pyproject-nix": "pyproject-nix",
"systems": "systems_3", "systems": "systems_3",
@@ -123,6 +119,7 @@
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "version/2025.8.4",
"repo": "authentik-nix", "repo": "authentik-nix",
"type": "github" "type": "github"
} }
@@ -149,15 +146,15 @@
"flake-schemas": "flake-schemas", "flake-schemas": "flake-schemas",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"jovian": "jovian", "jovian": "jovian",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_4",
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1760395520, "lastModified": 1762036128,
"narHash": "sha256-4hVEyj3H4i0kwtO8dDIKee1WoZ0iMZxr3ageSdJ6Cck=", "narHash": "sha256-0VgVPYq5upSXc+LSn3ubxJhH+DLdakYW4QXeabo0Ivg=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "c438d72cee048fe6203df15c81a230efb16fa409", "rev": "499783c86e6e9436534d1a23b35da98c7f6af3f4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -212,11 +209,11 @@
"rust-analyzer-src": "rust-analyzer-src" "rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"lastModified": 1760424233, "lastModified": 1762065744,
"narHash": "sha256-8jLfVik1ccwmacVW5BlprmsuK534rT5HjdPhkSaew44=", "narHash": "sha256-c04mxJoCb8f6BBrdaREWmdQq+pfp395olXhC+B0G7DI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "fenix", "repo": "fenix",
"rev": "48a763cdc0b2d07199a021de99c2ca50af76e49f", "rev": "e0f24085a4a0da1c32adc308ec4c518ae886ff35",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -243,11 +240,11 @@
}, },
"flake-compat_2": { "flake-compat_2": {
"locked": { "locked": {
"lastModified": 1747046372, "lastModified": 1761588595,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -327,16 +324,14 @@
}, },
"flake-parts_2": { "flake-parts_2": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": "nixpkgs-lib"
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1759362264, "lastModified": 1756770412,
"narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "758cf7296bee11f1706a574c77d072b8a7baa881", "rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -347,7 +342,27 @@
}, },
"flake-parts_3": { "flake-parts_3": {
"inputs": { "inputs": {
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1762040540,
"narHash": "sha256-z5PlZ47j50VNF3R+IMS9LmzI5fYRGY/Z5O5tol1c9I4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "0010412d62a25d959151790968765a70c436598b",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
}, },
"locked": { "locked": {
"lastModified": 1753121425, "lastModified": 1753121425,
@@ -363,7 +378,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_4": { "flake-parts_5": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"lanzaboote", "lanzaboote",
@@ -384,7 +399,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_5": { "flake-parts_6": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nvf", "nvf",
@@ -392,11 +407,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759362264, "lastModified": 1760948891,
"narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "758cf7296bee11f1706a574c77d072b8a7baa881", "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -405,7 +420,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_6": { "flake-parts_7": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"tuirun", "tuirun",
@@ -463,8 +478,8 @@
}, },
"fonts": { "fonts": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_3", "flake-parts": "flake-parts_4",
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1753431871, "lastModified": 1753431871,
@@ -491,11 +506,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760392170, "lastModified": 1760663237,
"narHash": "sha256-WftxJgr2MeDDFK47fQKywzC72L2jRc/PWcyGdjaDzkw=", "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "46d55f0aeb1d567a78223e69729734f3dca25a85", "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -571,11 +586,11 @@
}, },
"hardware": { "hardware": {
"locked": { "locked": {
"lastModified": 1760106635, "lastModified": 1761933221,
"narHash": "sha256-2GoxVaKWTHBxRoeUYSjv0AfSOx4qw5CWSFz2b+VolKU=", "narHash": "sha256-rNHeoG3ZrA94jczyLSjxCtu67YYPYIlXXr0uhG3wNxM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "9ed85f8afebf2b7478f25db0a98d0e782c0ed903", "rev": "7467f155fcba189eb088a7601f44fbef7688669b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -586,15 +601,15 @@
}, },
"helix-flake": { "helix-flake": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_6",
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1760446779, "lastModified": 1762054696,
"narHash": "sha256-UzJHuqTgfwtnh34zbGq6NUe5i8wv3wg6B9njykBAddc=", "narHash": "sha256-4wyNPyycaPDS13OC+YPkQOrrf3ZCS/ipAh9lfo121Nw=",
"owner": "helix-editor", "owner": "helix-editor",
"repo": "helix", "repo": "helix",
"rev": "6e07bcc04dd5a0bb5ae04677823a5b3821f622c5", "rev": "0b61e721aaae794c950c72f765388dcc5f9f32fa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -610,11 +625,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760462439, "lastModified": 1762087455,
"narHash": "sha256-bks3rTsKGlqehk4l7rViIg2lBnUsY6we22O+ecRZB/c=", "narHash": "sha256-hpbPma1eUKwLAmiVRoMgIHbHiIKFkcACobJLbDt6ABw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "990e5ce6791ff1f497a61280a82eb66e3789e0e9", "rev": "43e205606aeb253bfcee15fd8a4a01d8ce8384ca",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -652,11 +667,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760312644, "lastModified": 1761878381,
"narHash": "sha256-U9SkK45314urw9P7MmjhEgiQwwD/BTj+T3HTuz1JU1Q=", "narHash": "sha256-lCRaipHgszaFZ1Cs8fdGJguVycCisBAf2HEFgip5+xU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e121f3773fa596ecaba5b22e518936a632d72a90", "rev": "4ac96eb21c101a3e5b77ba105febc5641a8959aa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -710,11 +725,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759490292, "lastModified": 1760445448,
"narHash": "sha256-T6iWzDOXp8Wv0KQOCTHpBcmAOdHJ6zc/l9xaztW6Ivc=", "narHash": "sha256-fXGjL6dw31FPFRrmIemzGiNSlfvEJTJNsmadZi+qNhI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "9431db625cd9bb66ac55525479dce694101d6d7a", "rev": "50fb9f069219f338a11cf0bcccb9e58357d67757",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -774,11 +789,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757420192, "lastModified": 1762027241,
"narHash": "sha256-jVkY2ax7e+V+M4RwLZTJnOVTdjR5Bj10VstJuK60tl4=", "narHash": "sha256-w0NhWx95Xao6Dh3G1p7G1cHwGBknwPVPG5VRghk3LSg=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hypridle", "repo": "hypridle",
"rev": "f158b2fe9293f9b25f681b8e46d84674e7bc7f01", "rev": "f3d1f3b232a5e3267008568196397b03fab244d2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -797,17 +812,17 @@
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"hyprutils": "hyprutils", "hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner_2", "hyprwayland-scanner": "hyprwayland-scanner_2",
"nixpkgs": "nixpkgs_6", "nixpkgs": "nixpkgs_7",
"pre-commit-hooks": "pre-commit-hooks", "pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_4", "systems": "systems_4",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1760466709, "lastModified": 1761869718,
"narHash": "sha256-m5Bd3RadgnA1HEdisWnZI4sGVvj6Mh3WERmFgZqyF+s=", "narHash": "sha256-jLfwwlPGpnGRAtVDyoGj9FgH2D9hWwyEu0yHkflG2EI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland", "repo": "hyprland",
"rev": "f324a3a564b40f4f62eb137808ca38bf6aee1b27", "rev": "8e9add2afda58d233a75e4c5ce8503b24fa59ceb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -874,11 +889,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749046714, "lastModified": 1759610243,
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", "narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-protocols", "repo": "hyprland-protocols",
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", "rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1006,11 +1021,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760023949, "lastModified": 1761675634,
"narHash": "sha256-fu0B4duamVdbkPio/czu1XhsPLRXUJpZLDrSk3nih4U=", "narHash": "sha256-Et1jNDB2d3e0b4okIKuyAMktECS+5hk+vMAA7X598ao=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlock", "repo": "hyprlock",
"rev": "36ec73f166d9434a3f27c96c575198906f77644a", "rev": "98b86752fe4867bd14ef96a92ea788229af93130",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1191,11 +1206,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760266702, "lastModified": 1761748321,
"narHash": "sha256-TP19RpzIyo1JeYAhKii13seYwmhkv7IOD+dCnQOrcgQ=", "narHash": "sha256-hD5mVzmUeyVppjArdy2uVdQe/CQUR9i3WgZB05onE7A=",
"owner": "Jovian-Experiments", "owner": "Jovian-Experiments",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "3d7e970d4cac5d3ee3fe7cafa17cc9868fa21fed", "rev": "533db5857c9e00ca352558a928417116ee08a824",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1208,8 +1223,8 @@
"inputs": { "inputs": {
"crane": "crane", "crane": "crane",
"flake-compat": "flake-compat_4", "flake-compat": "flake-compat_4",
"flake-parts": "flake-parts_4", "flake-parts": "flake-parts_5",
"nixpkgs": "nixpkgs_7", "nixpkgs": "nixpkgs_8",
"pre-commit-hooks-nix": "pre-commit-hooks-nix", "pre-commit-hooks-nix": "pre-commit-hooks-nix",
"rust-overlay": "rust-overlay_3" "rust-overlay": "rust-overlay_3"
}, },
@@ -1278,11 +1293,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760406533, "lastModified": 1762088055,
"narHash": "sha256-ViYpiGv0w+TXpBCFXPXWlEP3dVNHeGgvpsKDbQMY6UE=", "narHash": "sha256-zh7fDPmhmoXVTtODiDhOLlutwNLJmwOlLphVKuCCiZA=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "f8f51dd445f7b0dbb3429a3e31994bb0f2908010", "rev": "d74c3702fdc737276baccab80c2053e8cde5dba5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1331,6 +1346,21 @@
} }
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": {
"lastModified": 1754788789,
"narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-lib_2": {
"locked": { "locked": {
"lastModified": 1751159883, "lastModified": 1751159883,
"narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=", "narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=",
@@ -1345,6 +1375,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_10": {
"locked": {
"lastModified": 1761880412,
"narHash": "sha256-QoJjGd4NstnyOG4mm4KXF+weBzA2AH/7gn1Pmpfcb0A=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a7fc11be66bdfb5cdde611ee5ce381c183da8386",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1758690382, "lastModified": 1758690382,
@@ -1363,11 +1409,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1760284886, "lastModified": 1757745802,
"narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=", "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43", "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1378,6 +1424,22 @@
} }
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": {
"lastModified": 1761907660,
"narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1753250450, "lastModified": 1753250450,
"narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=",
@@ -1393,39 +1455,39 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": {
"locked": {
"lastModified": 1759381078,
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1759381078, "lastModified": 1759381078,
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
"owner": "NixOS", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee", "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": {
"lastModified": 1761114652,
"narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1754243818, "lastModified": 1754243818,
"narHash": "sha256-sEPw2W01UPf0xNGnMGNZIaE1XHkk7O+lLLetYEXVZHk=", "narHash": "sha256-sEPw2W01UPf0xNGnMGNZIaE1XHkk7O+lLLetYEXVZHk=",
@@ -1441,13 +1503,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_8": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1760284886, "lastModified": 1761907660,
"narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=", "narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43", "rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1457,36 +1519,20 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_9": {
"locked": {
"lastModified": 1759386674,
"narHash": "sha256-wg1Lz/1FC5Q13R+mM5a2oTV9TA9L/CHHTm3/PiLayfA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "625ad6366178f03acd79f9e3822606dd7985b657",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nvf": { "nvf": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_5", "flake-compat": "flake-compat_5",
"flake-parts": "flake-parts_5", "flake-parts": "flake-parts_6",
"mnw": "mnw", "mnw": "mnw",
"nixpkgs": "nixpkgs_9", "nixpkgs": "nixpkgs_10",
"systems": "systems_5" "systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1760153667, "lastModified": 1762093557,
"narHash": "sha256-F7KmXT/Izse6Q6CkD5GCImoGPaDJxl03Kd7eD+eY/bU=", "narHash": "sha256-esmyNNa8TvduITLfqYPSMroyZ9vxJr2nsvjYmHmO+Ag=",
"owner": "notashelf", "owner": "notashelf",
"repo": "nvf", "repo": "nvf",
"rev": "9df9d51fd9fc8f9a8fc377f984ea3b7ae796172d", "rev": "20d8fca94dceaf943686598da7fba31b37100e50",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1505,11 +1551,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1758108966, "lastModified": 1760663237,
"narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1602,7 +1648,7 @@
"chaotic": "chaotic", "chaotic": "chaotic",
"fenix": "fenix", "fenix": "fenix",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_3",
"fonts": "fonts", "fonts": "fonts",
"git-hooks": "git-hooks", "git-hooks": "git-hooks",
"hardware": "hardware", "hardware": "hardware",
@@ -1615,7 +1661,7 @@
"hyprpaper": "hyprpaper", "hyprpaper": "hyprpaper",
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"nix-gaming": "nix-gaming", "nix-gaming": "nix-gaming",
"nixpkgs": "nixpkgs_8", "nixpkgs": "nixpkgs_9",
"nvf": "nvf", "nvf": "nvf",
"systems": "systems_6", "systems": "systems_6",
"treefmt-nix": "treefmt-nix", "treefmt-nix": "treefmt-nix",
@@ -1626,11 +1672,11 @@
"rust-analyzer-src": { "rust-analyzer-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1760260966, "lastModified": 1762016333,
"narHash": "sha256-pOVvZz/aa+laeaUKyE6PtBevdo4rywMwjhWdSZE/O1c=", "narHash": "sha256-PT8hXDYyeRjh9BGyLF/nZWm9TqRwP2EzeKuqUFH0M3w=",
"owner": "rust-lang", "owner": "rust-lang",
"repo": "rust-analyzer", "repo": "rust-analyzer",
"rev": "c5181dbbe33af6f21b9d83e02fdb6fda298a3b65", "rev": "fca718c0f2074bdccf9a996bb37b0fcaff80dc97",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1648,11 +1694,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760236527, "lastModified": 1761964689,
"narHash": "sha256-h9+WEQtUIZaZMvA1pnbZbMM+5X39OFnW92Q8hNoToD0=", "narHash": "sha256-Zo3LQQDz+64EQ9zor/WmeNTFLoZkjmhp0UY3G0D3seE=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "a38dd7f462825c75ce8567816ae38c2e7d826bfa", "rev": "63d22578600f70d293aede6bc737efef60ebd97f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1815,11 +1861,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760120816, "lastModified": 1761311587,
"narHash": "sha256-gq9rdocpmRZCwLS5vsHozwB6b5nrOBDNc2kkEaTXHfg=", "narHash": "sha256-Msq86cR5SjozQGCnC6H8C+0cD4rnx91BPltZ9KK613Y=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "761ae7aff00907b607125b2f57338b74177697ed", "rev": "2eddae033e4e74bf581c2d1dfa101f9033dbd2dc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1830,7 +1876,7 @@
}, },
"tuirun": { "tuirun": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_6", "flake-parts": "flake-parts_7",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
@@ -1903,11 +1949,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1755354946, "lastModified": 1760713634,
"narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=", "narHash": "sha256-5HXelmz2x/uO26lvW7MudnadbAfoBnve4tRBiDVLtOM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0", "rev": "753bbbdf6a052994da94062e5b753288cef28dfb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1923,11 +1969,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759969704, "lastModified": 1762074512,
"narHash": "sha256-T7f/invcFIKHrBqD+FLf/C/HOGmpYfbZUzTDxFscpOA=", "narHash": "sha256-m8ZY0rmq9QXnIR08/vOyK9MnEbiziZG8mPGAVwoYEPQ=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "1173c777dc8daddcc4959260a7b00fd8abc884c5", "rev": "eb05f21bcf0f380e45537db6c5df13b50acaa4a6",
"revCount": 137, "revCount": 143,
"type": "git", "type": "git",
"url": "https://git.sr.ht/~canasta/zen-browser-flake" "url": "https://git.sr.ht/~canasta/zen-browser-flake"
}, },

View File

@@ -53,11 +53,7 @@
}; };
authentik = { authentik = {
url = "github:nix-community/authentik-nix"; url = "github:nix-community/authentik-nix/version/2025.8.4";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-parts.follows = "flake-parts";
};
}; };
flake-compat.url = "github:edolstra/flake-compat"; flake-compat.url = "github:edolstra/flake-compat";

View File

@@ -38,17 +38,11 @@ in
./settings.nix ./settings.nix
]; ];
boot.initrd.luks.devices."luks-0ad53967-bb38-4485-be75-ca55ae4c3b68".device = "/dev/disk/by-uuid/0ad53967-bb38-4485-be75-ca55ae4c3b68";
networking.hostName = "bunk"; networking.hostName = "bunk";
swapDevices = [
{
device = "/var/lib/swapfile";
size = 32 * 1024;
}
];
environment.variables.NH_FLAKE = "/home/cnst/.nix-config"; environment.variables.NH_FLAKE = "/home/cnst/.nix-config";
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = lib.mkDefault "23.11"; system.stateVersion = lib.mkDefault "25.05";
} }

View File

@@ -1,48 +1,36 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
config, imports =
lib, [ (modulesPath + "/installer/scan/not-detected.nix")
modulesPath,
...
}:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot = {
initrd = {
availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
]; ];
kernelModules = [ "amdgpu" ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/d15672b5-dc97-4f99-9ad2-70f9ddf20447";
fsType = "btrfs";
options = [ "subvol=@" ];
}; };
kernelModules = [ "kvm-amd" ]; boot.initrd.luks.devices."luks-2f0dfe96-bc63-4f38-b190-3d9fa45dc560".device = "/dev/disk/by-uuid/2f0dfe96-bc63-4f38-b190-3d9fa45dc560";
extraModulePackages = [ ];
};
fileSystems."/" = { fileSystems."/boot" =
device = "/dev/disk/by-uuid/da41c89a-7ab8-4697-9a14-0d115b97cc2e"; { device = "/dev/disk/by-uuid/F3FC-3CDF";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-e75ac560-748f-4071-bbe7-479678400be3".device =
"/dev/disk/by-uuid/e75ac560-748f-4071-bbe7-479678400be3";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/7E84-D168";
fsType = "vfat"; fsType = "vfat";
options = [ options = [ "fmask=0077" "dmask=0077" ];
"fmask=0022"
"dmask=0022"
];
}; };
swapDevices =
[ { device = "/dev/disk/by-uuid/e6464248-0d1e-4950-bf48-4cebeabaf871"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction # still possible to use this option, but it's recommended to use it in conjunction

View File

@@ -27,6 +27,13 @@
}; };
network = { network = {
enable = true; enable = true;
nameservers = [
"192.168.88.1"
"192.168.88.69"
];
search = [
"taila7448a.ts.net"
];
interfaces = { interfaces = {
"wlp6s0" = { "wlp6s0" = {
allowedTCPPorts = [ allowedTCPPorts = [
@@ -73,8 +80,8 @@
enable = false; enable = false;
}; };
hyprland = { hyprland = {
enable = false; enable = true;
withUWSM = false; withUWSM = true;
}; };
inkscape = { inkscape = {
enable = false; enable = false;
@@ -86,7 +93,7 @@
enable = true; enable = true;
}; };
niri = { niri = {
enable = true; enable = false;
}; };
pkgs = { pkgs = {
enable = true; enable = true;
@@ -123,10 +130,10 @@
enable = false; enable = false;
}; };
thunar = { thunar = {
enable = true; enable = false;
}; };
yubikey = { yubikey = {
enable = true; enable = false;
}; };
zsh = { zsh = {
enable = false; enable = false;
@@ -168,7 +175,7 @@
enable = true; enable = true;
}; };
mullvad = { mullvad = {
enable = true; enable = false;
}; };
nix-ld = { nix-ld = {
enable = false; enable = false;
@@ -191,11 +198,14 @@
samba = { samba = {
enable = false; enable = false;
}; };
tailscale = {
enable = true;
};
udisks = { udisks = {
enable = true; enable = true;
}; };
zram = { zram = {
enable = false; enable = true;
}; };
}; };
system = { system = {

View File

@@ -10,7 +10,7 @@
name = "DP-3"; name = "DP-3";
width = 2560; width = 2560;
height = 1440; height = 1440;
refreshRate = 240; refreshRate = "143.99";
position = "0x0"; position = "0x0";
transform = 0; transform = 0;
bitDepth = 10; bitDepth = 10;
@@ -20,7 +20,7 @@
name = "HDMI-A-1"; name = "HDMI-A-1";
width = 1920; width = 1920;
height = 1080; height = 1080;
refreshRate = 60; refreshRate = "60";
position = "2560x0"; position = "2560x0";
# transform = 3; # transform = 3;
workspace = "5"; workspace = "5";
@@ -29,7 +29,7 @@
name = "eDP-1"; name = "eDP-1";
width = 1920; width = 1920;
height = 1200; height = 1200;
refreshRate = 60; refreshRate = "60";
workspace = "1"; workspace = "1";
} }
]; ];

View File

@@ -4,9 +4,11 @@
homeImports, homeImports,
self, self,
... ...
}: { }:
flake.nixosConfigurations = let {
# clib = import ../lib inputs.nixpkgs.lib; flake.nixosConfigurations =
let
clib = import ../lib inputs.nixpkgs.lib;
userConfig = "${self}/home"; userConfig = "${self}/home";
systemConfig = "${self}/system"; systemConfig = "${self}/system";
hostConfig = "${self}/hosts"; hostConfig = "${self}/hosts";
@@ -22,7 +24,6 @@
specialArgs = { specialArgs = {
inherit inherit
# clib
inputs inputs
outputs outputs
self self
@@ -35,16 +36,20 @@
smodPath smodPath
; ;
}; };
in { specialArgsWithClib = specialArgs // {
inherit clib;
};
in
{
kima = nixosSystem { kima = nixosSystem {
inherit specialArgs; specialArgs = specialArgsWithClib;
modules = [ modules = [
./kima ./kima
"${self}/nix" "${self}/nix"
{ {
home-manager = { home-manager = {
users.cnst.imports = homeImports."cnst@kima"; users.cnst.imports = homeImports."cnst@kima";
extraSpecialArgs = specialArgs; extraSpecialArgs = specialArgsWithClib;
}; };
} }
self.nixosModules.nixos self.nixosModules.nixos
@@ -54,14 +59,14 @@
]; ];
}; };
bunk = nixosSystem { bunk = nixosSystem {
inherit specialArgs; specialArgs = specialArgsWithClib;
modules = [ modules = [
./bunk ./bunk
"${self}/nix" "${self}/nix"
{ {
home-manager = { home-manager = {
users.cnst.imports = homeImports."cnst@bunk"; users.cnst.imports = homeImports."cnst@bunk";
extraSpecialArgs = specialArgs; extraSpecialArgs = specialArgsWithClib;
}; };
} }
self.nixosModules.nixos self.nixosModules.nixos
@@ -94,14 +99,14 @@
]; ];
}; };
toothpc = nixosSystem { toothpc = nixosSystem {
inherit specialArgs; specialArgs = specialArgsWithClib;
modules = [ modules = [
./toothpc ./toothpc
"${self}/nix" "${self}/nix"
{ {
home-manager = { home-manager = {
users.toothpick.imports = homeImports."toothpick@toothpc"; users.toothpick.imports = homeImports."toothpick@toothpc";
extraSpecialArgs = specialArgs; extraSpecialArgs = specialArgsWithClib;
}; };
} }
self.nixosModules.nixos self.nixosModules.nixos

View File

@@ -82,8 +82,8 @@
enable = false; enable = false;
}; };
hyprland = { hyprland = {
enable = false; enable = true;
withUWSM = false; withUWSM = true;
}; };
inkscape = { inkscape = {
enable = false; enable = false;
@@ -98,7 +98,7 @@
enable = true; enable = true;
}; };
niri = { niri = {
enable = true; enable = false;
}; };
pkgs = { pkgs = {
enable = true; enable = true;

View File

@@ -10,7 +10,7 @@
name = "DP-3"; name = "DP-3";
width = 2560; width = 2560;
height = 1440; height = 1440;
refreshRate = 240; refreshRate = "143.99";
position = "0x0"; position = "0x0";
transform = 0; transform = 0;
bitDepth = 10; bitDepth = 10;
@@ -20,7 +20,7 @@
name = "HDMI-A-1"; name = "HDMI-A-1";
width = 1920; width = 1920;
height = 1080; height = 1080;
refreshRate = 60; refreshRate = "60";
position = "2560x0"; position = "2560x0";
transform = 3; transform = 3;
workspace = "5"; workspace = "5";
@@ -29,7 +29,7 @@
name = "eDP-1"; name = "eDP-1";
width = 1920; width = 1920;
height = 1200; height = 1200;
refreshRate = 60; refreshRate = "60";
workspace = "1"; workspace = "1";
} }
]; ];

View File

@@ -73,6 +73,18 @@
category = "Services"; category = "Services";
}; };
}; };
ollama = {
enable = true;
subdomain = "ai";
exposure = "local";
port = 8001;
homepage = {
name = "ollama";
description = "AI platform";
icon = "ollama.svg";
category = "Services";
};
};
bazarr = { bazarr = {
enable = true; enable = true;
subdomain = "bazarr"; subdomain = "bazarr";
@@ -91,7 +103,7 @@
exposure = "local"; exposure = "local";
port = 9696; port = 9696;
homepage = { homepage = {
name = "prowlarr"; name = "Prowlarr";
description = "PVR indexer"; description = "PVR indexer";
icon = "prowlarr.svg"; icon = "prowlarr.svg";
category = "Arr"; category = "Arr";
@@ -153,7 +165,7 @@
homepage = { homepage = {
name = "Jellyseerr"; name = "Jellyseerr";
description = "Media request and discovery manager"; description = "Media request and discovery manager";
icon = "jellyserr.svg"; icon = "jellyseerr.svg";
category = "Arr"; category = "Arr";
}; };
}; };
@@ -209,7 +221,7 @@
homepage = { homepage = {
name = "Vaultwarden"; name = "Vaultwarden";
description = "Password manager"; description = "Password manager";
icon = "vaultwarden.svg"; icon = "vaultwarden-light.svg";
category = "Services"; category = "Services";
}; };
}; };

View File

@@ -10,7 +10,7 @@
name = "DVI-D-1"; name = "DVI-D-1";
width = 1920; width = 1920;
height = 1080; height = 1080;
refreshRate = 144; refreshRate = "144";
position = "0x0"; position = "0x0";
transform = 0; transform = 0;
workspace = "1"; workspace = "1";

View File

@@ -6,8 +6,9 @@
}: }:
let let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
inherit (lib.meta) getExe; packageNames = map (p: p.pname or p.name or null) config.home.packages;
inherit (pkgs) eza bat; hasPackage = name: lib.any (x: x == name) packageNames;
hasEza = hasPackage "eza";
cfg = config.home.programs.fish; cfg = config.home.programs.fish;
in in
{ {
@@ -28,7 +29,9 @@ in
nixclean = "nh clean all --keep 3"; nixclean = "nh clean all --keep 3";
nixdev = "nix develop ~/.nix-config -c $SHELL"; nixdev = "nix develop ~/.nix-config -c $SHELL";
nixup = "nh os switch -H $hostname"; nixup = "nh os switch -H $hostname";
nixupv = "nh os switch -v -H $hostname"; nixupn = "nh os switch -n -H $hostname";
nixupv = "nh os switch -v --show-trace -H $hostname";
nixupvn = "nh os switch -n -v --show-trace -H $hostname";
flakeup = "nix flake update"; flakeup = "nix flake update";
}; };
shellAliases = { shellAliases = {
@@ -44,12 +47,8 @@ in
nset = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/settings.nix"; nset = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/settings.nix";
nixosmodules = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix"; nixosmodules = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix";
nmod = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix"; nmod = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix";
tree = "${getExe eza} --tree --icons=always"; ls = mkIf hasEza "eza";
cat = "${getExe bat} --style=plain"; tree = mkIf hasEza "eza --tree --icons=always";
ls = "${getExe eza} -h --git --icons --color=auto --group-directories-first -s extension";
ll = "${getExe eza} -l --git --icons --color=auto --group-directories-first -s extension";
lat = "${getExe eza} -lah --tree --color=auto --group-directories-first -s extension";
la = "${getExe eza} -lah --color=auto --group-directories-first -s extension";
# Clear screen and scrollback # Clear screen and scrollback
clear = "printf '\\033[2J\\033[3J\\033[1;1H'"; clear = "printf '\\033[2J\\033[3J\\033[1;1H'";
}; };
@@ -59,14 +58,12 @@ in
# Merge history when pressing up # Merge history when pressing up
up-or-search = lib.readFile ./up-or-search.fish; up-or-search = lib.readFile ./up-or-search.fish;
# Check stuff in PATH # Check stuff in PATH
nix-inspect = nix-inspect = # fish
# fish
'' ''
set -s PATH | grep "PATH\[.*/nix/store" | cut -d '|' -f2 | grep -v -e "-man" -e "-terminfo" | perl -pe 's:^/nix/store/\w{32}-([^/]*)/bin$:\1:' | sort | uniq set -s PATH | grep "PATH\[.*/nix/store" | cut -d '|' -f2 | grep -v -e "-man" -e "-terminfo" | perl -pe 's:^/nix/store/\w{32}-([^/]*)/bin$:\1:' | sort | uniq
''; '';
}; };
interactiveShellInit = interactiveShellInit = # fish
# fish
'' ''
# Open command buffer in vim when alt+e is pressed # Open command buffer in vim when alt+e is pressed
bind \ee edit_command_buffer bind \ee edit_command_buffer

View File

@@ -15,17 +15,16 @@ in
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
home.packages = [ pkgs.gh ]; home.packages = [ pkgs.gh ];
programs.git = { programs = {
git = {
enable = true; enable = true;
userName = osConfig.settings.accounts.username; settings = {
userEmail = osConfig.settings.accounts.mail;
delta = {
enable = true;
options.dark = true;
};
extraConfig = {
# user.signingkey = "${config.home.homeDirectory}/.ssh/id_ed25519.pub"; # user.signingkey = "${config.home.homeDirectory}/.ssh/id_ed25519.pub";
user.signingkey = "${config.home.homeDirectory}/.config/git/allowed_signers"; user = {
name = osConfig.settings.accounts.username;
email = osConfig.settings.accounts.mail;
signingkey = "${config.home.homeDirectory}/.config/git/allowed_signers";
};
signing = { signing = {
format = lib.mkDefault "ssh"; format = lib.mkDefault "ssh";
key = "${config.home.homeDirectory}/.ssh/id_ed25519"; key = "${config.home.homeDirectory}/.ssh/id_ed25519";
@@ -56,6 +55,14 @@ in
".jj" ".jj"
]; ];
}; };
delta = {
enableGitIntegration = true;
enable = true;
options.dark = true;
};
};
xdg.configFile."git/allowed_signers".text = '' xdg.configFile."git/allowed_signers".text = ''
${osConfig.settings.accounts.mail} namespaces="git" ${osConfig.settings.accounts.sshKey} ${osConfig.settings.accounts.mail} namespaces="git" ${osConfig.settings.accounts.sshKey}
''; '';

View File

@@ -1,24 +1,20 @@
{ {
inputs,
pkgs,
lib, lib,
osConfig, osConfig,
clib, clib,
... ...
}: let }:
inherit (lib) mkIf mkEnableOption; let
inherit (lib) mkIf;
cfg = osConfig.nixos.programs.hyprland; cfg = osConfig.nixos.programs.hyprland;
hyprlockFlake = inputs.hyprlock.packages.${pkgs.system}.hyprlock;
# hyprlockPkg = pkgs.hyprlock;
#
bg = osConfig.settings.theme.background; bg = osConfig.settings.theme.background;
inherit (clib.theme.bgs) resolve; inherit (clib.theme.bgs) resolve;
in { in
{
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.hyprlock = { programs.hyprlock = {
enable = true; enable = true;
package = hyprlockFlake;
settings = { settings = {
general = { general = {
# disable_loading_bar = true; # disable_loading_bar = true;
@@ -58,6 +54,7 @@ in {
position = "0, 20"; position = "0, 20";
halign = "center"; halign = "center";
valign = "center"; valign = "center";
font_family = "DepartureMono Nerd Font Mono Italic";
} }
]; ];
label = [ label = [
@@ -69,7 +66,7 @@ in {
shadow_boost = 0.5; shadow_boost = 0.5;
color = "rgba(FFFFFFFF)"; color = "rgba(FFFFFFFF)";
font_size = 25; font_size = 25;
font_family = "Input Mono Compressed"; font_family = "DepartureMono Nerd Font Mono Regular";
position = "0, 230"; position = "0, 230";
halign = "center"; halign = "center";
valign = "center"; valign = "center";
@@ -82,7 +79,7 @@ in {
shadow_boost = 0.5; shadow_boost = 0.5;
color = "rgba(FFFFFFFF)"; color = "rgba(FFFFFFFF)";
font_size = 85; font_size = 85;
font_family = "Input Mono Compressed"; font_family = "DepartureMono Nerd Font Mono Regular";
position = "0, 300"; position = "0, 300";
halign = "center"; halign = "center";
valign = "center"; valign = "center";

View File

@@ -62,16 +62,8 @@ in
[ [
cmatrix cmatrix
xcur2png xcur2png
ripgrep
file
fd
gnused
nix-tree nix-tree
wireguard-tools wireguard-tools
unzip
zip
gnutar
p7zip
] ]
(mkIf cfg.common.enable [ (mkIf cfg.common.enable [

View File

@@ -10,7 +10,7 @@
"group/system" "group/system"
], ],
"modules-center": [ "modules-center": [
"niri/workspaces" "hyprland/workspaces"
], ],
"modules-right": [ "modules-right": [
"custom/progress", "custom/progress",
@@ -126,16 +126,28 @@
"all-outputs": false, "all-outputs": false,
"format": "{icon}", "format": "{icon}",
"format-icons": { "format-icons": {
"urgent": "", "1": "1",
"visible": "", "2": "2",
"empty": "" "3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"default": "_",
"active": "_"
}, },
"on-click": "activate", "on-click": "activate",
"show-special": false, "show-special": false,
"on-scroll-up": "hyprctl dispatch workspace r-1", "on-scroll-up": "hyprctl dispatch workspace r-1",
"on-scroll-down": "hyprctl dispatch workspace r+1", "on-scroll-down": "hyprctl dispatch workspace r+1",
"persistent-workspaces": { "persistent-workspaces": {
"*": 3 "1": [],
"2": [],
"3": [],
"4": [],
"5": []
} }
}, },
"niri/workspaces": { "niri/workspaces": {

View File

@@ -28,8 +28,8 @@ tooltip label {
margin: 0 0px; margin: 0 0px;
background-color: transparent; background-color: transparent;
color: #fbf1c7; color: #fbf1c7;
border-top: 3px solid transparent; border-top: 4px solid transparent;
border-bottom: 3px solid transparent; border-bottom: 4px solid transparent;
} }
#workspaces button:hover { #workspaces button:hover {
@@ -45,7 +45,7 @@ tooltip label {
background-image: url("assets/button.svg"); background-image: url("assets/button.svg");
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 18px 15px; background-size: 21px 18px;
} }
#custom-trayicon { #custom-trayicon {

View File

@@ -1,22 +1,14 @@
{ {
osConfig, osConfig,
lib, lib,
pkgs,
inputs,
... ...
}: }: let
let
inherit (lib) mkIf; inherit (lib) mkIf;
cfg = osConfig.nixos.programs.hyprland; cfg = osConfig.nixos.programs.hyprland;
in {
hypridleFlake = inputs.hypridle.packages.${pkgs.system}.hypridle;
# hypridlePkg = pkgs.hypridle;
in
{
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.hypridle = { services.hypridle = {
enable = true; enable = true;
package = hypridleFlake;
settings = { settings = {
general = { general = {
lock_cmd = "hyprlock"; lock_cmd = "hyprlock";

View File

@@ -1,7 +1,5 @@
{ {
lib, lib,
pkgs,
inputs,
osConfig, osConfig,
clib, clib,
... ...
@@ -9,7 +7,6 @@
inherit (lib) mkIf; inherit (lib) mkIf;
cfg = osConfig.nixos.programs.hyprland; cfg = osConfig.nixos.programs.hyprland;
hyprpaperFlake = inputs.hyprpaper.packages.${pkgs.system}.default;
bg = osConfig.settings.theme.background; bg = osConfig.settings.theme.background;
bgs = clib.theme.bgs; bgs = clib.theme.bgs;
@@ -35,7 +32,6 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.hyprpaper = { services.hyprpaper = {
enable = true; enable = true;
package = hyprpaperFlake;
settings = { settings = {
ipc = "on"; ipc = "on";

View File

@@ -19,13 +19,13 @@ let
commonPackages = with pkgs; [ commonPackages = with pkgs; [
libva libva
vaapiVdpau libva-vdpau-driver
libvdpau-va-gl libvdpau-va-gl
]; ];
commonPackages32 = with pkgs.pkgsi686Linux; [ commonPackages32 = with pkgs.pkgsi686Linux; [
libva libva
vaapiVdpau libva-vdpau-driver
libvdpau-va-gl libvdpau-va-gl
]; ];

View File

@@ -3,14 +3,11 @@
lib, lib,
pkgs, pkgs,
... ...
}: }: let
let
inherit (lib.meta) getExe;
inherit (pkgs) eza bat;
inherit (lib) mkIf mkEnableOption mkMerge; inherit (lib) mkIf mkEnableOption mkMerge;
cfg = config.nixos.programs.fish; cfg = config.nixos.programs.fish;
in in {
{
options = { options = {
nixos.programs.fish = { nixos.programs.fish = {
enable = mkEnableOption "Enables fish shell"; enable = mkEnableOption "Enables fish shell";
@@ -22,6 +19,7 @@ in
(mkIf cfg.enable { (mkIf cfg.enable {
programs.fish = { programs.fish = {
enable = true; enable = true;
useBabelfish = true;
vendor = { vendor = {
completions.enable = true; completions.enable = true;
config.enable = true; config.enable = true;
@@ -37,7 +35,9 @@ in
nixclean = "nh clean all --keep 3"; nixclean = "nh clean all --keep 3";
nixdev = "nix develop ~/.nix-config -c $SHELL"; nixdev = "nix develop ~/.nix-config -c $SHELL";
nixup = "nh os switch -H $hostname"; nixup = "nh os switch -H $hostname";
nixupv = "nh os switch -v -H $hostname"; nixupn = "nh os switch -n -H $hostname";
nixupv = "nh os switch -v --show-trace -H $hostname";
nixupvn = "nh os switch -n -v --show-trace -H $hostname";
flakeup = "nix flake update"; flakeup = "nix flake update";
}; };
shellAliases = { shellAliases = {
@@ -53,12 +53,8 @@ in
nset = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/settings.nix"; nset = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/settings.nix";
nixosmodules = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix"; nixosmodules = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix";
nmod = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix"; nmod = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix";
tree = "${getExe eza} --tree --icons=always"; ls = lib.getExe pkgs.eza;
cat = "${getExe bat} --style=plain"; tree = "${lib.getExe pkgs.eza} --tree --icons=always";
ls = "${getExe eza} -h --git --icons --color=auto --group-directories-first -s extension";
ll = "${getExe eza} -l --git --icons --color=auto --group-directories-first -s extension";
lat = "${getExe eza} -lah --tree --color=auto --group-directories-first -s extension";
la = "${getExe eza} -lah --color=auto --group-directories-first -s extension";
# Clear screen and scrollback # Clear screen and scrollback
clear = "printf '\\033[2J\\033[3J\\033[1;1H'"; clear = "printf '\\033[2J\\033[3J\\033[1;1H'";
}; };

View File

@@ -37,9 +37,9 @@ in
}; };
gestures = { gestures = {
workspace_swipe = true; # workspace_swipe = true;
workspace_swipe_distance = 400; workspace_swipe_distance = 400;
workspace_swipe_fingers = 3; # workspace_swipe_fingers = 3;
workspace_swipe_cancel_ratio = 0.2; workspace_swipe_cancel_ratio = 0.2;
workspace_swipe_min_speed_to_force = 5; workspace_swipe_min_speed_to_force = 5;
workspace_swipe_direction_lock = true; workspace_swipe_direction_lock = true;

View File

@@ -49,20 +49,6 @@ in
"$mod, P, pseudo," "$mod, P, pseudo,"
"$mod, J, togglesplit," "$mod, J, togglesplit,"
"$mod, C, exec, hyprctl dispatch exec copyq toggle" "$mod, C, exec, hyprctl dispatch exec copyq toggle"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$mod, 7, workspace, 7"
"$mod, 8, workspace, 8"
"$mod, 9, workspace, 9"
"$mod, 0, workspace, 10"
"$mod SHIFT, 1, movetoworkspace, 1" "$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, 2, movetoworkspace, 2" "$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, 3, movetoworkspace, 3" "$mod SHIFT, 3, movetoworkspace, 3"
@@ -75,6 +61,30 @@ in
"$mod SHIFT, 0, movetoworkspace, 10" "$mod SHIFT, 0, movetoworkspace, 10"
"CTRL SHIFT, Escape, exec, ${runOnce "resources"}" "CTRL SHIFT, Escape, exec, ${runOnce "resources"}"
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$mod, 7, workspace, 7"
"$mod, 8, workspace, 8"
"$mod, 9, workspace, 9"
"$mod, 0, workspace, 10"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
"$mod SHIFT, left, resizeactive, -20 0"
"$mod SHIFT, right, resizeactive, 20 0"
"$mod SHIFT, up, resizeactive, 0 -20"
"$mod SHIFT, down, resizeactive, 0 20"
"$mod CTRL, left, swapwindow, l"
"$mod CTRL, right, swapwindow, r"
"$mod CTRL, up, swapwindow, u"
"$mod CTRL, down, swapwindow, d"
",XF86AudioLowerVolume, exec, volume-control.sh --dec" ",XF86AudioLowerVolume, exec, volume-control.sh --dec"
",XF86AudioRaiseVolume, exec, volume-control.sh --inc" ",XF86AudioRaiseVolume, exec, volume-control.sh --inc"
",XF86AudioMute, exec, volume-control.sh --toggle" ",XF86AudioMute, exec, volume-control.sh --toggle"
@@ -99,7 +109,7 @@ in
(mkIf (host == "kima") { (mkIf (host == "kima") {
programs.hyprland.settings = { programs.hyprland.settings = {
"$terminal" = "ghostty"; "$terminal" = "alacritty";
"$browser" = "zen"; "$browser" = "zen";
"$browserinc" = "zen --private-window"; "$browserinc" = "zen --private-window";
"$mod" = "SUPER"; "$mod" = "SUPER";
@@ -111,7 +121,7 @@ in
(mkIf (host == "bunk") { (mkIf (host == "bunk") {
programs.hyprland.settings = { programs.hyprland.settings = {
"$terminal" = "foot"; "$terminal" = "alacritty";
"$browser" = "zen"; "$browser" = "zen";
"$browserinc" = "zen --private-window"; "$browserinc" = "zen --private-window";
"$mod" = "ALT_L"; "$mod" = "ALT_L";

View File

@@ -21,7 +21,7 @@ in
let let
resolution = resolution =
if m.width != null && m.height != null then if m.width != null && m.height != null then
"${toString m.width}x${toString m.height}@${toString m.refreshRate}" "${toString m.width}x${toString m.height}@${m.refreshRate}"
else else
"preferred"; "preferred";

View File

@@ -79,10 +79,16 @@ in
xmrig xmrig
ocl-icd ocl-icd
dig dig
unzip
zip
gnutar
gnused
p7zip
ripgrep
file
] ]
(mkIf cfg.common.enable [ (mkIf cfg.common.enable [
qt6.full
swappy swappy
wayfreeze wayfreeze
imagemagick imagemagick

View File

@@ -28,7 +28,7 @@ in
}; };
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
protonup protonup-ng
wine wine
winetricks winetricks
wine-wayland wine-wayland

View File

@@ -16,14 +16,10 @@ in
services.kanata = { services.kanata = {
enable = true; enable = true;
package = pkgs.kanata-with-cmd; package = pkgs.kanata-with-cmd;
keyboards.hhkbse = { keyboards.default = {
extraDefCfg = '' extraDefCfg = ''
process-unmapped-keys yes process-unmapped-keys yes
''; '';
devices = [
"/dev/input/by-id/usb-PFU_Limited_HHKB-Hybrid-event-kbd"
"/dev/input/event2"
];
config = builtins.readFile (./. + "/hhkbse.kbd"); config = builtins.readFile (./. + "/hhkbse.kbd");
}; };
}; };

View File

@@ -18,6 +18,7 @@
2 3 4 5 6 7 8 9 0 + ´ ' § 2 3 4 5 6 7 8 9 0 + ´ ' §
e p ¨ e p ¨
l ö ä l ö ä
-
z x rmet z x rmet
) )
@@ -25,13 +26,16 @@
_ _ _ _ _ _ _ _ _ _ pgdn pgup del _ _ _ _ _ _ _ _ _ _ pgdn pgup del
_ _ ' _ _ '
_ _ _ _ _ _
_
_ _ @level3 _ _ @level3
) )
(deflayer level3 (deflayer level3
RA-2 RA-3 S-4 RA-5 S-¨ RA-7 RA-8 RA-9 RA-0 RA-+ ⇥ ⇤ S-' RA-2 RA-3 S-4 RA-5 S-¨ RA-7 RA-8 RA-9 RA-0 RA-+ ⇥ ⇤ S-'
RA-5 ▲ RA-¨ RA-5 ▲ RA-¨
◀ ▼ ▶ ◀ ▼ ▶
RA-<
RA-S-z RA-S-x @level3 RA-S-z RA-S-x @level3
) )

View File

@@ -26,7 +26,7 @@ in
inputs.fonts.packages.${pkgs.system}.vcr-mono inputs.fonts.packages.${pkgs.system}.vcr-mono
noto-fonts noto-fonts
noto-fonts-cjk-sans noto-fonts-cjk-sans
noto-fonts-emoji noto-fonts-color-emoji
liberation_ttf liberation_ttf
fira-code-symbols fira-code-symbols
font-awesome font-awesome

View File

@@ -6,7 +6,7 @@
}: let }: let
unit = "authentik"; unit = "authentik";
cfg = config.server.infra.${unit}; cfg = config.server.infra.${unit};
srv = config.server.infra.www.domain; srv = config.server.infra;
in { in {
options.server.infra.${unit} = { options.server.infra.${unit} = {
enable = lib.mkEnableOption { enable = lib.mkEnableOption {
@@ -14,7 +14,7 @@ in {
}; };
url = lib.mkOption { url = lib.mkOption {
type = lib.types.str; type = lib.types.str;
default = "auth.${srv.www.domain}"; default = "auth.${srv.www.url}";
}; };
port = lib.mkOption { port = lib.mkOption {
type = lib.types.port; type = lib.types.port;

View File

@@ -157,6 +157,38 @@ in {
]; ];
}; };
}) })
(lib.mkIf cfg.ollama.enable {
intel-llm = {
autoStart = true;
image = "intelanalytics/ipex-llm-inference-cpp-xpu:latest";
devices = [
"/dev/dri:/dev/dri:rwm"
];
volumes = [
"/var/lib/ollama:/models"
];
environment = {
OLLAMA_ORIGINS = "http://192.168.*";
SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS = "1";
ONEAPI_DEVICE_SELECTOR = "level_zero:0";
OLLAMA_HOST = "[::]:11434";
no_proxy = "localhost,127.0.0.1";
DEVICE = "Arc";
OLLAMA_NUM_GPU = "999";
ZES_ENABLE_SYSMAN = "1";
};
cmd = [
"/bin/sh"
"-c"
"/llm/scripts/start-ollama.sh && echo 'Startup script finished, container is now idling.' && sleep infinity"
];
extraOptions = [
"--net=host"
"--memory=32G"
"--shm-size=16g"
];
};
})
]; ];
}; };
} }

View File

@@ -20,11 +20,6 @@
) )
svcNames); svcNames);
revParts = lib.lists.reverseList (lib.splitString "." srv.ip);
revName = lib.concatStringsSep "." revParts;
localPTRs = ["${revName}.in-addr.arpa. PTR traefik.${srv.domain}"];
hostIp = hostname: hostIp = hostname:
if hostname == "ziggy" if hostname == "ziggy"
then "192.168.88.12" then "192.168.88.12"
@@ -116,10 +111,11 @@ in {
"255.255.255.255/32" "255.255.255.255/32"
"2001:db8::/32" "2001:db8::/32"
]; ];
local-data = localARecords; local-data =
[
# Example PTR entry: "14.88.168.192.in-addr.arpa. PTR traefik.cnix.dev." ''"traefik.${config.settings.accounts.domains.local}. A 192.168.88.14"''
# local-data-ptr = localPTRs; ]
++ localARecords;
}; };
}; };
}; };

View File

@@ -9,6 +9,7 @@
./lidarr ./lidarr
./n8n ./n8n
./nextcloud ./nextcloud
./ollama
./prowlarr ./prowlarr
./radarr ./radarr
./sonarr ./sonarr

View File

@@ -24,6 +24,13 @@ in {
environmentFile = config.age.secrets.homepageEnvironment.path; environmentFile = config.age.secrets.homepageEnvironment.path;
settings = { settings = {
color = "stone";
theme = "dark";
headerStyle = "clean";
statusStyle = "dot";
hideVersion = true;
useEqualHeights = true;
layout = [ layout = [
{ {
Glances = { Glances = {
@@ -57,10 +64,6 @@ in {
}; };
} }
]; ];
headerStyle = "clean";
statusStyle = "dot";
hideVersion = "true";
}; };
widgets = [ widgets = [
@@ -117,79 +120,101 @@ in {
"${service.homepage.name}" = { "${service.homepage.name}" = {
icon = service.homepage.icon; icon = service.homepage.icon;
description = service.homepage.description; description = service.homepage.description;
href = "https://${domain}"; href = "https://${service.subdomain}.${domain}${service.homepage.path or ""}";
siteMonitor = "https://${domain}"; siteMonitor = "https://${service.subdomain}.${domain}${x.homepage.path or ""}";
}; };
}); });
}) })
++ [ ++ [
{ {
Glances = let Glances = let
port = toString config.services.glances.port; glancesShared = {
type = "glances";
url = "http://localhost:${toString config.services.glances.port}";
chart = true;
version = 4;
};
in [ in [
{ {
Info = { Memory = {
widget = { widget =
type = "glances"; glancesShared
url = "http://localhost:${port}"; // {
metric = "info"; metric = "memory";
chart = false; refreshInterval = 2000;
version = 4; pointsLimit = 30;
}; };
}; };
} }
{
"CPU Usage" = {
widget =
glancesShared
// {
metric = "cpu";
refreshInterval = 2000;
pointsLimit = 30;
};
};
}
{ {
"CPU Temp" = { "CPU Temp" = {
widget = { widget =
type = "glances"; glancesShared
url = "http://localhost:${port}"; // {
metric = "sensor:Tctl"; metric = "sensor:Tctl";
chart = false; refreshInterval = 5000;
version = 4; pointsLimit = 20;
}; };
}; };
} }
{ {
"GPU Radeon" = { "GPU Radeon" = {
widget = { widget =
type = "glances"; glancesShared
url = "http://localhost:${port}"; // {
metric = "sensor:junction"; metric = "sensor:junction";
chart = false;
version = 4;
}; };
}; };
} }
{ {
"GPU Intel" = { "GPU Intel" = {
widget = { widget =
type = "glances"; glancesShared
url = "http://localhost:${port}"; // {
metric = "sensor:pkg"; metric = "sensor:pkg";
chart = false;
version = 4;
}; };
}; };
} }
{
"ZFS Pool" = {
widget =
glancesShared
// {
metric = "fs:/mnt/data";
refreshInterval = 30000;
pointsLimit = 20;
diskUnits = "bytes";
};
};
}
{ {
Processes = { Processes = {
widget = { widget =
type = "glances"; glancesShared
url = "http://localhost:${port}"; // {
metric = "process"; metric = "process";
chart = false;
version = 4;
}; };
}; };
} }
{ {
Network = { Network = {
widget = { widget =
type = "glances"; glancesShared
url = "http://localhost:${port}"; // {
metric = "network:enp6s0"; metric = "network:enp6s0";
chart = false;
version = 4;
}; };
}; };
} }

View File

@@ -0,0 +1,28 @@
{
config,
lib,
pkgs,
...
}: let
unit = "ollama";
cfg = config.server.services.${unit};
in {
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
ollama
intel-compute-runtime
intel-graphics-compiler
level-zero
];
services.open-webui = {
enable = true;
host = "0.0.0.0";
port = 8001;
environment = {
ANONYMIZED_TELEMETRY = "False";
BYPASS_MODEL_ACCESS_CONTROL = "True";
OLLAMA_BASE_URL = "http://localhost:11434";
};
};
};
}

View File

@@ -21,8 +21,8 @@ in
example = 1080; example = 1080;
}; };
refreshRate = mkOption { refreshRate = mkOption {
type = types.int; type = types.str;
default = 60; default = "60";
}; };
transform = mkOption { transform = mkOption {
type = types.int; type = types.int;

View File

@@ -4,5 +4,8 @@
allowUnfree = true; allowUnfree = true;
input-fonts.acceptLicense = true; input-fonts.acceptLicense = true;
}; };
overlays = [
];
}; };
} }

View File

@@ -5,9 +5,7 @@
"aarch64-linux" "aarch64-linux"
]; ];
perSystem = perSystem = {pkgs, ...}: {
{ pkgs, ... }:
{
packages = { packages = {
# instant repl with automatic flake loading # instant repl with automatic flake loading
repl = pkgs.callPackage ./repl {}; repl = pkgs.callPackage ./repl {};

View File

@@ -39,7 +39,7 @@
enable = true; enable = true;
}; };
ghostty = { ghostty = {
enable = true; enable = false;
}; };
helix = { helix = {
enable = true; enable = true;
@@ -57,7 +57,7 @@
enable = false; enable = false;
}; };
nvf = { nvf = {
enable = true; enable = false;
}; };
nwg-bar = { nwg-bar = {
enable = true; enable = true;