Compare commits
82 Commits
57fa32bf9c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| f51c362086 | |||
|
|
a158d401ae | ||
|
|
95842b22f0 | ||
|
|
3977227889 | ||
|
|
cb8ef87229 | ||
|
|
44b3459d49 | ||
|
|
c59ac2ccb6 | ||
|
|
1767debfd8 | ||
|
|
95f08a258e | ||
|
|
c5ba5d4164 | ||
|
|
004eb3c29c | ||
|
|
616d357a59 | ||
|
|
d4481923a8 | ||
|
|
246f65190e | ||
|
|
b6df62a875 | ||
|
|
8d81a1d6e1 | ||
|
|
7368968fd5 | ||
|
|
9a719479bc | ||
|
|
38922cd526 | ||
|
|
26e7fffbd1 | ||
|
|
9792f86548 | ||
|
|
dd9fa58c5c | ||
|
|
db620cd22a | ||
|
|
dab3a37b0a | ||
|
|
74b1825d4d | ||
|
|
c3abeb846d | ||
|
|
d676b6dc1e | ||
|
|
86fffbd512 | ||
|
|
1b5f695f40 | ||
|
|
9491c0356d | ||
| 152efb84da | |||
| 26d5a8c686 | |||
|
|
ee55a543fa | ||
|
|
7cc6732a7e | ||
|
|
b73ad049e7 | ||
|
|
5d23b3db93 | ||
|
|
aa609630a1 | ||
|
|
1e1eb9886c | ||
| 9c326f5768 | |||
| e8cae7fff1 | |||
| 88b9d5309f | |||
| d44d03d0b1 | |||
| 4ac7463a1f | |||
|
|
b354dc202a | ||
|
|
079493b55e | ||
|
|
d06a43bf06 | ||
|
|
6b8395ffdb | ||
|
|
7adbafb848 | ||
|
|
3af0d99f98 | ||
| 025ab854f0 | |||
|
|
5ce8433aa8 | ||
|
|
2e8c2ddd3a | ||
|
|
4cb746afc5 | ||
|
|
3234029ae5 | ||
|
|
928de1837b | ||
|
|
70002a19e2 | ||
| a418d03b19 | |||
|
|
8aff587014 | ||
| 909917f385 | |||
|
|
c8587da722 | ||
|
|
2ebe78981a | ||
|
|
c98d48b43b | ||
|
|
ff469102ea | ||
|
|
a363622659 | ||
|
|
07b1fc3618 | ||
|
|
159ad4cb83 | ||
|
|
c439495d7a | ||
|
|
14477a8d85 | ||
|
|
37b0c50821 | ||
|
|
10b906a27c | ||
|
|
f111b1c725 | ||
|
|
869b48d26f | ||
|
|
ffbb820be3 | ||
|
|
eda929b4eb | ||
|
|
8367c2c068 | ||
|
|
6d0f109564 | ||
|
|
657849140f | ||
|
|
13cf58de7c | ||
|
|
acc683bac3 | ||
|
|
166123e8fe | ||
| e4daf12f39 | |||
|
|
03f6b730cf |
@@ -71,7 +71,7 @@ A powerful AMD-based desktop with gaming capabilities, featuring:
|
||||
### NAS
|
||||
|
||||
A home server with various self-hosted services:
|
||||
- Media management (Jellyfin, Jellyseerr)
|
||||
- Media management (Jellyfin, seerr)
|
||||
- Download automation (Sonarr, Radarr, etc.)
|
||||
- Document management (Paperless)
|
||||
- File sharing (Samba, Nextcloud)
|
||||
|
||||
0
WORKAROUNDS.md
Normal file → Executable file
0
WORKAROUNDS.md
Normal file → Executable file
15
checks/pre-commit-hooks/default.nix
Normal file → Executable file
15
checks/pre-commit-hooks/default.nix
Normal file → Executable file
@@ -28,12 +28,13 @@ pre-commit-hooks-nix.lib.${pkgs.stdenv.hostPlatform.system}.run {
|
||||
enable = true;
|
||||
package = pkgs.nixfmt;
|
||||
};
|
||||
statix = {
|
||||
enable = true;
|
||||
args = [
|
||||
"--config"
|
||||
(lib.snowfall.fs.get-file "statix.toml")
|
||||
];
|
||||
};
|
||||
# statix disabled - too many false positives (manual_inherit warnings)
|
||||
# statix = {
|
||||
# enable = true;
|
||||
# args = [
|
||||
# "--config"
|
||||
# (lib.snowfall.fs.get-file "statix.toml")
|
||||
# ];
|
||||
# };
|
||||
};
|
||||
}
|
||||
|
||||
0
docs/README.md
Normal file → Executable file
0
docs/README.md
Normal file → Executable file
0
docs/architecture.md
Normal file → Executable file
0
docs/architecture.md
Normal file → Executable file
0
docs/flake-improvements.md
Normal file → Executable file
0
docs/flake-improvements.md
Normal file → Executable file
0
docs/getting-started.md
Normal file → Executable file
0
docs/getting-started.md
Normal file → Executable file
0
docs/home-assistant/README.md
Normal file → Executable file
0
docs/home-assistant/README.md
Normal file → Executable file
0
docs/home-assistant/automations.md
Normal file → Executable file
0
docs/home-assistant/automations.md
Normal file → Executable file
0
docs/home-assistant/fountain-automation.md
Normal file → Executable file
0
docs/home-assistant/fountain-automation.md
Normal file → Executable file
2
docs/modules/README.md
Normal file → Executable file
2
docs/modules/README.md
Normal file → Executable file
@@ -140,7 +140,7 @@ mjallen.services.jellyfin = {
|
||||
|
||||
Available services:
|
||||
|
||||
`actual`, `ai`, `appimage`, `arrs`, `attic`, `authentik`, `authentikRac`, `booklore`, `caddy`, `calibre`, `calibre-web`, `cockpit`, `code-server`, `collabora`, `coturn`, `crowdsec`, `dispatcharr`, `free-games-claimer`, `gitea`, `glance`, `glances`, `grafana`, `guacd`, `headscale`, `immich`, `jellyfin`, `jellyseerr`, `lubelogger`, `manyfold`, `matrix`, `minecraft`, `mongodb`, `nebula`, `netbootxyz`, `nextcloud`, `ntfy`, `onlyoffice`, `opencloud`, `orca`, `paperless`, `paperless-ai`, `protonmail-bridge`, `restic`, `samba`, `sparky-fitness`, `sparky-fitness-server`, `sunshine`, `tdarr`, `termix`, `tunarr`, `unmanic`, `uptime-kuma`, `wyoming`, `your-spotify`
|
||||
`actual`, `ai`, `appimage`, `arrs`, `attic`, `authentik`, `authentikRac`, `booklore`, `caddy`, `calibre`, `calibre-web`, `cockpit`, `code-server`, `collabora`, `coturn`, `crowdsec`, `dispatcharr`, `free-games-claimer`, `gitea`, `glance`, `glances`, `grafana`, `guacd`, `headscale`, `immich`, `jellyfin`, `seerr`, `lubelogger`, `manyfold`, `matrix`, `minecraft`, `mongodb`, `nebula`, `netbootxyz`, `nextcloud`, `ntfy`, `onlyoffice`, `opencloud`, `orca`, `paperless`, `paperless-ai`, `protonmail-bridge`, `restic`, `samba`, `sparky-fitness`, `sparky-fitness-server`, `sunshine`, `tdarr`, `termix`, `tunarr`, `unmanic`, `uptime-kuma`, `wyoming`, `your-spotify`
|
||||
|
||||
#### Nebula VPN (`services/nebula/`)
|
||||
|
||||
|
||||
0
docs/modules/homeassistant.md
Normal file → Executable file
0
docs/modules/homeassistant.md
Normal file → Executable file
90
docs/services.md
Executable file
90
docs/services.md
Executable file
@@ -0,0 +1,90 @@
|
||||
# Services
|
||||
|
||||
All services are derived from `lib.mjallen.network` (`lib/network/default.nix`).
|
||||
Domain: `mjallen.dev`
|
||||
|
||||
Services are grouped by host. The **URL** column is only present when a reverse proxy
|
||||
is configured (i.e. `reverseProxy.enable = true`) or a well-known public URL exists.
|
||||
Services without a public URL are accessible only on the LAN or internally.
|
||||
|
||||
---
|
||||
|
||||
## NAS (`jallen-nas` — `10.0.1.3`)
|
||||
|
||||
| Service | Enabled | Port | URL |
|
||||
|---------|---------|------|-----|
|
||||
| actual | No | 3333 | https://actual.mjallen.dev |
|
||||
| ai (Ollama + llama.cpp + Open-WebUI) | Yes | 8127 / 11434 / various | https://chat.mjallen.dev |
|
||||
| arrs (Sonarr + Radarr + SABnzbd) | Yes | 8989 / 7878 / 8280 | — |
|
||||
| attic | Yes | 9012 | https://cache.mjallen.dev |
|
||||
| authentik | Yes | 9000 | https://authentik.mjallen.dev |
|
||||
| authentikRac | Yes | 4823 | — |
|
||||
| caddy | Yes | 80 / 443 | — |
|
||||
| calibre | No | 8084 | https://calibre.mjallen.dev |
|
||||
| calibre-web | No | 8083 | https://calibre-web.mjallen.dev |
|
||||
| cockpit | Yes | 9091 | — |
|
||||
| code-server | Yes | 4444 | https://code.mjallen.dev |
|
||||
| collabora | Yes | 9980 | https://office.mjallen.dev |
|
||||
| coturn | Yes | 3478 | — |
|
||||
| crowdsec | Yes | 8181 | — |
|
||||
| dispatcharr | No | 9191 | https://dispatcharr.mjallen.dev |
|
||||
| free-games-claimer | No | 6080 | — |
|
||||
| gitea | Yes | 3000 / SSH 2222 | https://gitea.mjallen.dev |
|
||||
| glance | Yes | 5555 | https://glance.mjallen.dev |
|
||||
| glances | Yes | 61208 | https://glances.mjallen.dev |
|
||||
| grafana | Yes | 9999 | https://grafana.mjallen.dev |
|
||||
| grimmory | No | 6066 | https://grimmory.mjallen.dev |
|
||||
| guacd | Yes | 4822 | — |
|
||||
| headscale | No | 2112 | https://headscale.mjallen.dev |
|
||||
| immich | Yes | 2283 | https://immich.mjallen.dev |
|
||||
| jellyfin | Yes | 8096 | https://jellyfin.mjallen.dev |
|
||||
| seerr | Yes | 5055 | https://seerr.mjallen.dev |
|
||||
| kavita | Yes | 5000 | — |
|
||||
| lemonade | No | 8001 | — |
|
||||
| lubelogger | Yes | 6754 | https://lubelogger.mjallen.dev |
|
||||
| manyfold | Yes | 3214 | — |
|
||||
| matrix | Yes | 8448 | https://matrix.mjallen.dev |
|
||||
| minecraft | No | 25565 | — |
|
||||
| mongodb | No | 27017 | — |
|
||||
| nebula | Yes | 4242 | — |
|
||||
| netbootxyz | No | 4000 | https://netbootxyz.mjallen.dev |
|
||||
| nextcloud | Yes | 9988 | https://cloud.mjallen.dev |
|
||||
| ntfy | Yes | 2586 | https://ntfy.mjallen.dev |
|
||||
| ocis | No | 9200 | — |
|
||||
| onlyoffice | No | 9943 | — |
|
||||
| opencloud | No | 9200 | — |
|
||||
| orca-slicer | No | 3100 | https://orca-slicer.mjallen.dev |
|
||||
| paperless | Yes | 28981 | — |
|
||||
| paperless-ai | Yes | 28982 | — |
|
||||
| protonmail-bridge | Yes | SMTP 1025 / IMAP 1143 | — |
|
||||
| restic-server | Yes | 8008 | — |
|
||||
| sparky-fitness (frontend) | Yes | 3004 | https://sparky.mjallen.dev |
|
||||
| sparky-fitness-server (backend) | Yes | 3010 | — |
|
||||
| sunshine | Yes | 47989 | — |
|
||||
| tdarr | No | 8265 / 8266 | https://tdarr.mjallen.dev |
|
||||
| termix | Yes | 7777 | https://termix.mjallen.dev |
|
||||
| tunarr | Yes | 8000 | https://tunarr.mjallen.dev |
|
||||
| unmanic | Yes | 8265 | https://unmanic.mjallen.dev |
|
||||
| uptime-kuma | Yes | 3001 | — |
|
||||
| wyoming (Whisper + Piper) | Yes | 10300 / 10200 | — |
|
||||
|
||||
---
|
||||
|
||||
## NUC (`nuc-nixos` — `10.0.1.4`)
|
||||
|
||||
| Service | Enabled | Port | URL |
|
||||
|---------|---------|------|-----|
|
||||
| home-assistant | Yes | 8123 | https://hass.mjallen.dev |
|
||||
| esphome | Yes | 6052 | — |
|
||||
| otbr (OpenThread Border Router) | Yes | 8880 / REST 8881 | — |
|
||||
| mosquitto (MQTT) | Yes | 1883 | — |
|
||||
|
||||
---
|
||||
|
||||
## Pi5 (`pi5` — `10.0.1.2`)
|
||||
|
||||
| Service | Enabled | Port | URL |
|
||||
|---------|---------|------|-----|
|
||||
| adguard | Yes | 3000 | — |
|
||||
| nebula (lighthouse) | Yes | 4242 | — |
|
||||
| dns | Yes | 53 | — |
|
||||
0
docs/systems/README.md
Normal file → Executable file
0
docs/systems/README.md
Normal file → Executable file
0
docs/systems/allyx.md
Normal file → Executable file
0
docs/systems/allyx.md
Normal file → Executable file
2
docs/systems/jallen-nas.md
Normal file → Executable file
2
docs/systems/jallen-nas.md
Normal file → Executable file
@@ -54,7 +54,7 @@
|
||||
| Attic | 9012 | Nix binary cache (`cache.mjallen.dev`) |
|
||||
| Immich | 2283 | Photo management |
|
||||
| Jellyfin | 8096 | Media server |
|
||||
| Jellyseerr | 5055 | Media request manager |
|
||||
| Seerr | 5055 | Media request manager |
|
||||
| Nextcloud | 9988 | Cloud storage |
|
||||
| Paperless | 28981 | Document management |
|
||||
| Paperless AI | 28982 | AI-assisted document tagging |
|
||||
|
||||
0
docs/systems/macbook-pro-nixos.md
Normal file → Executable file
0
docs/systems/macbook-pro-nixos.md
Normal file → Executable file
0
docs/systems/macbook-pro.md
Normal file → Executable file
0
docs/systems/macbook-pro.md
Normal file → Executable file
0
docs/systems/matt-nixos.md
Normal file → Executable file
0
docs/systems/matt-nixos.md
Normal file → Executable file
0
docs/systems/nuc-nixos.md
Normal file → Executable file
0
docs/systems/nuc-nixos.md
Normal file → Executable file
0
docs/systems/pi5.md
Normal file → Executable file
0
docs/systems/pi5.md
Normal file → Executable file
0
docs/troubleshooting.md
Normal file → Executable file
0
docs/troubleshooting.md
Normal file → Executable file
0
docs/version.schema.json
Normal file → Executable file
0
docs/version.schema.json
Normal file → Executable file
303
flake.lock
generated
Normal file → Executable file
303
flake.lock
generated
Normal file → Executable file
@@ -25,7 +25,7 @@
|
||||
"flake-utils": "flake-utils",
|
||||
"napalm": "napalm",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
"nixpkgs-stable"
|
||||
],
|
||||
"pyproject-build-systems": "pyproject-build-systems",
|
||||
"pyproject-nix": "pyproject-nix",
|
||||
@@ -33,11 +33,11 @@
|
||||
"uv2nix": "uv2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774079362,
|
||||
"narHash": "sha256-HkoEWTxU5gNigcnhIa3GXukHqC5xGmgVaLICGUKlpdo=",
|
||||
"lastModified": 1776085803,
|
||||
"narHash": "sha256-JvvWVbXJYSY8qOReMbAOD4lxcN2cjKV6lg/jLz8CEuY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "authentik-nix",
|
||||
"rev": "1f279763d8b4a9138c01f1021f53e09bc2c54eb9",
|
||||
"rev": "4370b561c8bafb59773ce3a518506bcf1161dbdb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -49,16 +49,16 @@
|
||||
"authentik-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1772567399,
|
||||
"narHash": "sha256-0Vpf1hj9C8r+rhrCgwoNazpQ+mwgjdjDhuoKCxYQFWw=",
|
||||
"lastModified": 1775573258,
|
||||
"narHash": "sha256-Xq7JGI/8ppIydIuWd9KRJKUrh7UpeniwvZ4NAtXbYJ4=",
|
||||
"owner": "goauthentik",
|
||||
"repo": "authentik",
|
||||
"rev": "0dccbd4193c45c581e9fb7cd89df0c1487510f1f",
|
||||
"rev": "5249546862986202b901c2afd860992ec48c6ef6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "goauthentik",
|
||||
"ref": "version/2026.2.1",
|
||||
"ref": "version/2026.2.2",
|
||||
"repo": "authentik",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -151,11 +151,11 @@
|
||||
"cachyos-kernel": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1774853038,
|
||||
"narHash": "sha256-zMoAFZOALxk3/GhWYOPYRDOPi4WS/dC/2kAG3aoD/u4=",
|
||||
"lastModified": 1776183001,
|
||||
"narHash": "sha256-lvLKB5dTqjO1S/YonS9ZyWemEjO6QXtN4D76rYEYy4s=",
|
||||
"owner": "CachyOS",
|
||||
"repo": "linux-cachyos",
|
||||
"rev": "a82bb448f8aac6bb29dd417bffe062259bbf8f88",
|
||||
"rev": "4224303b6d7a50dd1cc3ffa78864050cc9536eec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -167,11 +167,11 @@
|
||||
"cachyos-kernel-patches": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1774500343,
|
||||
"narHash": "sha256-8sCdFTHJF0ZES8/Qa6DVbMAzZ1PLGYcZcQJBokoa7Bg=",
|
||||
"lastModified": 1776355454,
|
||||
"narHash": "sha256-b9Hc0sTxjEzDbphzS9yQqxVha/7bsPIs2cQQQvaG45E=",
|
||||
"owner": "CachyOS",
|
||||
"repo": "kernel-patches",
|
||||
"rev": "948e9c61779b0fafdf0c3b1ee6281502ff178fcc",
|
||||
"rev": "b5e029226df5cc30c103651072d49a7af2878202",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -223,11 +223,11 @@
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773000227,
|
||||
"narHash": "sha256-zm3ftUQw0MPumYi91HovoGhgyZBlM4o3Zy0LhPNwzXE=",
|
||||
"lastModified": 1775037210,
|
||||
"narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=",
|
||||
"owner": "nix-darwin",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "da529ac9e46f25ed5616fd634079a5f3c579135f",
|
||||
"rev": "06648f4902343228ce2de79f291dd5a58ee12146",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -260,11 +260,11 @@
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1764873433,
|
||||
"narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=",
|
||||
"lastModified": 1775176642,
|
||||
"narHash": "sha256-2veEED0Fg7Fsh81tvVDNYR6SzjqQxa7hbi18Jv4LWpM=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92",
|
||||
"rev": "179704030c5286c729b5b0522037d1d51341022c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -391,11 +391,11 @@
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772408722,
|
||||
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
||||
"lastModified": 1730504689,
|
||||
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
||||
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -405,6 +405,24 @@
|
||||
}
|
||||
},
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1775087534,
|
||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_4": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"stylix",
|
||||
@@ -412,11 +430,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767609335,
|
||||
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
|
||||
"lastModified": 1775087534,
|
||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "250481aafeb741edfe23d29195671c19b36b6dca",
|
||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -545,20 +563,18 @@
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"host": "gitlab.gnome.org",
|
||||
"lastModified": 1767737596,
|
||||
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
|
||||
"owner": "GNOME",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||
"type": "gitlab"
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"host": "gitlab.gnome.org",
|
||||
"owner": "GNOME",
|
||||
"ref": "gnome-49",
|
||||
"repo": "gnome-shell",
|
||||
"type": "gitlab"
|
||||
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
@@ -568,11 +584,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774984355,
|
||||
"narHash": "sha256-/41Q8d4EB/bZRFfR5BYdlDl32avGyCqHNEZhznar8EI=",
|
||||
"lastModified": 1776454077,
|
||||
"narHash": "sha256-7zSUFWsU0+jlD7WB3YAxQ84Z/iJurA5hKPm8EfEyGJk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "0adb9993274f27168ec0d6c13ec292f03dc328d0",
|
||||
"rev": "565e5349208fe7d0831ef959103c9bafbeac0681",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -588,11 +604,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774984355,
|
||||
"narHash": "sha256-/41Q8d4EB/bZRFfR5BYdlDl32avGyCqHNEZhznar8EI=",
|
||||
"lastModified": 1776454077,
|
||||
"narHash": "sha256-7zSUFWsU0+jlD7WB3YAxQ84Z/iJurA5hKPm8EfEyGJk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "0adb9993274f27168ec0d6c13ec292f03dc328d0",
|
||||
"rev": "565e5349208fe7d0831ef959103c9bafbeac0681",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -642,11 +658,11 @@
|
||||
"homebrew-cask": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1774984634,
|
||||
"narHash": "sha256-9QI3c8wULgSte8bf3amEaxWBNrqwGc0p/qEmbonpfso=",
|
||||
"lastModified": 1776469040,
|
||||
"narHash": "sha256-IX5UflSmiXkJnRUCNjzBl4/HMw0NMLQqsfdwA4l0kyU=",
|
||||
"owner": "homebrew",
|
||||
"repo": "homebrew-cask",
|
||||
"rev": "bc236e0094fdb4ab613f510e6ac07a569d9fc512",
|
||||
"rev": "906ff3d493d3e9f50ceb5041fcc14bcfe3d63ff1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -658,11 +674,11 @@
|
||||
"homebrew-core": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1774979390,
|
||||
"narHash": "sha256-Nb5QWTApaPDPDLQzRk2o/zJTrHhx9gHicmzmgNPnRNk=",
|
||||
"lastModified": 1776461416,
|
||||
"narHash": "sha256-AqxPJs6cy7ZwsS2ovNuLxUJM+2kgnEi4ECXitf6nb18=",
|
||||
"owner": "homebrew",
|
||||
"repo": "homebrew-core",
|
||||
"rev": "945f2be67e270a4be32ad65d1d87c384c08876e6",
|
||||
"rev": "2aab2c98676928d65d72ce7fc2abd5c7f3634319",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -698,11 +714,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774679353,
|
||||
"narHash": "sha256-N5L8U18JigqVqxMz1FuwbJVruCCa5lA6hgGeXLg8LI8=",
|
||||
"lastModified": 1776428236,
|
||||
"narHash": "sha256-+0SyQglnT2xUiyY07155G+O7aUWISELwqtTnfURufRU=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "8ffb6db9322542ec3cb541a232864084422f7e90",
|
||||
"rev": "eac78fc379ca47f7e21be8539c405e5fb489a857",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -733,6 +749,27 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"llama-cpp": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1776442631,
|
||||
"narHash": "sha256-8AXOo0Yhbi3jpQFe4Ql+0HZDz/p708GdrbZVepNjITo=",
|
||||
"owner": "ggml-org",
|
||||
"repo": "llama.cpp",
|
||||
"rev": "45cac7ca703fb9085eae62b9121fca01d20177f6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ggml-org",
|
||||
"repo": "llama.cpp",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lsfg-vk": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -784,15 +821,15 @@
|
||||
"cachyos-kernel": "cachyos-kernel",
|
||||
"cachyos-kernel-patches": "cachyos-kernel-patches",
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774982062,
|
||||
"narHash": "sha256-4EDoYaSztFSMD2K6rdPe/i4V3pl9jiz+ul+hwAZ7P1Q=",
|
||||
"lastModified": 1776386586,
|
||||
"narHash": "sha256-eVAUaL/6n8mnmBiPpEVW1NDNVSKLWhYVfycG+P0SvWU=",
|
||||
"owner": "xddxdd",
|
||||
"repo": "nix-cachyos-kernel",
|
||||
"rev": "95a79dcd59c482dd3215ca5a32f1cbdf40e9f77f",
|
||||
"rev": "c65c3faf90ae07bae101c15ef502f0bcb06c5d74",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -849,11 +886,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774762074,
|
||||
"narHash": "sha256-89Mh4Eb/5stVJX6kGagVMijcU2FmfeD8Qv7UXc5d92o=",
|
||||
"lastModified": 1775970782,
|
||||
"narHash": "sha256-7jt9Vpm48Yy5yAWigYpde+HxtYEpEuyzIQJF4VYehhk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "bc13aeaed568be76eab84df88ff39261bb52ff70",
|
||||
"rev": "bedba5989b04614fc598af9633033b95a937933f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -906,11 +943,11 @@
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774925891,
|
||||
"narHash": "sha256-8QGLGZJGnjPXFkWncYI9IXfUJEaPshX81W9LCJyQbGE=",
|
||||
"lastModified": 1776396489,
|
||||
"narHash": "sha256-lF3GX4VvQzff/5gpu5WytHKd2GQXJDrWChmK+JNNRO4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "01dbb479b5f70a18feaa6398077c3babba0d4ba9",
|
||||
"rev": "64839596bff67e8280a2fcd829a858d88530aa6f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -925,11 +962,11 @@
|
||||
"nixpkgs": "nixpkgs_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774264319,
|
||||
"narHash": "sha256-aAsO35YtqIdvBhCIKZ0a+OcC8wB0H1+mAoPKBY0jxeQ=",
|
||||
"lastModified": 1776370524,
|
||||
"narHash": "sha256-0Gt5qnjNkIZJdOBfu2u47zgyhYL3WmgUrguUhGSxUdk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-apple-silicon",
|
||||
"rev": "9fe29a63b23005acfcd1324a9e78b6241226cdb1",
|
||||
"rev": "f9f0650b45e31b3f6c3e2a0405fa198a286e2741",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -940,11 +977,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1774933469,
|
||||
"narHash": "sha256-OrnCQeUO2bqaWUl0lkDWyGWjKsOhtCyd7JSfTedQNUE=",
|
||||
"lastModified": 1775490113,
|
||||
"narHash": "sha256-2ZBhDNZZwYkRmefK5XLOusCJHnoeKkoN95hoSGgMxWM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "f4c4c2c0c923d7811ac2a63ccc154767e4195337",
|
||||
"rev": "c775c2772ba56e906cbeb4e0b2db19079ef11ff7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -987,32 +1024,28 @@
|
||||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"lastModified": 1772328832,
|
||||
"narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742",
|
||||
"type": "github"
|
||||
"lastModified": 1730504152,
|
||||
"narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
|
||||
}
|
||||
},
|
||||
"nixpkgs-otbr": {
|
||||
"nixpkgs-lib_3": {
|
||||
"locked": {
|
||||
"lastModified": 1766776257,
|
||||
"narHash": "sha256-MG9DnzBn6TdAztaMPVhW9sjYj2bi9Jcux0F0fJ6LeO4=",
|
||||
"owner": "mrene",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0c4c97066d555b7d27a0a56ee400130ec51f02ee",
|
||||
"lastModified": 1774748309,
|
||||
"narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "333c4e0545a6da976206c74db8773a1645b5870a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "mrene",
|
||||
"ref": "openthread-border-router",
|
||||
"repo": "nixpkgs",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -1034,11 +1067,11 @@
|
||||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1774799055,
|
||||
"narHash": "sha256-Tsq9BCz0q47ej1uFF39m4tuhcwru/ls6vCCJzutEpaw=",
|
||||
"lastModified": 1776221942,
|
||||
"narHash": "sha256-FbQAeVNi7G4v3QCSThrSAAvzQTmrmyDLiHNPvTF2qFM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "107cba9eb4a8d8c9f8e9e61266d78d340867913a",
|
||||
"rev": "1766437c5509f444c1b15331e82b8b6a9b967000",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1050,27 +1083,27 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1774709303,
|
||||
"narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=",
|
||||
"lastModified": 1776447299,
|
||||
"narHash": "sha256-fhkbQptSg6w3CG4TCxalK6UZkj4+Afsi+6p0PuofJ48=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685",
|
||||
"rev": "2c1b4e855f7cded41541747173c697b53c63de9b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"ref": "nixos-unstable-small",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_10": {
|
||||
"locked": {
|
||||
"lastModified": 1774610258,
|
||||
"narHash": "sha256-HaThtroVD9wRdx7KQk0B75JmFcXlMUoEdDFNOMOlsOs=",
|
||||
"lastModified": 1775888245,
|
||||
"narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "832efc09b4caf6b4569fbf9dc01bec3082a00611",
|
||||
"rev": "13043924aaa7375ce482ebe2494338e058282925",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1114,11 +1147,11 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1774935083,
|
||||
"narHash": "sha256-Mh6bLcYAcENBAZk3RoMPMFCGGMZmfaGMERE4siZOgP4=",
|
||||
"lastModified": 1776311487,
|
||||
"narHash": "sha256-9U8bL9X/0R9cZD3Uc/mN37AWvv5dB4WQqqjLRAxQfas=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2f4fd5e1abf9bac8c1d22750c701a7a5e6b524c6",
|
||||
"rev": "cc1e0e027707ad53dddae39d3b3e992262c7d8c7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1194,16 +1227,16 @@
|
||||
},
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1774709303,
|
||||
"narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=",
|
||||
"lastModified": 1776447299,
|
||||
"narHash": "sha256-fhkbQptSg6w3CG4TCxalK6UZkj4+Afsi+6p0PuofJ48=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685",
|
||||
"rev": "2c1b4e855f7cded41541747173c697b53c63de9b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"ref": "nixos-unstable-small",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -1220,11 +1253,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767810917,
|
||||
"narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=",
|
||||
"lastModified": 1775228139,
|
||||
"narHash": "sha256-ebbeHmg+V7w8050bwQOuhmQHoLOEOfqKzM1KgCTexK4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4",
|
||||
"rev": "601971b9c89e0304561977f2c28fa25e73aa7132",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1243,11 +1276,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774915545,
|
||||
"narHash": "sha256-COT4l/+ZddGBvrDVfPf7MEOJxV8EDKame6/aRnNIKcY=",
|
||||
"lastModified": 1775856943,
|
||||
"narHash": "sha256-b7Mp7P+q2Md5AGt4rjHfMcBykzMumFTen10ST++AuTU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"rev": "f3177b3c69fb3f03201098d7fe8ab6422cce7fc1",
|
||||
"rev": "a524a6160e6df89f7673ba293cf7d78b559eb1a5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1288,11 +1321,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774959120,
|
||||
"narHash": "sha256-Pzk6UbueeWy9WFiDY6iA1aHid+2AMzkS6gg2x2cSkz4=",
|
||||
"lastModified": 1775585728,
|
||||
"narHash": "sha256-8Psjt+TWvE4thRKktJsXfR6PA/fWWsZ04DVaY6PUhr4=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "c06f90f1eb6569bdaf6a4a10cb7e66db4454ac2a",
|
||||
"rev": "580633fa3fe5fc0379905986543fd7495481913d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1364,6 +1397,7 @@
|
||||
"impermanence": "impermanence",
|
||||
"jovian": "jovian",
|
||||
"lanzaboote": "lanzaboote",
|
||||
"llama-cpp": "llama-cpp",
|
||||
"lsfg-vk": "lsfg-vk",
|
||||
"nix-cachyos-kernel": "nix-cachyos-kernel",
|
||||
"nix-homebrew": "nix-homebrew",
|
||||
@@ -1374,7 +1408,6 @@
|
||||
"nixos-apple-silicon": "nixos-apple-silicon",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs_9",
|
||||
"nixpkgs-otbr": "nixpkgs-otbr",
|
||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"plasma-manager": "plasma-manager",
|
||||
@@ -1455,11 +1488,11 @@
|
||||
"nixpkgs": "nixpkgs_10"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774910634,
|
||||
"narHash": "sha256-B+rZDPyktGEjOMt8PcHKYmgmKoF+GaNAFJhguktXAo0=",
|
||||
"lastModified": 1776119890,
|
||||
"narHash": "sha256-Zm6bxLNnEOYuS/SzrAGsYuXSwk3cbkRQZY0fJnk8a5M=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "19bf3d8678fbbfbc173beaa0b5b37d37938db301",
|
||||
"rev": "d4971dd58c6627bfee52a1ad4237637c0a2fb0cd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1498,25 +1531,24 @@
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"flake-parts": "flake-parts_4",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nur": "nur",
|
||||
"systems": "systems_3",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
"tinted-tmux": "tinted-tmux",
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774897726,
|
||||
"narHash": "sha256-k/H2/oyex6GEC6uYXYetrboFQeTmX1Ouwv/zaW7b/Z0=",
|
||||
"lastModified": 1776170745,
|
||||
"narHash": "sha256-Tl1aZVP5EIlT+k0+iAKH018GLHJpLz3hhJ0LNQOWxCc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "stylix",
|
||||
"rev": "9b4a5eb409ceac2dd6ad495c7988e189a418cd30",
|
||||
"rev": "e3861617645a43c9bbefde1aa6ac54dd0a44bfa9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1570,23 +1602,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1726913040,
|
||||
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-kitty": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -1606,11 +1621,11 @@
|
||||
"tinted-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1767710407,
|
||||
"narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=",
|
||||
"lastModified": 1772661346,
|
||||
"narHash": "sha256-4eu3LqB9tPqe0Vaqxd4wkZiBbthLbpb7llcoE/p5HT0=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2",
|
||||
"rev": "13b5b0c299982bb361039601e2d72587d6846294",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1622,11 +1637,11 @@
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1767489635,
|
||||
"narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=",
|
||||
"lastModified": 1772934010,
|
||||
"narHash": "sha256-x+6+4UvaG+RBRQ6UaX+o6DjEg28u4eqhVRM9kpgJGjQ=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184",
|
||||
"rev": "c3529673a5ab6e1b6830f618c45d9ce1bcdd829d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1638,11 +1653,11 @@
|
||||
"tinted-zed": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1767488740,
|
||||
"narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=",
|
||||
"lastModified": 1772909925,
|
||||
"narHash": "sha256-jx/5+pgYR0noHa3hk2esin18VMbnPSvWPL5bBjfTIAU=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40",
|
||||
"rev": "b4d3a1b3bcbd090937ef609a0a3b37237af974df",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1680,11 +1695,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773297127,
|
||||
"narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=",
|
||||
"lastModified": 1775636079,
|
||||
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "71b125cd05fbfd78cab3e070b73544abe24c5016",
|
||||
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
75
flake.nix
Normal file → Executable file
75
flake.nix
Normal file → Executable file
@@ -1,12 +1,8 @@
|
||||
{
|
||||
inputs = rec {
|
||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable-small";
|
||||
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.11";
|
||||
|
||||
# Fork required: openthread-border-router is not yet in nixpkgs-unstable.
|
||||
# Used by modules/nixos/homeassistant/services/thread/default.nix
|
||||
nixpkgs-otbr.url = "github:mrene/nixpkgs/openthread-border-router";
|
||||
|
||||
home-manager-unstable = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
@@ -47,7 +43,7 @@
|
||||
|
||||
authentik-nix = {
|
||||
url = "github:nix-community/authentik-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||
};
|
||||
|
||||
disko = {
|
||||
@@ -112,6 +108,11 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
llama-cpp = {
|
||||
url = "github:ggml-org/llama.cpp";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
plasma-manager = {
|
||||
url = "github:nix-community/plasma-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -153,38 +154,40 @@
|
||||
# Add a module to a specific host.
|
||||
systems = {
|
||||
# common modules
|
||||
modules.nixos = with inputs; [
|
||||
authentik-nix.nixosModules.default
|
||||
disko.nixosModules.disko
|
||||
impermanence.nixosModules.impermanence
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
sops-nix.nixosModules.sops
|
||||
home-manager.nixosModules.home-manager
|
||||
nix-index-database.nixosModules.nix-index
|
||||
stylix.nixosModules.stylix
|
||||
];
|
||||
modules = {
|
||||
nixos = with inputs; [
|
||||
authentik-nix.nixosModules.default
|
||||
disko.nixosModules.disko
|
||||
impermanence.nixosModules.impermanence
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
sops-nix.nixosModules.sops
|
||||
home-manager.nixosModules.home-manager
|
||||
nix-index-database.nixosModules.nix-index
|
||||
stylix.nixosModules.stylix
|
||||
];
|
||||
|
||||
# External HM modules injected into ALL homes — both standalone
|
||||
# homeConfigurations and homes embedded in nixosConfigurations.
|
||||
# The snowfall-lib fork patches create-systems to pass systems.modules.home
|
||||
# into create-home-system-modules so both paths are covered from here.
|
||||
# The ARM guard for steam-rom-manager is handled by that module itself.
|
||||
modules.home = with inputs; [
|
||||
nix-index-database.homeModules.nix-index
|
||||
steam-rom-manager.homeManagerModules.default
|
||||
sops-nix.homeManagerModules.sops
|
||||
stylix.homeModules.stylix
|
||||
plasma-manager.homeModules.plasma-manager
|
||||
];
|
||||
# External HM modules injected into ALL homes — both standalone
|
||||
# homeConfigurations and homes embedded in nixosConfigurations.
|
||||
# The snowfall-lib fork patches create-systems to pass systems.modules.home
|
||||
# into create-home-system-modules so both paths are covered from here.
|
||||
# The ARM guard for steam-rom-manager is handled by that module itself.
|
||||
home = with inputs; [
|
||||
nix-index-database.homeModules.nix-index
|
||||
steam-rom-manager.homeManagerModules.default
|
||||
sops-nix.homeManagerModules.sops
|
||||
stylix.homeModules.stylix
|
||||
plasma-manager.homeModules.plasma-manager
|
||||
];
|
||||
|
||||
modules.darwin = with inputs; [
|
||||
nix-homebrew.darwinModules.nix-homebrew
|
||||
home-manager.darwinModules.home-manager
|
||||
nix-plist-manager.darwinModules.default
|
||||
nix-rosetta-builder.darwinModules.default
|
||||
nix-index-database.darwinModules.nix-index
|
||||
stylix.darwinModules.stylix
|
||||
];
|
||||
darwin = with inputs; [
|
||||
nix-homebrew.darwinModules.nix-homebrew
|
||||
home-manager.darwinModules.home-manager
|
||||
nix-plist-manager.darwinModules.default
|
||||
nix-rosetta-builder.darwinModules.default
|
||||
nix-index-database.darwinModules.nix-index
|
||||
stylix.darwinModules.stylix
|
||||
];
|
||||
};
|
||||
|
||||
# Host config
|
||||
hosts = {
|
||||
|
||||
@@ -18,7 +18,7 @@ let
|
||||
iproute2mac
|
||||
nebula
|
||||
nixfmt
|
||||
nodePackages.nodejs
|
||||
nodejs_25
|
||||
uv
|
||||
sops
|
||||
tree
|
||||
|
||||
@@ -15,9 +15,11 @@ let
|
||||
in
|
||||
{
|
||||
|
||||
home.username = "matt";
|
||||
home.homeDirectory = "/home/matt";
|
||||
home.stateVersion = "23.11";
|
||||
home = {
|
||||
username = "matt";
|
||||
homeDirectory = "/home/matt";
|
||||
stateVersion = "23.11";
|
||||
};
|
||||
|
||||
${namespace} = {
|
||||
desktop.plasma = lib.mkForce enabled;
|
||||
@@ -78,6 +80,7 @@ in
|
||||
};
|
||||
programs = {
|
||||
btop = enabled;
|
||||
calibre = enabled;
|
||||
kitty = disabled;
|
||||
mako = disabled;
|
||||
nwg-dock = disabled;
|
||||
@@ -85,6 +88,7 @@ in
|
||||
nwg-panel = disabled;
|
||||
opencode = enabled;
|
||||
thunderbird = enabled;
|
||||
vesktop = enabled;
|
||||
waybar = {
|
||||
enable = false;
|
||||
|
||||
@@ -132,7 +136,7 @@ in
|
||||
sops = {
|
||||
secrets = {
|
||||
"protonmail-password" = {
|
||||
sopsFile = (lib.snowfall.fs.get-file "secrets/mac-secrets.yaml");
|
||||
sopsFile = lib.snowfall.fs.get-file "secrets/mac-secrets.yaml";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -145,9 +149,11 @@ in
|
||||
]
|
||||
++ (with pkgs; [
|
||||
bolt-launcher
|
||||
bottles
|
||||
iw
|
||||
iwd
|
||||
orca-slicer
|
||||
rpi-imager
|
||||
vscodium
|
||||
|
||||
]);
|
||||
|
||||
@@ -30,6 +30,7 @@ in
|
||||
jq
|
||||
]
|
||||
++ (with pkgs.${namespace}; [
|
||||
hueforge
|
||||
moondeck-buddy
|
||||
]);
|
||||
};
|
||||
@@ -37,7 +38,7 @@ in
|
||||
${namespace} = {
|
||||
sops.enable = true;
|
||||
programs.opencode = enabled;
|
||||
# desktop.plasma = enabled;
|
||||
desktop.plasma = enabled;
|
||||
};
|
||||
|
||||
sops.secrets = {
|
||||
@@ -83,11 +84,14 @@ in
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
defaultEditor = true;
|
||||
withRuby = false;
|
||||
withPython3 = true;
|
||||
plugins = [
|
||||
pkgs.vimPlugins.nvim-tree-lua
|
||||
{
|
||||
plugin = pkgs.vimPlugins.vim-startify;
|
||||
config = "let g:startify_change_to_vcs_root = 0";
|
||||
type = "lua";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
@@ -13,6 +13,9 @@ in
|
||||
${namespace} = {
|
||||
desktop.gnome = enabled;
|
||||
sops.enable = true;
|
||||
programs = {
|
||||
vesktop = enabled;
|
||||
};
|
||||
};
|
||||
|
||||
sops.secrets = {
|
||||
@@ -51,7 +54,7 @@ in
|
||||
ryujinx.enable = true; # Switch (ryubing fork)
|
||||
yuzu.enable = true; # Switch (eden fork)
|
||||
dolphin-emu.enable = true; # GameCube / Wii
|
||||
cemu.enable = true; # Wii U
|
||||
cemu.enable = false; # Wii U
|
||||
melonDS.enable = true; # DS
|
||||
citra.enable = true; # 3DS (azahar fork)
|
||||
mgba.enable = true; # Game Boy / GBC
|
||||
|
||||
@@ -31,6 +31,7 @@ in
|
||||
desktop.plasma = enabled;
|
||||
|
||||
programs = {
|
||||
vesktop = enabled;
|
||||
opencode = enabled;
|
||||
thunderbird = enabled;
|
||||
hyprland = {
|
||||
@@ -181,14 +182,13 @@ in
|
||||
piper
|
||||
prismlauncher
|
||||
protontricks
|
||||
protonvpn-gui
|
||||
runelite
|
||||
smile
|
||||
via
|
||||
virt-manager
|
||||
vorta
|
||||
waydroid-helper
|
||||
# winboat
|
||||
winboat
|
||||
]
|
||||
++ (with pkgs.${namespace}; [
|
||||
discord-krisp
|
||||
|
||||
0
lib/README.md
Normal file → Executable file
0
lib/README.md
Normal file → Executable file
3
lib/default.nix
Normal file → Executable file
3
lib/default.nix
Normal file → Executable file
@@ -3,8 +3,9 @@
|
||||
mjallen-lib = {
|
||||
module = import ./module { inherit inputs; };
|
||||
file = import ./file { inherit inputs; };
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
versioning = import ./versioning {
|
||||
lib = inputs.nixpkgs.lib;
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
inherit inputs;
|
||||
};
|
||||
};
|
||||
|
||||
2
lib/file/default.nix
Normal file → Executable file
2
lib/file/default.nix
Normal file → Executable file
@@ -1,7 +1,7 @@
|
||||
{ inputs, ... }@args:
|
||||
let
|
||||
# Get self from args or default to ../.. (the flake root)
|
||||
self = if args ? self then args.self else ../..;
|
||||
self = args.self or ../..;
|
||||
|
||||
inherit (inputs.nixpkgs.lib)
|
||||
genAttrs
|
||||
|
||||
10
lib/module/default.nix
Normal file → Executable file
10
lib/module/default.nix
Normal file → Executable file
@@ -91,8 +91,7 @@ rec {
|
||||
];
|
||||
};
|
||||
redis.servers.${name} = lib.mkIf cfg.redis.enable {
|
||||
enable = true;
|
||||
port = cfg.redis.port;
|
||||
inherit (cfg.redis) enable port;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -149,8 +148,9 @@ rec {
|
||||
reverseProxy = mkReverseProxyOpt name;
|
||||
|
||||
hostedService = {
|
||||
enable = mkOpt types.bool (cfg.reverseProxy.enable
|
||||
) "Expose this service in Glance dashboard (auto-enabled when reverseProxy is on)";
|
||||
enable =
|
||||
mkOpt types.bool cfg.reverseProxy.enable
|
||||
"Expose this service in Glance dashboard (auto-enabled when reverseProxy is on)";
|
||||
title = mkOpt types.str name "Display title in Glance";
|
||||
icon = mkOpt types.str "si:glance" "Icon identifier for Glance (e.g. si:actualbudget)";
|
||||
group = mkOpt types.str "Services" "Glance group/category for this service";
|
||||
@@ -254,7 +254,7 @@ rec {
|
||||
owner ? "nix-apps",
|
||||
group ? "jallen-nas",
|
||||
mode ? "660",
|
||||
sopsFile ? (lib.snowfall.fs.get-file "secrets/nas-secrets.yaml"),
|
||||
sopsFile ? lib.snowfall.fs.get-file "secrets/nas-secrets.yaml",
|
||||
}:
|
||||
{
|
||||
sops.secrets = mapAttrs (_key: extra: { inherit sopsFile; } // extra) secrets;
|
||||
|
||||
4
lib/network/default.nix
Normal file → Executable file
4
lib/network/default.nix
Normal file → Executable file
@@ -18,7 +18,6 @@
|
||||
#
|
||||
# All attributes intentionally use plain strings / ints so they can be
|
||||
# interpolated with `toString` or used directly in any context.
|
||||
{ ... }:
|
||||
{
|
||||
network = {
|
||||
# -----------------------------------------------------------------------
|
||||
@@ -100,6 +99,7 @@
|
||||
# ---- pi5 services --------------------------------------------------
|
||||
pi5 = {
|
||||
adguard = 3000;
|
||||
attic = 9012;
|
||||
nebula = 4242;
|
||||
dns = 53;
|
||||
};
|
||||
@@ -129,7 +129,7 @@
|
||||
headscale = 2112;
|
||||
immich = 2283;
|
||||
jellyfin = 8096;
|
||||
jellyseerr = 5055;
|
||||
seerr = 5055;
|
||||
kavita = 5000;
|
||||
llamaCpp = 8127;
|
||||
lubelogger = 6754;
|
||||
|
||||
5
lib/nix-settings/default.nix
Normal file → Executable file
5
lib/nix-settings/default.nix
Normal file → Executable file
@@ -8,13 +8,9 @@
|
||||
# lib.${namespace}.nixSettings.commonSettings
|
||||
# lib.${namespace}.nixSettings.commonGc
|
||||
{ lib, ... }:
|
||||
let
|
||||
net = lib.mjallen.network;
|
||||
in
|
||||
{
|
||||
nixSettings = {
|
||||
commonSubstituters = [
|
||||
"http://${net.hosts.nas.lan}:${toString net.ports.nas.attic}/nas-cache"
|
||||
"https://nixos-apple-silicon.cachix.org"
|
||||
"https://nixos-raspberrypi.cachix.org"
|
||||
"https://nix-community.cachix.org"
|
||||
@@ -22,7 +18,6 @@ in
|
||||
];
|
||||
|
||||
commonTrustedPublicKeys = [
|
||||
"nas-cache:eK0eRVAt9QNwbkLIyOo9N5Z5+zi6ukI4mSlL196C7Yg="
|
||||
"nixos-apple-silicon.cachix.org-1:8psDu5SA5dAD7qA0zMy5UT292TxeEPzIz8VVEr2Js20="
|
||||
"nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
|
||||
50
lib/versioning/default.nix
Normal file → Executable file
50
lib/versioning/default.nix
Normal file → Executable file
@@ -9,12 +9,9 @@ let
|
||||
hasAttr
|
||||
getAttr
|
||||
attrNames
|
||||
toString
|
||||
replaceStrings
|
||||
;
|
||||
|
||||
mapAttrs = lib.mapAttrs;
|
||||
recursiveUpdate = lib.recursiveUpdate;
|
||||
inherit (lib) mapAttrs recursiveUpdate;
|
||||
|
||||
# Deep-merge attrsets (right-biased).
|
||||
deepMerge = a: b: recursiveUpdate a b;
|
||||
@@ -31,8 +28,8 @@ let
|
||||
applyVariantOnce =
|
||||
selected: variant:
|
||||
let
|
||||
vVars = if variant ? variables then variant.variables else { };
|
||||
vSrcs = if variant ? sources then variant.sources else { };
|
||||
vVars = variant.variables or { };
|
||||
vSrcs = variant.sources or { };
|
||||
in
|
||||
{
|
||||
variables = selected.variables // vVars;
|
||||
@@ -47,8 +44,8 @@ let
|
||||
else
|
||||
let
|
||||
p = variant.platforms.${system};
|
||||
pVars = if p ? variables then p.variables else { };
|
||||
pSrcs = if p ? sources then p.sources else { };
|
||||
pVars = p.variables or { };
|
||||
pSrcs = p.sources or { };
|
||||
in
|
||||
{
|
||||
variables = selected.variables // pVars;
|
||||
@@ -93,49 +90,44 @@ let
|
||||
mkSrcFromRendered' =
|
||||
pkgs': comp:
|
||||
let
|
||||
fetcher = if comp ? fetcher then comp.fetcher else "none";
|
||||
fetcher = comp.fetcher or "none";
|
||||
in
|
||||
if fetcher == "github" then
|
||||
pkgs'.fetchFromGitHub (
|
||||
{
|
||||
owner = comp.owner;
|
||||
repo = comp.repo;
|
||||
inherit (comp) owner repo hash;
|
||||
# Allow tag as rev (ignore null/empty tag)
|
||||
rev = if comp ? tag && comp.tag != null && comp.tag != "" then comp.tag else comp.rev;
|
||||
fetchSubmodules = if comp ? submodules then comp.submodules else false;
|
||||
hash = comp.hash;
|
||||
fetchSubmodules = comp.submodules or false;
|
||||
}
|
||||
// lib.optionalAttrs (comp ? name) { name = comp.name; }
|
||||
// lib.optionalAttrs (comp ? name) { inherit (comp) name; }
|
||||
)
|
||||
else if fetcher == "git" then
|
||||
pkgs'.fetchgit {
|
||||
url = comp.url;
|
||||
rev = comp.rev;
|
||||
fetchSubmodules = if comp ? submodules then comp.submodules else false;
|
||||
hash = comp.hash;
|
||||
inherit (comp) url rev hash;
|
||||
fetchSubmodules = comp.submodules or false;
|
||||
}
|
||||
else if fetcher == "url" then
|
||||
let
|
||||
url = if comp ? url then comp.url else comp.urlTemplate;
|
||||
url = comp.url or comp.urlTemplate;
|
||||
in
|
||||
if useFetchZip comp then
|
||||
pkgs'.fetchzip (
|
||||
{
|
||||
inherit (comp) hash;
|
||||
inherit url;
|
||||
hash = comp.hash;
|
||||
}
|
||||
// lib.optionalAttrs (comp ? extra && comp.extra ? stripRoot) { stripRoot = comp.extra.stripRoot; }
|
||||
// lib.optionalAttrs (comp ? extra && comp.extra ? stripRoot) { inherit (comp.extra) stripRoot; }
|
||||
)
|
||||
else
|
||||
pkgs'.fetchurl {
|
||||
inherit (comp) hash;
|
||||
inherit url;
|
||||
hash = comp.hash;
|
||||
}
|
||||
else if fetcher == "pypi" then
|
||||
pkgs'.python3Packages.fetchPypi {
|
||||
inherit (comp) version hash;
|
||||
pname = comp.name;
|
||||
version = comp.version;
|
||||
hash = comp.hash;
|
||||
}
|
||||
else
|
||||
# fetcher == "none": pass-through (e.g., linux version/hash consumed by custom logic)
|
||||
@@ -155,14 +147,10 @@ rec {
|
||||
selectVariant =
|
||||
spec: variantName: system:
|
||||
let
|
||||
chosen =
|
||||
if variantName != null then
|
||||
variantName
|
||||
else
|
||||
(if spec ? defaultVariant then spec.defaultVariant else null);
|
||||
chosen = if variantName != null then variantName else (spec.defaultVariant or null);
|
||||
baseSelected = {
|
||||
variables = if spec ? variables then spec.variables else { };
|
||||
sources = if spec ? sources then spec.sources else { };
|
||||
variables = spec.variables or { };
|
||||
sources = spec.sources or { };
|
||||
};
|
||||
in
|
||||
resolveVariant spec baseSelected chosen system;
|
||||
|
||||
8
modules/darwin/home/default.nix
Normal file → Executable file
8
modules/darwin/home/default.nix
Normal file → Executable file
@@ -38,12 +38,12 @@
|
||||
};
|
||||
|
||||
# Make ALL external HM modules available globally
|
||||
# Note: sops-nix, nix-index-database, and stylix are already injected
|
||||
# globally via systems.modules.home in flake.nix; only darwin-specific
|
||||
# modules that aren't in the global list should go here.
|
||||
sharedModules = with inputs; [
|
||||
sops-nix.homeManagerModules.sops
|
||||
nix-plist-manager.homeManagerModules.default
|
||||
nix-index-database.homeModules.nix-index
|
||||
stylix.homeModules.stylix
|
||||
# Add any other external HM modules here
|
||||
# Add any other darwin-specific external HM modules here
|
||||
];
|
||||
|
||||
users."mattjallen" = lib.mkAliasDefinitions options.${namespace}.home.extraOptions;
|
||||
|
||||
2
modules/darwin/nix/default.nix
Normal file → Executable file
2
modules/darwin/nix/default.nix
Normal file → Executable file
@@ -4,7 +4,7 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
nixSettings = lib.${namespace}.nixSettings;
|
||||
inherit (lib.${namespace}) nixSettings;
|
||||
in
|
||||
{
|
||||
nix = {
|
||||
|
||||
0
modules/darwin/programs/ssh/default.nix
Normal file → Executable file
0
modules/darwin/programs/ssh/default.nix
Normal file → Executable file
0
modules/home/accounts/default.nix
Normal file → Executable file
0
modules/home/accounts/default.nix
Normal file → Executable file
0
modules/home/desktop/gnome/default.nix
Normal file → Executable file
0
modules/home/desktop/gnome/default.nix
Normal file → Executable file
0
modules/home/desktop/gnome/options.nix
Normal file → Executable file
0
modules/home/desktop/gnome/options.nix
Normal file → Executable file
64
modules/home/desktop/plasma/default.nix
Normal file → Executable file
64
modules/home/desktop/plasma/default.nix
Normal file → Executable file
@@ -25,24 +25,28 @@ in
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
|
||||
workspace = {
|
||||
colorScheme = "BreezeDark";
|
||||
cursor = {
|
||||
theme = "breeze_cursors";
|
||||
size = 24;
|
||||
};
|
||||
iconTheme = "breeze-dark";
|
||||
theme = "breeze-dark";
|
||||
lookAndFeel = "org.kde.breezedark.desktop";
|
||||
# Explicitly set Breeze to prevent QT_STYLE_OVERRIDE=kvantum (set by
|
||||
# Stylix's qt6ct target) from being picked up by KWin/plasmashell, which
|
||||
# would cause a fatal "module kvantum is not installed" QML error and
|
||||
# leave the desktop blank.
|
||||
widgetStyle = "Breeze";
|
||||
configFile.kded5rc = {
|
||||
"Module-gtkconfig"."autoload" = false;
|
||||
};
|
||||
|
||||
# input.mice and input.touchpads require device-specific vendorId/productId
|
||||
# identifiers — configure those per-host in the home config instead.
|
||||
# workspace = {
|
||||
# colorScheme = "BreezeDark";
|
||||
# cursor = {
|
||||
# theme = "breeze_cursors";
|
||||
# size = 24;
|
||||
# };
|
||||
# iconTheme = "breeze-dark";
|
||||
# theme = "breeze-dark";
|
||||
# lookAndFeel = "org.kde.breezedark.desktop";
|
||||
# # Explicitly set Breeze to prevent QT_STYLE_OVERRIDE=kvantum (set by
|
||||
# # Stylix's qt6ct target) from being picked up by KWin/plasmashell, which
|
||||
# # would cause a fatal "module kvantum is not installed" QML error and
|
||||
# # leave the desktop blank.
|
||||
# widgetStyle = "Breeze";
|
||||
# };
|
||||
|
||||
# # input.mice and input.touchpads require device-specific vendorId/productId
|
||||
# # identifiers — configure those per-host in the home config instead.
|
||||
|
||||
kscreenlocker = {
|
||||
autoLock = true;
|
||||
@@ -67,20 +71,20 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
panels = [
|
||||
{
|
||||
location = "bottom";
|
||||
floating = true;
|
||||
height = 44;
|
||||
widgets = [
|
||||
"org.kde.plasma.kickoff"
|
||||
"org.kde.plasma.icontasks"
|
||||
"org.kde.plasma.marginsseparator"
|
||||
"org.kde.plasma.systemtray"
|
||||
"org.kde.plasma.digitalclock"
|
||||
];
|
||||
}
|
||||
];
|
||||
# panels = [
|
||||
# {
|
||||
# location = "bottom";
|
||||
# floating = true;
|
||||
# height = 44;
|
||||
# widgets = [
|
||||
# "org.kde.plasma.kickoff"
|
||||
# "org.kde.plasma.icontasks"
|
||||
# "org.kde.plasma.marginsseparator"
|
||||
# "org.kde.plasma.systemtray"
|
||||
# "org.kde.plasma.digitalclock"
|
||||
# ];
|
||||
# }
|
||||
# ];
|
||||
|
||||
shortcuts = {
|
||||
kwin = {
|
||||
|
||||
0
modules/home/desktop/plasma/options.nix
Normal file → Executable file
0
modules/home/desktop/plasma/options.nix
Normal file → Executable file
0
modules/home/gpg/default.nix
Normal file → Executable file
0
modules/home/gpg/default.nix
Normal file → Executable file
4
modules/home/home/default.nix
Normal file → Executable file
4
modules/home/home/default.nix
Normal file → Executable file
@@ -44,7 +44,7 @@ in
|
||||
pciutils
|
||||
proton-pass-cli
|
||||
proton-vpn-cli
|
||||
protonvpn-gui
|
||||
proton-vpn
|
||||
protonup-ng
|
||||
rsync
|
||||
smartmontools
|
||||
@@ -57,7 +57,7 @@ in
|
||||
wget
|
||||
]
|
||||
++ (
|
||||
if (hasDestopEnvironment) then
|
||||
if hasDestopEnvironment then
|
||||
[
|
||||
boxbuddy
|
||||
cider-2
|
||||
|
||||
24
modules/home/programs/calibre/default.nix
Executable file
24
modules/home/programs/calibre/default.nix
Executable file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
(lib.${namespace}.mkHomeModule {
|
||||
inherit config;
|
||||
domain = "programs";
|
||||
name = "calibre";
|
||||
moduleConfig = {
|
||||
programs.calibre = {
|
||||
enable = true;
|
||||
plugins = with pkgs.${namespace}; [
|
||||
dedrm
|
||||
];
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
2
modules/home/programs/code/default.nix
Normal file → Executable file
2
modules/home/programs/code/default.nix
Normal file → Executable file
@@ -14,7 +14,7 @@ let
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
nodePackages.nodejs
|
||||
nodejs_25
|
||||
uv
|
||||
];
|
||||
|
||||
|
||||
0
modules/home/programs/common/default-apps.nix
Normal file → Executable file
0
modules/home/programs/common/default-apps.nix
Normal file → Executable file
1
modules/home/programs/git/default.nix
Normal file → Executable file
1
modules/home/programs/git/default.nix
Normal file → Executable file
@@ -1,4 +1,3 @@
|
||||
{ ... }:
|
||||
let
|
||||
gitAliases = {
|
||||
co = "checkout";
|
||||
|
||||
0
modules/home/programs/hyprland/avizo.nix
Normal file → Executable file
0
modules/home/programs/hyprland/avizo.nix
Normal file → Executable file
3
modules/home/programs/hyprland/default.nix
Normal file → Executable file
3
modules/home/programs/hyprland/default.nix
Normal file → Executable file
@@ -313,6 +313,7 @@ in
|
||||
secondMonitor = if builtins.length names > 1 then builtins.elemAt names 1 else firstMonitor;
|
||||
in
|
||||
{
|
||||
inherit (cfg) workspace;
|
||||
"$mod" = cfg.modKey;
|
||||
|
||||
# Mouse
|
||||
@@ -513,8 +514,6 @@ in
|
||||
preserve_split = "yes";
|
||||
};
|
||||
|
||||
workspace = cfg.workspace;
|
||||
|
||||
windowrule = [
|
||||
"match:title file_progress, float 1"
|
||||
"match:title .*[Cc]onfirm.*, float 1"
|
||||
|
||||
0
modules/home/programs/hyprland/options.nix
Normal file → Executable file
0
modules/home/programs/hyprland/options.nix
Normal file → Executable file
1
modules/home/programs/librewolf/default.nix
Normal file → Executable file
1
modules/home/programs/librewolf/default.nix
Normal file → Executable file
@@ -1,4 +1,3 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.librewolf = {
|
||||
enable = false;
|
||||
|
||||
0
modules/home/programs/nwg-dock/default.nix
Normal file → Executable file
0
modules/home/programs/nwg-dock/default.nix
Normal file → Executable file
0
modules/home/programs/nwg-drawer/default.nix
Normal file → Executable file
0
modules/home/programs/nwg-drawer/default.nix
Normal file → Executable file
0
modules/home/programs/nwg-panel/default.nix
Normal file → Executable file
0
modules/home/programs/nwg-panel/default.nix
Normal file → Executable file
0
modules/home/programs/nwg-panel/options.nix
Normal file → Executable file
0
modules/home/programs/nwg-panel/options.nix
Normal file → Executable file
0
modules/home/programs/onlyoffice/default.nix
Normal file → Executable file
0
modules/home/programs/onlyoffice/default.nix
Normal file → Executable file
8
modules/home/programs/opencode/default.nix
Normal file → Executable file
8
modules/home/programs/opencode/default.nix
Normal file → Executable file
@@ -37,8 +37,8 @@ in
|
||||
baseURL = "http://${net.hosts.nas.lan}:${toString net.ports.nas.llamaCpp}/v1";
|
||||
};
|
||||
models = {
|
||||
Qwen3-Coder-Next-Q4_0 = {
|
||||
name = "Qwen3 Coder (local)";
|
||||
"gemma-4-26B-A4B-it-UD-Q8_K_XL" = {
|
||||
name = "Gemma 4 26B-A4B (local)";
|
||||
modalities = {
|
||||
input = [
|
||||
"image"
|
||||
@@ -47,8 +47,8 @@ in
|
||||
output = [ "text" ];
|
||||
};
|
||||
limit = {
|
||||
context = 131072;
|
||||
output = 32768;
|
||||
context = 32768;
|
||||
output = 8192;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
1
modules/home/programs/password-store/default.nix
Normal file → Executable file
1
modules/home/programs/password-store/default.nix
Normal file → Executable file
@@ -1,4 +1,3 @@
|
||||
{ ... }:
|
||||
{
|
||||
# The default value of `programs.password-store.settings` has changed from `{ PASSWORD_STORE_DIR = "$XDG_DATA_HOME/password-store"; }` to `{ }`.
|
||||
# You are currently using the legacy default (`{ PASSWORD_STORE_DIR = "$XDG_DATA_HOME/password-store"; }`) because `home.stateVersion` is less than "25.11".
|
||||
|
||||
0
modules/home/programs/thunderbird/default.nix
Normal file → Executable file
0
modules/home/programs/thunderbird/default.nix
Normal file → Executable file
0
modules/home/programs/update-checker/default.nix
Normal file → Executable file
0
modules/home/programs/update-checker/default.nix
Normal file → Executable file
51
modules/home/programs/vencord/default.nix
Normal file
51
modules/home/programs/vencord/default.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.${namespace}.programs.vesktop;
|
||||
in
|
||||
{
|
||||
options.${namespace}.programs.vesktop = {
|
||||
enable = lib.mkEnableOption "vesktop";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.vesktop = {
|
||||
enable = true;
|
||||
settings = {
|
||||
appBadge = false;
|
||||
arRPC = true;
|
||||
checkUpdates = false;
|
||||
customTitleBar = false;
|
||||
disableMinSize = true;
|
||||
minimizeToTray = true;
|
||||
tray = true;
|
||||
splashBackground = "#000000";
|
||||
splashColor = "#ffffff";
|
||||
splashTheming = true;
|
||||
staticTitle = true;
|
||||
hardwareAcceleration = true;
|
||||
discordBranch = "stable";
|
||||
};
|
||||
vencord = {
|
||||
settings = {
|
||||
autoUpdate = false;
|
||||
autoUpdateNotification = false;
|
||||
notifyAboutUpdates = false;
|
||||
useQuickCss = true;
|
||||
disableMinSize = true;
|
||||
plugins = {
|
||||
MessageLogger = {
|
||||
enabled = false;
|
||||
ignoreSelf = true;
|
||||
};
|
||||
FakeNitro.enabled = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -294,10 +294,10 @@ in
|
||||
systemd.enable = true;
|
||||
|
||||
settings = {
|
||||
mainBar = (
|
||||
mainBar =
|
||||
(mkMerge [
|
||||
{
|
||||
layer = cfg.layer;
|
||||
inherit (cfg) layer;
|
||||
position = "top";
|
||||
mod = "dock";
|
||||
exclusive = true;
|
||||
@@ -342,7 +342,7 @@ in
|
||||
};
|
||||
|
||||
network = {
|
||||
interface = cfg.network.interface;
|
||||
inherit (cfg.network) interface;
|
||||
on-click = "nm-connection-editor";
|
||||
format = "{icon}";
|
||||
tooltip-format = "{ifname} via {gwaddr} ";
|
||||
@@ -589,8 +589,7 @@ in
|
||||
};
|
||||
})
|
||||
])
|
||||
// cfg.extra.settings
|
||||
);
|
||||
// cfg.extra.settings;
|
||||
}
|
||||
// cfg.extraModules; # keep legacy top-level extra modules for compatibility
|
||||
|
||||
|
||||
0
modules/home/programs/waybar/options.nix
Normal file → Executable file
0
modules/home/programs/waybar/options.nix
Normal file → Executable file
0
modules/home/programs/waybar/scripts/audio-control.nix
Normal file → Executable file
0
modules/home/programs/waybar/scripts/audio-control.nix
Normal file → Executable file
0
modules/home/programs/waybar/scripts/media.nix
Normal file → Executable file
0
modules/home/programs/waybar/scripts/media.nix
Normal file → Executable file
0
modules/home/programs/waybar/scripts/notifications.nix
Normal file → Executable file
0
modules/home/programs/waybar/scripts/notifications.nix
Normal file → Executable file
0
modules/home/programs/waybar/scripts/weather.nix
Normal file → Executable file
0
modules/home/programs/waybar/scripts/weather.nix
Normal file → Executable file
0
modules/home/programs/wlogout/default.nix
Normal file → Executable file
0
modules/home/programs/wlogout/default.nix
Normal file → Executable file
1
modules/home/programs/zsh/default.nix
Normal file → Executable file
1
modules/home/programs/zsh/default.nix
Normal file → Executable file
@@ -1,4 +1,3 @@
|
||||
{ ... }:
|
||||
let
|
||||
defaultShellAliases = {
|
||||
l = "ls -alh";
|
||||
|
||||
3
modules/home/services/pass/default.nix
Normal file → Executable file
3
modules/home/services/pass/default.nix
Normal file → Executable file
@@ -1,6 +1,3 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
#services.gnome-keyring.enable = false;
|
||||
#home.packages = [ pkgs.gcr ];
|
||||
|
||||
0
modules/home/services/protonmail-bridge/default.nix
Normal file → Executable file
0
modules/home/services/protonmail-bridge/default.nix
Normal file → Executable file
0
modules/home/shell-aliases/default.nix
Normal file → Executable file
0
modules/home/shell-aliases/default.nix
Normal file → Executable file
0
modules/home/sops/default.nix
Normal file → Executable file
0
modules/home/sops/default.nix
Normal file → Executable file
0
modules/home/sops/options.nix
Normal file → Executable file
0
modules/home/sops/options.nix
Normal file → Executable file
0
modules/home/stylix/default.nix
Normal file → Executable file
0
modules/home/stylix/default.nix
Normal file → Executable file
6
modules/home/user/default.nix
Normal file → Executable file
6
modules/home/user/default.nix
Normal file → Executable file
@@ -35,17 +35,17 @@ in
|
||||
description = "The full name of the user.";
|
||||
};
|
||||
home = mkOption {
|
||||
type = (types.nullOr types.str);
|
||||
type = types.nullOr types.str;
|
||||
default = home-directory;
|
||||
description = "The user's home directory.";
|
||||
};
|
||||
icon = mkOption {
|
||||
type = (types.nullOr types.package);
|
||||
type = types.nullOr types.package;
|
||||
default = null;
|
||||
description = "The profile picture to use for the user. Set to a package whose output is the icon file (e.g. a derivation producing a PNG).";
|
||||
};
|
||||
name = mkOption {
|
||||
type = (types.nullOr types.str);
|
||||
type = types.nullOr types.str;
|
||||
default = "matt";
|
||||
description = "The user account.";
|
||||
};
|
||||
|
||||
2
modules/nixos/boot/common/default.nix
Normal file → Executable file
2
modules/nixos/boot/common/default.nix
Normal file → Executable file
@@ -62,7 +62,7 @@ in
|
||||
bcachefs.package = lib.mkOverride 90 pkgs.${namespace}.bcachefs;
|
||||
|
||||
consoleLogLevel = lib.mkDefault 0;
|
||||
bootspec.enable = (!isArm);
|
||||
bootspec.enable = !isArm;
|
||||
|
||||
initrd = {
|
||||
verbose = lib.mkDefault false;
|
||||
|
||||
2
modules/nixos/boot/lanzaboote/default.nix
Normal file → Executable file
2
modules/nixos/boot/lanzaboote/default.nix
Normal file → Executable file
@@ -32,7 +32,7 @@ in
|
||||
};
|
||||
};
|
||||
lanzaboote = {
|
||||
enable = cfg.enable;
|
||||
enable = true;
|
||||
pkiBundle = "/etc/secureboot";
|
||||
settings = {
|
||||
console-mode = "max";
|
||||
|
||||
0
modules/nixos/boot/plymouth/default.nix
Normal file → Executable file
0
modules/nixos/boot/plymouth/default.nix
Normal file → Executable file
0
modules/nixos/boot/systemd-boot/default.nix
Normal file → Executable file
0
modules/nixos/boot/systemd-boot/default.nix
Normal file → Executable file
0
modules/nixos/desktop/gnome/default.nix
Normal file → Executable file
0
modules/nixos/desktop/gnome/default.nix
Normal file → Executable file
0
modules/nixos/desktop/hyprland/options.nix
Normal file → Executable file
0
modules/nixos/desktop/hyprland/options.nix
Normal file → Executable file
2
modules/nixos/desktop/hyprland/wallpapers/default.nix
Normal file → Executable file
2
modules/nixos/desktop/hyprland/wallpapers/default.nix
Normal file → Executable file
@@ -15,11 +15,11 @@ in
|
||||
# and provide the hyprctl hot-reload command so hyprpaper picks up the new image.
|
||||
config = lib.mkIf cfg.enable {
|
||||
${namespace}.wallpaper = {
|
||||
inherit (cfg) defaultWallpaper;
|
||||
enable = true;
|
||||
source = cfg.wallpaperSource;
|
||||
path = cfg.wallpaper;
|
||||
dir = cfg.wallpaperDir;
|
||||
defaultWallpaper = cfg.defaultWallpaper;
|
||||
reloadCommand = "${lib.getExe' pkgs.hyprland "hyprctl"} hyprpaper wallpaper ,${cfg.wallpaper},";
|
||||
};
|
||||
};
|
||||
|
||||
4
modules/nixos/desktop/plasma/default.nix
Normal file → Executable file
4
modules/nixos/desktop/plasma/default.nix
Normal file → Executable file
@@ -35,6 +35,10 @@ in
|
||||
enable = true;
|
||||
wayland.enable = cfg.wayland.enable;
|
||||
};
|
||||
|
||||
# Required for Bluetooth D-Bus policy (allows WirePlumber/PipeWire
|
||||
# to communicate with bluetoothd on the system bus).
|
||||
blueman.enable = true;
|
||||
};
|
||||
|
||||
xdg.portal.extraPortals = [ ];
|
||||
|
||||
0
modules/nixos/development/default.nix
Normal file → Executable file
0
modules/nixos/development/default.nix
Normal file → Executable file
0
modules/nixos/disko/default.nix
Normal file → Executable file
0
modules/nixos/disko/default.nix
Normal file → Executable file
0
modules/nixos/disko/options.nix
Normal file → Executable file
0
modules/nixos/disko/options.nix
Normal file → Executable file
0
modules/nixos/fonts/default.nix
Normal file → Executable file
0
modules/nixos/fonts/default.nix
Normal file → Executable file
@@ -16,9 +16,11 @@ in
|
||||
|
||||
coolercontrol.enable = mkBoolOpt false "Enable CoolerControl fan/cooling control";
|
||||
|
||||
corectrl.enable = mkBoolOpt false "Enable CoreCtrl GPU control";
|
||||
corectrl.enablePolkit = mkBoolOpt false "Enable CoreCtrl polkit rules";
|
||||
corectrl.polkitGroup = mkOpt types.str "wheel" "Group allowed to use CoreCtrl without password";
|
||||
corectrl = {
|
||||
enable = mkBoolOpt false "Enable CoreCtrl GPU control";
|
||||
enablePolkit = mkBoolOpt false "Enable CoreCtrl polkit rules";
|
||||
polkitGroup = mkOpt types.str "wheel" "Group allowed to use CoreCtrl without password";
|
||||
};
|
||||
|
||||
lact.enable = mkBoolOpt false "Enable LACT daemon (AMD GPU control)";
|
||||
};
|
||||
@@ -44,7 +46,7 @@ in
|
||||
};
|
||||
|
||||
programs.corectrl = {
|
||||
enable = cfg.corectrl.enable;
|
||||
inherit (cfg.corectrl) enable;
|
||||
package = pkgs.corectrl;
|
||||
};
|
||||
|
||||
|
||||
0
modules/nixos/hardware/battery/default.nix
Normal file → Executable file
0
modules/nixos/hardware/battery/default.nix
Normal file → Executable file
0
modules/nixos/hardware/btrfs/default.nix
Normal file → Executable file
0
modules/nixos/hardware/btrfs/default.nix
Normal file → Executable file
0
modules/nixos/hardware/common/default.nix
Normal file → Executable file
0
modules/nixos/hardware/common/default.nix
Normal file → Executable file
0
modules/nixos/hardware/npu/default.nix
Normal file → Executable file
0
modules/nixos/hardware/npu/default.nix
Normal file → Executable file
@@ -53,7 +53,7 @@ in
|
||||
|
||||
# Enable the Nvidia settings menu,
|
||||
# accessible via `nvidia-settings`.
|
||||
nvidiaSettings = cfg.nvidiaSettings;
|
||||
inherit (cfg) nvidiaSettings;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
0
modules/nixos/hardware/openrgb/default.nix
Normal file → Executable file
0
modules/nixos/hardware/openrgb/default.nix
Normal file → Executable file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user