119 Commits

Author SHA1 Message Date
2cbacf93b6 hosts/helios: add initial disko config 2025-08-23 21:39:28 +01:00
6ea925eb7d hosts/artemis: update README.md
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m20s
2025-08-23 09:33:33 +01:00
ce0181af06 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m20s
Flake lock file updates:

• Updated input 'firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/6f173d0873dd33c5653dee89a831af3e49db3e36?narHash=sha256-9veVYpPCwKNjIK5gOigl5nEUN6tmrSHXUv4bVZkRuOE%3D' (2025-08-04)
  → 'github:rafaelmardojai/firefox-gnome-theme/6fafa0409ad451b90db466f900b7549a1890bf1a?narHash=sha256-ClHCtrzwU6TIfK0qOzAsfPY4swrpbZ8SwUpBpVwphaY%3D' (2025-08-22)
• Updated input 'home-manager':
    'github:nix-community/home-manager/4fb695d10890e9fc6a19deadf85ff79ffb78da86?narHash=sha256-CPM7zm6csUx7vSfKvzMDIjepEJv1u/usmaT7zydzbuI%3D' (2025-08-21)
  → 'github:nix-community/home-manager/4a44fb9f7555da362af9d499817084f4288a957f?narHash=sha256-OILVkfhRCm8u18IZ2DKR8gz8CVZM2ZcJmQBXmjFLIfk%3D' (2025-08-23)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/42caff5587b6c43703b3c3d51878f156448994f6?narHash=sha256-afr1iUi3HHTgBdF5wZJ1JZQGUNTM4ZY85NnEN138Q2g%3D' (2025-08-22)
  → 'github:hyprwm/Hyprland/0d45b277d6c750377b336034b8adc53eae238d91?narHash=sha256-/yviTS9piazXoZAmnN0dXnYjDAFvooBnzJfPw2Gi30Y%3D' (2025-08-22)
• Updated input 'pre-commit-hooks':
    'github:cachix/git-hooks.nix/4b04db83821b819bbbe32ed0a025b31e7971f22e?narHash=sha256-I0Ok1OGDwc1jPd8cs2VvAYZsHriUVFGIUqW%2B7uSsOUM%3D' (2025-08-17)
  → 'github:cachix/git-hooks.nix/3ff4596663c8cbbffe06d863ee4c950bce2c3b78?narHash=sha256-2KZl6cU5rzEwXKMW369kLTzinJXXkF3TRExA6qEeVbc%3D' (2025-08-22)
• Updated input 'thunderbird-gnome-theme':
    'github:rafaelmardojai/thunderbird-gnome-theme/a9ee1a2c8a1dfce700250a4ce3ce7f88dff43300?narHash=sha256-zADBsXqIkxy519sK/2mnZ/lcTQSA/3iXwdkXCVNqUVY%3D' (2025-08-06)
  → 'github:rafaelmardojai/thunderbird-gnome-theme/b1fbb41db5718c23667bd9b40268b8e7317634fd?narHash=sha256-oLmw1VRrmbuLwT5errG3lT85K0jLII/aQ32VtdJ%2B1xM%3D' (2025-08-22)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/7d81f6fb2e19bf84f1c65135d1060d829fae2408?narHash=sha256-2vX8QjO5lRsDbNYvN9hVHXLU6oMl%2BV/PsmIiJREG4rE%3D' (2025-08-10)
  → 'github:numtide/treefmt-nix/74e1a52d5bd9430312f8d1b8b0354c92c17453e5?narHash=sha256-CsDojnMgYsfshQw3t4zjRUkmMmUdZGthl16bXVWgRYU%3D' (2025-08-23)
2025-08-23 09:22:56 +01:00
df7d5f3f93 users/guest: init and add steam
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m22s
2025-08-22 21:04:58 +01:00
269e9d20bf hosts: import users in individual hosts
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m20s
2025-08-22 11:57:16 +01:00
68c8d8599d flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m24s
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/fc3add429f21450359369af74c2375cb34a2d204?narHash=sha256-oV695RvbAE4%2BR9pcsT9shmp6zE/%2BIZe6evHWX63f2Qg%3D' (2025-07-27)
  → 'github:nix-community/home-manager/4fb695d10890e9fc6a19deadf85ff79ffb78da86?narHash=sha256-CPM7zm6csUx7vSfKvzMDIjepEJv1u/usmaT7zydzbuI%3D' (2025-08-21)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/1ac1ff457ab8ef1ae6a8f2ab17ee7965adfa729f?narHash=sha256-w/5JZD04Z4PoPjev0ZRRlrMSxvqDHYC2MZbliIo3z3Q%3D' (2025-08-20)
  → 'github:hyprwm/Hyprland/42caff5587b6c43703b3c3d51878f156448994f6?narHash=sha256-afr1iUi3HHTgBdF5wZJ1JZQGUNTM4ZY85NnEN138Q2g%3D' (2025-08-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a58390ab6f1aa810eb8e0f0fc74230e7cc06de03?narHash=sha256-BA9MuPjBDx/WnpTJ0EGhStyfE7hug8g85Y3Ju9oTsM4%3D' (2025-08-19)
  → 'github:NixOS/nixpkgs/9cb344e96d5b6918e94e1bca2d9f3ea1e9615545?narHash=sha256-gKlP0LbyJ3qX0KObfIWcp5nbuHSb5EHwIvU6UcNBg2A%3D' (2025-08-20)
2025-08-22 09:54:19 +01:00
58bef019fb flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m25s
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/8246829f2e675a46919718f9a64b71afe3bfb22d?narHash=sha256-p04ZnIBGzerSyiY2dNGmookCldhldWAu03y0s3P8CB0%3D' (2025-08-12)
  → 'github:nix-community/disko/4073ff2f481f9ef3501678ff479ed81402caae6d?narHash=sha256-bU4nqi3IpsUZJeyS8Jk85ytlX61i4b0KCxXX9YcOgVc%3D' (2025-08-18)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/251288ec5942b3544ad31de1299569284d80f0d7?narHash=sha256-40yHpmTu/dJV5xh8V6PcMvSVqxtQdsVZUium5WMpxFg%3D' (2025-08-17)
  → 'github:hyprwm/Hyprland/1ac1ff457ab8ef1ae6a8f2ab17ee7965adfa729f?narHash=sha256-w/5JZD04Z4PoPjev0ZRRlrMSxvqDHYC2MZbliIo3z3Q%3D' (2025-08-20)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ad7196ae55c295f53a7d1ec39e4a06d922f3b899?narHash=sha256-rTInmnp/xYrfcMZyFMH3kc8oko5zYfxsowaLv1LVobY%3D' (2025-08-15)
  → 'github:NixOS/nixpkgs/a58390ab6f1aa810eb8e0f0fc74230e7cc06de03?narHash=sha256-BA9MuPjBDx/WnpTJ0EGhStyfE7hug8g85Y3Ju9oTsM4%3D' (2025-08-19)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/fbcf476f790d8a217c3eab4e12033dc4a0f6d23c?narHash=sha256-wNO3%2BKs2jZJ4nTHMuks%2BcxAiVBGNuEBXsT29Bz6HASo%3D' (2025-08-14)
  → 'github:NixOS/nixpkgs/20075955deac2583bb12f07151c2df830ef346b4?narHash=sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs%2BStOp19xNsbqdOg%3D' (2025-08-19)
• Updated input 'nixvim':
    'github:nix-community/nixvim/ab1b5962e1ca90b42de47e1172e0d24ca80e6256?narHash=sha256-Yz5dJ0VzGRzSRHdHldsWQbuFYmtP3NWNreCvPfCi9CI%3D' (2025-08-03)
  → 'github:nix-community/nixvim/6df0b97b39baa1c0b3002b051f307aed68e17d1b?narHash=sha256-eb9N7XFj1zirk%2BD2KV%2Brn/CjmVHDISlxhtZCWZEVpkM%3D' (2025-08-20)
• Updated input 'pre-commit-hooks':
    'github:cachix/git-hooks.nix/9c52372878df6911f9afc1e2a1391f55e4dfc864?narHash=sha256-c6yg0EQ9xVESx6HGDOCMcyRSjaTpNJP10ef%2B6fRcofA%3D' (2025-08-05)
  → 'github:cachix/git-hooks.nix/4b04db83821b819bbbe32ed0a025b31e7971f22e?narHash=sha256-I0Ok1OGDwc1jPd8cs2VvAYZsHriUVFGIUqW%2B7uSsOUM%3D' (2025-08-17)
2025-08-21 10:10:05 +01:00
a04e64ebd5 impermanence: use either SSH host key for agenix 2025-08-21 10:08:54 +01:00
65af220200 treewide: impermanence configuration
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m23s
2025-08-18 22:26:20 +01:00
2a005aade6 devshell: add pre-commit hook installer
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m44s
2025-08-18 19:45:49 +01:00
93042329bd flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m24s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/edc473e8b0c14e768445422080af9978d132bff6?narHash=sha256-LrXtv1RIEds93j%2BOiSEvYFVX4fcGk2vrEzva19oxvco%3D' (2025-08-15)
  → 'github:hyprwm/Hyprland/251288ec5942b3544ad31de1299569284d80f0d7?narHash=sha256-40yHpmTu/dJV5xh8V6PcMvSVqxtQdsVZUium5WMpxFg%3D' (2025-08-17)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113?narHash=sha256-dz303vGuzWjzOPOaYkS9xSW%2BB93PSAJxvBd6CambXVA%3D' (2025-08-07)
  → 'github:NixOS/nixos-hardware/3dac8a872557e0ca8c083cdcfc2f218d18e113b0?narHash=sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA%3D' (2025-08-16)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3385ca0cd7e14c1a1eb80401fe011705ff012323?narHash=sha256-Hu/gTDoi4uy6TAKISPHQusSMy8U6xUbLSDjKBYdhDIY%3D' (2025-08-13)
  → 'github:NixOS/nixpkgs/ad7196ae55c295f53a7d1ec39e4a06d922f3b899?narHash=sha256-rTInmnp/xYrfcMZyFMH3kc8oko5zYfxsowaLv1LVobY%3D' (2025-08-15)
2025-08-17 12:51:55 +01:00
56e7e5888b hosts/hypnos: accept vulnerable wifi driver
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m22s
2025-08-17 12:50:48 +01:00
655e2295c4 users/jordan: add dejavu_fonts
Fix a startup issue with Audacity
2025-08-17 12:48:58 +01:00
a6b2311289 treewide: format markdown
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m18s
2025-08-15 21:38:30 +01:00
77ca125bde flake.nix: add treefmt-nix
Some checks failed
Check flake / build-amd64-linux (push) Failing after 1m21s
2025-08-15 21:37:06 +01:00
a40e84ddb4 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m35s
Flake lock file updates:

• Updated input 'deploy-rs/nixpkgs':
    'github:NixOS/nixpkgs/bd3bac8bfb542dbde7ffffb6987a1a1f9d41699f?narHash=sha256-jAIUqsiN2r3hCuHji80U7NNEafpIMBXiwKlSrjWMlpg%3D' (2025-03-26)
  → follows 'nixpkgs'
2025-08-15 21:17:58 +01:00
9653e4d9d0 flake.nix: add devshell with deploy-rs
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m22s
2025-08-15 21:05:59 +01:00
24828da373 flake.nix: add agenix-rekey and nix-topology
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m19s
2025-08-15 20:18:32 +01:00
c1016e641c flake.lock: Update
Flake lock file updates:

• Added input 'nix-topology':
    'github:oddlama/nix-topology/6a536c4b686ee4bcf07a7b0f8b823584560e2633?narHash=sha256-P0TySh6sQl1EhfxjW9ZqGxEyUBSsEpdnchOe1QB0pLA%3D' (2025-07-09)
• Added input 'nix-topology/devshell':
    'github:numtide/devshell/dd6b80932022cea34a019e2bb32f6fa9e494dfef?narHash=sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg%3D' (2024-10-07)
• Added input 'nix-topology/devshell/nixpkgs':
    follows 'nix-topology/nixpkgs'
• Added input 'nix-topology/flake-utils':
    'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a?narHash=sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ%3D' (2024-09-17)
• Added input 'nix-topology/flake-utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e?narHash=sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768%3D' (2023-04-09)
• Added input 'nix-topology/nixpkgs':
    follows 'nixpkgs'
• Added input 'nix-topology/pre-commit-hooks':
    follows 'pre-commit-hooks'
2025-08-15 20:17:57 +01:00
db345e0a00 flake.nix: update inputs
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m24s
2025-08-15 20:07:14 +01:00
47d0f78c0a flake.lock: Update
Flake lock file updates:

• Updated input 'agenix-rekey/pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/a5a961387e75ae44cc20f0a57ae463da5e959656?narHash=sha256-3FZAG%2BpGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110%3D' (2025-01-03)
  → follows 'pre-commit-hooks'
• Removed input 'agenix-rekey/pre-commit-hooks/flake-compat'
• Removed input 'agenix-rekey/pre-commit-hooks/gitignore'
• Removed input 'agenix-rekey/pre-commit-hooks/gitignore/nixpkgs'
• Removed input 'agenix-rekey/pre-commit-hooks/nixpkgs'
• Removed input 'git-hooks-nix'
• Removed input 'git-hooks-nix/flake-compat'
• Removed input 'git-hooks-nix/gitignore'
• Removed input 'git-hooks-nix/gitignore/nixpkgs'
• Removed input 'git-hooks-nix/nixpkgs'
2025-08-15 20:06:27 +01:00
e7145bad37 flake.nix: use flake-parts
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m28s
2025-08-15 19:42:45 +01:00
75f1317346 hyprland: disable VRR
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m26s
2025-08-15 10:41:54 +01:00
ecc5218bf1 hosts/artemis: add vk-hdr-layer
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m31s
2025-08-15 10:41:17 +01:00
2c3f56c582 vk-hdr-layer: init
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m22s
2025-08-15 10:02:35 +01:00
f89304ef1f hyprland: enable wide color gamut and HDR
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m23s
2025-08-15 09:49:22 +01:00
5cc62b0312 hyprland: enable xx_color_management_v4 2025-08-15 09:48:53 +01:00
d76bcdcfd2 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m27s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/aa6a78f0a4e17c49ed4aff8b58c3f7ec7ef0408f?narHash=sha256-4HK2kvyeAO/6kNKGanvP8mg4nEeDwke%2Bd3eozz3QmOQ%3D' (2025-08-13)
  → 'github:hyprwm/Hyprland/60d769a89908c29e19100059985db15a7b6bab6a?narHash=sha256-VI%2BZPD/uIFjzYW8IcyvBgvwyDIvUe4/xh/kOHTbITX8%3D' (2025-08-14)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/984669ebb57f0d17f271598e82e1d2ab55296f20?narHash=sha256-GHN5Yq/zyexUkffW0tUPrGgHljlYfJZgzrxd/3S9ASI%3D' (2025-08-11)
  → 'github:hyprwm/hyprland-plugins/c1ddebb423acc7c88653c04de5ddafee64dac89a?narHash=sha256-wrP8TM2lb2x0%2BPyTc7Uc3yfVBeIlYW7%2BhFeG14N9Cr8%3D' (2025-08-14)
2025-08-14 18:55:37 +01:00
b837500514 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m26s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/2b6e2ceb2e66407e80b98015eb9f559f06405b2f?narHash=sha256-nSrui2v%2BEMqm1O6VcDujHS0gUX6YHFt2VlWz94LBJRs%3D' (2025-08-12)
  → 'github:hyprwm/Hyprland/aa6a78f0a4e17c49ed4aff8b58c3f7ec7ef0408f?narHash=sha256-4HK2kvyeAO/6kNKGanvP8mg4nEeDwke%2Bd3eozz3QmOQ%3D' (2025-08-13)
• Updated input 'nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/53007af63fade28853408370c4c600a63dd97f41?narHash=sha256-BW3ktviEhfCN/z3%2BkEyzpDKAI8qFTwO7%2BS0NVA0C90o%3D' (2025-05-23)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/f5936247dbdb8501221978562ab0b302dd75456c?narHash=sha256-PigqTAGkdBYXVFWsJnqcirrLeFqRFN4PFigLA8FzxeI%3D' (2025-08-13)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054?narHash=sha256-iAcj9T/Y%2B3DBy2J0N%2ByF9XQQQ8IEb5swLFzs23CdP88%3D' (2025-08-09)
  → 'github:NixOS/nixpkgs/005433b926e16227259a1843015b5b2b7f7d1fc3?narHash=sha256-IVft239Bc8p8Dtvf7UAACMG5P3ZV%2B3/aO28gXpGtMXI%3D' (2025-08-12)
2025-08-13 22:51:21 +01:00
d6734b0659 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m26s
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/545aba02960caa78a31bd9a8709a0ad4b6320a5c?narHash=sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb%2BmYCodI5uuB8%3D' (2025-07-21)
  → 'github:nix-community/disko/8246829f2e675a46919718f9a64b71afe3bfb22d?narHash=sha256-p04ZnIBGzerSyiY2dNGmookCldhldWAu03y0s3P8CB0%3D' (2025-08-12)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/584b844aaf72cd7ea6851117f1bd598b7467ffc1?narHash=sha256-QNT0yXHyjvZ%2B%2BvrJICAWFBMrcrTVbgRIZLplmOv1W7s%3D' (2025-08-10)
  → 'github:hyprwm/Hyprland/2b6e2ceb2e66407e80b98015eb9f559f06405b2f?narHash=sha256-nSrui2v%2BEMqm1O6VcDujHS0gUX6YHFt2VlWz94LBJRs%3D' (2025-08-12)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/833af8e8c6f035a53a167aff59e5e85bf0386d93?narHash=sha256-pANfQZ22RNF6sCFxrMahjE70v/HbGfA4lPZ7pTmfwUQ%3D' (2025-08-09)
  → 'github:hyprwm/hyprland-plugins/984669ebb57f0d17f271598e82e1d2ab55296f20?narHash=sha256-GHN5Yq/zyexUkffW0tUPrGgHljlYfJZgzrxd/3S9ASI%3D' (2025-08-11)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c5f08b62ed75415439d48152c2a784e36909b1bc?narHash=sha256-8OnUzRQZkqtUol9vuUuQC30hzpMreKptNyET2T9lB6g%3D' (2025-08-09)
  → 'github:NixOS/nixpkgs/ddae11e58c0c345bf66efbddbf2192ed0e58f896?narHash=sha256-3sWA5WJybUE16kIMZ3%2BuxcxKZY/JRR4DFBqLdSLBo7w%3D' (2025-08-11)
2025-08-13 07:49:48 +01:00
9d0a5745e8 hyprland: add LG TV config
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m23s
2025-08-11 21:52:52 +01:00
aa24941273 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m32s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/afbd8796859775a50687daacb254cdd1ba22328f?narHash=sha256-UyM03UZbu5MMil/iz1dSQv1BlfmzlfGdAZcE9ZV5DwY%3D' (2025-08-07)
  → 'github:hyprwm/Hyprland/584b844aaf72cd7ea6851117f1bd598b7467ffc1?narHash=sha256-QNT0yXHyjvZ%2B%2BvrJICAWFBMrcrTVbgRIZLplmOv1W7s%3D' (2025-08-10)
• Updated input 'hyprland/hyprgraphics':
    'github:hyprwm/hyprgraphics/340494a38b5ec453dfc542c6226481f736cc8a9a?narHash=sha256-gbh1HL98Fdqu0jJIWN4OJQN7Kkth7%2BrbkFpSZLm/62A%3D' (2025-07-10)
  → 'github:hyprwm/hyprgraphics/4c1d63a0f22135db123fc789f174b89544c6ec2d?narHash=sha256-u%2BM2f0Xf1lVHzIPQ7DsNCDkM1NYxykOSsRr4t3TbSM4%3D' (2025-08-04)
• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/c65d41d4f4e6ded6fdb9d508a73e2fe90e55cdf7?narHash=sha256-W0xgXsaqGa/5/7IBzKNhf0%2B23MqGPymYYfqT7ECqeTE%3D' (2025-07-29)
  → 'github:hyprwm/hyprutils/df6b8820c4a0835d83d0c7c7be86fbc555f1f7fd?narHash=sha256-6u6HdEFJh5gY6VfyMQbhP7zDdVcqOrCDTkbiHJmAtMI%3D' (2025-08-06)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/94def634a20494ee057c76998843c015909d6311?narHash=sha256-K2ViRJfdVGE8tpJejs8Qpvvejks1%2BA4GQej/lBk5y7I%3D' (2025-07-31)
  → 'github:NixOS/nixpkgs/85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054?narHash=sha256-iAcj9T/Y%2B3DBy2J0N%2ByF9XQQQ8IEb5swLFzs23CdP88%3D' (2025-08-09)
• Updated input 'hyprland/pre-commit-hooks':
    'github:cachix/git-hooks.nix/16ec914f6fb6f599ce988427d9d94efddf25fe6d?narHash=sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg%3D' (2025-06-24)
  → 'github:cachix/git-hooks.nix/9c52372878df6911f9afc1e2a1391f55e4dfc864?narHash=sha256-c6yg0EQ9xVESx6HGDOCMcyRSjaTpNJP10ef%2B6fRcofA%3D' (2025-08-05)
• Updated input 'hyprland/pre-commit-hooks/flake-compat':
    'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33?narHash=sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U%3D' (2023-10-04)
  → 'github:edolstra/flake-compat/9100a0f413b0c601e0533d1d94ffd501ce2e7885?narHash=sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX%2BfjA8Xf8PUmqCY%3D' (2025-05-12)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/c8dc6f3d5437d26fae625c40388ba52e97bc5fdf?narHash=sha256-zPfU6I7AqlDpoC0ZLTnayqCOyEn9Emub/ca4ATP/XxY%3D' (2025-08-06)
  → 'github:hyprwm/hyprland-plugins/833af8e8c6f035a53a167aff59e5e85bf0386d93?narHash=sha256-pANfQZ22RNF6sCFxrMahjE70v/HbGfA4lPZ7pTmfwUQ%3D' (2025-08-09)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ce01daebf8489ba97bd1609d185ea276efdeb121?narHash=sha256-1ziydHSiDuSnaiPzCQh1mRFBsM2d2yRX9I%2B5OPGEmIE%3D' (2025-08-04)
  → 'github:NixOS/nixpkgs/c5f08b62ed75415439d48152c2a784e36909b1bc?narHash=sha256-8OnUzRQZkqtUol9vuUuQC30hzpMreKptNyET2T9lB6g%3D' (2025-08-09)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/c2ae88e026f9525daf89587f3cbee584b92b6134?narHash=sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs%3D' (2025-08-06)
  → 'github:NixOS/nixpkgs/85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054?narHash=sha256-iAcj9T/Y%2B3DBy2J0N%2ByF9XQQQ8IEb5swLFzs23CdP88%3D' (2025-08-09)
2025-08-11 09:38:31 +01:00
4c898d3035 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m26s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/6a1baa89b1652a8096b261712307e4474d36b4fc?narHash=sha256-6gDqVnHuC6F9AYIorpDW0H0iDuGJR2HIZCaSqZ5tpgQ%3D' (2025-08-07)
  → 'github:hyprwm/Hyprland/afbd8796859775a50687daacb254cdd1ba22328f?narHash=sha256-UyM03UZbu5MMil/iz1dSQv1BlfmzlfGdAZcE9ZV5DwY%3D' (2025-08-07)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/5b09dc45f24cf32316283e62aec81ffee3c3e376?narHash=sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY%3D' (2025-08-03)
  → 'github:NixOS/nixpkgs/c2ae88e026f9525daf89587f3cbee584b92b6134?narHash=sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs%3D' (2025-08-06)
2025-08-08 07:18:55 +01:00
6cf7a4ca36 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m25s
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/6d194f7522b9ed8aadb0856f1316f6d660ceb42a?narHash=sha256-qpmyMBMyksBbyXkc9kSIkY2zIuPRixQZDorec216FfM%3D' (2025-08-04)
  → 'github:ryantm/agenix/9edb1787864c4f59ae5074ad498b6272b3ec308d?narHash=sha256-NA/FT2hVhKDftbHSwVnoRTFhes62%2B7dxZbxj5Gxvghs%3D' (2025-08-05)
• Updated input 'agenix/nixpkgs':
    'github:NixOS/nixpkgs/8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7?narHash=sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo%3D' (2025-04-23)
  → 'github:NixOS/nixpkgs/59e69648d345d6e8fef86158c555730fa12af9de?narHash=sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk%3D' (2025-08-01)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/1b86d35f7ebc2c613f5ef6cba89dcd8d1ceedaa4?narHash=sha256-H33P5laxHJDoz8zSSgYTJdrZTWgGucghqcc6PtaVldE%3D' (2025-08-03)
  → 'github:hyprwm/Hyprland/6a1baa89b1652a8096b261712307e4474d36b4fc?narHash=sha256-6gDqVnHuC6F9AYIorpDW0H0iDuGJR2HIZCaSqZ5tpgQ%3D' (2025-08-07)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/ba1823c7870dc2a35e38ec09848a0294dfecc2a8?narHash=sha256-Yd8%2BiDw9FBg5agiCVs0aPwaBLSvgZFjjMJcJTAFLZcA%3D' (2025-08-01)
  → 'github:hyprwm/hyprland-plugins/c8dc6f3d5437d26fae625c40388ba52e97bc5fdf?narHash=sha256-zPfU6I7AqlDpoC0ZLTnayqCOyEn9Emub/ca4ATP/XxY%3D' (2025-08-06)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/9368056b73efb46eb14fd4667b99e0f81b805f28?narHash=sha256-Ry1gd1BQrNVJJfT11cpVP0FY8XFMx4DJV2IDp01CH9w%3D' (2025-08-04)
  → 'github:NixOS/nixos-hardware/26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113?narHash=sha256-dz303vGuzWjzOPOaYkS9xSW%2BB93PSAJxvBd6CambXVA%3D' (2025-08-07)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/59e69648d345d6e8fef86158c555730fa12af9de?narHash=sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk%3D' (2025-08-01)
  → 'github:NixOS/nixpkgs/ce01daebf8489ba97bd1609d185ea276efdeb121?narHash=sha256-1ziydHSiDuSnaiPzCQh1mRFBsM2d2yRX9I%2B5OPGEmIE%3D' (2025-08-04)
• Updated input 'pre-commit-hooks':
    'github:cachix/git-hooks.nix/16ec914f6fb6f599ce988427d9d94efddf25fe6d?narHash=sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg%3D' (2025-06-24)
  → 'github:cachix/git-hooks.nix/9c52372878df6911f9afc1e2a1391f55e4dfc864?narHash=sha256-c6yg0EQ9xVESx6HGDOCMcyRSjaTpNJP10ef%2B6fRcofA%3D' (2025-08-05)
• Updated input 'pre-commit-hooks/flake-compat':
    'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33?narHash=sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U%3D' (2023-10-04)
  → 'github:edolstra/flake-compat/9100a0f413b0c601e0533d1d94ffd501ce2e7885?narHash=sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX%2BfjA8Xf8PUmqCY%3D' (2025-05-12)
• Updated input 'thunderbird-gnome-theme':
    'github:rafaelmardojai/thunderbird-gnome-theme/163ab2a77ffbbc2545889d05c8ce00f56c9f727e?narHash=sha256-XBZfXgarX1QOgN2dZYtLmYdO7Q73IyALJanjd4nWn08%3D' (2025-07-20)
  → 'github:rafaelmardojai/thunderbird-gnome-theme/a9ee1a2c8a1dfce700250a4ce3ce7f88dff43300?narHash=sha256-zADBsXqIkxy519sK/2mnZ/lcTQSA/3iXwdkXCVNqUVY%3D' (2025-08-06)
2025-08-07 12:40:34 +01:00
cede48faa2 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 2m1s
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/531beac616433bac6f9e2a19feb8e99a22a66baf?narHash=sha256-9P1FziAwl5%2B3edkfFcr5HeGtQUtrSdk/MksX39GieoA%3D' (2025-06-17)
  → 'github:ryantm/agenix/6d194f7522b9ed8aadb0856f1316f6d660ceb42a?narHash=sha256-qpmyMBMyksBbyXkc9kSIkY2zIuPRixQZDorec216FfM%3D' (2025-08-04)
• Updated input 'firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/722a3117a01600c6dcc78271aff4aeff62b7af09?narHash=sha256-KJjs4BdQ03X4jcc/aAcjO0PwHaYUYBAb6UIIL5fFslY%3D' (2025-07-27)
  → 'github:rafaelmardojai/firefox-gnome-theme/6f173d0873dd33c5653dee89a831af3e49db3e36?narHash=sha256-9veVYpPCwKNjIK5gOigl5nEUN6tmrSHXUv4bVZkRuOE%3D' (2025-08-04)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/824438949e60ad6d6fefdfa37f0af8fbe0849934?narHash=sha256-SOP9IpcrS3MsfYXUXcGpAao77sRZFovk%2B3kVjg3zmD8%3D' (2025-08-02)
  → 'github:hyprwm/Hyprland/1b86d35f7ebc2c613f5ef6cba89dcd8d1ceedaa4?narHash=sha256-H33P5laxHJDoz8zSSgYTJdrZTWgGucghqcc6PtaVldE%3D' (2025-08-03)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/cc66fddc6cb04ab479a1bb062f4d4da27c936a22?narHash=sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM%3D' (2025-07-21)
  → 'github:NixOS/nixos-hardware/9368056b73efb46eb14fd4667b99e0f81b805f28?narHash=sha256-Ry1gd1BQrNVJJfT11cpVP0FY8XFMx4DJV2IDp01CH9w%3D' (2025-08-04)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/94def634a20494ee057c76998843c015909d6311?narHash=sha256-K2ViRJfdVGE8tpJejs8Qpvvejks1%2BA4GQej/lBk5y7I%3D' (2025-07-31)
  → 'github:NixOS/nixpkgs/5b09dc45f24cf32316283e62aec81ffee3c3e376?narHash=sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY%3D' (2025-08-03)
• Updated input 'nixvim':
    'github:nix-community/nixvim/f25f269dddf2e464f0d4a79bb42b6bfbab63b0df?narHash=sha256-U8eKkKR%2Bc70Sj%2BXuhbCzRAWJBfRLEF7Qh7gKk/7f93M%3D' (2025-07-26)
  → 'github:nix-community/nixvim/ab1b5962e1ca90b42de47e1172e0d24ca80e6256?narHash=sha256-Yz5dJ0VzGRzSRHdHldsWQbuFYmtP3NWNreCvPfCi9CI%3D' (2025-08-03)
• Updated input 'nixvim/flake-parts':
    'github:hercules-ci/flake-parts/644e0fc48951a860279da645ba77fe4a6e814c5e?narHash=sha256-TVcTNvOeWWk1DXljFxVRp%2BE0tzG1LhrVjOGGoMHuXio%3D' (2025-07-21)
  → 'github:hercules-ci/flake-parts/67df8c627c2c39c41dbec76a1f201929929ab0bd?narHash=sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM%3D' (2025-08-01)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/40987cc1a24feba378438d691f87c52819f7bd75?narHash=sha256-Pmpke0JtLRzgdlwDC5a%2BaiLVZ11JPUO5Bcqkj0nHE/k%3D' (2025-07-25)
  → 'github:NuschtOS/search/2a65adaf2c0c428efb0f4a2bc406aab466e96a06?narHash=sha256-Pmpke0JtLRzgdlwDC5a%2BaiLVZ11JPUO5Bcqkj0nHE/k%3D' (2025-07-29)
2025-08-04 19:23:06 +01:00
2402a33b36 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m23s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/314a0ea441e33122836965c50d4c5bcf9acd0cdd?narHash=sha256-5emAMxu7WCX4CBMvd%2B0/6zBO78uyJOezD3AK4NNGcTA%3D' (2025-08-01)
  → 'github:hyprwm/Hyprland/824438949e60ad6d6fefdfa37f0af8fbe0849934?narHash=sha256-SOP9IpcrS3MsfYXUXcGpAao77sRZFovk%2B3kVjg3zmD8%3D' (2025-08-02)
• Updated input 'hyprland/aquamarine':
    'github:hyprwm/aquamarine/e31b575d19e7cf8a8f4398e2f9cffe27a1332506?narHash=sha256-4izhj1j7J4mE8LgljCXSIUDculqOsxxhdoC81VhqizM%3D' (2025-07-17)
  → 'github:hyprwm/aquamarine/be166e11d86ba4186db93e10c54a141058bdce49?narHash=sha256-zik7WISrR1ks2l6T1MZqZHb/OqroHdJnSnAehkE0kCk%3D' (2025-07-22)
• Updated input 'hyprland/hyprcursor':
    'github:hyprwm/hyprcursor/45fcc10b4c282746d93ec406a740c43b48b4ef80?narHash=sha256-XR9fsI0zwLiFWfqi/pdS/VD%2BYNorKb3XIykgTg4l1nA%3D' (2025-06-05)
  → 'github:hyprwm/hyprcursor/44e91d467bdad8dcf8bbd2ac7cf49972540980a5?narHash=sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM%3D' (2025-07-31)
• Updated input 'hyprland/hyprland-qtutils':
    'github:hyprwm/hyprland-qtutils/b13c7481e37856f322177010bdf75fccacd1adc8?narHash=sha256-D868K1dVEACw17elVxRgXC6hOxY%2B54wIEjURztDWLk8%3D' (2025-06-19)
  → 'github:hyprwm/hyprland-qtutils/b308a818b9dcaa7ab8ccab891c1b84ebde2152bc?narHash=sha256-tHe6XeNeVeKapkNM3tcjW4RuD%2BtB2iwwoogWJOtsqTI%3D' (2025-07-29)
• Updated input 'hyprland/hyprlang':
    'github:hyprwm/hyprlang/cee01452bca58d6cadb3224e21e370de8bc20f0b?narHash=sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE%3D' (2025-06-19)
  → 'github:hyprwm/hyprlang/23f0debd2003f17bd65f851cd3f930cff8a8c809?narHash=sha256-0K%2BA%2BgmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA%3D' (2025-07-27)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/6e987485eb2c77e5dcc5af4e3c70843711ef9251?narHash=sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo%3D' (2025-07-16)
  → 'github:NixOS/nixpkgs/94def634a20494ee057c76998843c015909d6311?narHash=sha256-K2ViRJfdVGE8tpJejs8Qpvvejks1%2BA4GQej/lBk5y7I%3D' (2025-07-31)
• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/6115f3fdcb2c1a57b4a80a69f3c797e47607b90a?narHash=sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE%3D' (2025-06-30)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/371b96bd11ad2006ed4f21229dbd1be69bed3e8a?narHash=sha256-js2sLRtsOUA/aT10OCDaTjO80yplqwOIaLUqEe0nMx0%3D' (2025-07-27)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a?narHash=sha256-%2BjkEZxs7bfOKfBIk430K%2BtK9IvXlwzqQQnppC2ZKFj4%3D' (2025-07-29)
  → 'github:NixOS/nixpkgs/59e69648d345d6e8fef86158c555730fa12af9de?narHash=sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk%3D' (2025-08-01)
2025-08-02 22:06:04 +01:00
996cded9d3 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m24s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/3e35797b18d35baae82657bb0438af88156e273f?narHash=sha256-2mAFpccjpzs5p1kqZnyHeyM41hk7mRKaxW/cvfCbV3k%3D' (2025-07-30)
  → 'github:hyprwm/Hyprland/314a0ea441e33122836965c50d4c5bcf9acd0cdd?narHash=sha256-5emAMxu7WCX4CBMvd%2B0/6zBO78uyJOezD3AK4NNGcTA%3D' (2025-08-01)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/bf310cda4a09b79725c2919688881959ebf3229e?narHash=sha256-yPeP6mY5Mdozji7xZBWYy6K166RcCuJgnOXxQt7vl3s%3D' (2025-07-30)
  → 'github:hyprwm/hyprland-plugins/ba1823c7870dc2a35e38ec09848a0294dfecc2a8?narHash=sha256-Yd8%2BiDw9FBg5agiCVs0aPwaBLSvgZFjjMJcJTAFLZcA%3D' (2025-08-01)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/dc9637876d0dcc8c9e5e22986b857632effeb727?narHash=sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM%3D' (2025-07-28)
  → 'github:NixOS/nixpkgs/94def634a20494ee057c76998843c015909d6311?narHash=sha256-K2ViRJfdVGE8tpJejs8Qpvvejks1%2BA4GQej/lBk5y7I%3D' (2025-07-31)
2025-08-01 21:07:42 +01:00
3d134504af hosts/library: open-webui offline mode
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m23s
2025-08-01 11:11:49 +01:00
c36dfec8ac hosts/vps2: init
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m26s
2025-07-31 21:59:59 +01:00
595f0cc35d hosts/vps1: delete outline 2025-07-31 19:54:59 +01:00
8d4689e8c7 hosts/vps1: disable outline 2025-07-31 19:17:35 +01:00
870cb8326e flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m43s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/43966cc787c4a8844ac1e7affaadeedde8f4cc60?narHash=sha256-W5bwvvpcje6K5EOstNflIWqkAii4P2qrB5%2B0luE2lME%3D' (2025-07-29)
  → 'github:hyprwm/Hyprland/3e35797b18d35baae82657bb0438af88156e273f?narHash=sha256-2mAFpccjpzs5p1kqZnyHeyM41hk7mRKaxW/cvfCbV3k%3D' (2025-07-30)
• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/bcabcbada90ed2aacb435dc09b91001819a6dc82?narHash=sha256-06i1pIh6wb%2BsDeDmWlzuPwIdaFMxLlj1J9I5B9XqSeo%3D' (2025-07-11)
  → 'github:hyprwm/hyprutils/c65d41d4f4e6ded6fdb9d508a73e2fe90e55cdf7?narHash=sha256-W0xgXsaqGa/5/7IBzKNhf0%2B23MqGPymYYfqT7ECqeTE%3D' (2025-07-29)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/14f9a444793d6dd78c29033acf9c3c974ded708d?narHash=sha256-GbfsRZWW5uBAOeddLkmrYV2XmAbI0etVUTBXFH5thcw%3D' (2025-07-20)
  → 'github:hyprwm/hyprland-plugins/bf310cda4a09b79725c2919688881959ebf3229e?narHash=sha256-yPeP6mY5Mdozji7xZBWYy6K166RcCuJgnOXxQt7vl3s%3D' (2025-07-30)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/13e8d35b7d6028b7198f8186bc0347c6abaa2701?narHash=sha256-uDCFHeXdRIgJpYmtcUxGEsZ%2BhYlLPBhR83fdU%2BvbC1s%3D' (2025-07-26)
  → 'github:NixOS/nixpkgs/1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a?narHash=sha256-%2BjkEZxs7bfOKfBIk430K%2BtK9IvXlwzqQQnppC2ZKFj4%3D' (2025-07-29)
2025-07-31 11:56:09 +01:00
3340bd4150 hosts/artemis: bump to kernel 6.15
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m27s
2025-07-29 21:08:06 +01:00
b52678cfa9 hosts/artemis: update wifi interface name 2025-07-29 21:07:47 +01:00
69e210185b flake.lock: Update
Some checks failed
Check flake / build-amd64-linux (push) Failing after 18s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/c63d0003a1e5155248695f19778f815a8ad34c67?narHash=sha256-30VgiypL8l%2BLcficVPftVBfFnWG533NU99cfps/hnD0%3D' (2025-07-27)
  → 'github:hyprwm/Hyprland/43966cc787c4a8844ac1e7affaadeedde8f4cc60?narHash=sha256-W5bwvvpcje6K5EOstNflIWqkAii4P2qrB5%2B0luE2lME%3D' (2025-07-29)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3ff0e34b1383648053bba8ed03f201d3466f90c9?narHash=sha256-CdX2Rtvp5I8HGu9swBmYuq%2BILwRxpXdJwlpg8jvN4tU%3D' (2025-07-24)
  → 'github:NixOS/nixpkgs/13e8d35b7d6028b7198f8186bc0347c6abaa2701?narHash=sha256-uDCFHeXdRIgJpYmtcUxGEsZ%2BhYlLPBhR83fdU%2BvbC1s%3D' (2025-07-26)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/7fd36ee82c0275fb545775cc5e4d30542899511d?narHash=sha256-9h7%2B4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ%2BSJjk%3D' (2025-07-25)
  → 'github:NixOS/nixpkgs/dc9637876d0dcc8c9e5e22986b857632effeb727?narHash=sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM%3D' (2025-07-28)
2025-07-29 21:01:04 +01:00
2dd9102e02 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m37s
Flake lock file updates:

• Updated input 'firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/2615749a60ad731a2a2bbbe45d8b468bf1d8cdf8?narHash=sha256-0q4HUdFy/dzOm0pD/TzcpkFAfA/JTaRq9oXy05yg0EE%3D' (2025-07-22)
  → 'github:rafaelmardojai/firefox-gnome-theme/722a3117a01600c6dcc78271aff4aeff62b7af09?narHash=sha256-KJjs4BdQ03X4jcc/aAcjO0PwHaYUYBAb6UIIL5fFslY%3D' (2025-07-27)
• Updated input 'home-manager':
    'github:nix-community/home-manager/0b9bf983db4d064764084cd6748efb1ab8297d1e?narHash=sha256-E/rPVh7vyPMJUFl2NAew%2BzibNGfVbANr8BP8nLRbLkQ%3D' (2025-07-25)
  → 'github:nix-community/home-manager/fc3add429f21450359369af74c2375cb34a2d204?narHash=sha256-oV695RvbAE4%2BR9pcsT9shmp6zE/%2BIZe6evHWX63f2Qg%3D' (2025-07-27)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/e1fff05d0db9c266679ec7ea1b5734c73d6b0a57?narHash=sha256-VlRatMh0YqAYP2zUUe62mafb6jEuuzXX3mQ98b1Ifbo%3D' (2025-07-26)
  → 'github:hyprwm/Hyprland/c63d0003a1e5155248695f19778f815a8ad34c67?narHash=sha256-30VgiypL8l%2BLcficVPftVBfFnWG533NU99cfps/hnD0%3D' (2025-07-27)
2025-07-28 08:45:39 +01:00
845ec96991 hosts/artemis: update earlyoom
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m22s
2025-07-26 17:37:32 +01:00
7330621bfe hosts/artemis: add ntsync driver
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m25s
2025-07-26 17:03:30 +01:00
44ab95d846 hosts/artemis: add wine binfmt 2025-07-26 17:02:59 +01:00
ccba6d46f2 hosts/artemis: bump kernel to 6.14
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m23s
2025-07-26 16:46:48 +01:00
29a269dcfb hosts/artemis: add hardware config from Jovian-NixOS
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m24s
2025-07-26 16:31:24 +01:00
ec7985bdee flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m25s
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/7b5a978e00273b8676c530c03d315f5b75fae564?narHash=sha256-WcMW9yUDfER8kz4NdCaaI/ep0Ef91L%2BNf7MetNzHZc4%3D' (2025-07-23)
  → 'github:nix-community/home-manager/0b9bf983db4d064764084cd6748efb1ab8297d1e?narHash=sha256-E/rPVh7vyPMJUFl2NAew%2BzibNGfVbANr8BP8nLRbLkQ%3D' (2025-07-25)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/5c8d675eedcd836cbb0d4eeadf203efc7f73752b?narHash=sha256-Y5KkIrfP6qM%2BXtKl3ZQSVF3oxxtMFTT/tdzq%2BanMJJY%3D' (2025-07-25)
  → 'github:hyprwm/Hyprland/e1fff05d0db9c266679ec7ea1b5734c73d6b0a57?narHash=sha256-VlRatMh0YqAYP2zUUe62mafb6jEuuzXX3mQ98b1Ifbo%3D' (2025-07-26)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/fc02ee70efb805d3b2865908a13ddd4474557ecf?narHash=sha256-i%2BCQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s%3D' (2025-07-23)
  → 'github:NixOS/nixpkgs/7fd36ee82c0275fb545775cc5e4d30542899511d?narHash=sha256-9h7%2B4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ%2BSJjk%3D' (2025-07-25)
• Updated input 'nixvim':
    'github:nix-community/nixvim/9c198924557b68a7874edd7b8c9b6e24693268a7?narHash=sha256-nqKDJqATaOyKS6oMRMKD5gsQDaYBJ30ZT0XSVCj8dOg%3D' (2025-07-25)
  → 'github:nix-community/nixvim/f25f269dddf2e464f0d4a79bb42b6bfbab63b0df?narHash=sha256-U8eKkKR%2Bc70Sj%2BXuhbCzRAWJBfRLEF7Qh7gKk/7f93M%3D' (2025-07-26)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/8dfe5879dd009ff4742b668d9c699bc4b9761742?narHash=sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo%3D' (2025-06-12)
  → 'github:NuschtOS/search/40987cc1a24feba378438d691f87c52819f7bd75?narHash=sha256-Pmpke0JtLRzgdlwDC5a%2BaiLVZ11JPUO5Bcqkj0nHE/k%3D' (2025-07-25)
2025-07-26 15:44:22 +01:00
0815780b1f treewide: nix fmt
Some checks failed
Check flake / build-amd64-linux (push) Has been cancelled
2025-07-26 15:42:30 +01:00
f54a947855 flake.lock: Update
Some checks failed
Check flake / build-amd64-linux (push) Failing after 1m35s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/31cc7f3b87d1d9670b66e73e3720da2e2da49acd?narHash=sha256-56A/JkduXotowfl8G4jhXMGrlLgRbQLwIBOE5kM0iNU%3D' (2025-07-23)
  → 'github:hyprwm/Hyprland/5c8d675eedcd836cbb0d4eeadf203efc7f73752b?narHash=sha256-Y5KkIrfP6qM%2BXtKl3ZQSVF3oxxtMFTT/tdzq%2BanMJJY%3D' (2025-07-25)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/92c2e04a475523e723c67ef872d8037379073681?narHash=sha256-yLuz5cz5Z%2Bsn8DRAfNkrd2Z1cV6DaYO9JMrEz4KZo/c%3D' (2025-07-21)
  → 'github:NixOS/nixpkgs/3ff0e34b1383648053bba8ed03f201d3466f90c9?narHash=sha256-CdX2Rtvp5I8HGu9swBmYuq%2BILwRxpXdJwlpg8jvN4tU%3D' (2025-07-24)
• Updated input 'nixvim':
    'github:nix-community/nixvim/a11133507a930dfd235324cdf776bdb5e6ddd717?narHash=sha256-fboKrq2WeEC2Y4LaZNiiH2dptUYHtSbYhzE0FTN/u%2BM%3D' (2025-07-08)
  → 'github:nix-community/nixvim/9c198924557b68a7874edd7b8c9b6e24693268a7?narHash=sha256-nqKDJqATaOyKS6oMRMKD5gsQDaYBJ30ZT0XSVCj8dOg%3D' (2025-07-25)
• Updated input 'nixvim/flake-parts':
    'github:hercules-ci/flake-parts/9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569?narHash=sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98%3D' (2025-06-08)
  → 'github:hercules-ci/flake-parts/644e0fc48951a860279da645ba77fe4a6e814c5e?narHash=sha256-TVcTNvOeWWk1DXljFxVRp%2BE0tzG1LhrVjOGGoMHuXio%3D' (2025-07-21)
2025-07-25 21:05:32 +01:00
6969bc4f2f flake.lock: Update
Some checks failed
Check flake / build-amd64-linux (push) Failing after 1m38s
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/3db2f0476516b2758fe8f1559f70c937b9d9b16b?narHash=sha256-cw%2BvVkef8EOjzJyr94wEKk34JDJu4lkGp2tkVUWaUxk%3D' (2025-07-21)
  → 'github:nix-community/disko/545aba02960caa78a31bd9a8709a0ad4b6320a5c?narHash=sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb%2BmYCodI5uuB8%3D' (2025-07-21)
• Updated input 'firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/15ac3dfeaf828a9336e7e199123f8020cf04f440?narHash=sha256-ze2bcq5RSasEwvT6PR8EMedF4o8RoBtVB5ny6Jd9tA4%3D' (2025-07-16)
  → 'github:rafaelmardojai/firefox-gnome-theme/2615749a60ad731a2a2bbbe45d8b468bf1d8cdf8?narHash=sha256-0q4HUdFy/dzOm0pD/TzcpkFAfA/JTaRq9oXy05yg0EE%3D' (2025-07-22)
• Updated input 'home-manager':
    'github:nix-community/home-manager/adf195f021a8cbb0c317f75b52e96c82616526f9?narHash=sha256-KerePGJYX47ex6OY3CWsid4AltO2gDtQROunYJ0eCEE%3D' (2025-07-20)
  → 'github:nix-community/home-manager/7b5a978e00273b8676c530c03d315f5b75fae564?narHash=sha256-WcMW9yUDfER8kz4NdCaaI/ep0Ef91L%2BNf7MetNzHZc4%3D' (2025-07-23)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/50758505d5c784052437a371a707fc2dc60bb34a?narHash=sha256-HVlkh9LSFWXSagGGpb8wWaV4VdHEvtb8jUcgpB732mA%3D' (2025-07-21)
  → 'github:hyprwm/Hyprland/31cc7f3b87d1d9670b66e73e3720da2e2da49acd?narHash=sha256-56A/JkduXotowfl8G4jhXMGrlLgRbQLwIBOE5kM0iNU%3D' (2025-07-23)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f01fe91b0108a7aff99c99f2e9abbc45db0adc2a?narHash=sha256-NV4S2Lf2hYmZQ3Qf4t/YyyBaJNuxLPyjzvDma0zPp/M%3D' (2025-07-18)
  → 'github:NixOS/nixpkgs/92c2e04a475523e723c67ef872d8037379073681?narHash=sha256-yLuz5cz5Z%2Bsn8DRAfNkrd2Z1cV6DaYO9JMrEz4KZo/c%3D' (2025-07-21)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/c87b95e25065c028d31a94f06a62927d18763fdf?narHash=sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc%3D' (2025-07-19)
  → 'github:NixOS/nixpkgs/fc02ee70efb805d3b2865908a13ddd4474557ecf?narHash=sha256-i%2BCQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s%3D' (2025-07-23)
2025-07-24 16:14:33 +01:00
78ef29b8df flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m46s
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/d5ad4485e6f2edcc06751df65c5e16572877db88?narHash=sha256-PkaR0qmyP9q/MDN3uYa%2BRLeBA0PjvEQiM0rTDDBXkL8%3D' (2025-07-17)
  → 'github:nix-community/disko/3db2f0476516b2758fe8f1559f70c937b9d9b16b?narHash=sha256-cw%2BvVkef8EOjzJyr94wEKk34JDJu4lkGp2tkVUWaUxk%3D' (2025-07-21)
• Updated input 'home-manager':
    'github:nix-community/home-manager/c718918222bdb104397762dea67e6b397a7927fe?narHash=sha256-5dn97vIYxn6VozKePOQSDxVCsrl38nDdMJXx86KIJH0%3D' (2025-07-17)
  → 'github:nix-community/home-manager/adf195f021a8cbb0c317f75b52e96c82616526f9?narHash=sha256-KerePGJYX47ex6OY3CWsid4AltO2gDtQROunYJ0eCEE%3D' (2025-07-20)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/260a13a12f6c9990c029650b615abd41cd2ab4c7?narHash=sha256-6vp2anG%2BtVFqmebNL6QsGtDIuL5yDPUPrNrnFI67TEg%3D' (2025-07-18)
  → 'github:hyprwm/Hyprland/50758505d5c784052437a371a707fc2dc60bb34a?narHash=sha256-HVlkh9LSFWXSagGGpb8wWaV4VdHEvtb8jUcgpB732mA%3D' (2025-07-21)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/d723e5b153b7990d36e62a425bda3768c41dd9eb?narHash=sha256-XJJ%2BfrO4NOxVkoSGc1Mag8ESumzx2FmVRspOgFlMqF8%3D' (2025-07-11)
  → 'github:hyprwm/hyprland-plugins/14f9a444793d6dd78c29033acf9c3c974ded708d?narHash=sha256-GbfsRZWW5uBAOeddLkmrYV2XmAbI0etVUTBXFH5thcw%3D' (2025-07-20)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153?narHash=sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw%3D' (2025-07-16)
  → 'github:NixOS/nixos-hardware/cc66fddc6cb04ab479a1bb062f4d4da27c936a22?narHash=sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM%3D' (2025-07-21)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/32a4e87942101f1c9f9865e04dc3ddb175f5f32e?narHash=sha256-f3pO%2B9lg66mV7IMmmIqG4PL3223TYMlnlw%2Bpnpelbss%3D' (2025-07-15)
  → 'github:NixOS/nixpkgs/f01fe91b0108a7aff99c99f2e9abbc45db0adc2a?narHash=sha256-NV4S2Lf2hYmZQ3Qf4t/YyyBaJNuxLPyjzvDma0zPp/M%3D' (2025-07-18)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/6e987485eb2c77e5dcc5af4e3c70843711ef9251?narHash=sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo%3D' (2025-07-16)
  → 'github:NixOS/nixpkgs/c87b95e25065c028d31a94f06a62927d18763fdf?narHash=sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc%3D' (2025-07-19)
• Updated input 'thunderbird-gnome-theme':
    'github:rafaelmardojai/thunderbird-gnome-theme/28e71ed964018ed5da2cc215e391901b68847c65?narHash=sha256-oqRbjHguuilu3wB8n05O0CBBfnEmKsT9%2Bl9J4de48gU%3D' (2025-07-16)
  → 'github:rafaelmardojai/thunderbird-gnome-theme/163ab2a77ffbbc2545889d05c8ce00f56c9f727e?narHash=sha256-XBZfXgarX1QOgN2dZYtLmYdO7Q73IyALJanjd4nWn08%3D' (2025-07-20)
2025-07-21 22:20:50 +01:00
d754332fd8 users/jordan: add vista-fonts
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m21s
2025-07-20 09:14:09 +01:00
17972ff66a hosts/artemis: add amdgpu to initrd
Some checks failed
Check flake / build-amd64-linux (push) Has been cancelled
2025-07-20 09:13:39 +01:00
cb07379113 hosts/artemis: configure wifi
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m21s
2025-07-19 16:22:58 +01:00
3f0dd956f6 hosts/artemis: add to deploy-rs
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m23s
2025-07-19 16:14:20 +01:00
fb61fd10d9 hosts/artemis: permit root login 2025-07-19 16:13:32 +01:00
1421079efd hosts/artemis: add authorized SSH key for root 2025-07-19 16:05:28 +01:00
8a4ae7b3b7 hosts/artemis: init
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m22s
2025-07-19 15:45:59 +01:00
8421c327e4 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m23s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/75c0675e14655d7a859f184009360bd264806123?narHash=sha256-8XX8sOqoBP5fN40e%2BtQgCPtBeasaWtJGdZUy/5I88uo%3D' (2025-07-17)
  → 'github:hyprwm/Hyprland/260a13a12f6c9990c029650b615abd41cd2ab4c7?narHash=sha256-6vp2anG%2BtVFqmebNL6QsGtDIuL5yDPUPrNrnFI67TEg%3D' (2025-07-18)
• Updated input 'hyprland/aquamarine':
    'github:hyprwm/aquamarine/dfc1db15a08c4cd234288f66e1199c653495301f?narHash=sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao%3D' (2025-07-05)
  → 'github:hyprwm/aquamarine/e31b575d19e7cf8a8f4398e2f9cffe27a1332506?narHash=sha256-4izhj1j7J4mE8LgljCXSIUDculqOsxxhdoC81VhqizM%3D' (2025-07-17)
• Updated input 'hyprland/hyprgraphics':
    'github:hyprwm/hyprgraphics/b841473a0bd4a1a74a0b64f1ec2ab199035c349f?narHash=sha256-OXgL0XaKMmfX2rRQkt9SkJw%2BQNfv0jExlySt1D6O72g%3D' (2025-07-06)
  → 'github:hyprwm/hyprgraphics/340494a38b5ec453dfc542c6226481f736cc8a9a?narHash=sha256-gbh1HL98Fdqu0jJIWN4OJQN7Kkth7%2BrbkFpSZLm/62A%3D' (2025-07-10)
• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/a8229739cf36d159001cfc203871917b83fdf917?narHash=sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD%2BkRRZcSfbepjPJY%3D' (2025-07-07)
  → 'github:hyprwm/hyprutils/bcabcbada90ed2aacb435dc09b91001819a6dc82?narHash=sha256-06i1pIh6wb%2BsDeDmWlzuPwIdaFMxLlj1J9I5B9XqSeo%3D' (2025-07-11)
• Updated input 'hyprland/hyprwayland-scanner':
    'github:hyprwm/hyprwayland-scanner/8fb426b3e5452fd9169453fd6c10f8c14ca37120?narHash=sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE%3D' (2025-07-07)
  → 'github:hyprwm/hyprwayland-scanner/fcca0c61f988a9d092cbb33e906775014c61579d?narHash=sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao%3D' (2025-07-07)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/1fd8bada0b6117e6c7eb54aad5813023eed37ccb?narHash=sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo%3D' (2025-07-06)
  → 'github:NixOS/nixpkgs/6e987485eb2c77e5dcc5af4e3c70843711ef9251?narHash=sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo%3D' (2025-07-16)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/62e0f05ede1da0d54515d4ea8ce9c733f12d9f08?narHash=sha256-JHQbm%2BOcGp32wAsXTE/FLYGNpb%2B4GLi5oTvCxwSoBOA%3D' (2025-07-14)
  → 'github:NixOS/nixpkgs/6e987485eb2c77e5dcc5af4e3c70843711ef9251?narHash=sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo%3D' (2025-07-16)
2025-07-18 18:05:50 +01:00
96f1983957 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m19s
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/2bf3421f7fed5c84d9392b62dcb9d76ef09796a7?narHash=sha256-dyhGzkld6jPqnT/UfGV2oqe7tYn7hppAqFvF3GZTyXY%3D' (2025-07-15)
  → 'github:nix-community/disko/d5ad4485e6f2edcc06751df65c5e16572877db88?narHash=sha256-PkaR0qmyP9q/MDN3uYa%2BRLeBA0PjvEQiM0rTDDBXkL8%3D' (2025-07-17)
• Updated input 'home-manager':
    'github:nix-community/home-manager/2e00ed310c218127e02ffcf28ddd4e0f669fde3e?narHash=sha256-ReX0NG6nIAEtQQjLqeu1vUU2jjZuMlpymNtb4VQYeus%3D' (2025-07-15)
  → 'github:nix-community/home-manager/c718918222bdb104397762dea67e6b397a7927fe?narHash=sha256-5dn97vIYxn6VozKePOQSDxVCsrl38nDdMJXx86KIJH0%3D' (2025-07-17)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/409b56f6a367735e7b12889bdfac588f74d160c0?narHash=sha256-vvF9tzq5CotvR54cfbjXhBJTNYQTF7BpJ9Q5U7kSIQk%3D' (2025-07-16)
  → 'github:hyprwm/Hyprland/75c0675e14655d7a859f184009360bd264806123?narHash=sha256-8XX8sOqoBP5fN40e%2BtQgCPtBeasaWtJGdZUy/5I88uo%3D' (2025-07-17)
2025-07-17 20:35:43 +01:00
a34729481b flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m37s
Flake lock file updates:

• Updated input 'firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/320e418efcf02e8c24e1d632f032b3859b8c620b?narHash=sha256-kp1zouWCDGaN1dgW5V5YHhhaq2sJBVyBdLQyP0T6Z1s%3D' (2025-07-14)
  → 'github:rafaelmardojai/firefox-gnome-theme/15ac3dfeaf828a9336e7e199123f8020cf04f440?narHash=sha256-ze2bcq5RSasEwvT6PR8EMedF4o8RoBtVB5ny6Jd9tA4%3D' (2025-07-16)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/bc764f7065c8e46b4e62cbb511b419034712c509?narHash=sha256-XbCDmM9uL5i88gPNcY%2BgU5JTWogFeNogxb%2Bx09UWaH4%3D' (2025-07-14)
  → 'github:hyprwm/Hyprland/409b56f6a367735e7b12889bdfac588f74d160c0?narHash=sha256-vvF9tzq5CotvR54cfbjXhBJTNYQTF7BpJ9Q5U7kSIQk%3D' (2025-07-16)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/7ced9122cff2163c6a0212b8d1ec8c33a1660806?narHash=sha256-gATnkOe37eeVwKKYCsL%2BOnS2gU4MmLuZFzzWCtaKLI8%3D' (2025-07-09)
  → 'github:NixOS/nixos-hardware/d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153?narHash=sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw%3D' (2025-07-16)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/650e572363c091045cdbc5b36b0f4c1f614d3058?narHash=sha256-pzrVLKRQNPrii06Rm09Q0i0dq3wt2t2pciT/GNq5EZQ%3D' (2025-07-12)
  → 'github:NixOS/nixpkgs/32a4e87942101f1c9f9865e04dc3ddb175f5f32e?narHash=sha256-f3pO%2B9lg66mV7IMmmIqG4PL3223TYMlnlw%2Bpnpelbss%3D' (2025-07-15)
• Updated input 'thunderbird-gnome-theme':
    'github:rafaelmardojai/thunderbird-gnome-theme/1994e7ec0649053e2a0811973245758d41e33f5f?narHash=sha256-i0Uo5EN45rlGuR85hvPet43zW/thOQTwHypVg9shTHU%3D' (2024-11-26)
  → 'github:rafaelmardojai/thunderbird-gnome-theme/28e71ed964018ed5da2cc215e391901b68847c65?narHash=sha256-oqRbjHguuilu3wB8n05O0CBBfnEmKsT9%2Bl9J4de48gU%3D' (2025-07-16)
2025-07-16 20:59:40 +01:00
887fb9a003 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m36s
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/79264292b7e3482e5702932949de9cbb69fedf6d?narHash=sha256-7LYDxKxZgBQ8LZUuolAQ8UkIB%2Bjb4A2UmiR%2BkzY9CLI%3D' (2025-07-10)
  → 'github:nix-community/disko/2bf3421f7fed5c84d9392b62dcb9d76ef09796a7?narHash=sha256-dyhGzkld6jPqnT/UfGV2oqe7tYn7hppAqFvF3GZTyXY%3D' (2025-07-15)
• Updated input 'firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/4eb2714fbed2b80e234312611a947d6cb7d70caf?narHash=sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA%3D' (2025-05-27)
  → 'github:rafaelmardojai/firefox-gnome-theme/320e418efcf02e8c24e1d632f032b3859b8c620b?narHash=sha256-kp1zouWCDGaN1dgW5V5YHhhaq2sJBVyBdLQyP0T6Z1s%3D' (2025-07-14)
• Updated input 'home-manager':
    'github:nix-community/home-manager/c26266790678863cce8e7460fdbf0d80991b1906?narHash=sha256-ReX0NG6nIAEtQQjLqeu1vUU2jjZuMlpymNtb4VQYeus%3D' (2025-07-13)
  → 'github:nix-community/home-manager/2e00ed310c218127e02ffcf28ddd4e0f669fde3e?narHash=sha256-ReX0NG6nIAEtQQjLqeu1vUU2jjZuMlpymNtb4VQYeus%3D' (2025-07-15)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/d0f58baf296a2cdd5df0f82212fe17dfbef8438e?narHash=sha256-kEumflYEdQSrZZQEr7kik2sBfFohEx0TsJB1rBVAQy4%3D' (2025-07-12)
  → 'github:hyprwm/Hyprland/bc764f7065c8e46b4e62cbb511b419034712c509?narHash=sha256-XbCDmM9uL5i88gPNcY%2BgU5JTWogFeNogxb%2Bx09UWaH4%3D' (2025-07-14)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/9807714d6944a957c2e036f84b0ff8caf9930bc0?narHash=sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X%2BxgOL0%3D' (2025-07-08)
  → 'github:NixOS/nixpkgs/62e0f05ede1da0d54515d4ea8ce9c733f12d9f08?narHash=sha256-JHQbm%2BOcGp32wAsXTE/FLYGNpb%2B4GLi5oTvCxwSoBOA%3D' (2025-07-14)
2025-07-15 08:19:56 +01:00
281f9f3a6d flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m21s
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/c6a01e54af81b381695db796a43360bf6db5702f?narHash=sha256-aRY1cYOdVdXdNjcL/Twpa27CknO7pVHxooPsBizDraE%3D' (2025-07-11)
  → 'github:nix-community/home-manager/c26266790678863cce8e7460fdbf0d80991b1906?narHash=sha256-ReX0NG6nIAEtQQjLqeu1vUU2jjZuMlpymNtb4VQYeus%3D' (2025-07-13)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/e589adb00db833d5e78fab20d76f94f8de035476?narHash=sha256-HqXJrGbiwpoQtyNN9O2SFNAYEEhFIuEFaduBpyn8oZA%3D' (2025-07-11)
  → 'github:hyprwm/Hyprland/d0f58baf296a2cdd5df0f82212fe17dfbef8438e?narHash=sha256-kEumflYEdQSrZZQEr7kik2sBfFohEx0TsJB1rBVAQy4%3D' (2025-07-12)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/88983d4b665fb491861005137ce2b11a9f89f203?narHash=sha256-7orTnNqkGGru8Je6Un6mq1T8YVVU/O5kyW4%2Bf9C1mZQ%3D' (2025-07-08)
  → 'github:NixOS/nixpkgs/650e572363c091045cdbc5b36b0f4c1f614d3058?narHash=sha256-pzrVLKRQNPrii06Rm09Q0i0dq3wt2t2pciT/GNq5EZQ%3D' (2025-07-12)
2025-07-13 19:49:07 +01:00
21429209e6 users/jordan: add ncdu
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m18s
2025-07-12 08:45:15 +01:00
c09e0bea9d flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m20s
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/524da5f6c0bf11bb0d5590046276423a28b9453e?narHash=sha256-g/f7sW8EH5qRRJF95%2BhwWj%2BAzOMlw4zs04Ei5DWSRlU%3D' (2025-07-10)
  → 'github:nix-community/home-manager/c6a01e54af81b381695db796a43360bf6db5702f?narHash=sha256-aRY1cYOdVdXdNjcL/Twpa27CknO7pVHxooPsBizDraE%3D' (2025-07-11)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/b5433bb75324a95dd27eb5492141565466c2cdd6?narHash=sha256-DJc2ROpttbP6FHcXwWpmK7EB2cpVsP/LmXjEr8RWcO8%3D' (2025-07-10)
  → 'github:hyprwm/Hyprland/e589adb00db833d5e78fab20d76f94f8de035476?narHash=sha256-HqXJrGbiwpoQtyNN9O2SFNAYEEhFIuEFaduBpyn8oZA%3D' (2025-07-11)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/3eaa665afe4f981dcab12bbcbe2d491270cbb375?narHash=sha256-9Ul9zM3WmAdmo1eH8e1omgdv1t2qzibpQe/qY6DOkeM%3D' (2025-07-10)
  → 'github:hyprwm/hyprland-plugins/d723e5b153b7990d36e62a425bda3768c41dd9eb?narHash=sha256-XJJ%2BfrO4NOxVkoSGc1Mag8ESumzx2FmVRspOgFlMqF8%3D' (2025-07-11)
2025-07-11 22:14:56 +01:00
f61239ecb5 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m41s
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/da6109c917b48abc1f76dd5c9bf3901c8c80f662?narHash=sha256-5PtrwjqCIJ4DKQhzYdm8RFePBuwb%2ByTzjV52wWoGSt4%3D' (2025-07-04)
  → 'github:nix-community/disko/79264292b7e3482e5702932949de9cbb69fedf6d?narHash=sha256-7LYDxKxZgBQ8LZUuolAQ8UkIB%2Bjb4A2UmiR%2BkzY9CLI%3D' (2025-07-10)
• Updated input 'home-manager':
    'github:nix-community/home-manager/9b0873b46c9f9e4b7aa01eb634952c206af53068?narHash=sha256-kllkNbIqQi3VplgTMeGzuh1t8Gk8TauvkTRt93Km%2BtQ%3D' (2025-07-06)
  → 'github:nix-community/home-manager/524da5f6c0bf11bb0d5590046276423a28b9453e?narHash=sha256-g/f7sW8EH5qRRJF95%2BhwWj%2BAzOMlw4zs04Ei5DWSRlU%3D' (2025-07-10)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/6a5f4f5954a64bac718e3938f062d045256e7aeb?narHash=sha256-nkoRnDkRGaCT0JTuHcDXPCMkdmhUFEtI1TMUiQcrxfs%3D' (2025-07-05)
  → 'github:hyprwm/Hyprland/b5433bb75324a95dd27eb5492141565466c2cdd6?narHash=sha256-DJc2ROpttbP6FHcXwWpmK7EB2cpVsP/LmXjEr8RWcO8%3D' (2025-07-10)
• Updated input 'hyprland/aquamarine':
    'github:hyprwm/aquamarine/c0c56dde3e471030edb135425a82107cf0057c6f?narHash=sha256-PoQcCYTiN52PanxgWBN4Tqet1x4PCk6KtjaHNjELH88%3D' (2025-07-03)
  → 'github:hyprwm/aquamarine/dfc1db15a08c4cd234288f66e1199c653495301f?narHash=sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao%3D' (2025-07-05)
• Updated input 'hyprland/hyprgraphics':
    'github:hyprwm/hyprgraphics/b3d628d01693fb9bb0a6690cd4e7b80abda04310?narHash=sha256-8u6b5oAdX0rCuoR8wFenajBRmI%2BmzbpNig6hSCuWUzE%3D' (2025-06-22)
  → 'github:hyprwm/hyprgraphics/b841473a0bd4a1a74a0b64f1ec2ab199035c349f?narHash=sha256-OXgL0XaKMmfX2rRQkt9SkJw%2BQNfv0jExlySt1D6O72g%3D' (2025-07-06)
• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/4737241eaf8a1e51671a2a088518071f9a265cf4?narHash=sha256-g9n8Vrbx%2B2JYM170P9BbvGHN39Wlkr4U%2BV2WLHQsXL8%3D' (2025-06-27)
  → 'github:hyprwm/hyprutils/a8229739cf36d159001cfc203871917b83fdf917?narHash=sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD%2BkRRZcSfbepjPJY%3D' (2025-07-07)
• Updated input 'hyprland/hyprwayland-scanner':
    'github:hyprwm/hyprwayland-scanner/aa38edd6e3e277ae6a97ea83a69261a5c3aab9fd?narHash=sha256-lGk4gLjgZQ/rndUkzmPYcgbHr8gKU5u71vyrjnwfpB4%3D' (2025-06-19)
  → 'github:hyprwm/hyprwayland-scanner/8fb426b3e5452fd9169453fd6c10f8c14ca37120?narHash=sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE%3D' (2025-07-07)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/30e2e2857ba47844aa71991daa6ed1fc678bcbb7?narHash=sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM%3D' (2025-06-27)
  → 'github:NixOS/nixpkgs/1fd8bada0b6117e6c7eb54aad5813023eed37ccb?narHash=sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo%3D' (2025-07-06)
• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/400308fc4f9d12e0a93e483c2e7a649e12af1a92?narHash=sha256-VBeZb1oqZM1cqCAZnFz/WyYhO8aF/ImagI7WWg/Z3Og%3D' (2025-06-19)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/6115f3fdcb2c1a57b4a80a69f3c797e47607b90a?narHash=sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE%3D' (2025-06-30)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/109c734f47c0a2c1d619001937a6c1d4ad806f2e?narHash=sha256-uiXSAUGGspLHo%2BEcQ50ozZIlBONx0Vzvv4KwbJ/wQ7w%3D' (2025-07-02)
  → 'github:hyprwm/hyprland-plugins/3eaa665afe4f981dcab12bbcbe2d491270cbb375?narHash=sha256-9Ul9zM3WmAdmo1eH8e1omgdv1t2qzibpQe/qY6DOkeM%3D' (2025-07-10)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/497ae1357f1ac97f1aea31a4cb74ad0d534ef41f?narHash=sha256-136MeWtckSHTN9Z2WRNRdZ8oRP3vyx3L8UxeBYE%2BJ9w%3D' (2025-07-02)
  → 'github:NixOS/nixos-hardware/7ced9122cff2163c6a0212b8d1ec8c33a1660806?narHash=sha256-gATnkOe37eeVwKKYCsL%2BOnS2gU4MmLuZFzzWCtaKLI8%3D' (2025-07-09)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/29e290002bfff26af1db6f64d070698019460302?narHash=sha256-t75Shs76NgxjZSgvvZZ9qOmz5zuBE8buUaYD28BMTxg%3D' (2025-07-05)
  → 'github:NixOS/nixpkgs/88983d4b665fb491861005137ce2b11a9f89f203?narHash=sha256-7orTnNqkGGru8Je6Un6mq1T8YVVU/O5kyW4%2Bf9C1mZQ%3D' (2025-07-08)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/5c724ed1388e53cc231ed98330a60eb2f7be4be3?narHash=sha256-xVNy/XopSfIG9c46nRmPaKfH1Gn/56vQ8%2B%2BxWA8itO4%3D' (2025-07-04)
  → 'github:NixOS/nixpkgs/9807714d6944a957c2e036f84b0ff8caf9930bc0?narHash=sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X%2BxgOL0%3D' (2025-07-08)
• Updated input 'nixvim':
    'github:nix-community/nixvim/13cc4d84572c5f5d469a3a3454fa2028f78a3137?narHash=sha256-ub1Pj%2BoSrt2bE1tzTRYEwzCFewsc9F7X7RIJooM94MU%3D' (2025-07-02)
  → 'github:nix-community/nixvim/a11133507a930dfd235324cdf776bdb5e6ddd717?narHash=sha256-fboKrq2WeEC2Y4LaZNiiH2dptUYHtSbYhzE0FTN/u%2BM%3D' (2025-07-08)
2025-07-10 20:28:51 +01:00
24f042c8cf flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m46s
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/501cfec8277f931a9c9af9f23d3105c537faeafe?narHash=sha256-tWosziZTT039x6PgEZUhzGlV8oLvdDmIgKTE8ESMaEA%3D' (2025-07-02)
  → 'github:nix-community/home-manager/9b0873b46c9f9e4b7aa01eb634952c206af53068?narHash=sha256-kllkNbIqQi3VplgTMeGzuh1t8Gk8TauvkTRt93Km%2BtQ%3D' (2025-07-06)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/b99c193e46292da45c273a1421d9ac8ed7b3588f?narHash=sha256-I0/jDJBrW9XmsOYrpcqjKSEPBHEwvUAY/WK7KIyWrmQ%3D' (2025-07-04)
  → 'github:hyprwm/Hyprland/6a5f4f5954a64bac718e3938f062d045256e7aeb?narHash=sha256-nkoRnDkRGaCT0JTuHcDXPCMkdmhUFEtI1TMUiQcrxfs%3D' (2025-07-05)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7a732ed41ca0dd64b4b71b563ab9805a80a7d693?narHash=sha256-u7ubvtxdTnFPpV27AHpgoKn7qHuE7sgWgza/1oj5nzA%3D' (2025-07-03)
  → 'github:NixOS/nixpkgs/29e290002bfff26af1db6f64d070698019460302?narHash=sha256-t75Shs76NgxjZSgvvZZ9qOmz5zuBE8buUaYD28BMTxg%3D' (2025-07-05)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/3016b4b15d13f3089db8a41ef937b13a9e33a8df?narHash=sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU%2Btt4YY%3D' (2025-06-30)
  → 'github:NixOS/nixpkgs/5c724ed1388e53cc231ed98330a60eb2f7be4be3?narHash=sha256-xVNy/XopSfIG9c46nRmPaKfH1Gn/56vQ8%2B%2BxWA8itO4%3D' (2025-07-04)
2025-07-06 17:12:52 +01:00
1a3cfb04fe flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m19s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/3c9447ca53f76abd1372bca5749c9ef701fb76c0?narHash=sha256-dZgXFCU9gzw3MOSzlf/O0jdptESNkz9S71sDlEKaeMk%3D' (2025-07-03)
  → 'github:hyprwm/Hyprland/b99c193e46292da45c273a1421d9ac8ed7b3588f?narHash=sha256-I0/jDJBrW9XmsOYrpcqjKSEPBHEwvUAY/WK7KIyWrmQ%3D' (2025-07-04)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/34627c90f062da515ea358360f448da57769236e?narHash=sha256-M5KgdpVBVcW4HRVq9/OSRbrxlwsQ1ogEKqnvzsClDqU%3D' (2025-07-02)
  → 'github:NixOS/nixpkgs/7a732ed41ca0dd64b4b71b563ab9805a80a7d693?narHash=sha256-u7ubvtxdTnFPpV27AHpgoKn7qHuE7sgWgza/1oj5nzA%3D' (2025-07-03)
2025-07-05 08:44:02 +01:00
6d73b443bc hosts/odyssey: temporarily disable lxd
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m24s
2025-07-04 12:52:42 +01:00
53638736f1 flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae?narHash=sha256-Ng9%2Bf0H5/dW%2Bmq/XOKvB9uwvGbsuiiO6HrPdAcVglCs%3D' (2025-06-26)
  → 'github:nix-community/disko/da6109c917b48abc1f76dd5c9bf3901c8c80f662?narHash=sha256-5PtrwjqCIJ4DKQhzYdm8RFePBuwb%2ByTzjV52wWoGSt4%3D' (2025-07-04)
• Updated input 'home-manager':
    'github:nix-community/home-manager/366f00797b1efb70f2882d3da485e3c10fd3d557?narHash=sha256-Lh3dopA8DdY%2BZoaAJPrtkZOZaFEJGSYjOdAYYgOPgE4%3D' (2025-06-24)
  → 'github:nix-community/home-manager/501cfec8277f931a9c9af9f23d3105c537faeafe?narHash=sha256-tWosziZTT039x6PgEZUhzGlV8oLvdDmIgKTE8ESMaEA%3D' (2025-07-02)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/ee8978b961b9b02ed41bd7b6d1e91cc607b6b530?narHash=sha256-88TyGNyk%2BuSsIXhTjS%2BYmL/4pMaH6M9NYkHadR7fEkU%3D' (2025-06-29)
  → 'github:hyprwm/Hyprland/3c9447ca53f76abd1372bca5749c9ef701fb76c0?narHash=sha256-dZgXFCU9gzw3MOSzlf/O0jdptESNkz9S71sDlEKaeMk%3D' (2025-07-03)
• Updated input 'hyprland/aquamarine':
    'github:hyprwm/aquamarine/dd921421391e75793d0cc674dc15eca16b46a089?narHash=sha256-VaeQzSzekMvP%2B/OhwNZP4kzs4paWk5%2B20N0MFLTn%2Bcs%3D' (2025-06-26)
  → 'github:hyprwm/aquamarine/c0c56dde3e471030edb135425a82107cf0057c6f?narHash=sha256-PoQcCYTiN52PanxgWBN4Tqet1x4PCk6KtjaHNjELH88%3D' (2025-07-03)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/dd28351a6181c37553cca1ce437f0049dcd3ee5f?narHash=sha256-z6SyE2jxpLqW7zJGl5bgH5zTWPv6vhVZaSHx/JW6Faw%3D' (2025-06-26)
  → 'github:hyprwm/hyprland-plugins/109c734f47c0a2c1d619001937a6c1d4ad806f2e?narHash=sha256-uiXSAUGGspLHo%2BEcQ50ozZIlBONx0Vzvv4KwbJ/wQ7w%3D' (2025-07-02)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/98236410ea0fe204d0447149537a924fb71a6d4f?narHash=sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA%3D' (2025-06-25)
  → 'github:NixOS/nixos-hardware/497ae1357f1ac97f1aea31a4cb74ad0d534ef41f?narHash=sha256-136MeWtckSHTN9Z2WRNRdZ8oRP3vyx3L8UxeBYE%2BJ9w%3D' (2025-07-02)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b43c397f6c213918d6cfe6e3550abfe79b5d1c51?narHash=sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y%3D' (2025-06-29)
  → 'github:NixOS/nixpkgs/34627c90f062da515ea358360f448da57769236e?narHash=sha256-M5KgdpVBVcW4HRVq9/OSRbrxlwsQ1ogEKqnvzsClDqU%3D' (2025-07-02)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/30e2e2857ba47844aa71991daa6ed1fc678bcbb7?narHash=sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM%3D' (2025-06-27)
  → 'github:NixOS/nixpkgs/3016b4b15d13f3089db8a41ef937b13a9e33a8df?narHash=sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU%2Btt4YY%3D' (2025-06-30)
• Updated input 'nixvim':
    'github:nix-community/nixvim/be08ac18a1923d41b01f5f52d52a61467a3a660f?narHash=sha256-FC8NAHNb3DQucI6BqKVutYHC3b9qUPlMG2hnKL1cq8w%3D' (2025-06-28)
  → 'github:nix-community/nixvim/13cc4d84572c5f5d469a3a3454fa2028f78a3137?narHash=sha256-ub1Pj%2BoSrt2bE1tzTRYEwzCFewsc9F7X7RIJooM94MU%3D' (2025-07-02)
2025-07-04 12:46:54 +01:00
0e441b5a0d flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m31s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/ab900d8752af11ada256ea6fca54d5404587405c?narHash=sha256-0biNUPDAN2RC%2BRFEdaJ5z3jt5zAP6wrKNyO1wxhwgjo%3D' (2025-06-28)
  → 'github:hyprwm/Hyprland/ee8978b961b9b02ed41bd7b6d1e91cc607b6b530?narHash=sha256-88TyGNyk%2BuSsIXhTjS%2BYmL/4pMaH6M9NYkHadR7fEkU%3D' (2025-06-29)
• Updated input 'hyprland/aquamarine':
    'github:hyprwm/aquamarine/7cef49d261cbbe537e8cb662485e76d29ac4cbca?narHash=sha256-lVBKxd9dsZOH1fA6kSE5WNnt8e%2B09fN%2BNL/Q3BjTWHY%3D' (2025-06-19)
  → 'github:hyprwm/aquamarine/dd921421391e75793d0cc674dc15eca16b46a089?narHash=sha256-VaeQzSzekMvP%2B/OhwNZP4kzs4paWk5%2B20N0MFLTn%2Bcs%3D' (2025-06-26)
• Updated input 'hyprland/hyprgraphics':
    'github:hyprwm/hyprgraphics/15c6f8f3a567fec9a0f732cd310a7ff456deef88?narHash=sha256-cNP%2BbVq8m5x2Rl6MTjwfQLCdwbVmKvTH7yqVc1SpiJM%3D' (2025-06-19)
  → 'github:hyprwm/hyprgraphics/b3d628d01693fb9bb0a6690cd4e7b80abda04310?narHash=sha256-8u6b5oAdX0rCuoR8wFenajBRmI%2BmzbpNig6hSCuWUzE%3D' (2025-06-22)
• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/d46bd32da554c370f98180a1e465f052b9584805?narHash=sha256-zJHmLsiW6P8h9HaH5eMKhEh/gvym3k6/Ywr4UHKpJfc%3D' (2025-06-23)
  → 'github:hyprwm/hyprutils/4737241eaf8a1e51671a2a088518071f9a265cf4?narHash=sha256-g9n8Vrbx%2B2JYM170P9BbvGHN39Wlkr4U%2BV2WLHQsXL8%3D' (2025-06-27)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/08f22084e6085d19bcfb4be30d1ca76ecb96fe54?narHash=sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50%3D' (2025-06-19)
  → 'github:NixOS/nixpkgs/30e2e2857ba47844aa71991daa6ed1fc678bcbb7?narHash=sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM%3D' (2025-06-27)
• Updated input 'hyprland/pre-commit-hooks':
    'github:cachix/git-hooks.nix/623c56286de5a3193aa38891a6991b28f9bab056?narHash=sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4%3D' (2025-06-11)
  → 'github:cachix/git-hooks.nix/16ec914f6fb6f599ce988427d9d94efddf25fe6d?narHash=sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg%3D' (2025-06-24)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a676066377a2fe7457369dd37c31fd2263b662f4?narHash=sha256-zW/OFnotiz/ndPFdebpo3X0CrbVNf22n4DjN2vxlb58%3D' (2025-06-26)
  → 'github:NixOS/nixpkgs/b43c397f6c213918d6cfe6e3550abfe79b5d1c51?narHash=sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y%3D' (2025-06-29)
2025-06-30 22:11:20 +01:00
6ced44a635 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m33s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/a01d20cfe83aaa518ae0e02b4c8b2225f1324bf3?narHash=sha256-GHPKg2q1B/1FKYnEbKp6lgZ8fbHewtO2BAB0fM1hh50%3D' (2025-06-27)
  → 'github:hyprwm/Hyprland/ab900d8752af11ada256ea6fca54d5404587405c?narHash=sha256-0biNUPDAN2RC%2BRFEdaJ5z3jt5zAP6wrKNyO1wxhwgjo%3D' (2025-06-28)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf?narHash=sha256-/CG%2Bw0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A%3D' (2025-06-24)
  → 'github:NixOS/nixpkgs/30e2e2857ba47844aa71991daa6ed1fc678bcbb7?narHash=sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM%3D' (2025-06-27)
• Updated input 'nixvim':
    'github:nix-community/nixvim/b04bcdcbba4aa648903e065ad1907a97d4f7aee9?narHash=sha256-kZqTQEARUkkKDFhECd0MGU4wXCJcxCdh5WeM/yD6oI4%3D' (2025-06-21)
  → 'github:nix-community/nixvim/be08ac18a1923d41b01f5f52d52a61467a3a660f?narHash=sha256-FC8NAHNb3DQucI6BqKVutYHC3b9qUPlMG2hnKL1cq8w%3D' (2025-06-28)
2025-06-29 15:03:32 +01:00
4592da9cae flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m22s
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7284e2decc982b81a296ab35aa46e804baaa1cfe?narHash=sha256-aVkL3/yu50oQzi2YuKo0ceiCypVZpZXYd2P2p1FMJM4%3D' (2025-06-25)
  → 'github:NixOS/nixpkgs/a676066377a2fe7457369dd37c31fd2263b662f4?narHash=sha256-zW/OFnotiz/ndPFdebpo3X0CrbVNf22n4DjN2vxlb58%3D' (2025-06-26)
2025-06-28 10:23:28 +01:00
deedd1349a hosts/skycam: flush buffer and reduce framerate
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m18s
2025-06-26 22:27:54 +01:00
0df551774f flake.lock: Update
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/f4f090e4b2f9f0bba5408cbd135d2fff1990be1d?narHash=sha256-m7DxFbU9YgPxFlQ6iH6zDreXT3IfUVxZZAdkdvN9yz8%3D' (2025-06-25)
  → 'github:hyprwm/Hyprland/3d6476c9021519995239ec93bbb11f0dce6c60a0?narHash=sha256-KZuCRu4PpqK0QrUJ2i/9%2Bk%2B51ZO7prnjdH2WfR3wkuI%3D' (2025-06-26)
• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/38f3a211657ce82a1123bf19402199b67a410f08?narHash=sha256-JB1IeJ41y7kWc/dPGV6RMcCUM0Xj2NEK26A2Ap7EM9c%3D' (2025-06-19)
  → 'github:hyprwm/hyprutils/d46bd32da554c370f98180a1e465f052b9584805?narHash=sha256-zJHmLsiW6P8h9HaH5eMKhEh/gvym3k6/Ywr4UHKpJfc%3D' (2025-06-23)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/c1fdf38bfcd716130ce022cf21a1fca7582482d1?narHash=sha256-Oqn6gHIVfgkzzuigwNk9UZbgKdyzAzU/JoywB6z1O%2BM%3D' (2025-06-24)
  → 'github:hyprwm/hyprland-plugins/dd28351a6181c37553cca1ce437f0049dcd3ee5f?narHash=sha256-z6SyE2jxpLqW7zJGl5bgH5zTWPv6vhVZaSHx/JW6Faw%3D' (2025-06-26)
2025-06-26 19:50:35 +01:00
0454426db5 hosts/skycam: debug logs
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m19s
2025-06-26 19:50:10 +01:00
aacecab4e3 hosts/skycam: reboot every day 2025-06-26 19:49:45 +01:00
c0be9a1c26 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m22s
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/8fd2d6c75009ac75f9a6fb18c33a239806778d01?narHash=sha256-kD88T/NqmcgfOBFAwphN30ccaUdj6K6%2BLG0XdM2w2LA%3D' (2025-06-23)
  → 'github:nix-community/disko/83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae?narHash=sha256-Ng9%2Bf0H5/dW%2Bmq/XOKvB9uwvGbsuiiO6HrPdAcVglCs%3D' (2025-06-26)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/5a348fb7dfaf398922c119d21acb7d7f831f8688?narHash=sha256-zQbFEl3XCfyKHHGcBY0f18F5YTsaV1fJz4C6BRL28z4%3D' (2025-06-24)
  → 'github:hyprwm/Hyprland/f4f090e4b2f9f0bba5408cbd135d2fff1990be1d?narHash=sha256-m7DxFbU9YgPxFlQ6iH6zDreXT3IfUVxZZAdkdvN9yz8%3D' (2025-06-25)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/1552a9f4513f3f0ceedcf90320e48d3d47165712?narHash=sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg%3D' (2025-06-20)
  → 'github:NixOS/nixos-hardware/98236410ea0fe204d0447149537a924fb71a6d4f?narHash=sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA%3D' (2025-06-25)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c7ab75210cb8cb16ddd8f290755d9558edde7ee1?narHash=sha256-kMhs%2BYzV4vPGfuTpD3mwzibWUE6jotw5Al2wczI0Pv8%3D' (2025-06-22)
  → 'github:NixOS/nixpkgs/7284e2decc982b81a296ab35aa46e804baaa1cfe?narHash=sha256-aVkL3/yu50oQzi2YuKo0ceiCypVZpZXYd2P2p1FMJM4%3D' (2025-06-25)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/4206c4cb56751df534751b058295ea61357bbbaa?narHash=sha256-VLFNc4egNjovYVxDGyBYTrvVCgDYgENp5bVi9fPTDYc%3D' (2025-06-21)
  → 'github:NixOS/nixpkgs/30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf?narHash=sha256-/CG%2Bw0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A%3D' (2025-06-24)
2025-06-26 11:03:53 +01:00
78b0ad98e5 hosts/skycam: fix libcamera-rpi hangs
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m19s
Kernel patch from:
https://github.com/raspberrypi/linux/pull/6429
2025-06-25 23:34:40 +01:00
c81d376f69 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m19s
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/7aae0ee71a17b19708b93b3ed448a1a0952bf111?narHash=sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg%3D' (2025-06-05)
  → 'github:nix-community/home-manager/366f00797b1efb70f2882d3da485e3c10fd3d557?narHash=sha256-Lh3dopA8DdY%2BZoaAJPrtkZOZaFEJGSYjOdAYYgOPgE4%3D' (2025-06-24)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/cf7e3aa448f8c9e0d9e8f407e6ed730da55acc69?narHash=sha256-uxIwiV1p2SVNIoP%2BoD025lZKfq4zNn7CmdaYVoskqnQ%3D' (2025-06-23)
  → 'github:hyprwm/Hyprland/5a348fb7dfaf398922c119d21acb7d7f831f8688?narHash=sha256-zQbFEl3XCfyKHHGcBY0f18F5YTsaV1fJz4C6BRL28z4%3D' (2025-06-24)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/132e610b6526820fa1bcf33588be11538fb92ca7?narHash=sha256-ZA00aPfBtrSTz6UsZ6uoBfy2UYi49A9XpxxyKUjbQ2A%3D' (2025-06-23)
  → 'github:hyprwm/hyprland-plugins/c1fdf38bfcd716130ce022cf21a1fca7582482d1?narHash=sha256-Oqn6gHIVfgkzzuigwNk9UZbgKdyzAzU/JoywB6z1O%2BM%3D' (2025-06-24)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b2485d56967598da068b5a6946dadda8bfcbcd37?narHash=sha256-3vkjFnxCOP6vm5Pm13wC/Zy6/VYgei/I/2DWgW4RFeA%3D' (2025-06-20)
  → 'github:NixOS/nixpkgs/c7ab75210cb8cb16ddd8f290755d9558edde7ee1?narHash=sha256-kMhs%2BYzV4vPGfuTpD3mwzibWUE6jotw5Al2wczI0Pv8%3D' (2025-06-22)
• Updated input 'pre-commit-hooks':
    'github:cachix/git-hooks.nix/fae816c55a75675f30d18c9cbdecc13b970d95d4?narHash=sha256-uLtw0iF9mQ94L831NOlQLPX9wm0qzd5yim3rcwACEoM%3D' (2025-06-23)
  → 'github:cachix/git-hooks.nix/16ec914f6fb6f599ce988427d9d94efddf25fe6d?narHash=sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg%3D' (2025-06-24)
2025-06-25 08:13:29 +01:00
14d8f23d54 hosts/vps1: add route for skycam
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m19s
2025-06-23 18:43:22 +01:00
47bcec6b0d flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m47s
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/7f1857b31522062a6a00f88cbccf86b43acceed1?narHash=sha256-KrC9iOVYIn6ukpVlHbqSA4hYCZ6oDyJKrcLqv4c5v84%3D' (2025-06-16)
  → 'github:nix-community/disko/8fd2d6c75009ac75f9a6fb18c33a239806778d01?narHash=sha256-kD88T/NqmcgfOBFAwphN30ccaUdj6K6%2BLG0XdM2w2LA%3D' (2025-06-23)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/8b1d5560cf1ca2c4c2624914de284d315502a092?narHash=sha256-a6SN50G3JLZV7OQoQL9O7vNFVO9uR9/2arJcqUpI4EU%3D' (2025-06-21)
  → 'github:hyprwm/Hyprland/cf7e3aa448f8c9e0d9e8f407e6ed730da55acc69?narHash=sha256-uxIwiV1p2SVNIoP%2BoD025lZKfq4zNn7CmdaYVoskqnQ%3D' (2025-06-23)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/8b4405ab46cafc471d5b09ff7258676dc9aaca59?narHash=sha256-/qnR7/GvGP1cGtOOm4OGJRtkVejn75/jsvJpiqE1ZDk%3D' (2025-06-21)
  → 'github:hyprwm/hyprland-plugins/132e610b6526820fa1bcf33588be11538fb92ca7?narHash=sha256-ZA00aPfBtrSTz6UsZ6uoBfy2UYi49A9XpxxyKUjbQ2A%3D' (2025-06-23)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/08f22084e6085d19bcfb4be30d1ca76ecb96fe54?narHash=sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50%3D' (2025-06-19)
  → 'github:NixOS/nixpkgs/4206c4cb56751df534751b058295ea61357bbbaa?narHash=sha256-VLFNc4egNjovYVxDGyBYTrvVCgDYgENp5bVi9fPTDYc%3D' (2025-06-21)
• Updated input 'pre-commit-hooks':
    'github:cachix/git-hooks.nix/623c56286de5a3193aa38891a6991b28f9bab056?narHash=sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4%3D' (2025-06-11)
  → 'github:cachix/git-hooks.nix/fae816c55a75675f30d18c9cbdecc13b970d95d4?narHash=sha256-uLtw0iF9mQ94L831NOlQLPX9wm0qzd5yim3rcwACEoM%3D' (2025-06-23)
2025-06-23 17:22:41 +01:00
fb15ef954b hosts/pi: add snapcast
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m15s
2025-06-22 23:03:31 +01:00
6a8016dd66 home-assistant: configure onkyo in UI
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m15s
2025-06-22 20:43:46 +01:00
8a110a8f30 pkgs/streamrip: remove
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m17s
2025-06-22 18:18:03 +01:00
c71208da11 open-webui: backup private directory
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m16s
2025-06-22 18:03:52 +01:00
c1ded6c3ce hosts/skycam: backup skycam-archiver directory 2025-06-22 18:02:32 +01:00
68b09a34d2 hosts/library: backup open-webui state directory
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m16s
2025-06-22 17:44:51 +01:00
c57bbad8e5 pkgs/jellysearch: only listen on loopback interface
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m19s
2025-06-22 17:19:08 +01:00
2aa6dd2aa7 hosts/library: fix jellysearch service
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m16s
2025-06-22 17:14:16 +01:00
532427c07f pkgs/jellysearch: init at 0.0.1
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m16s
2025-06-22 17:00:54 +01:00
3fb607752b hosts/library: use meilisearch 1.14
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m16s
2025-06-22 14:38:36 +01:00
e0c0ae3ee7 hosts/library: add jellysearch
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m17s
2025-06-22 14:21:39 +01:00
fed69bbc80 hosts/library: import downloads zpool
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m16s
2025-06-22 13:29:05 +01:00
ac95c15e34 hosts/library: update README.md 2025-06-22 13:27:41 +01:00
b4ffc4ec0b hosts/skycam: add archiver script
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m16s
2025-06-22 10:56:52 +01:00
a578aaa922 hosts/skycam: adjust camera settings
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m17s
2025-06-22 10:02:53 +01:00
48ac90515d flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m18s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/8ebff1948ff665ff6a1b49fb715b7de0797fae04?narHash=sha256-HsBt7sl2ODSHv1LxKxA47j7klCqY4k3fE4SQGnEO0Ac%3D' (2025-06-19)
  → 'github:hyprwm/Hyprland/8b1d5560cf1ca2c4c2624914de284d315502a092?narHash=sha256-a6SN50G3JLZV7OQoQL9O7vNFVO9uR9/2arJcqUpI4EU%3D' (2025-06-21)
• Updated input 'hyprland/aquamarine':
    'github:hyprwm/aquamarine/94981cf75a9f11da0b6dd6a1abbd7c50a36ab2d3?narHash=sha256-t0HfHg/1%2BTbSra5s6nNM0o4tnb3uqWedShSpZXsUMYY%3D' (2025-06-05)
  → 'github:hyprwm/aquamarine/7cef49d261cbbe537e8cb662485e76d29ac4cbca?narHash=sha256-lVBKxd9dsZOH1fA6kSE5WNnt8e%2B09fN%2BNL/Q3BjTWHY%3D' (2025-06-19)
• Updated input 'hyprland/hyprgraphics':
    'github:hyprwm/hyprgraphics/c7225d73755a6c4c7c72f4d4f3925ea426e325a8?narHash=sha256-8qiKEWcxUrjpUpK%2BWyFNg/72C8rp70LUuyTD23T%2BSdQ%3D' (2025-06-06)
  → 'github:hyprwm/hyprgraphics/15c6f8f3a567fec9a0f732cd310a7ff456deef88?narHash=sha256-cNP%2BbVq8m5x2Rl6MTjwfQLCdwbVmKvTH7yqVc1SpiJM%3D' (2025-06-19)
• Updated input 'hyprland/hyprland-qtutils':
    'github:hyprwm/hyprland-qtutils/396e8aa1c06274835b69da7f9a015fff9a9b7522?narHash=sha256-t1PM0wxQLQwv2F2AW23uA7pm5giwmcgYEWbNIRct9r4%3D' (2025-06-05)
  → 'github:hyprwm/hyprland-qtutils/b13c7481e37856f322177010bdf75fccacd1adc8?narHash=sha256-D868K1dVEACw17elVxRgXC6hOxY%2B54wIEjURztDWLk8%3D' (2025-06-19)
• Updated input 'hyprland/hyprlang':
    'github:hyprwm/hyprlang/1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676?narHash=sha256-qr0KXeczF8Sma3Ae7%2BdR2NHhvG7YeLBJv19W4oMu6ZE%3D' (2025-06-05)
  → 'github:hyprwm/hyprlang/cee01452bca58d6cadb3224e21e370de8bc20f0b?narHash=sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE%3D' (2025-06-19)
• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/57ab2a867d8b554ad89f29060c15efd11631db91?narHash=sha256-7F/KG8dwSH9JXdlpOVrEEArS%2BPJSn0iEnx5eVCk89/I%3D' (2025-06-13)
  → 'github:hyprwm/hyprutils/38f3a211657ce82a1123bf19402199b67a410f08?narHash=sha256-JB1IeJ41y7kWc/dPGV6RMcCUM0Xj2NEK26A2Ap7EM9c%3D' (2025-06-19)
• Updated input 'hyprland/hyprwayland-scanner':
    'github:hyprwm/hyprwayland-scanner/817918315ea016cc2d94004bfb3223b5fd9dfcc6?narHash=sha256-IHaGWpGrv7seFWdw/1A%2BwHtTsPlOGIKMrk1TUIYJEFI%3D' (2025-06-05)
  → 'github:hyprwm/hyprwayland-scanner/aa38edd6e3e277ae6a97ea83a69261a5c3aab9fd?narHash=sha256-lGk4gLjgZQ/rndUkzmPYcgbHr8gKU5u71vyrjnwfpB4%3D' (2025-06-19)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/ee930f9755f58096ac6e8ca94a1887e0534e2d81?narHash=sha256-Kh9K4taXbVuaLC0IL%2B9HcfvxsSUx8dPB5s5weJcc9pc%3D' (2025-06-13)
  → 'github:NixOS/nixpkgs/08f22084e6085d19bcfb4be30d1ca76ecb96fe54?narHash=sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50%3D' (2025-06-19)
• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/3cf35e178bc192ee51e3fddfd69e531e2c106a30?narHash=sha256-R9Dn9IyUdPaJHD2Oqd7XJnnxpka6M6UYw4Ld0iA46HM%3D' (2025-06-09)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/400308fc4f9d12e0a93e483c2e7a649e12af1a92?narHash=sha256-VBeZb1oqZM1cqCAZnFz/WyYhO8aF/ImagI7WWg/Z3Og%3D' (2025-06-19)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/f49193f8e0b3eb167fc105107791a22fdb1d283f?narHash=sha256-SDhYYByonfW1jdKSe68GukGWSbOuuxzkMVRTXSsU7g0%3D' (2025-06-20)
  → 'github:hyprwm/hyprland-plugins/8b4405ab46cafc471d5b09ff7258676dc9aaca59?narHash=sha256-/qnR7/GvGP1cGtOOm4OGJRtkVejn75/jsvJpiqE1ZDk%3D' (2025-06-21)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9ba04bda9249d5d5e5238303c9755de5a49a79c5?narHash=sha256-H8J4H2XCIMEJ5g6fZ179QfQvsc2dUqhqfBjC8RAHNRY%3D' (2025-06-18)
  → 'github:NixOS/nixpkgs/b2485d56967598da068b5a6946dadda8bfcbcd37?narHash=sha256-3vkjFnxCOP6vm5Pm13wC/Zy6/VYgei/I/2DWgW4RFeA%3D' (2025-06-20)
• Updated input 'nixvim':
    'github:nix-community/nixvim/1252966779a5632a3cd5238e442d55a1d2f56660?narHash=sha256-M0WNjAy2FCHJAb1hEp%2BJ2gnMk707K5/iTA24amEu/s8%3D' (2025-06-17)
  → 'github:nix-community/nixvim/b04bcdcbba4aa648903e065ad1907a97d4f7aee9?narHash=sha256-kZqTQEARUkkKDFhECd0MGU4wXCJcxCdh5WeM/yD6oI4%3D' (2025-06-21)
2025-06-21 23:53:43 +01:00
4435f4ff2d hosts/vps1: update skycam proxy path
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m20s
2025-06-21 23:53:06 +01:00
f6c0620f8e hosts/skycam: working stream with go2rtc 2025-06-21 23:49:40 +01:00
265fbf1375 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m26s
Flake lock file updates:

• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/03b07176286ba66d8c55ed67ce9b904f7777f41d?narHash=sha256-vkSWTAGpDnXExzsWhjULSX6dL47FUlM0fw7OJooRF8E%3D' (2025-06-19)
  → 'github:hyprwm/hyprland-plugins/f49193f8e0b3eb167fc105107791a22fdb1d283f?narHash=sha256-SDhYYByonfW1jdKSe68GukGWSbOuuxzkMVRTXSsU7g0%3D' (2025-06-20)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/61837d2a33ccc1582c5fabb7bf9130d39fee59ad?narHash=sha256-ynqbgIYrg7P1fAKYqe8I/PMiLABBcNDYG9YaAP/d/C4%3D' (2025-06-16)
  → 'github:NixOS/nixos-hardware/1552a9f4513f3f0ceedcf90320e48d3d47165712?narHash=sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg%3D' (2025-06-20)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/9e83b64f727c88a7711a2c463a7b16eedb69a84c?narHash=sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI%3D' (2025-06-17)
  → 'github:NixOS/nixpkgs/08f22084e6085d19bcfb4be30d1ca76ecb96fe54?narHash=sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50%3D' (2025-06-19)
2025-06-20 20:22:17 +01:00
d5a188dda6 hosts/skycam: remove patched camera utilities
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m19s
- Remove libcamera overlay
- Remove camera-streamer package
- Remove rpicam-apps package
2025-06-20 20:03:43 +01:00
e3bd1cad68 flake.nix: add skycam deployment target 2025-06-20 20:02:11 +01:00
0e36db8840 flake.nix: add pi deployment target
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m19s
2025-06-20 19:07:20 +01:00
967455f8c3 hosts/server: remove watchdog
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m19s
2025-06-20 18:51:25 +01:00
9316eb1257 hosts/pi: remove kernel override
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m19s
2025-06-20 17:34:55 +01:00
89fb397639 borgmatic: only add postgres to closure if enabled
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m21s
2025-06-20 16:48:49 +01:00
33cc641030 nix: update aarch64-linux builder IP 2025-06-20 16:40:02 +01:00
95617d4ad2 flake.lock: Update
Some checks failed
Check flake / build-amd64-linux (push) Failing after 29s
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/b49d0ca20e4378db1e9abeb661d72f4c8c070db9?narHash=sha256-vNTJaHBvasZuuwD0cYOqhpICaQ0SnQ7CqBhSZLjw3sc%3D' (2025-06-19)
  → 'github:hyprwm/Hyprland/8ebff1948ff665ff6a1b49fb715b7de0797fae04?narHash=sha256-HsBt7sl2ODSHv1LxKxA47j7klCqY4k3fE4SQGnEO0Ac%3D' (2025-06-19)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/a65f46c5646b11451a8ef462f9780e89f809cd5d?narHash=sha256-ODKLzMO/y79mHpUL5%2B6/6S6GTNAzanoIWUAwiyVnwm8%3D' (2025-06-19)
  → 'github:hyprwm/hyprland-plugins/03b07176286ba66d8c55ed67ce9b904f7777f41d?narHash=sha256-vkSWTAGpDnXExzsWhjULSX6dL47FUlM0fw7OJooRF8E%3D' (2025-06-19)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/36ab78dab7da2e4e27911007033713bab534187b?narHash=sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw%3D' (2025-06-17)
  → 'github:NixOS/nixpkgs/9ba04bda9249d5d5e5238303c9755de5a49a79c5?narHash=sha256-H8J4H2XCIMEJ5g6fZ179QfQvsc2dUqhqfBjC8RAHNRY%3D' (2025-06-18)
2025-06-20 08:40:24 +01:00
fa3ed847bf hypnos: add fonts
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m25s
2025-06-19 22:25:10 +01:00
31103c7f53 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m41s
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/4835b1dc898959d8547a871ef484930675cb47f1?narHash=sha256-NwmAFuDUO/PFcgaGGr4j3ozG9Pe5hZ/ogitWhY%2BD81k%3D' (2025-05-18)
  → 'github:ryantm/agenix/531beac616433bac6f9e2a19feb8e99a22a66baf?narHash=sha256-9P1FziAwl5%2B3edkfFcr5HeGtQUtrSdk/MksX39GieoA%3D' (2025-06-17)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/0ece4af36a988ad06b28ed666011d84372d9e4dc?narHash=sha256-zaTFR6NLaXkveEGl2kdl4UlvT7eHm3cYSbgSkibCO%2BM%3D' (2025-06-16)
  → 'github:hyprwm/Hyprland/b49d0ca20e4378db1e9abeb661d72f4c8c070db9?narHash=sha256-vNTJaHBvasZuuwD0cYOqhpICaQ0SnQ7CqBhSZLjw3sc%3D' (2025-06-19)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/4783860953a0777fee43d45fee0df9173f9e8c9e?narHash=sha256-sB2jmzoZgxMOpLsw4EfQyp2NbO3qhorR6gAdbNXHxOk%3D' (2025-06-15)
  → 'github:hyprwm/hyprland-plugins/a65f46c5646b11451a8ef462f9780e89f809cd5d?narHash=sha256-ODKLzMO/y79mHpUL5%2B6/6S6GTNAzanoIWUAwiyVnwm8%3D' (2025-06-19)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6c64dabd3aa85e0c02ef1cdcb6e1213de64baee3?narHash=sha256-h/aac1dGLhS3qpaD2aZt25NdKY7b%2BJT0ZIP2WuGsJMU%3D' (2025-06-15)
  → 'github:NixOS/nixpkgs/36ab78dab7da2e4e27911007033713bab534187b?narHash=sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw%3D' (2025-06-17)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/ee930f9755f58096ac6e8ca94a1887e0534e2d81?narHash=sha256-Kh9K4taXbVuaLC0IL%2B9HcfvxsSUx8dPB5s5weJcc9pc%3D' (2025-06-13)
  → 'github:NixOS/nixpkgs/9e83b64f727c88a7711a2c463a7b16eedb69a84c?narHash=sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI%3D' (2025-06-17)
• Updated input 'nixvim':
    'github:nix-community/nixvim/1c153ebbf3036acde0dfdbf59187af3ded3e0c65?narHash=sha256-gnJTvIpyhmGu%2BzcvclXYScLvWiCzP6iDzoMnLbrd7A0%3D' (2025-06-16)
  → 'github:nix-community/nixvim/1252966779a5632a3cd5238e442d55a1d2f56660?narHash=sha256-M0WNjAy2FCHJAb1hEp%2BJ2gnMk707K5/iTA24amEu/s8%3D' (2025-06-17)
• Updated input 'nixvim/flake-parts':
    'github:hercules-ci/flake-parts/49f0870db23e8c1ca0b5259734a02cd9e1e371a1?narHash=sha256-F82%2BgS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE%3D' (2025-06-01)
  → 'github:hercules-ci/flake-parts/9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569?narHash=sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98%3D' (2025-06-08)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f?narHash=sha256-PP11GVwUt7F4ZZi5A5%2B99isuq39C59CKc5u5yVisU/U%3D' (2025-05-26)
  → 'github:NuschtOS/search/8dfe5879dd009ff4742b668d9c699bc4b9761742?narHash=sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo%3D' (2025-06-12)
2025-06-19 20:06:00 +01:00
152e382214 flake.lock: Update
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m43s
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/dfa4d1b9c39c0342ef133795127a3af14598017a?narHash=sha256-CqmqU5FRg5AadtIkxwu8ulDSOSoIisUMZRLlcED3Q5w%3D' (2025-06-09)
  → 'github:nix-community/disko/7f1857b31522062a6a00f88cbccf86b43acceed1?narHash=sha256-KrC9iOVYIn6ukpVlHbqSA4hYCZ6oDyJKrcLqv4c5v84%3D' (2025-06-16)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/ad85406220d88c3de9ceba32f17a25caf101bb45?narHash=sha256-vN%2BEKs/P4FXEBagjY9VFoLyVa9a9F4O2S5OD90O4Oew%3D' (2025-06-13)
  → 'github:hyprwm/Hyprland/0ece4af36a988ad06b28ed666011d84372d9e4dc?narHash=sha256-zaTFR6NLaXkveEGl2kdl4UlvT7eHm3cYSbgSkibCO%2BM%3D' (2025-06-16)
• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb?narHash=sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0%3D' (2025-06-05)
  → 'github:hyprwm/hyprutils/57ab2a867d8b554ad89f29060c15efd11631db91?narHash=sha256-7F/KG8dwSH9JXdlpOVrEEArS%2BPJSn0iEnx5eVCk89/I%3D' (2025-06-13)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/d3d2d80a2191a73d1e86456a751b83aa13085d7d?narHash=sha256-QuUtALJpVrPnPeozlUG/y%2BoIMSLdptHxb3GK6cpSVhA%3D' (2025-06-05)
  → 'github:NixOS/nixpkgs/ee930f9755f58096ac6e8ca94a1887e0534e2d81?narHash=sha256-Kh9K4taXbVuaLC0IL%2B9HcfvxsSUx8dPB5s5weJcc9pc%3D' (2025-06-13)
• Updated input 'hyprland/pre-commit-hooks':
    'github:cachix/git-hooks.nix/80479b6ec16fefd9c1db3ea13aeb038c60530f46?narHash=sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo%2BbnXU9D9k%3D' (2025-05-16)
  → 'github:cachix/git-hooks.nix/623c56286de5a3193aa38891a6991b28f9bab056?narHash=sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4%3D' (2025-06-11)
• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/44bf29f1df45786098920c655af523535a9191ae?narHash=sha256-KIkJu3zF8MF3DuGwzAmo3Ww9wsWXolwV30SjJRTAxYE%3D' (2025-06-05)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/3cf35e178bc192ee51e3fddfd69e531e2c106a30?narHash=sha256-R9Dn9IyUdPaJHD2Oqd7XJnnxpka6M6UYw4Ld0iA46HM%3D' (2025-06-09)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/db030f62a449568345372bd62ed8c5be4824fa49?narHash=sha256-lfxhuxAaHlYFGr8yOrAXZqdMt8PrFLzjVqH9v3lQaoY%3D' (2025-06-13)
  → 'github:NixOS/nixos-hardware/61837d2a33ccc1582c5fabb7bf9130d39fee59ad?narHash=sha256-ynqbgIYrg7P1fAKYqe8I/PMiLABBcNDYG9YaAP/d/C4%3D' (2025-06-16)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fd487183437963a59ba763c0cc4f27e3447dd6dd?narHash=sha256-mHv/yeUbmL91/TvV95p%2BmBVahm9mdQMJoqaTVTALaFw%3D' (2025-06-12)
  → 'github:NixOS/nixpkgs/6c64dabd3aa85e0c02ef1cdcb6e1213de64baee3?narHash=sha256-h/aac1dGLhS3qpaD2aZt25NdKY7b%2BJT0ZIP2WuGsJMU%3D' (2025-06-15)
• Updated input 'nixvim':
    'github:nix-community/nixvim/88f452558ea37ab8ab2052cf45b5a5653a1e556b?narHash=sha256-X%2BPDQ9kgt3/nOUQWSyz/8WHFOp%2BSyDND%2BbKpVufxpdE%3D' (2025-06-12)
  → 'github:nix-community/nixvim/1c153ebbf3036acde0dfdbf59187af3ded3e0c65?narHash=sha256-gnJTvIpyhmGu%2BzcvclXYScLvWiCzP6iDzoMnLbrd7A0%3D' (2025-06-16)
2025-06-16 23:37:21 +01:00
703e011eae hyprland: use hyprbars from nixpkgs
Some checks failed
Check flake / build-amd64-linux (push) Failing after 1m11s
2025-06-16 11:21:52 +01:00
2023757f1f hosts/helios: hardware tweaks
Some checks failed
Check flake / build-amd64-linux (push) Failing after 1m45s
Remove blacklisting of amdgpu module
Add cpu frequency governor
2025-06-16 11:20:07 +01:00
93 changed files with 2829 additions and 1243 deletions

View File

@@ -10,10 +10,12 @@ System and user configuration for NixOS-based systems.
| **Terminal:** | Ghostty |
## Provisioning a new host
> [nixos-anywhere](https://github.com/nix-community/nixos-anywhere) is the module used
> for provisioning
Generate a new SSH host key in "$temp/etc/ssh" as per [this guide](https://nix-community.github.io/nixos-anywhere/howtos/secrets.html#example-decrypting-an-openssh-host-key-with-pass).
```
ssh-keygen -t ed25519 -f /tmp/ssh_host_ed25519_key
```
@@ -29,6 +31,7 @@ Create a new directory under `hosts/` with a system configuration and disk layou
Boot the NixOS installer (or any Linux distribution) on the target.
Then run:
```
nix run github:nix-community/nixos-anywhere -- \
--disk-encryption-keys /tmp/secret.key /tmp/secret.key \
@@ -40,15 +43,19 @@ nix run github:nix-community/nixos-anywhere -- \
### Post install
If backups are configured, you'll need to run:
```
borgmatic init --encryption repokey-blake2
```
then restart `borgmatic`.
To join the Tailscale network, run:
```
tailscale up --login-server https://headscale.vimium.net
```
then visit the URL, SSH onto `vps1` and run `headscale --user mesh nodes register --key <key>`.
The new node can optionally be given a friendly name with `headscale node rename -i <index> <hostname>`.

495
flake.lock generated
View File

@@ -3,16 +3,20 @@
"agenix": {
"inputs": {
"darwin": "darwin",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"home-manager": [
"nixpkgs"
],
"nixpkgs": [
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1747575206,
"narHash": "sha256-NwmAFuDUO/PFcgaGGr4j3ozG9Pe5hZ/ogitWhY+D81k=",
"lastModified": 1754433428,
"narHash": "sha256-NA/FT2hVhKDftbHSwVnoRTFhes62+7dxZbxj5Gxvghs=",
"owner": "ryantm",
"repo": "agenix",
"rev": "4835b1dc898959d8547a871ef484930675cb47f1",
"rev": "9edb1787864c4f59ae5074ad498b6272b3ec308d",
"type": "github"
},
"original": {
@@ -21,6 +25,32 @@
"type": "github"
}
},
"agenix-rekey": {
"inputs": {
"devshell": "devshell",
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs"
],
"pre-commit-hooks": [
"pre-commit-hooks"
],
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1754492276,
"narHash": "sha256-cCtleJZQY5eWPYRGl5x63BZ2rfOik4pLveCveH+tmvM=",
"owner": "oddlama",
"repo": "agenix-rekey",
"rev": "69ed7833c0e4e6a677a20894d8f12876b9e2bedb",
"type": "github"
},
"original": {
"owner": "oddlama",
"repo": "agenix-rekey",
"type": "github"
}
},
"aquamarine": {
"inputs": {
"hyprutils": [
@@ -41,11 +71,11 @@
]
},
"locked": {
"lastModified": 1749155310,
"narHash": "sha256-t0HfHg/1+TbSra5s6nNM0o4tnb3uqWedShSpZXsUMYY=",
"lastModified": 1753216019,
"narHash": "sha256-zik7WISrR1ks2l6T1MZqZHb/OqroHdJnSnAehkE0kCk=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "94981cf75a9f11da0b6dd6a1abbd7c50a36ab2d3",
"rev": "be166e11d86ba4186db93e10c54a141058bdce49",
"type": "github"
},
"original": {
@@ -95,7 +125,9 @@
"deploy-rs": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": "nixpkgs_2",
"nixpkgs": [
"nixpkgs"
],
"utils": "utils"
},
"locked": {
@@ -112,6 +144,68 @@
"type": "github"
}
},
"devshell": {
"inputs": {
"nixpkgs": [
"agenix-rekey",
"nixpkgs"
]
},
"locked": {
"lastModified": 1728330715,
"narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
"owner": "numtide",
"repo": "devshell",
"rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"type": "github"
}
},
"devshell_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1741473158,
"narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=",
"owner": "numtide",
"repo": "devshell",
"rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"type": "github"
}
},
"devshell_3": {
"inputs": {
"nixpkgs": [
"nix-topology",
"nixpkgs"
]
},
"locked": {
"lastModified": 1728330715,
"narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
"owner": "numtide",
"repo": "devshell",
"rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"type": "github"
}
},
"disko": {
"inputs": {
"nixpkgs": [
@@ -119,11 +213,11 @@
]
},
"locked": {
"lastModified": 1749436314,
"narHash": "sha256-CqmqU5FRg5AadtIkxwu8ulDSOSoIisUMZRLlcED3Q5w=",
"lastModified": 1755519972,
"narHash": "sha256-bU4nqi3IpsUZJeyS8Jk85ytlX61i4b0KCxXX9YcOgVc=",
"owner": "nix-community",
"repo": "disko",
"rev": "dfa4d1b9c39c0342ef133795127a3af14598017a",
"rev": "4073ff2f481f9ef3501678ff479ed81402caae6d",
"type": "github"
},
"original": {
@@ -135,11 +229,11 @@
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1748383148,
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
"lastModified": 1755874650,
"narHash": "sha256-ClHCtrzwU6TIfK0qOzAsfPY4swrpbZ8SwUpBpVwphaY=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
"rev": "6fafa0409ad451b90db466f900b7549a1890bf1a",
"type": "github"
},
"original": {
@@ -167,11 +261,11 @@
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
@@ -199,11 +293,11 @@
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
@@ -213,6 +307,45 @@
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"agenix-rekey",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1754487366,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"nixvim",
@@ -220,11 +353,11 @@
]
},
"locked": {
"lastModified": 1748821116,
"narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=",
"lastModified": 1754091436,
"narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1",
"rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd",
"type": "github"
},
"original": {
@@ -237,6 +370,24 @@
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_5"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
@@ -362,36 +513,15 @@
"home-manager": {
"inputs": {
"nixpkgs": [
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1745494811,
"narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=",
"lastModified": 1755928099,
"narHash": "sha256-OILVkfhRCm8u18IZ2DKR8gz8CVZM2ZcJmQBXmjFLIfk=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1749154018,
"narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111",
"rev": "4a44fb9f7555da362af9d499817084f4288a957f",
"type": "github"
},
"original": {
@@ -417,11 +547,11 @@
]
},
"locked": {
"lastModified": 1749155331,
"narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=",
"lastModified": 1753964049,
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80",
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
"type": "github"
},
"original": {
@@ -446,11 +576,11 @@
]
},
"locked": {
"lastModified": 1749238452,
"narHash": "sha256-8qiKEWcxUrjpUpK+WyFNg/72C8rp70LUuyTD23T+SdQ=",
"lastModified": 1754305013,
"narHash": "sha256-u+M2f0Xf1lVHzIPQ7DsNCDkM1NYxykOSsRr4t3TbSM4=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "c7225d73755a6c4c7c72f4d4f3925ea426e325a8",
"rev": "4c1d63a0f22135db123fc789f174b89544c6ec2d",
"type": "github"
},
"original": {
@@ -469,17 +599,17 @@
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_3",
"xdph": "xdph"
},
"locked": {
"lastModified": 1749820652,
"narHash": "sha256-vN+EKs/P4FXEBagjY9VFoLyVa9a9F4O2S5OD90O4Oew=",
"lastModified": 1755883465,
"narHash": "sha256-/yviTS9piazXoZAmnN0dXnYjDAFvooBnzJfPw2Gi30Y=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "ad85406220d88c3de9ceba32f17a25caf101bb45",
"rev": "0d45b277d6c750377b336034b8adc53eae238d91",
"type": "github"
},
"original": {
@@ -505,11 +635,11 @@
]
},
"locked": {
"lastModified": 1749980366,
"narHash": "sha256-sB2jmzoZgxMOpLsw4EfQyp2NbO3qhorR6gAdbNXHxOk=",
"lastModified": 1755183521,
"narHash": "sha256-wrP8TM2lb2x0+PyTc7Uc3yfVBeIlYW7+hFeG14N9Cr8=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "4783860953a0777fee43d45fee0df9173f9e8c9e",
"rev": "c1ddebb423acc7c88653c04de5ddafee64dac89a",
"type": "github"
},
"original": {
@@ -598,11 +728,11 @@
]
},
"locked": {
"lastModified": 1749155776,
"narHash": "sha256-t1PM0wxQLQwv2F2AW23uA7pm5giwmcgYEWbNIRct9r4=",
"lastModified": 1753819801,
"narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "396e8aa1c06274835b69da7f9a015fff9a9b7522",
"rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc",
"type": "github"
},
"original": {
@@ -627,11 +757,11 @@
]
},
"locked": {
"lastModified": 1749145882,
"narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=",
"lastModified": 1753622892,
"narHash": "sha256-0K+A+gmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676",
"rev": "23f0debd2003f17bd65f851cd3f930cff8a8c809",
"type": "github"
},
"original": {
@@ -652,11 +782,11 @@
]
},
"locked": {
"lastModified": 1749135356,
"narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=",
"lastModified": 1754481650,
"narHash": "sha256-6u6HdEFJh5gY6VfyMQbhP7zDdVcqOrCDTkbiHJmAtMI=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb",
"rev": "df6b8820c4a0835d83d0c7c7be86fbc555f1f7fd",
"type": "github"
},
"original": {
@@ -677,11 +807,11 @@
]
},
"locked": {
"lastModified": 1749145760,
"narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=",
"lastModified": 1751897909,
"narHash": "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6",
"rev": "fcca0c61f988a9d092cbb33e906775014c61579d",
"type": "github"
},
"original": {
@@ -749,13 +879,38 @@
"type": "github"
}
},
"nix-topology": {
"inputs": {
"devshell": "devshell_3",
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
],
"pre-commit-hooks": [
"pre-commit-hooks"
]
},
"locked": {
"lastModified": 1752093877,
"narHash": "sha256-P0TySh6sQl1EhfxjW9ZqGxEyUBSsEpdnchOe1QB0pLA=",
"owner": "oddlama",
"repo": "nix-topology",
"rev": "6a536c4b686ee4bcf07a7b0f8b823584560e2633",
"type": "github"
},
"original": {
"owner": "oddlama",
"repo": "nix-topology",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1749832440,
"narHash": "sha256-lfxhuxAaHlYFGr8yOrAXZqdMt8PrFLzjVqH9v3lQaoY=",
"lastModified": 1755330281,
"narHash": "sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "db030f62a449568345372bd62ed8c5be4824fa49",
"rev": "3dac8a872557e0ca8c083cdcfc2f218d18e113b0",
"type": "github"
},
"original": {
@@ -775,11 +930,11 @@
"nixpkgs-25_05": "nixpkgs-25_05"
},
"locked": {
"lastModified": 1747965231,
"narHash": "sha256-BW3ktviEhfCN/z3+kEyzpDKAI8qFTwO7+S0NVA0C90o=",
"lastModified": 1755110674,
"narHash": "sha256-PigqTAGkdBYXVFWsJnqcirrLeFqRFN4PFigLA8FzxeI=",
"owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver",
"rev": "53007af63fade28853408370c4c600a63dd97f41",
"rev": "f5936247dbdb8501221978562ab0b302dd75456c",
"type": "gitlab"
},
"original": {
@@ -791,11 +946,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1745391562,
"narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=",
"lastModified": 1754725699,
"narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7",
"rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054",
"type": "github"
},
"original": {
@@ -821,13 +976,28 @@
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1753579242,
"narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1749794982,
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
"lastModified": 1755615617,
"narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
"rev": "20075955deac2583bb12f07151c2df830ef346b4",
"type": "github"
},
"original": {
@@ -838,43 +1008,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1743014863,
"narHash": "sha256-jAIUqsiN2r3hCuHji80U7NNEafpIMBXiwKlSrjWMlpg=",
"lastModified": 1755704039,
"narHash": "sha256-gKlP0LbyJ3qX0KObfIWcp5nbuHSb5EHwIvU6UcNBg2A=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bd3bac8bfb542dbde7ffffb6987a1a1f9d41699f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1749143949,
"narHash": "sha256-QuUtALJpVrPnPeozlUG/y+oIMSLdptHxb3GK6cpSVhA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d3d2d80a2191a73d1e86456a751b83aa13085d7d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1749727998,
"narHash": "sha256-mHv/yeUbmL91/TvV95p+mBVahm9mdQMJoqaTVTALaFw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fd487183437963a59ba763c0cc4f27e3447dd6dd",
"rev": "9cb344e96d5b6918e94e1bca2d9f3ea1e9615545",
"type": "github"
},
"original": {
@@ -885,19 +1023,19 @@
},
"nixvim": {
"inputs": {
"flake-parts": "flake-parts",
"flake-parts": "flake-parts_3",
"nixpkgs": [
"nixpkgs"
],
"nuschtosSearch": "nuschtosSearch",
"systems": "systems_5"
"systems": "systems_6"
},
"locked": {
"lastModified": 1749702372,
"narHash": "sha256-X+PDQ9kgt3/nOUQWSyz/8WHFOp+SyDND+bKpVufxpdE=",
"lastModified": 1755727480,
"narHash": "sha256-eb9N7XFj1zirk+D2KV+rn/CjmVHDISlxhtZCWZEVpkM=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "88f452558ea37ab8ab2052cf45b5a5653a1e556b",
"rev": "6df0b97b39baa1c0b3002b051f307aed68e17d1b",
"type": "github"
},
"original": {
@@ -909,7 +1047,7 @@
},
"nuschtosSearch": {
"inputs": {
"flake-utils": "flake-utils",
"flake-utils": "flake-utils_2",
"ixx": "ixx",
"nixpkgs": [
"nixvim",
@@ -917,11 +1055,11 @@
]
},
"locked": {
"lastModified": 1748298102,
"narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=",
"lastModified": 1753771532,
"narHash": "sha256-Pmpke0JtLRzgdlwDC5a+aiLVZ11JPUO5Bcqkj0nHE/k=",
"owner": "NuschtOS",
"repo": "search",
"rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f",
"rev": "2a65adaf2c0c428efb0f4a2bc406aab466e96a06",
"type": "github"
},
"original": {
@@ -940,11 +1078,11 @@
]
},
"locked": {
"lastModified": 1747372754,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"lastModified": 1754416808,
"narHash": "sha256-c6yg0EQ9xVESx6HGDOCMcyRSjaTpNJP10ef+6fRcofA=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"rev": "9c52372878df6911f9afc1e2a1391f55e4dfc864",
"type": "github"
},
"original": {
@@ -962,11 +1100,11 @@
]
},
"locked": {
"lastModified": 1749636823,
"narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=",
"lastModified": 1755879220,
"narHash": "sha256-2KZl6cU5rzEwXKMW369kLTzinJXXkF3TRExA6qEeVbc=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "623c56286de5a3193aa38891a6991b28f9bab056",
"rev": "3ff4596663c8cbbffe06d863ee4c950bce2c3b78",
"type": "github"
},
"original": {
@@ -978,33 +1116,38 @@
"root": {
"inputs": {
"agenix": "agenix",
"agenix-rekey": "agenix-rekey",
"deploy-rs": "deploy-rs",
"devshell": "devshell_2",
"disko": "disko",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_2",
"gitea-github-theme": "gitea-github-theme",
"home-manager": "home-manager_2",
"home-manager": "home-manager",
"hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins",
"impermanence": "impermanence",
"kvlibadwaita": "kvlibadwaita",
"nix-topology": "nix-topology",
"nixos-hardware": "nixos-hardware",
"nixos-mailserver": "nixos-mailserver",
"nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixvim": "nixvim",
"pre-commit-hooks": "pre-commit-hooks_2",
"secrets": "secrets",
"thunderbird-gnome-theme": "thunderbird-gnome-theme"
"thunderbird-gnome-theme": "thunderbird-gnome-theme",
"treefmt-nix": "treefmt-nix_2"
}
},
"secrets": {
"flake": false,
"locked": {
"lastModified": 1748905535,
"narHash": "sha256-lRWIpo//dTT7kqtiuaeAITbL535eHImpcpcIfAg2wxs=",
"lastModified": 1755887038,
"narHash": "sha256-HoEMwFfR3rwNxwJjFCbj3rfW8k6EabHuMJAZOwsT95c=",
"ref": "refs/heads/master",
"rev": "c6f23eddf543b4de1c8c596e51be1d5ba1137673",
"revCount": 32,
"rev": "9e47b557087ebde3a30c9f97189d110c29d144fd",
"revCount": 40,
"type": "git",
"url": "ssh://git@git.vimium.com/jordan/nix-secrets.git"
},
@@ -1088,14 +1231,29 @@
"type": "github"
}
},
"systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"thunderbird-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1732643121,
"narHash": "sha256-i0Uo5EN45rlGuR85hvPet43zW/thOQTwHypVg9shTHU=",
"lastModified": 1755861050,
"narHash": "sha256-oLmw1VRrmbuLwT5errG3lT85K0jLII/aQ32VtdJ+1xM=",
"owner": "rafaelmardojai",
"repo": "thunderbird-gnome-theme",
"rev": "1994e7ec0649053e2a0811973245758d41e33f5f",
"rev": "b1fbb41db5718c23667bd9b40268b8e7317634fd",
"type": "github"
},
"original": {
@@ -1104,6 +1262,47 @@
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"agenix-rekey",
"nixpkgs"
]
},
"locked": {
"lastModified": 1735135567,
"narHash": "sha256-8T3K5amndEavxnludPyfj3Z1IkcFdRpR23q+T0BVeZE=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "9e09d30a644c57257715902efbb3adc56c79cf28",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"treefmt-nix_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1755934250,
"narHash": "sha256-CsDojnMgYsfshQw3t4zjRUkmMmUdZGthl16bXVWgRYU=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "74e1a52d5bd9430312f8d1b8b0354c92c17453e5",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems_2"
@@ -1150,11 +1349,11 @@
]
},
"locked": {
"lastModified": 1749155346,
"narHash": "sha256-KIkJu3zF8MF3DuGwzAmo3Ww9wsWXolwV30SjJRTAxYE=",
"lastModified": 1753633878,
"narHash": "sha256-js2sLRtsOUA/aT10OCDaTjO80yplqwOIaLUqEe0nMx0=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "44bf29f1df45786098920c655af523535a9191ae",
"rev": "371b96bd11ad2006ed4f21229dbd1be69bed3e8a",
"type": "github"
},
"original": {

187
flake.nix
View File

@@ -2,165 +2,176 @@
description = "NixOS system configuration";
inputs = {
nixpkgs.url = "nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
# nixpkgs-master.url = "nixpkgs";
agenix.url = "github:ryantm/agenix";
deploy-rs.url = "github:serokell/deploy-rs";
agenix = {
url = "github:ryantm/agenix";
inputs.home-manager.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix-rekey = {
url = "github:oddlama/agenix-rekey";
inputs.nixpkgs.follows = "nixpkgs";
inputs.pre-commit-hooks.follows = "pre-commit-hooks";
};
deploy-rs = {
url = "github:serokell/deploy-rs";
inputs.nixpkgs.follows = "nixpkgs";
};
devshell = {
url = "github:numtide/devshell";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "github:hyprwm/Hyprland";
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
firefox-gnome-theme = {
url = "github:rafaelmardojai/firefox-gnome-theme";
flake = false;
};
flake-parts.url = "github:hercules-ci/flake-parts";
gitea-github-theme = {
url = "git+ssh://git@git.vimium.com/jordan/gitea-github-theme.git?ref=main";
flake = false;
};
impermanence.url = "github:nix-community/impermanence";
kvlibadwaita = {
url = "github:GabePoel/KvLibadwaita";
flake = false;
};
nixos-hardware.url = "github:NixOS/nixos-hardware";
nixos-mailserver = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs.url = "nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
# nixpkgs-master.url = "nixpkgs";
nixvim = {
url = "github:nix-community/nixvim/nixos-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-topology = {
url = "github:oddlama/nix-topology";
inputs.nixpkgs.follows = "nixpkgs";
inputs.pre-commit-hooks.follows = "pre-commit-hooks";
};
pre-commit-hooks = {
url = "github:cachix/git-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
secrets = {
url = "git+ssh://git@git.vimium.com/jordan/nix-secrets.git";
flake = false;
};
thunderbird-gnome-theme = {
url = "github:rafaelmardojai/thunderbird-gnome-theme";
flake = false;
};
treefmt-nix = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs@{ self, nixpkgs, ... }:
let
inherit (nixpkgs) lib;
domain = "mesh.vimium.net";
forEachSystem = lib.genAttrs [
"x86_64-linux"
"aarch64-linux"
inputs@{
nixpkgs,
flake-parts,
...
}:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
inputs.agenix-rekey.flakeModule
inputs.pre-commit-hooks.flakeModule
inputs.nix-topology.flakeModule
inputs.treefmt-nix.flakeModule
./nix/devshell.nix
./nix/hosts.nix
];
mkDeployNode = hostName: {
hostname = "${hostName}.${domain}";
profiles.system = {
user = "root";
path =
inputs.deploy-rs.lib.${
self.nixosConfigurations.${hostName}.config.system.build.toplevel.system
}.activate.nixos
self.nixosConfigurations.${hostName};
};
};
in
{
overlays = lib.packagesFromDirectoryRecursive {
flake = {
overlays = nixpkgs.lib.packagesFromDirectoryRecursive {
callPackage = path: overrides: import path;
directory = ./overlays;
};
legacyPackages = forEachSystem (
system:
lib.packagesFromDirectoryRecursive {
callPackage = nixpkgs.legacyPackages.${system}.callPackage;
directory = ./pkgs;
}
);
nixosConfigurations = lib.pipe ./hosts [
builtins.readDir
(lib.filterAttrs (name: value: value == "directory"))
(lib.mapAttrs (
name: value:
lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
{
networking = {
inherit domain;
hostName = name;
};
}
./hosts/${name}
];
}
))
systems = [
"aarch64-linux"
"x86_64-linux"
];
checks =
builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) inputs.deploy-rs.lib
// (forEachSystem (system: {
pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run {
src = ./.;
perSystem =
{ pkgs, ... }:
{
formatter = pkgs.nixfmt-rfc-style;
legacyPackages = pkgs.lib.packagesFromDirectoryRecursive {
callPackage = pkgs.callPackage;
directory = ./pkgs;
};
pre-commit = {
settings = {
excludes = [ "pkgs/libcamera-rpi/libcamera-rpi-ipa-priv-key.pem" ];
hooks = {
check-case-conflicts.enable = true;
check-executables-have-shebangs.enable = true;
check-merge-conflicts.enable = true;
deadnix = {
enable = true;
settings = {
noLambdaArg = true;
};
};
detect-private-keys.enable = true;
end-of-file-fixer.enable = true;
fix-byte-order-marker.enable = true;
mixed-line-endings.enable = true;
nixfmt-rfc-style.enable = true;
treefmt.enable = true;
trim-trailing-whitespace.enable = true;
};
};
}));
formatter = forEachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style);
devShells = forEachSystem (system: {
default = nixpkgs.legacyPackages.${system}.mkShell {
inherit (self.checks.${system}.pre-commit-check) shellHook;
buildInputs = [
inputs.agenix.packages.${system}.agenix
inputs.deploy-rs.packages.${system}.deploy-rs
] ++ self.checks.${system}.pre-commit-check.enabledPackages;
};
});
deploy = {
magicRollback = true;
autoRollback = true;
sshUser = "root";
nodes = lib.genAttrs [
"mail"
# "pi"
# "skycam"
"vps1"
] mkDeployNode;
treefmt = {
projectRootFile = "flake.nix";
programs = {
deadnix = {
enable = true;
no-lambda-arg = true;
};
mdformat.enable = true;
nixfmt-rfc-style.enable = true;
shellcheck.enable = true;
};
};
};
};
}

49
hosts/artemis/README.md Normal file
View File

@@ -0,0 +1,49 @@
# Artemis
## Overview
Home theatre and gaming PC
## Specs
- CPU - AMD Ryzen 7 9800X3D @ 4.70GHz
- Chipset - AMD B850
- Memory - 64 GB DDR5
- Motherboard - ASUS ROG STRIX B850-I Gaming WiFi
- GPU - AMD Radeon 7900 XTX
- Case - MCPRUE Apollo S v4
### Disks
Device | Partitions _(filesystem, size, usage)_
--- | ---
WD Black SN850X | `/dev/nvme0n1p1` (EFI, 500 MiB, NixOS Boot) <br> `/dev/nvme0n1p2` (ZFS, 4 TiB, NixOS Root)
#### ZFS pool layout
```
rpool/
├── local
│ ├── nix
│ ├── root
│ └── state
└── safe
└── persist
```
See [Graham Christensen's article](https://grahamc.com/blog/nixos-on-zfs/#datasets) for the motivation behind these datasets.
#### Impermanence
This machine uses [impermanence](https://github.com/nix-community/impermanence) and is rolled back to a clean state on each reboot.
Mountpoint | Persists across reboots? | Backed up?
--- | --- | ---
`/` | No | Yes
`/state` | Yes | No
`/persist` | Yes | Yes
### Networks
- DHCP on `10.0.1.0/24` subnet.
- Tailscale on `100.64.0.0/10` subnet. FQDN: `artemis.mesh.vimium.net`.

109
hosts/artemis/default.nix Normal file
View File

@@ -0,0 +1,109 @@
{
inputs,
config,
lib,
pkgs,
...
}:
let
inherit (lib)
getExe
mkForce
;
in
{
imports = [
inputs.disko.nixosModules.disko
./hardware-configuration.nix
./disko-config.nix
../desktop.nix
../../users/guest
];
nixpkgs = {
hostPlatform = "x86_64-linux";
};
boot.loader = {
systemd-boot = {
enable = true;
graceful = true;
};
efi.canTouchEfiVariables = true;
};
networking = {
hostId = "4f9a2b7e";
networkmanager.enable = mkForce false;
};
services.openssh.settings.PermitRootLogin = mkForce "prohibit-password";
users = {
users = {
root = {
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILVHTjsyMIV4THNw6yz0OxAxGnC+41gX72UrPqTzR+OS jordan@vimium.com"
];
};
};
};
services.earlyoom = {
enable = true;
extraArgs = [
"-M"
"409600,307200"
]
++ (
if config.swapDevices.zramSwap.enable or false then
[
"-S"
"409600,307200"
]
else
[ ]
);
};
services.sunshine = {
enable = false;
package = pkgs.unstable.sunshine;
capSysAdmin = true;
};
programs.steam.enable = true;
environment = {
systemPackages = [ pkgs.wine ];
sessionVariables.WINE_BIN = getExe pkgs.wine;
};
environment.persistence."/persist".enable = mkForce true;
environment.persistence."/state".enable = mkForce true;
modules = {
services = {
borgmatic = {
enable = true;
directories = [
"/home/jordan/Documents"
];
repoPath = "ssh://neafzrj7@neafzrj7.repo.borgbase.com/./repo";
};
};
system = {
wireless = {
enable = true;
interfaces = [ "wlp11s0" ];
};
desktop = {
gnome.enable = lib.mkForce false;
hyprland.enable = true;
};
};
};
system.stateVersion = "25.05";
}

View File

@@ -0,0 +1,97 @@
{ ... }:
{
disko.devices = {
disk = {
main = {
type = "disk";
device = "/dev/disk/by-id/nvme-WD_BLACK_SN850X_4000GB_25115L4A0708";
content = {
type = "gpt";
partitions = {
ESP = {
size = "500M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
zfs = {
size = "100%";
content = {
type = "zfs";
pool = "rpool";
};
};
};
};
};
};
zpool = {
rpool = {
type = "zpool";
options = {
ashift = "12";
};
rootFsOptions = {
compression = "zstd";
acltype = "posix";
atime = "off";
xattr = "sa";
dnodesize = "auto";
mountpoint = "none";
canmount = "off";
devices = "off";
exec = "off";
setuid = "off";
};
datasets = {
"local" = {
type = "zfs_fs";
};
"local/root" = {
type = "zfs_fs";
mountpoint = "/";
options = {
canmount = "noauto";
mountpoint = "/";
exec = "on";
setuid = "on";
};
postCreateHook = "zfs snapshot rpool/local/root@blank";
};
"local/nix" = {
type = "zfs_fs";
mountpoint = "/nix";
options = {
canmount = "noauto";
mountpoint = "/nix";
exec = "on";
setuid = "on";
};
};
"local/state" = {
type = "zfs_fs";
mountpoint = "/state";
options = {
canmount = "noauto";
mountpoint = "/state";
};
};
"safe" = {
type = "zfs_fs";
};
"safe/persist" = {
type = "zfs_fs";
mountpoint = "/persist";
options = {
canmount = "noauto";
mountpoint = "/persist";
};
};
};
};
};
};
}

View File

@@ -0,0 +1,121 @@
{
config,
lib,
pkgs,
modulesPath,
...
}:
let
inherit (lib)
getExe
mkDefault
mkOverride
;
in
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
# Inspired by: https://github.com/Jovian-Experiments/Jovian-NixOS
boot = {
binfmt.registrations."DOSWin" = {
wrapInterpreterInShell = false;
interpreter = getExe pkgs.wine;
recognitionType = "magic";
offset = 0;
magicOrExtension = "MZ";
};
initrd = {
availableKernelModules = [
"xhci_pci"
"ehci_pci"
"nvme"
"usbhid"
"usb_storage"
"sd_mod"
];
kernelModules = [
"amdgpu"
];
supportedFilesystems = [ "zfs" ];
};
kernel.sysctl = {
"kernel.sched_cfs_bandwidth_slice_u" = mkDefault 3000;
"kernel.sched_latency_ns" = mkDefault 3000000;
"kernel.sched_min_granularity_ns" = mkDefault 300000;
"kernel.sched_wakeup_granularity_ns" = mkDefault 500000;
"kernel.sched_migration_cost_ns" = mkDefault 50000;
"kernel.sched_nr_migrate" = mkDefault 128;
"kernel.split_lock_mitigate" = mkDefault 0;
"net.ipv4.tcp_mtu_probing" = true;
"net.ipv4.tcp_fin_timeout" = mkDefault 5;
"vm.max_map_count" = mkOverride 999 2147483642;
};
kernelModules = [
"hid_nintendo"
"hid_playstation"
"kvm-amd"
"ntsync"
];
kernelParams = [
"log_buf_len=4M"
"amdgpu.lockup_timeout=5000,10000,10000,5000"
"ttm.pages_min=2097152"
"amdgpu.sched_hw_submission=4"
"audit=0"
];
kernelPackages = pkgs.linuxPackages_6_15;
supportedFilesystems = [ "ntfs" ];
};
hardware = {
bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General = {
MultiProfile = "multiple";
FastConnectable = true;
# enable experimental LL privacy, experimental offload codecs
KernelExperimental = "15c0a148-c273-11ea-b3de-0242ac130004";
};
LE = {
ScanIntervalSuspend = 2240;
ScanWindowSuspend = 224;
};
};
};
graphics = {
enable32Bit = true;
extraPackages = [
pkgs.gamescope-wsi
pkgs.vk-hdr-layer
];
extraPackages32 = [ pkgs.pkgsi686Linux.gamescope-wsi ];
};
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
enableRedistributableFirmware = true;
};
powerManagement.cpuFreqGovernor = "schedutil";
services.udev.packages = [
(pkgs.writeTextFile {
name = "ntsync-udev-rules";
text = ''KERNEL=="ntsync", MODE="0660", TAG+="uaccess"'';
destination = "/etc/udev/rules.d/70-ntsync.rules";
})
];
services.pulseaudio.enable = false;
services.xserver.videoDrivers = [ "amdgpu" ];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View File

@@ -1,24 +1,28 @@
# Atlas
## Overview
A general purpose mini computer used for web browsing and multimedia.
## Specs
* CPU - Intel Core i7-4790K @ 4.00GHz
* Chipset - Intel Z97
* Memory - 8 GB DDR3
* Motherboard - ASRock Z97M-ITX
* GPU - AMD Radeon R9 290X 4GB
* Case - SilverStone Sugo SG13
* NIC - Intel Gigabit I218-V, Broadcom BCM4360 802.11ac
- CPU - Intel Core i7-4790K @ 4.00GHz
- Chipset - Intel Z97
- Memory - 8 GB DDR3
- Motherboard - ASRock Z97M-ITX
- GPU - AMD Radeon R9 290X 4GB
- Case - SilverStone Sugo SG13
- NIC - Intel Gigabit I218-V, Broadcom BCM4360 802.11ac
### Disks
Device | Partitions _(filesystem, size, usage)_
--- | ---
Samsung SSD 850 | `/dev/sda1` (NTFS, 500 GiB, Windows XP)
Samsung SSD 850 | `/dev/sdb1` (EFI, 500 MiB, NixOS Boot) <br> `/dev/sdb2` (ZFS, 500 GiB, NixOS Root)
#### ZFS pool layout
```
rpool/
├── local
@@ -34,5 +38,6 @@ rpool/
See [Graham Christensen's article](https://grahamc.com/blog/nixos-on-zfs/#datasets) for the motivation behind these datasets.
### Networks
- DHCP on `10.0.1.0/24` subnet.
- Tailscale on `100.64.0.0/10` subnet. FQDN: `atlas.mesh.vimium.net`.

View File

@@ -4,6 +4,7 @@
imports = [
./hardware-configuration.nix
../desktop.nix
../../users/jordan
];
nixpkgs.hostPlatform = "x86_64-linux";

View File

@@ -4,12 +4,12 @@
pkgs,
...
}:
{
imports = [
inputs.agenix.nixosModules.age
inputs.home-manager.nixosModules.home-manager
../modules/nixos
../modules/nixos/impermanence.nix
];
nixpkgs = {
@@ -76,7 +76,7 @@
'';
buildMachines = [
{
hostName = "10.0.1.79";
hostName = "10.0.1.235";
sshUser = "root";
system = "aarch64-linux";
maxJobs = 6;

View File

@@ -1,4 +1,6 @@
{
inputs,
config,
pkgs,
...
}:
@@ -6,7 +8,6 @@
{
imports = [
./common.nix
../users/jordan
];
services.printing.enable = true;
@@ -44,6 +45,9 @@
randomizedDelaySec = "10min";
};
age.secrets."passwords/users/root".file = "${inputs.secrets}/passwords/users/jordan.age";
users.users.root.hashedPasswordFile = config.age.secrets."passwords/users/root".path;
systemd.services.NetworkManager-wait-online.enable = false;
modules = {

View File

@@ -1,18 +1,22 @@
# Eos
## Overview
ThinkPad X220 laptop.
## Specs
* CPU - Intel Core i5-2520M @ 3.20GHz
* Memory - 8 GB DDR3
- CPU - Intel Core i5-2520M @ 3.20GHz
- Memory - 8 GB DDR3
### Disks
Device | Partitions _(filesystem, usage)_
--- | ---
Solid | `/dev/sda1` (EFI, NixOS Boot) <br> `/dev/sda2` (ZFS, NixOS Root)
#### ZFS pool layout
```
rpool/
├── local
@@ -28,5 +32,6 @@ rpool/
See [Graham Christensen's article](https://grahamc.com/blog/nixos-on-zfs/#datasets) for the motivation behind these datasets.
### Networks
- DHCP on `10.0.1.0/24` subnet.
- Tailscale on `100.64.0.0/10` subnet. FQDN: `eos.mesh.vimium.net`.

View File

@@ -4,6 +4,7 @@
imports = [
./hardware-configuration.nix
../desktop.nix
../../users/jordan
];
nixpkgs.hostPlatform = "x86_64-linux";

View File

@@ -1,16 +1,19 @@
# Helios
## Overview
Dell OptiPlex 980 small form factor desktop.
## Specs
* CPU - Intel Core i7-860 @ 2.8GHz
* Chipset - Intel Q57 Express
* Memory - 8 GB DDR2
* GPU - AMD FirePro 2460
* NIC - Intel Gigabit 82578DM
- CPU - Intel Core i7-860 @ 2.8GHz
- Chipset - Intel Q57 Express
- Memory - 8 GB DDR2
- GPU - AMD FirePro 2460
- NIC - Intel Gigabit 82578DM
### Disks
Device | Partitions _(filesystem, size, usage)_
--- | ---
SanDisk Ultra II | `/dev/sda1` (ext2, 200 MiB, NixOS Boot) <br> `/dev/sda2` (ZFS, 480 GiB, NixOS Root)
@@ -19,6 +22,7 @@ SanDisk Ultra II | `/dev/sda1` (ext2, 200 MiB, NixOS Boot) <br> `/dev/sda2` (ZFS
> an MBR partition table.
#### ZFS pool layout
```
rpool/
├── local
@@ -34,5 +38,6 @@ rpool/
See [Graham Christensen's article](https://grahamc.com/blog/nixos-on-zfs/#datasets) for the motivation behind these datasets.
### Networks
- DHCP on `192.168.1.0/24` subnet.
- Tailscale on `100.64.0.0/10` subnet. FQDN: `helios.mesh.vimium.net`.

View File

@@ -1,4 +1,5 @@
{
inputs,
pkgs,
lib,
...
@@ -9,8 +10,11 @@ let
in
{
imports = [
inputs.disko.nixosModules.disko
./hardware-configuration.nix
./disko-config.nix
../desktop.nix
../../users/jordan
];
nixpkgs.hostPlatform = "x86_64-linux";

View File

@@ -0,0 +1,101 @@
{ ... }:
{
disko.devices = {
disk = {
main = {
type = "disk";
device = "/dev/disk/by-id/ata-SanDisk_Ultra_II_480GB_162224802391";
content = {
type = "gpt";
partitions = {
MBR = {
size = "1M";
type = "EF02"; # For GRUB MBR
};
boot = {
size = "500M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
zfs = {
size = "100%";
content = {
type = "zfs";
pool = "rpool";
};
};
};
};
};
};
zpool = {
rpool = {
type = "zpool";
options = {
ashift = "12";
};
rootFsOptions = {
compression = "zstd";
acltype = "posix";
atime = "off";
xattr = "sa";
dnodesize = "auto";
mountpoint = "none";
canmount = "off";
devices = "off";
exec = "off";
setuid = "off";
};
datasets = {
"local" = {
type = "zfs_fs";
};
"local/root" = {
type = "zfs_fs";
mountpoint = "/";
options = {
canmount = "noauto";
mountpoint = "/";
exec = "on";
setuid = "on";
};
postCreateHook = "zfs snapshot rpool/local/root@blank";
};
"local/nix" = {
type = "zfs_fs";
mountpoint = "/nix";
options = {
canmount = "noauto";
mountpoint = "/nix";
exec = "on";
setuid = "on";
};
};
"local/state" = {
type = "zfs_fs";
mountpoint = "/state";
options = {
canmount = "noauto";
mountpoint = "/state";
};
};
"safe" = {
type = "zfs_fs";
};
"safe/persist" = {
type = "zfs_fs";
mountpoint = "/persist";
options = {
canmount = "noauto";
mountpoint = "/persist";
};
};
};
};
};
};
}

View File

@@ -22,13 +22,14 @@
];
initrd.kernelModules = [ ];
initrd.supportedFilesystems = [ "zfs" ];
blacklistedKernelModules = [ "amdgpu" ];
kernelModules = [ "kvm-intel" ];
kernelParams = [ "elevator=none" ];
extraModulePackages = [ ];
supportedFilesystems = [ "zfs" ];
};
powerManagement.cpuFreqGovernor = "schedutil";
fileSystems."/" = {
device = "rpool/system/root";
fsType = "zfs";

View File

@@ -1,21 +1,25 @@
# Hypnos
## Overview
15-inch MacBook Pro 11,3 (Mid 2014).
## Specs
* CPU - Intel Core i7-4870HQ @ 2.50GHz
* Memory - 16 GB DDR3
* GPU - Intel Iris Pro 5200
* GPU - NVIDIA GeForce GT 750M
* NIC - Broadcom BCM43xx 802.11ac
- CPU - Intel Core i7-4870HQ @ 2.50GHz
- Memory - 16 GB DDR3
- GPU - Intel Iris Pro 5200
- GPU - NVIDIA GeForce GT 750M
- NIC - Broadcom BCM43xx 802.11ac
### Disks
Device | Partitions _(filesystem, size, usage)_
--- | ---
Apple SSD SM0512F | `/dev/sda1` (EFI, 256 MiB, NixOS Boot) <br> `/dev/sda2` (ZFS, 500 GiB, NixOS Root)
#### ZFS pool layout
```
rpool/
├── local
@@ -31,5 +35,6 @@ rpool/
See [Graham Christensen's article](https://grahamc.com/blog/nixos-on-zfs/#datasets) for the motivation behind these datasets.
### Networks
- DHCP on `10.0.1.0/24` subnet.
- Tailscale on `100.64.0.0/10` subnet. FQDN: `hypnos.mesh.vimium.net`.

View File

@@ -11,12 +11,14 @@
./hardware-configuration.nix
./disko-config.nix
../desktop.nix
../../users/jordan
];
nixpkgs = {
hostPlatform = "x86_64-linux";
config = {
nvidia.acceptLicense = true;
permittedInsecurePackages = [ "broadcom-sta-6.30.223.271-57-6.12.41" ];
};
};

View File

@@ -1,21 +1,25 @@
# Library
## Overview
Media and public file server.
## Specs
* CPU - AMD Ryzen 5 5600G @ 3.90GHz
* Chipset - AMD B550
* Memory - 64 GB DDR4
* Motherboard - ASRock B550M Pro4
* Case - Fractal Design Node 804
- CPU - AMD Ryzen 5 5600G @ 3.90GHz
- Chipset - AMD B550
- Memory - 64 GB DDR4
- Motherboard - ASRock B550M Pro4
- Case - JMCD-12S4
### Disks
Device | Partitions _(filesystem, size, usage)_
--- | ---
Samsung 980 Evo | `/dev/nvme0n1p1` (EFI, 512 MiB, NixOS Boot) <br> `/dev/nvme0n1p2` (ZFS `rpool`, 200 GiB, NixOS Root)
Samsung 970 Evo Plus | `/dev/nvme0n1p1` (EFI, 512 MiB, NixOS Boot) <br> `/dev/nvme0n1p2` (ZFS `rpool`, 200 GiB, NixOS Root)
#### ZFS datasets
```
rpool/
├── local
@@ -41,5 +45,6 @@ library/
See [Graham Christensen's article](https://grahamc.com/blog/nixos-on-zfs/#datasets) for the motivation behind the `rpool` datasets.
### Networks
- DHCP on `10.0.1.0/24` subnet.
- Tailscale on `100.64.0.0/10` subnet. FQDN: `library.mesh.vimium.net`.

View File

@@ -26,9 +26,21 @@
ENABLE_OAUTH_ROLE_MANAGEMENT = "True";
OAUTH_CLIENT_ID = clientId;
OAUTH_PROVIDER_NAME = "Vimium";
OFFLINE_MODE = "True";
OPENID_PROVIDER_URL = "https://auth.vimium.com/oauth2/openid/${clientId}/.well-known/openid-configuration";
OPENID_REDIRECT_URI = "${publicUrl}/oauth/oidc/callback";
};
environmentFile = config.age.secrets."files/services/open-webui/envfile".path;
};
modules.services.borgmatic.directories = [
"/var/lib/private/open-webui"
];
environment.persistence."/persist".directories = [
{
directory = "/var/lib/private/open-webui";
mode = "0700";
}
];
}

View File

@@ -8,6 +8,7 @@
./ai.nix
./grafana.nix
./jellyfin.nix
./jellysearch.nix
./nginx.nix
./prometheus.nix
./tunnel.nix
@@ -19,7 +20,10 @@
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
zfs.extraPools = [ "library" ];
zfs.extraPools = [
"downloads"
"library"
];
};
networking = {

View File

@@ -1,4 +1,5 @@
{
config,
...
}:
@@ -13,4 +14,13 @@
};
};
};
environment.persistence."/persist".directories = [
{
directory = config.services.grafana.dataDir;
user = "grafana";
group = "grafana";
mode = "0700";
}
];
}

View File

@@ -24,6 +24,22 @@
dataDir = "/var/lib/jellyfin";
};
environment.persistence."/state".directories = [
{
directory = config.services.jellyfin.cacheDir;
inherit (config.services.jellyfin) user group;
mode = "0700";
}
];
environment.persistence."/persist".directories = [
{
directory = config.services.jellyfin.dataDir;
inherit (config.services.jellyfin) user group;
mode = "0700";
}
];
modules.services.borgmatic.directories = [
config.services.jellyfin.dataDir
];

View File

@@ -0,0 +1,62 @@
{
inputs,
config,
pkgs,
...
}:
{
age.secrets."files/services/meilisearch/envfile" = {
file = "${inputs.secrets}/files/services/meilisearch/envfile.age";
};
services.meilisearch = {
enable = true;
package = pkgs.meilisearch;
masterKeyEnvironmentFile = config.age.secrets."files/services/meilisearch/envfile".path;
};
users.users.jellysearch = {
group = "jellysearch";
isSystemUser = true;
};
users.groups.jellysearch = { };
systemd.services.jellysearch = {
enable = true;
description = "JellySearch";
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
serviceConfig = {
Restart = "on-failure";
ExecStart = "${pkgs.jellysearch}/bin/jellysearch";
StateDirectory = "jellysearch";
StateDirectoryMode = "0750";
WorkingDirectory = "/var/lib/jellysearch";
EnvironmentFile = config.age.secrets."files/services/meilisearch/envfile".path;
NoNewPrivileges = true;
SystemCallArchitectures = "native";
RestrictRealtime = true;
RestrictSUIDSGID = true;
ProtectHostname = true;
LockPersonality = true;
PrivateDevices = true;
PrivateUsers = true;
RemoveIPC = true;
};
environment = {
DOTNET_ENVIRONMENT = "Production";
INDEX_CRON = "0 0 0/2 ? * * *";
JELLYFIN_URL = "http://localhost:8096";
JELLYFIN_CONFIG_DIR = "${toString config.services.jellyfin.dataDir}";
MEILI_URL = "http://localhost:${toString config.services.meilisearch.listenPort}";
};
};
environment.persistence."/state".directories = [
config.systemd.services.jellysearch.serviceConfig.WorkingDirectory
];
}

View File

@@ -42,9 +42,7 @@
];
locations."/" = {
proxyPass = "http://localhost:8081";
extraConfig =
proxyConfig
+ ''
extraConfig = proxyConfig + ''
# Disable proxy buffering for better streaming response from models
proxy_buffering off;
@@ -63,9 +61,16 @@
}
];
locations."/" = {
proxyPass = "http://localhost:8096";
extraConfig =
proxyConfig
extraConfig = ''
# Proxy JellySearch first
if ($arg_searchTerm) {
proxy_pass http://localhost:5000;
break;
}
proxy_pass http://localhost:8096;
''
+ proxyConfig
+ ''
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;

View File

@@ -32,4 +32,13 @@
}
];
};
environment.persistence."/state".directories = [
{
directory = "/var/lib/${config.services.prometheus.stateDir}";
user = "prometheus";
group = "prometheus";
mode = "0700";
}
];
}

View File

@@ -1,17 +1,21 @@
# Mail server
## Overview
Mail server hosted in OVH.
## Specs
* CPU - ??
* Memory - ??
- CPU - ??
- Memory - ??
### Disks
Device | Partitions _(filesystem, usage)_
--- | ---
NVMe | `/dev/sda1` (ext4, NixOS Root)
### Networks
- DHCP on `10.0.1.0/24` subnet.
- Tailscale on `100.64.0.0/10` subnet. FQDN: `mail.mesh.vimium.net`.

View File

@@ -85,4 +85,52 @@ in
smtp_destination_concurrency_limit = "20";
header_size_limit = "4096000";
};
environment.persistence."/persist".directories = [
{
directory = "/var/dkim";
user = "rspamd";
group = "rspamd";
mode = "0755";
}
{
directory = "/var/sieve";
user = "virtualMail";
group = "virtualMail";
mode = "0770";
}
{
directory = "/var/vmail";
user = "virtualMail";
group = "virtualMail";
mode = "0700";
}
{
directory = "/var/lib/rspamd";
user = "rspamd";
group = "rspamd";
mode = "0700";
}
{
directory = "/var/lib/redis-rspamd";
user = "redis-rspamd";
group = "redis-rspamd";
mode = "0700";
}
{
directory = "/var/lib/opendkim";
user = 221;
group = 221;
mode = "0700";
}
{
directory = "/var/lib/knot-resolver";
user = "knot-resolver";
group = "knot-resolver";
mode = "0770";
}
"/var/lib/dhparams"
"/var/lib/dovecot"
"/var/lib/postfix"
];
}

View File

@@ -1,22 +1,26 @@
# Odyssey
## Overview
Primary workstation.
## Specs
* CPU - AMD Ryzen 9 9950X3D @ 4.30GHz
* Chipset - AMD X870E
* Memory - 96 GB DDR5
* Motherboard - ASUS ProArt X870E-Creator WiFi
* GPU - NVIDIA RTX 3090
* Case - Thermaltake A500
- CPU - AMD Ryzen 9 9950X3D @ 4.30GHz
- Chipset - AMD X870E
- Memory - 96 GB DDR5
- Motherboard - ASUS ProArt X870E-Creator WiFi
- GPU - NVIDIA RTX 3090
- Case - Thermaltake A500
### Disks
Device | Partitions _(filesystem, size, usage)_
--- | ---
Samsung 980 Pro | `/dev/nvme0n1p1` (EFI, 512 MiB, NixOS Boot) <br> `/dev/nvme0n1p2` (ZFS, 2 TiB, NixOS Root)
#### ZFS pool layout
```
rpool/
├── local
@@ -32,5 +36,6 @@ rpool/
See [Graham Christensen's article](https://grahamc.com/blog/nixos-on-zfs/#datasets) for the motivation behind these datasets.
### Networks
- DHCP on `10.0.1.0/24` subnet.
- Tailscale on `100.64.0.0/10` subnet. FQDN: `odyssey.mesh.vimium.net`.

View File

@@ -10,6 +10,7 @@
./gitea-runner.nix
./nix-serve.nix
../desktop.nix
../../users/jordan
];
nixpkgs = {
@@ -39,7 +40,8 @@
virtualisation = {
libvirtd.enable = true;
lxd.enable = true;
# https://github.com/NixOS/nixpkgs/issues/422385
# lxd.enable = true;
};
services.sunshine = {

View File

@@ -34,6 +34,9 @@
powerOnBoot = true;
};
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
graphics = {
extraPackages = [ pkgs.vk-hdr-layer ];
};
nvidia = {
modesetting.enable = true;
open = true;

View File

@@ -1,19 +1,23 @@
# Pi
## Overview
Raspberry Pi 4
## Specs
* SoC - Broadcom BCM2711
* CPU - ARM Cortex-A72 @ 1.8 GHz
* Memory - 8 GB LPDDR4
- SoC - Broadcom BCM2711
- CPU - ARM Cortex-A72 @ 1.8 GHz
- Memory - 8 GB LPDDR4
### Disks
Device | Partitions _(filesystem, usage)_
--- | ---
SD card | `/dev/mmcblk0` (ext4, NixOS Root)
### Networks
- DHCP on `10.0.1.0/24` subnet.
- Tailscale on `100.64.0.0/10` subnet. FQDN: `pi.mesh.vimium.net`.

View File

@@ -9,6 +9,7 @@
inputs.nixos-hardware.nixosModules.raspberry-pi-4
./hardware-configuration.nix
./home-assistant
./snapcast.nix
../server.nix
];

View File

@@ -1,6 +1,5 @@
{
lib,
pkgs,
modulesPath,
...
}:
@@ -11,44 +10,6 @@
];
boot = {
kernelPackages =
let
version = "6.1.73";
tag = "stable_20240124";
srcHash = "sha256-P4ExzxWqZj+9FZr9U2tmh7rfs/3+iHEv0m74PCoXVuM=";
in
pkgs.linuxPackagesFor (
pkgs.linux_rpi4.override {
argsOverride = {
src = pkgs.fetchFromGitHub {
owner = "raspberrypi";
repo = "linux";
rev = tag;
hash = srcHash;
};
version = version;
modDirVersion = version;
structuredExtraConfig = { };
kernelPatches = [
{
name = "drm-rp1-depends-on-instead-of-select-MFD_RP1.patch";
patch = pkgs.fetchpatch {
url = "https://github.com/peat-psuwit/rpi-linux/commit/6de0bb51929cd3ad4fa27b2a421a2af12e6468f5.patch";
hash = "sha256-9pHcbgWTiztu48SBaLPVroUnxnXMKeCGt5vEo9V8WGw=";
};
}
{
name = "iommu-bcm2712-don-t-allow-building-as-module.patch";
patch = pkgs.fetchpatch {
url = "https://github.com/peat-psuwit/rpi-linux/commit/693a5e69bddbcbe1d1b796ebc7581c3597685b1b.patch";
hash = "sha256-8BYYQDM5By8cTk48ASYKJhGVQnZBIK4PXtV70UtfS+A=";
};
}
];
};
}
);
# Stop ZFS kernel being built
supportedFilesystems = lib.mkForce [
"btrfs"
@@ -69,23 +30,6 @@
(final: prev: {
makeModulesClosure = x: prev.makeModulesClosure (x // { allowMissing = true; });
})
(final: prev: {
raspberrypifw =
let
version = "1.20240529";
srcHash = "sha256-KsCo7ZG6vKstxRyFljZtbQvnDSqiAPdUza32xTY/tlA=";
in
pkgs.raspberrypifw.override {
argsOverride = {
src = prev.fetchFromGitHub {
owner = "raspberrypi";
repo = "firmware";
rev = "${version}";
hash = srcHash;
};
};
};
})
];
fileSystems = {

View File

@@ -63,7 +63,6 @@
};
media_player = [ ];
mobile_app = { };
onkyo = { };
open_meteo = { };
recorder = {
purge_keep_days = 365;
@@ -277,6 +276,15 @@
lovelaceConfigWritable = true;
};
environment.persistence."/persist".directories = [
{
directory = config.services.home-assistant.configDir;
user = "hass";
group = "hass";
mode = "0700";
}
];
modules.services.borgmatic.directories = [
config.services.home-assistant.configDir
];

View File

@@ -69,6 +69,21 @@
};
};
environment.persistence."/persist".directories = [
{
directory = config.services.zigbee2mqtt.dataDir;
user = "zigbee2mqtt";
group = "zigbee2mqtt";
mode = "0700";
}
{
directory = config.services.mosquitto.dataDir;
user = "mosquitto";
group = "mosquitto";
mode = "0700";
}
];
modules.services.borgmatic.directories = [
config.services.mosquitto.dataDir
config.services.zigbee2mqtt.dataDir

43
hosts/pi/snapcast.nix Normal file
View File

@@ -0,0 +1,43 @@
{
pkgs,
...
}:
{
# Put all sinks in pipewire group
services.pipewire.systemWide = true;
services.avahi = {
enable = true;
nssmdns4 = true;
publish = {
enable = true;
domain = true;
addresses = true;
};
};
services.snapserver = {
enable = true;
streams = {
default = {
type = "file";
location = "/var/lib/snapserver/test.wav";
sampleFormat = "44100:16:2";
codec = "flac";
};
};
};
systemd.services.snapclient = {
wantedBy = [ "multi-user.target" ];
after = [ "pipewire.service" ];
requires = [ "pipewire.service" ];
description = "Snapcast client";
serviceConfig = {
ExecStart = "${pkgs.snapcast}/bin/snapclient -h 127.0.0.1 --player pulse --mixer hardware";
DynamicUser = true;
SupplementaryGroups = [ "pipewire" ];
};
};
}

View File

@@ -50,11 +50,6 @@ in
AllowSuspend=no
AllowHibernation=no
'';
watchdog = {
runtimeTime = "20s";
rebootTime = "30s";
};
};
services.fail2ban = {
@@ -70,6 +65,13 @@ in
];
};
environment.persistence."/state".directories = [
{
directory = "/var/lib/fail2ban";
mode = "0750";
}
];
services.openssh.settings.PermitRootLogin = mkForce "prohibit-password";
modules.services.tailscale = {

View File

@@ -1,26 +1,32 @@
# Skycam
## Overview
Raspberry Pi 4-based webcam
## Specs
* SoC - Broadcom BCM2711
* CPU - ARM Cortex-A72 @ 1.8 GHz
* Memory - 8 GB LPDDR4
- SoC - Broadcom BCM2711
- CPU - ARM Cortex-A72 @ 1.8 GHz
- Memory - 8 GB LPDDR4
### Disks
Device | Partitions _(filesystem, usage)_
--- | ---
SD card | `/dev/mmcblk0` (ext4, NixOS Root)
### Networks
- DHCP on `10.0.1.0/24` subnet.
- Tailscale on `100.64.0.0/10` subnet. FQDN: `skycam.mesh.vimium.net`.
## Devices and connections
- Camera Module 3 with wide-angle lens
## Building
To generate a compressed SD card image for Skycam, run:
`nix build '.#nixosConfigurations.skycam.config.system.build.sdImage'`

View File

@@ -1,77 +1,16 @@
{
inputs,
config,
pkgs,
...
}:
{
imports = [
inputs.nixos-hardware.nixosModules.raspberry-pi-4
./hardware-configuration.nix
../server.nix
];
nixpkgs.hostPlatform = "aarch64-linux";
hardware = {
raspberry-pi."4" = {
apply-overlays-dtmerge.enable = true;
audio.enable = false;
xhci.enable = false;
};
deviceTree = {
enable = true;
filter = "*rpi-4-*.dtb";
# From https://github.com/Electrostasy/dots/blob/3b81723feece67610a252ce754912f6769f0cd34/hosts/phobos/klipper.nix#L43-L65
overlays =
let
mkCompatibleDtsFile =
dtbo:
let
drv =
pkgs.runCommand "fix-dts"
{
nativeBuildInputs = with pkgs; [
dtc
gnused
];
}
''
mkdir "$out"
dtc -I dtb -O dts ${dtbo} | sed -e 's/bcm2835/bcm2711/' > $out/overlay.dts
'';
in
"${drv}/overlay.dts";
inherit (config.boot.kernelPackages) kernel;
in
[
{
name = "imx708.dtbo";
dtsFile = mkCompatibleDtsFile "${kernel}/dtbs/overlays/imx708.dtbo";
}
{
name = "vc4-kms-v3d-pi4.dtbo";
dtsFile = mkCompatibleDtsFile "${kernel}/dtbs/overlays/vc4-kms-v3d-pi4.dtbo";
}
];
};
firmware = with pkgs; [
firmwareLinuxNonfree
];
};
services.udev.extraRules = ''
SUBSYSTEM=="rpivid-*", GROUP="video", MODE="0660"
KERNEL=="vcsm-cma", GROUP="video", MODE="0660"
SUBSYSTEM=="dma_heap", GROUP="video", MODE="0660"
'';
nixpkgs.overlays = [
(import ./../../overlays/libcamera.nix)
];
networking = {
hostId = "731d1660";
firewall = {
@@ -81,37 +20,84 @@
};
};
systemd.services.ustreamer = {
services.go2rtc =
let
rpicam-vid = "${pkgs.rpicam-apps}/bin/rpicam-vid";
in
{
enable = true;
description = "uStreamer service";
unitConfig = {
Type = "simple";
ConditionPathExists = "/sys/bus/i2c/drivers/imx708/10-001a/video4linux";
settings = {
log.level = "debug";
streams.rpicam = "exec:${rpicam-vid} -v1 -t0 -o- --inline --flush=1 --width=4608 --height=2592 --framerate=1 --codec mjpeg --quality 90 --denoise=cdn_off --sharpness 1.25 --exposure long --gain 3";
};
};
systemd.services = {
daily-reboot = {
description = "Daily system reboot";
serviceConfig = {
ExecStart = ''
${pkgs.libcamera}/bin/libcamerify ${pkgs.unstable.ustreamer}/bin/ustreamer \
--host=0.0.0.0 \
--resolution=4608x2592
'';
DynamicUser = "yes";
SupplementaryGroups = [ "video" ];
Restart = "always";
RestartSec = 10;
Type = "oneshot";
ExecStart = "/run/current-system/sw/bin/reboot";
Restart = "no";
};
wantedBy = [ "network-online.target" ];
confinement.mode = "chroot-only";
};
skycam-archiver =
let
snapshotScript = pkgs.writeShellScript "skycam-archiver" ''
${pkgs.lib.getExe pkgs.curl} -s -o "/var/lib/skycam-archiver/snapshot-$(date +%Y%m%d-%H%M%S).jpg" "http://skycam.mesh.vimium.net:1984/api/frame.jpeg?src=rpicam"
'';
in
{
description = "Capture skycam snapshot and save with timestamp";
serviceConfig = {
Type = "oneshot";
StateDirectory = "skycam-archiver";
ExecStart = "${snapshotScript}";
};
requires = [ "go2rtc.service" ];
after = [ "go2rtc.service" ];
};
};
systemd.timers = {
daily-reboot = {
description = "Timer for daily system reboot";
wantedBy = [ "timers.target" ];
timerConfig = {
OnCalendar = "*-*-* 03:00:00";
Persistent = false;
};
};
skycam-archiver = {
description = "Timer for capturing skycam snapshots every 30 minutes";
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "5min";
OnUnitActiveSec = "30min";
Unit = "skycam-archiver.service";
};
};
};
environment.persistence."/persist".directories = [
"/var/lib/skycam-archiver"
];
modules.services.borgmatic = {
enable = true;
directories = [
"/var/lib/skycam-archiver"
];
repoPath = "ssh://m94ekv2i@m94ekv2i.repo.borgbase.com/./repo";
};
environment.systemPackages = with pkgs; [
camera-streamer
git
neovim
libcamera
libraspberrypi
raspberrypi-eeprom
v4l-utils
unstable.ustreamer
rpicam-apps
];
system.stateVersion = "24.05";

View File

@@ -1,18 +1,29 @@
{
inputs,
config,
lib,
pkgs,
modulesPath,
...
}:
{
imports = [
inputs.nixos-hardware.nixosModules.raspberry-pi-4
(modulesPath + "/installer/sd-card/sd-image-aarch64.nix")
];
boot = {
kernelModules = [ "bcm2835-v4l2" ];
kernelPatches = [
{
name = "cache-ls-table-dmabuf";
patch = pkgs.fetchurl {
url = "https://github.com/raspberrypi/linux/pull/6429.patch";
sha256 = "sha256-fEd+SgnjQXjAm1UcZTkHHPafmVeK/IySdLzhKI7DbS0=";
};
}
];
kernelParams = [
"cma=512M"
"panic=0"
];
supportedFilesystems = lib.mkForce [
@@ -23,6 +34,61 @@
tmp.cleanOnBoot = false;
};
hardware = {
raspberry-pi."4" = {
apply-overlays-dtmerge.enable = true;
audio.enable = false;
xhci.enable = false;
};
deviceTree = {
enable = true;
filter = "*rpi-4-*.dtb";
# From https://github.com/Electrostasy/dots/blob/3b81723feece67610a252ce754912f6769f0cd34/hosts/phobos/klipper.nix#L43-L65
overlays =
let
mkCompatibleDtsFile =
dtbo:
let
drv =
pkgs.runCommand "fix-dts"
{
nativeBuildInputs = with pkgs; [
dtc
gnused
];
}
''
mkdir "$out"
dtc -I dtb -O dts ${dtbo} | sed -e 's/bcm2835/bcm2711/' > $out/overlay.dts
'';
in
"${drv}/overlay.dts";
inherit (config.boot.kernelPackages) kernel;
in
[
{
name = "imx708.dtbo";
dtsFile = mkCompatibleDtsFile "${kernel}/dtbs/overlays/imx708.dtbo";
}
{
name = "vc4-kms-v3d-pi4.dtbo";
dtsFile = mkCompatibleDtsFile "${kernel}/dtbs/overlays/vc4-kms-v3d-pi4.dtbo";
}
];
};
firmware = with pkgs; [
firmwareLinuxNonfree
];
};
services.udev.extraRules = ''
SUBSYSTEM=="rpivid-*", GROUP="video", MODE="0660"
KERNEL=="vcsm-cma", GROUP="video", MODE="0660"
SUBSYSTEM=="dma_heap", GROUP="video", MODE="0660"
SUBSYSTEM=="dma_heap", KERNEL=="linux,cma", SYMLINK+="dma_heap/vidbuf_cached", OPTIONS+="link_priority=-50"
'';
nixpkgs.overlays = [
(final: super: {
makeModulesClosure = x: super.makeModulesClosure (x // { allowMissing = true; });

View File

@@ -1,17 +1,21 @@
# vps1
## Overview
VPS hosted in OVH.
## Specs
* CPU - ??
* Memory - ??
- CPU - ??
- Memory - ??
### Disks
Device | Partitions _(filesystem, usage)_
--- | ---
NVMe | `/dev/sda1` (ext4, NixOS Root)
### Networks
- DHCP on `10.0.1.0/24` subnet.
- Tailscale on `100.64.0.0/10` subnet. FQDN: `vps1.mesh.vimium.net`.

View File

@@ -40,8 +40,7 @@ in
};
};
age.secrets =
{
age.secrets = {
"passwords/services/coturn/static-auth-secret" = {
file = "${inputs.secrets}/passwords/services/coturn/static-auth-secret.age";
owner = "turnserver";

View File

@@ -11,7 +11,6 @@
./kanidm.nix
./matrix.nix
./nginx.nix
./outline.nix
./photoprism.nix
../server.nix
];

View File

@@ -86,4 +86,12 @@ in
packages.CHUNKED_UPLOAD_PATH = lib.mkForce "${stateDir}/data/tmp/package-upload";
};
};
environment.persistence."/persist".directories = [
{
directory = config.services.gitea.stateDir;
inherit (config.services.gitea) user group;
mode = "0700";
}
];
}

View File

@@ -48,6 +48,13 @@ in
};
};
environment.persistence."/persist".directories = [
{
directory = "/var/lib/headscale";
inherit (config.services.headscale) user group;
}
];
services.nginx.virtualHosts = {
"${domain}" = {
forceSSL = true;

View File

@@ -49,4 +49,13 @@ in
postRun = "systemctl restart kanidm.service";
group = "acme";
};
environment.persistence."/persist".directories = [
{
directory = "/var/lib/kanidm";
user = "kanidm";
group = "kanidm";
mode = "0700";
}
];
}

View File

@@ -63,8 +63,7 @@ in
};
};
services.nginx.virtualHosts =
{
services.nginx.virtualHosts = {
"${matrixSubdomain}" = {
forceSSL = true;
enableACME = true;
@@ -176,8 +175,7 @@ in
);
services.postgresql = lib.mkIf usePostgresql {
ensureUsers =
[
ensureUsers = [
{
name = "matrix-synapse";
ensureDBOwnership = true;
@@ -191,8 +189,7 @@ in
name = "mautrix-whatsapp";
ensureDBOwnership = true;
});
ensureDatabases =
[
ensureDatabases = [
"matrix-synapse"
]
++ (lib.optional bridges.signal "mautrix-signal")
@@ -216,6 +213,26 @@ in
};
mute_bridging = true;
};
} // commonBridgeSettings "mautrix-whatsapp";
}
// commonBridgeSettings "mautrix-whatsapp";
};
environment.persistence."/persist".directories = [
{
directory = config.services.matrix-synapse.dataDir;
user = "matrix-synapse";
group = "matrix-synapse";
mode = "0700";
}
{
directory = "/var/lib/mautrix-signal";
user = "mautrix-signal";
group = "mautrix-signal";
}
{
directory = "/var/lib/mautrix-whatsapp";
user = "mautrix-whatsapp";
group = "mautrix-whatsapp";
}
];
}

View File

@@ -82,8 +82,7 @@ in
maxSize = "100m";
};
};
virtualHosts =
{
virtualHosts = {
## Static sites
"chat.ai.vimium.com" = {
forceSSL = true;
@@ -136,13 +135,16 @@ in
enableACME = true;
serverAliases = [ "www.jdholt.com" ];
extraConfig = nginxErrorPages + nginxEdgeHeaders + nginxStrictHeaders;
locations."/skycam" = {
root = "/var/www/jdholt.com";
};
locations."/skycam/snapshot.jpg" = {
extraConfig = ''
set $backend "skycam.mesh.vimium.net:8080";
set $backend "skycam.mesh.vimium.net:1984";
resolver 100.100.100.100;
proxy_pass http://$backend/snapshot;
proxy_pass http://$backend/api/frame.jpeg?src=rpicam;
proxy_cache skycam_cache;
proxy_cache_valid any 10s;
proxy_ignore_headers Cache-Control Expires Set-Cookie;

View File

@@ -1,51 +0,0 @@
{
inputs,
config,
...
}:
let
domain = "outline.vimium.com";
in
{
services.nginx.virtualHosts = {
"${domain}" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://127.0.0.1:3000";
extraConfig = ''
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
'';
};
};
};
age.secrets."passwords/services/outline/oidc-client-secret" = {
file = "${inputs.secrets}/passwords/services/outline/oidc-client-secret.age";
owner = "outline";
group = "outline";
};
services.outline = {
enable = true;
forceHttps = false;
oidcAuthentication = {
clientId = "outline";
clientSecretFile = config.age.secrets."passwords/services/outline/oidc-client-secret".path;
displayName = "Vimium";
authUrl = "https://auth.vimium.com/ui/oauth2";
tokenUrl = "https://auth.vimium.com/oauth2/token";
userinfoUrl = "https://auth.vimium.com/oauth2/openid/outline/userinfo";
};
publicUrl = "https://${domain}";
storage.storageType = "local";
};
}

View File

@@ -32,6 +32,14 @@ in
file = "${inputs.secrets}/passwords/services/photoprism/admin.age";
};
environment.persistence."/persist".directories = [
{
directory = "/var/lib/private/photoprism";
user = "photoprism";
group = "photoprism";
}
];
services.photoprism = {
enable = true;
address = "localhost";

31
hosts/vps2/default.nix Normal file
View File

@@ -0,0 +1,31 @@
{
inputs,
...
}:
{
imports = [
inputs.disko.nixosModules.disko
./hardware-configuration.nix
./disko-config.nix
../server.nix
];
nixpkgs = {
hostPlatform = "x86_64-linux";
};
networking = {
hostId = "60de4af8";
firewall = {
enable = true;
allowedTCPPorts = [
22 # SSH
];
};
};
modules.services.tailscale.isExitNode = true;
system.stateVersion = "25.05";
}

View File

@@ -0,0 +1,55 @@
{ lib, ... }:
{
disko.devices = {
disk.disk1 = {
device = lib.mkDefault "/dev/sda";
type = "disk";
content = {
type = "gpt";
partitions = {
boot = {
name = "boot";
size = "2M";
type = "EF02";
};
esp = {
name = "ESP";
size = "300M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
root = {
name = "root";
size = "100%";
content = {
type = "lvm_pv";
vg = "pool";
};
};
};
};
};
lvm_vg = {
pool = {
type = "lvm_vg";
lvs = {
root = {
size = "100%FREE";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
mountOptions = [
"defaults"
];
};
};
};
};
};
};
}

View File

@@ -0,0 +1,29 @@
{
modulesPath,
...
}:
{
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot = {
initrd = {
availableKernelModules = [
"ata_piix"
"uhci_hcd"
"xen_blkfront"
"vmw_pvscsi"
];
kernelModules = [ "nvme" ];
};
loader.grub = {
efiSupport = true;
efiInstallAsRemovable = true;
};
tmp.cleanOnBoot = true;
};
zramSwap.enable = true;
}

View File

@@ -0,0 +1,147 @@
{
config,
pkgs,
lib,
...
}:
let
inherit (lib)
attrNames
flip
isAttrs
mapAttrs
mkIf
mkMerge
mkOption
optionals
types
;
in
{
boot.zfs.forceImportRoot = false;
boot.initrd.systemd.enable = true;
boot.initrd.systemd.services.impermanence-rollback =
mkIf
(config.environment.persistence."/persist".enable || config.environment.persistence."/state".enable)
{
description = "Rollback root filesystem";
wantedBy = [ "initrd.target" ];
after = [ "zfs-import-rpool.service" ];
before = [ "sysroot.mount" ];
unitConfig.DefaultDependencies = "no";
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.zfs}/bin/zfs rollback -r rpool/local/root@blank";
};
};
age.identityPaths = [
"/persist/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key"
];
fileSystems."/state" = mkIf config.environment.persistence."/state".enable {
neededForBoot = true;
};
environment.persistence."/state" = {
enable = false;
hideMounts = true;
directories = [
"/var/lib/systemd"
"/var/log"
"/var/spool"
];
};
fileSystems."/persist" = mkIf config.environment.persistence."/persist".enable {
neededForBoot = true;
};
environment.persistence."/persist" = {
enable = false;
hideMounts = true;
files = [
(mkIf (!config.boot.isContainer) "/etc/machine-id")
"/etc/adjtime"
"/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key.pub"
];
directories = [
"/var/lib/nixos"
]
++ optionals config.security.acme.acceptTerms [
{
directory = "/var/lib/acme";
user = "acme";
group = "acme";
mode = "0755";
}
]
++ optionals config.services.printing.enable [
{
directory = "/var/lib/cups";
mode = "0700";
}
]
++ optionals config.hardware.bluetooth.enable [
"/var/lib/bluetooth"
];
};
users.mutableUsers = !config.environment.persistence."/persist".enable;
# For each user that has a home-manager config, merge the locally defined
# persistence options that we defined above.
imports =
let
mkUserFiles = map (
x: { parentDirectory.mode = "700"; } // (if isAttrs x then x else { file = x; })
);
mkUserDirs = map (x: { mode = "700"; } // (if isAttrs x then x else { directory = x; }));
in
[
{
environment.persistence = mkMerge (
flip map (attrNames config.home-manager.users) (
user:
let
hmUserCfg = config.home-manager.users.${user};
in
flip mapAttrs hmUserCfg.home.persistence (
_: sourceCfg: {
users.${user} = {
files = mkUserFiles sourceCfg.files;
directories = mkUserDirs sourceCfg.directories;
};
}
)
)
);
}
];
home-manager.sharedModules = [
{
options.home.persistence = mkOption {
description = "Additional persistence config for the given source path";
default = { };
type = types.attrsOf (
types.submodule {
options = {
files = mkOption {
description = "Additional files to persist via NixOS impermanence.";
type = types.listOf (types.either types.attrs types.str);
default = [ ];
};
directories = mkOption {
description = "Additional directories to persist via NixOS impermanence.";
type = types.listOf (types.either types.attrs types.str);
default = [ ];
};
};
}
);
};
}
];
}

View File

@@ -40,6 +40,10 @@ in
};
environment.persistence."/persist".directories = [
"/var/lib/containers/storage"
];
networking.firewall.interfaces."podman+" = {
allowedUDPPorts = [ 53 ];
allowedTCPPorts = [ 53 ];

View File

@@ -64,7 +64,8 @@ in
];
# Add `pg_dumpall` to unit environment
systemd.services.borgmatic.path = [ config.services.postgresql.package ];
systemd.services.borgmatic.path =
if config.services.postgresql.enable then [ config.services.postgresql.package ] else [ ];
# Without this override, `cat` is unavailable for `encryption_passcommand`
systemd.services.borgmatic.confinement.fullUnit = true;

View File

@@ -30,6 +30,15 @@ in
};
};
environment.persistence."/persist".directories = [
{
directory = "/var/lib/postgresql";
user = "postgres";
group = "postgres";
mode = "0700";
}
];
services.borgmatic.settings = {
postgresql_databases = [
{

View File

@@ -17,6 +17,14 @@ in
default = false;
example = true;
};
isExitNode = lib.mkOption {
default = false;
example = true;
};
useExitNode = lib.mkOption {
default = false;
example = true;
};
restrictSSH = lib.mkOption {
default = true;
example = true;
@@ -37,7 +45,8 @@ in
extraUpFlags = [
"--login-server"
headscale
];
]
++ (if cfg.isExitNode then [ "--advertise-exit-node" ] else [ ]);
};
services.openssh.openFirewall = !cfg.restrictSSH;
@@ -47,5 +56,9 @@ in
trustedInterfaces = [ "tailscale0" ];
allowedUDPPorts = [ config.services.tailscale.port ];
};
environment.persistence."/state".directories = [
"/var/lib/tailscale"
];
};
}

View File

@@ -70,5 +70,11 @@ in
gnomeExtensions.worksets
gnomeExtensions.workspace-matrix
];
environment.persistence."/persist".directories = [
"/etc/NetworkManager"
"/var/lib/AccountsService"
"/var/lib/NetworkManager"
];
};
}

26
nix/devshell.nix Normal file
View File

@@ -0,0 +1,26 @@
{ inputs, ... }:
{
imports = [
inputs.devshell.flakeModule
];
perSystem =
{ config, pkgs, ... }:
{
devshells.default = {
commands = [
{
package = config.treefmt.build.wrapper;
help = "Format all files";
}
{
package = pkgs.deploy-rs;
name = "deploy";
help = "Deploy this nix-config to remote hosts";
}
];
devshell.startup.pre-commit.text = config.pre-commit.installationScript;
};
};
}

61
nix/hosts.nix Normal file
View File

@@ -0,0 +1,61 @@
{
inputs,
...
}:
{
flake =
{ config, lib, ... }:
let
domain = "mesh.vimium.net";
mkDeployNode = hostName: {
hostname = "${hostName}.${domain}";
profiles.system = {
user = "root";
path =
inputs.deploy-rs.lib.${
config.nixosConfigurations.${hostName}.config.system.build.toplevel.system
}.activate.nixos
config.nixosConfigurations.${hostName};
};
};
in
{
nixosConfigurations = lib.pipe ../hosts [
builtins.readDir
(lib.filterAttrs (name: value: value == "directory"))
(lib.mapAttrs (
name: value:
inputs.nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
inputs.impermanence.nixosModules.impermanence
{
networking = {
inherit domain;
hostName = name;
};
}
../hosts/${name}
];
}
))
];
deploy = {
magicRollback = true;
autoRollback = true;
sshUser = "root";
nodes = lib.genAttrs [
"artemis"
"mail"
"pi"
"skycam"
"vps1"
"vps2"
] mkDeployNode;
};
};
}

View File

@@ -1,24 +0,0 @@
From 625939e594ce255afa3fab3a40c3e524460e1f8b Mon Sep 17 00:00:00 2001
From: Jordan Holt <jordan@vimium.com>
Date: Sat, 10 Aug 2024 18:28:08 +0100
Subject: [PATCH] Ignore IPA signing
---
src/libcamera/ipa_manager.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp
index 6d5bbd05..43004175 100644
--- a/src/libcamera/ipa_manager.cpp
+++ b/src/libcamera/ipa_manager.cpp
@@ -295,7 +295,7 @@ bool IPAManager::isSignatureValid([[maybe_unused]] IPAModule *ipa) const
if (data.empty())
return false;
- bool valid = pubKey_.verify(data, ipa->signature());
+ bool valid = true;
LOG(IPAManager, Debug)
<< "IPA module " << ipa->path() << " signature is "
--
2.44.1

View File

@@ -1,141 +0,0 @@
From 57128bb78f56cadf9e2dcca5ba4d710c3bd478a7 Mon Sep 17 00:00:00 2001
From: Jordan Holt <jordan@vimium.com>
Date: Mon, 5 Aug 2024 21:53:09 +0100
Subject: [PATCH] Remove relative config lookups
---
src/libcamera/ipa_manager.cpp | 16 ----------
src/libcamera/ipa_proxy.cpp | 48 ++----------------------------
src/libcamera/pipeline_handler.cpp | 21 ++-----------
3 files changed, 4 insertions(+), 81 deletions(-)
diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp
index f4e0b633..6d5bbd05 100644
--- a/src/libcamera/ipa_manager.cpp
+++ b/src/libcamera/ipa_manager.cpp
@@ -131,22 +131,6 @@ IPAManager::IPAManager()
<< "No IPA found in '" << modulePaths << "'";
}
- /*
- * When libcamera is used before it is installed, load IPAs from the
- * same build directory as the libcamera library itself.
- */
- std::string root = utils::libcameraBuildPath();
- if (!root.empty()) {
- std::string ipaBuildPath = root + "src/ipa";
- constexpr int maxDepth = 2;
-
- LOG(IPAManager, Info)
- << "libcamera is not installed. Adding '"
- << ipaBuildPath << "' to the IPA search path";
-
- ipaCount += addDir(ipaBuildPath.c_str(), maxDepth);
- }
-
/* Finally try to load IPAs from the installed system path. */
ipaCount += addDir(IPA_MODULE_DIR);
diff --git a/src/libcamera/ipa_proxy.cpp b/src/libcamera/ipa_proxy.cpp
index 69975d8f..cd9284a3 100644
--- a/src/libcamera/ipa_proxy.cpp
+++ b/src/libcamera/ipa_proxy.cpp
@@ -122,33 +122,11 @@ std::string IPAProxy::configurationFile(const std::string &name,
}
}
- std::string root = utils::libcameraSourcePath();
- if (!root.empty()) {
- /*
- * When libcamera is used before it is installed, load
- * configuration files from the source directory. The
- * configuration files are then located in the 'data'
- * subdirectory of the corresponding IPA module.
- */
- std::string ipaConfDir = root + "src/ipa/" + ipaName + "/data";
-
- LOG(IPAProxy, Info)
- << "libcamera is not installed. Loading IPA configuration from '"
- << ipaConfDir << "'";
-
- std::string confPath = ipaConfDir + "/" + name;
+ for (const auto &dir : utils::split(IPA_CONFIG_DIR, ":")) {
+ std::string confPath = dir + "/" + ipaName + "/" + name;
ret = stat(confPath.c_str(), &statbuf);
if (ret == 0 && (statbuf.st_mode & S_IFMT) == S_IFREG)
return confPath;
-
- } else {
- /* Else look in the system locations. */
- for (const auto &dir : utils::split(IPA_CONFIG_DIR, ":")) {
- std::string confPath = dir + "/" + ipaName + "/" + name;
- ret = stat(confPath.c_str(), &statbuf);
- if (ret == 0 && (statbuf.st_mode & S_IFMT) == S_IFREG)
- return confPath;
- }
}
if (fallbackName.empty()) {
@@ -197,28 +175,6 @@ std::string IPAProxy::resolvePath(const std::string &file) const
}
}
- /*
- * When libcamera is used before it is installed, load proxy workers
- * from the same build directory as the libcamera directory itself.
- * This requires identifying the path of the libcamera.so, and
- * referencing a relative path for the proxy workers from that point.
- */
- std::string root = utils::libcameraBuildPath();
- if (!root.empty()) {
- std::string ipaProxyDir = root + "src/libcamera/proxy/worker";
-
- LOG(IPAProxy, Info)
- << "libcamera is not installed. Loading proxy workers from '"
- << ipaProxyDir << "'";
-
- std::string proxyPath = ipaProxyDir + proxyFile;
- if (!access(proxyPath.c_str(), X_OK))
- return proxyPath;
-
- return std::string();
- }
-
- /* Else try finding the exec target from the install directory. */
std::string proxyPath = std::string(IPA_PROXY_DIR) + proxyFile;
if (!access(proxyPath.c_str(), X_OK))
return proxyPath;
diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp
index 5ea2ca78..fd8555ca 100644
--- a/src/libcamera/pipeline_handler.cpp
+++ b/src/libcamera/pipeline_handler.cpp
@@ -561,25 +561,8 @@ std::string PipelineHandler::configurationFile(const std::string &subdir,
struct stat statbuf;
int ret;
- std::string root = utils::libcameraSourcePath();
- if (!root.empty()) {
- /*
- * When libcamera is used before it is installed, load
- * configuration files from the source directory. The
- * configuration files are then located in the 'data'
- * subdirectory of the corresponding pipeline handler.
- */
- std::string confDir = root + "src/libcamera/pipeline/";
- confPath = confDir + subdir + "/data/" + name;
-
- LOG(Pipeline, Info)
- << "libcamera is not installed. Loading platform configuration file from '"
- << confPath << "'";
- } else {
- /* Else look in the system locations. */
- confPath = std::string(LIBCAMERA_DATA_DIR)
- + "/pipeline/" + subdir + '/' + name;
- }
+ confPath = std::string(LIBCAMERA_DATA_DIR)
+ + "/pipeline/" + subdir + '/' + name;
ret = stat(confPath.c_str(), &statbuf);
if (ret == 0 && (statbuf.st_mode & S_IFMT) == S_IFREG)
--
2.44.1

View File

@@ -1,65 +0,0 @@
final: prev: {
libpisp = final.stdenv.mkDerivation {
name = "libpisp";
version = "1.0.5";
src = final.fetchFromGitHub {
owner = "raspberrypi";
repo = "libpisp";
rev = "v1.0.5";
hash = "sha256-CHd44CH5dBcZuK+5fZtONZ8HE/lwGKwK5U0BYUK8gG4=";
};
nativeBuildInputs = with final; [
pkg-config
meson
ninja
];
buildInputs = with final; [
nlohmann_json
boost
];
BOOST_INCLUDEDIR = "${prev.lib.getDev final.boost}/include";
BOOST_LIBRARYDIR = "${prev.lib.getLib final.boost}/lib";
};
libcamera = prev.libcamera.overrideAttrs (old: {
src = final.fetchFromGitHub {
owner = "raspberrypi";
repo = "libcamera";
rev = "eb00c13d7c9f937732305d47af5b8ccf895e700f";
hash = "sha256-p0/inkHPRUkxSIsTmj7VI7sIaX7OXdqjMGZ31W7cnt4=";
};
postPatch = ''
patchShebangs utils/ src/py/
'';
patches = [
./0001-Remove-relative-config-lookups.patch
./0001-Ignore-IPA-signing.patch
];
buildInputs =
old.buildInputs
++ (with final; [
libpisp
libglibutil
]);
mesonFlags = old.mesonFlags ++ [
"--buildtype=release"
"-Dpipelines=rpi/vc4,rpi/pisp"
"-Dipas=rpi/vc4,rpi/pisp"
"-Dgstreamer=enabled"
"-Dtest=false"
"-Dcam=enabled"
"-Dpycamera=disabled"
];
});
camera-streamer = prev.callPackage ../pkgs/camera-streamer/package.nix {
libcamera = final.libcamera;
};
}

View File

@@ -1,24 +0,0 @@
From 0f17bb86772afe9495891e420a809a0b3c071caf Mon Sep 17 00:00:00 2001
From: Jordan Holt <jordan@vimium.com>
Date: Sat, 10 Aug 2024 15:37:15 +0100
Subject: [PATCH] Disable libdatachannel
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index d5029bd..e50ba1a 100644
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,7 @@ USE_HW_H264 ?= 1
USE_FFMPEG ?= $(shell pkg-config libavutil libavformat libavcodec && echo 1)
USE_LIBCAMERA ?= $(shell pkg-config libcamera && echo 1)
USE_RTSP ?= $(shell pkg-config live555 && echo 1)
-USE_LIBDATACHANNEL ?= $(shell [ -e $(LIBDATACHANNEL_PATH)/CMakeLists.txt ] && echo 1)
+USE_LIBDATACHANNEL ?= 0
ifeq (1,$(DEBUG))
CFLAGS += -g
--
2.44.1

View File

@@ -1,82 +0,0 @@
{
stdenv,
fetchFromGitHub,
cmake,
gnumake,
pkg-config,
xxd,
v4l-utils,
nlohmann_json,
ffmpegSupport ? true,
ffmpeg,
libcameraSupport ? true,
libcamera,
rtspSupport ? false,
live555,
webrtcSupport ? false,
openssl,
lib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "camera-streamer";
version = "0.2.8";
src = fetchFromGitHub {
owner = "ayufan";
repo = "camera-streamer";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-8vV8BMFoDeh22I1/qxk6zttJROaD/lrThBxXHZSPpT4=";
fetchSubmodules = true;
};
patches = [
./0001-Disable-libdatachannel.patch
];
# Second replacement fixes literal newline in generated version.h.
postPatch = ''
substituteInPlace Makefile \
--replace '/usr/local/bin' '/bin' \
--replace 'echo "#define' 'echo -e "#define'
'';
env.NIX_CFLAGS_COMPILE = builtins.toString [
"-Wno-error=stringop-overflow"
"-Wno-error=format"
"-Wno-format"
"-Wno-format-security"
"-Wno-error=unused-result"
];
nativeBuildInputs = [
cmake
gnumake
pkg-config
xxd
];
dontUseCmakeConfigure = true;
buildInputs =
[
nlohmann_json
v4l-utils
]
++ (lib.optional ffmpegSupport ffmpeg)
++ (lib.optional libcameraSupport libcamera)
++ (lib.optional rtspSupport live555)
++ (lib.optional webrtcSupport openssl);
installFlags = [ "DESTDIR=${builtins.placeholder "out"}" ];
preInstall = "mkdir -p $out/bin";
meta = with lib; {
description = "High-performance low-latency camera streamer for Raspberry Pi's";
website = "https://github.com/ayufan/camera-streamer";
license = licenses.gpl3Only;
};
})

View File

@@ -0,0 +1,172 @@
[
{
"pname": "MeiliSearch",
"version": "0.15.0",
"hash": "sha256-MM8Z8xc+AG0m+jNXAHSLhUB2egJC4lI+u6BDTVaOwzg="
},
{
"pname": "Microsoft.AspNetCore.OpenApi",
"version": "8.0.4",
"hash": "sha256-Y/UnyBlwraJjxDmEO3vsgB63GO1M7OXyIS10vL1Fs5A="
},
{
"pname": "Microsoft.Data.Sqlite",
"version": "8.0.6",
"hash": "sha256-t1g1cF4T26Np10H7opo/vCMTMNb9SS9pmLA9pSCUBp4="
},
{
"pname": "Microsoft.Data.Sqlite.Core",
"version": "8.0.6",
"hash": "sha256-MgUBbb0LDM1ixm8pBfBrSTVjNoGFn6NQMD36mirELmo="
},
{
"pname": "Microsoft.Extensions.ApiDescription.Server",
"version": "6.0.5",
"hash": "sha256-RJjBWz+UHxkQE2s7CeGYdTZ218mCufrxl0eBykZdIt4="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "2.1.1",
"hash": "sha256-TzbYgz4EemrYKHMvB9HWDkFmq0BkTetKPUwBpYHk9+k="
},
{
"pname": "Microsoft.IdentityModel.Abstractions",
"version": "7.4.0",
"hash": "sha256-rzTsvh5hDX7zk6wYzUKNg7lIQf38G/EeR6qUq/j3Eo0="
},
{
"pname": "Microsoft.IdentityModel.JsonWebTokens",
"version": "7.4.0",
"hash": "sha256-IeezkUkScumgLQZqq2Zu4YsyldIUA/XpTeONB2AtYDc="
},
{
"pname": "Microsoft.IdentityModel.Logging",
"version": "7.4.0",
"hash": "sha256-rudTpYcSlIlE1OX2LO3Qd6DAisqd5vsuX/Edu7rHIJs="
},
{
"pname": "Microsoft.IdentityModel.Tokens",
"version": "7.4.0",
"hash": "sha256-qVqVYxBy5p6Jerd1rfMUgApV7vcH54N4neS2x+N5zRQ="
},
{
"pname": "Microsoft.OpenApi",
"version": "1.2.3",
"hash": "sha256-OafkxXKnDmLZo5tjifjycax0n0F/OnWQTEZCntBMYR0="
},
{
"pname": "Microsoft.OpenApi",
"version": "1.4.3",
"hash": "sha256-vk47e78OwopXJx2LhDRbKFObqF3GShHfNHR2SzvbQeA="
},
{
"pname": "Microsoft.Win32.SystemEvents",
"version": "6.0.0",
"hash": "sha256-N9EVZbl5w1VnMywGXyaVWzT9lh84iaJ3aD48hIBk1zA="
},
{
"pname": "Quartz",
"version": "3.10.0",
"hash": "sha256-1sb+JKJdS01lScgVjcbDHxbXSpHeMn1Mqg/CQ8r+BKI="
},
{
"pname": "SQLitePCLRaw.bundle_e_sqlite3",
"version": "2.1.6",
"hash": "sha256-dZD/bZsYXjOu46ZH5Y/wgh0uhHOqIxC+S+0ecKhr718="
},
{
"pname": "SQLitePCLRaw.core",
"version": "2.1.6",
"hash": "sha256-RxWjm52PdmMV98dgDy0BCpF988+BssRZUgALLv7TH/E="
},
{
"pname": "SQLitePCLRaw.lib.e_sqlite3",
"version": "2.1.6",
"hash": "sha256-uHt5d+SFUkSd6WD7Tg0J3e8eVoxy/FM/t4PAkc9PJT0="
},
{
"pname": "SQLitePCLRaw.provider.e_sqlite3",
"version": "2.1.6",
"hash": "sha256-zHc/YZsd72eXlI8ba1tv58HZWUIiyjJaxq2CCP1hQe8="
},
{
"pname": "Swashbuckle.AspNetCore",
"version": "6.4.0",
"hash": "sha256-czuCv3Os7Oo06m3W+auJjrTGuYT82E+Bi80sJqeVb8o="
},
{
"pname": "Swashbuckle.AspNetCore.Swagger",
"version": "6.4.0",
"hash": "sha256-1u4A9vzDUJ+wLoxH5yQEVhpOxi+VnAMd64Z18SLqjPE="
},
{
"pname": "Swashbuckle.AspNetCore.SwaggerGen",
"version": "6.4.0",
"hash": "sha256-Alra5J+i0L/4JoS5pATJexVu8LId8HZcofkx7KiRqMw="
},
{
"pname": "Swashbuckle.AspNetCore.SwaggerUI",
"version": "6.4.0",
"hash": "sha256-P84wlE4EVruLVGGTUHK29wWYs/BTq/MR5P7PuSBwr+c="
},
{
"pname": "System.Configuration.ConfigurationManager",
"version": "6.0.1",
"hash": "sha256-U/0HyekAZK5ya2VNfGA1HeuQyJChoaqcoIv57xLpzLQ="
},
{
"pname": "System.Drawing.Common",
"version": "6.0.0",
"hash": "sha256-/9EaAbEeOjELRSMZaImS1O8FmUe8j4WuFUw1VOrPyAo="
},
{
"pname": "System.IdentityModel.Tokens.Jwt",
"version": "7.4.0",
"hash": "sha256-LYvdJPbPuxr8V3FJacStflSf9GVStprl1Wr+dfgqMdw="
},
{
"pname": "System.Memory",
"version": "4.5.3",
"hash": "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="
},
{
"pname": "System.Net.Http.Json",
"version": "6.0.0",
"hash": "sha256-R4s4Fb3OTKpg9gXSv+8CQ9gPJPJMmj3/nagzaRndm+g="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "6.0.0",
"hash": "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="
},
{
"pname": "System.Security.AccessControl",
"version": "6.0.0",
"hash": "sha256-qOyWEBbNr3EjyS+etFG8/zMbuPjA+O+di717JP9Cxyg="
},
{
"pname": "System.Security.Cryptography.ProtectedData",
"version": "6.0.0",
"hash": "sha256-Wi9I9NbZlpQDXgS7Kl06RIFxY/9674S7hKiYw5EabRY="
},
{
"pname": "System.Security.Permissions",
"version": "6.0.0",
"hash": "sha256-/MMvtFWGN/vOQfjXdOhet1gsnMgh6lh5DCHimVsnVEs="
},
{
"pname": "System.Text.Encodings.Web",
"version": "6.0.0",
"hash": "sha256-UemDHGFoQIG7ObQwRluhVf6AgtQikfHEoPLC6gbFyRo="
},
{
"pname": "System.Text.Json",
"version": "6.0.0",
"hash": "sha256-9AE/5ds4DqEfb0l+27fCBTSeYCdRWhxh2Bhg8IKvIuo="
},
{
"pname": "System.Windows.Extensions",
"version": "6.0.0",
"hash": "sha256-N+qg1E6FDJ9A9L50wmVt3xPQV8ZxlG1xeXgFuxO+yfM="
}
]

View File

@@ -0,0 +1,36 @@
{
lib,
fetchFromGitLab,
buildDotnetModule,
dotnetCorePackages,
}:
buildDotnetModule rec {
pname = "jellysearch";
version = "0.0.1";
src = fetchFromGitLab {
owner = "DomiStyle";
repo = "JellySearch";
rev = "7397e3f8c7daa6f0d30b22dda7c5159a913ca6b8";
hash = "sha256-7t0j4S5A9yvRN8zjToMNsxJ72OjU3j++EAqq9CKcPaI=";
};
patches = [
./patches/Only-listen-on-loopback-interface.patch
];
projectFile = "src/JellySearch/JellySearch.csproj";
executables = [ "jellysearch" ];
nugetDeps = ./nuget-deps.json;
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
meta = with lib; {
description = "A fast full-text search proxy for Jellyfin";
homepage = "https://gitlab.com/DomiStyle/jellysearch";
license = licenses.mit;
mainProgram = "JellySearch";
platforms = dotnet-runtime.meta.platforms;
};
}

View File

@@ -0,0 +1,24 @@
From dede2b55ef53028b1347ccb731657a12d7fa3d15 Mon Sep 17 00:00:00 2001
From: Jordan Holt <jordan@vimium.com>
Date: Sun, 22 Jun 2025 17:16:56 +0100
Subject: [PATCH] Only listen on loopback interface
---
src/JellySearch/Program.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/JellySearch/Program.cs b/src/JellySearch/Program.cs
index a0c6ee1..98798f7 100644
--- a/src/JellySearch/Program.cs
+++ b/src/JellySearch/Program.cs
@@ -6,7 +6,7 @@ using Quartz.Impl;
var builder = WebApplication.CreateBuilder(args);
-builder.WebHost.UseUrls("http://0.0.0.0:5000"); // Listen on every IP
+builder.WebHost.UseUrls("http://127.0.0.1:5000"); // Listen on loopback only
builder.Services.AddCors(options =>
{
--
2.49.0

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCocmtyzPPjv+52
JiZrpZFfaZ0eeUgugc8gV+0+2Q9GEkl/xxqjiDVg31gBO3iwQov2NmGuPbXr+vwZ
QcUqNQakmmdi22tBaTtd6hMuhu9OfbP8sIFaf0dToZRHkPgf63+WCF6w0O9enEz4
zjW3kPa1eVRVekiYCXGML/VhN+h5WwWouNWgEOw5JH39ZuGmhsGN5XekkHtyMkwq
Vr+JodoSizhYs9VBYNA1J4PlyiS4BYr4pLiLffzPwRjcSS777x33g+nWNr1lsFxB
nDoVvVnq0E7fiXxlmCtAr/7dv0Ug5ixuNfZ9yoT0f+mfUiG/anmfodHujIm2Db37
jvmfxaq1AgMBAAECggEAFhJKBHSY92xod0g37A55fiZFTV8oZ1mgdXU386522yBd
y5Wf5rIcBmm1axHrFjNeCgClq3JQEk/kdP3Ccy2YBXzq04/7HYrHmd5oLYZGOINt
kExjYqN/SdTH7FmxPWN66AKIP8RcvQmfZ1GDxd4DiZNQitO3S96e53bIQPkVp8Lg
GfK6LQCdOGimD00wvRoeqbV0PWGGVMfx+KvD5hxKYolyi/hNUxToD28qCAoMlMTi
yL+17q3nIYZvUmL0k7d64U+lXF8ov3cVXNJzAzFi41MXZ2Xqk3Lj+IhNweUhlOyn
fTo8QntNlirNL/XmtJ+5mPbGufE/6zsSNOf2Cyz2aQKBgQDio/tA3tFBzOz31hox
gW6NKarhp7e5R3XHQjZPmQXKq2lGCTBN+LzwCLYDa+ZWkS+cel/xSbkUFl0dopCu
7uGrSvmVAv+l1k879WHsYmLlDjJSa8WmDtVQ0SJr70X9UJmD2BivWnTnzrpZFu2A
Nv57gvebJTI4tLfAAyIfbg8gOQKBgQC+RJRv8/jVha/4sPonQYvpH0scS0Xzwca6
xd23e+vULBpk7IVzMbVGJEDdfWXVJeAO++FSQcgTJA38nfYm2XRPZAProliLaW8o
XVhhhWbXP7Jc8BmL5zyfDaLOXNFBX2kfr/oKeOoQ+0dRDlWKlarw1SxC+RT6i2qQ
YETgXHKmXQKBgGk8mWsqy2HRZOtDqE/6eLnlciprtVy7+M14Sj21oUHVTAGwPJTH
/fs7IEEAdikWK1RuYmRoxh60r7IWDTadR35BRxjRFqILnCkMLNcVbDRN3kH1NwZ/
dr+bDG+v4ADazx2wVu39g7Erhc3eXpOddZcmXhDVObeo+nWXPt33PeDJAoGBAJ4v
+FVnuo8Tee1Cfogat87W5KSedIcnqSjpjt+Y2MXq8PrNplnSjwrE42UCd6KRvcnX
Ykr4Q/ad+D75uYgtLMVAuv2yWPl3bCJcETnrJkh5PbqFKEgntT/rn1sA0j0OrSDa
NwFz6+64a1+ZkkcJDjjykr0Px4BSXwOv9jOuyOdFAoGADZEADOLX5y4utxboe1M0
UnaFKGEDE6H8qdRJQ9bSvEwJI142al02CvnvqvP4cpd8rKOCRs9nSXFJFXCedTLy
ojSVfjTyJMTVJxab/c/Qugkxb/TqGfEnZF2yoTsfPYp2pXRd6DvyKlDQzlSOj933
FrqeSe1QKapuPRsujVwLZDU=
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,64 @@
{
lib,
fetchFromGitHub,
libcamera,
boost,
nlohmann_json,
python3Packages,
git,
cacert,
meson,
}:
libcamera.overrideAttrs (old: {
buildInputs = old.buildInputs ++ [
boost
nlohmann_json
];
nativeBuildInputs = old.nativeBuildInputs ++ [ python3Packages.pybind11 ];
BOOST_INCLUDEDIR = "${lib.getDev boost}/include";
BOOST_LIBRARYDIR = "${lib.getLib boost}/lib";
patches = [
./patches/libcamera-installed.patch
./patches/libcamera-no-timeout.patch
];
postPatch = old.postPatch + ''
patchShebangs src/py/libcamera
'';
preBuild = ''
ninja src/ipa-priv-key.pem
install -D ${./libcamera-rpi-ipa-priv-key.pem} src/ipa-priv-key.pem
'';
mesonFlags = old.mesonFlags ++ [
"--buildtype=release"
"-Dcam=disabled"
"-Dgstreamer=disabled"
"-Dipas=rpi/vc4,rpi/pisp"
"-Dpipelines=rpi/vc4,rpi/pisp"
"-Dtest=false"
];
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "libcamera";
rev = "d83ff0a4ae4503bc56b7ed48cd142c3dd423ad3b";
sha256 = "sha256-VP0s1jOON9J3gn81aiemsChvGeqx0PPivQF5rmSga6M=";
nativeBuildInputs = [ git ];
postFetch = ''
cd "$out"
export NIX_SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
${lib.getExe meson} subprojects download \
libpisp
find subprojects -type d -name .git -prune -execdir rm -r {} +
'';
};
})

View File

@@ -0,0 +1,53 @@
From e65bbb6e263d99212cd29a32d89e4c45d0c05353 Mon Sep 17 00:00:00 2001
From: Jordan Holt <jordan@vimium.com>
Date: Sat, 21 Jun 2025 18:38:38 +0100
Subject: [PATCH] libcamera installed
---
src/libcamera/source_paths.cpp | 9 ---------
src/py/libcamera/meson.build | 4 ++--
2 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/src/libcamera/source_paths.cpp b/src/libcamera/source_paths.cpp
index 1af5386a..3fc7d044 100644
--- a/src/libcamera/source_paths.cpp
+++ b/src/libcamera/source_paths.cpp
@@ -39,15 +39,6 @@ namespace {
*/
bool isLibcameraInstalled()
{
- /*
- * DT_RUNPATH (DT_RPATH when the linker uses old dtags) is removed on
- * install.
- */
- for (const ElfW(Dyn) *dyn = _DYNAMIC; dyn->d_tag != DT_NULL; ++dyn) {
- if (dyn->d_tag == DT_RUNPATH || dyn->d_tag == DT_RPATH)
- return false;
- }
-
return true;
}
diff --git a/src/py/libcamera/meson.build b/src/py/libcamera/meson.build
index 596a203c..c0b1db59 100644
--- a/src/py/libcamera/meson.build
+++ b/src/py/libcamera/meson.build
@@ -34,14 +34,14 @@ gen_py_controls = files('gen-py-controls.py')
pycamera_sources += custom_target('py_gen_controls',
input : controls_files,
output : ['py_controls_generated.cpp'],
- command : [gen_py_controls, '--mode', 'controls', '-o', '@OUTPUT@',
+ command : ['python3', gen_py_controls, '--mode', 'controls', '-o', '@OUTPUT@',
'-t', gen_py_controls_template, '@INPUT@'],
env : py_build_env)
pycamera_sources += custom_target('py_gen_properties',
input : properties_files,
output : ['py_properties_generated.cpp'],
- command : [gen_py_controls, '--mode', 'properties', '-o', '@OUTPUT@',
+ command : ['python3', gen_py_controls, '--mode', 'properties', '-o', '@OUTPUT@',
'-t', gen_py_controls_template, '@INPUT@'],
env : py_build_env)
--
2.49.0

View File

@@ -0,0 +1,29 @@
From 98918c4efdcf03701908bb756f252ba11b59490b Mon Sep 17 00:00:00 2001
From: Jordan Holt <jordan@vimium.com>
Date: Sat, 21 Jun 2025 18:41:54 +0100
Subject: [PATCH] libcamera no timeout
---
src/libcamera/ipc_pipe_unixsocket.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/libcamera/ipc_pipe_unixsocket.cpp b/src/libcamera/ipc_pipe_unixsocket.cpp
index 668ec73b..faf7e2a5 100644
--- a/src/libcamera/ipc_pipe_unixsocket.cpp
+++ b/src/libcamera/ipc_pipe_unixsocket.cpp
@@ -130,11 +130,13 @@ int IPCPipeUnixSocket::call(const IPCUnixSocket::Payload &message,
/* \todo Make this less dangerous, see IPCPipe::sendSync() */
timeout.start(2000ms);
while (!iter->second.done) {
+ #if 0
if (!timeout.isRunning()) {
LOG(IPCPipe, Error) << "Call timeout!";
callData_.erase(iter);
return -ETIMEDOUT;
}
+ #endif
Thread::current()->eventDispatcher()->processEvents();
}
--
2.49.0

View File

@@ -1,58 +1,68 @@
{
stdenv,
callPackage,
fetchFromGitHub,
makeWrapper,
meson,
ninja,
pkg-config,
boost,
ffmpeg,
libcamera,
ffmpeg-headless,
libdrm,
libepoxy,
libexif,
libjpeg,
libpng,
libtiff,
lib,
libX11,
}:
let
libcamera-rpi = callPackage (import ../libcamera-rpi/package.nix) { };
in
stdenv.mkDerivation (finalAttrs: {
pname = "rpicam-apps";
version = "1.4.1";
version = "1.7.0";
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "rpicam-apps";
rev = "v" + finalAttrs.version;
hash = "sha256-3NG2ZE/Ub3lTbfne0LCXuDgLGTPaAAADRdElEbZwvls=";
rev = "v${finalAttrs.version}";
hash = "sha256-79qpAfY83YOZdM5ZPyIOkg3s7x75hvjG6Cc96UAIdb0=";
};
buildInputs = [
boost
ffmpeg-headless
libcamera-rpi
libdrm
libepoxy # GLES/EGL preview window
libexif
libjpeg
libpng
libtiff
libX11
];
nativeBuildInputs = [
makeWrapper
meson
ninja
pkg-config
];
buildInputs = [
boost
ffmpeg
libcamera
libdrm
libexif
libjpeg
libpng
libtiff
# See all options here: https://github.com/raspberrypi/rpicam-apps/blob/main/meson_options.txt
mesonFlags = [
"-Denable_drm=disabled"
"-Denable_egl=disabled"
"-Denable_hailo=disabled"
"-Denable_qt=disabled"
"-Denable_libav=disabled"
];
# Meson is no longer able to pick up Boost automatically:
# https://github.com/NixOS/nixpkgs/issues/86131
BOOST_INCLUDEDIR = "${lib.getDev boost}/include";
BOOST_LIBRARYDIR = "${lib.getLib boost}/lib";
meta = with lib; {
description = ''
libcamera-based applications to drive the cameras on a Raspberry Pi platform
postInstall = ''
for f in rpicam-hello rpicam-jpeg rpicam-raw rpicam-still rpicam-vid
do
wrapProgram $out/bin/$f --set-default LIBCAMERA_IPA_PROXY_PATH ${libcamera-rpi}/libexec/libcamera
done
'';
homepage = "https://github.com/raspberrypi/rpicam-apps";
license = licenses.bsd2;
};
})

View File

@@ -1,25 +0,0 @@
From 18efb9b5c8e562b169425f6ba79977e52e8b91b9 Mon Sep 17 00:00:00 2001
From: Pavel Sobolev <paveloomm@gmail.com>
Date: Sat, 13 Jan 2024 12:49:45 +0000
Subject: [PATCH] Ensure the default config file is writable.
---
streamrip/config.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/streamrip/config.py b/streamrip/config.py
index 7ee2f57..88a5fef 100644
--- a/streamrip/config.py
+++ b/streamrip/config.py
@@ -378,6 +378,9 @@ def set_user_defaults(path: str, /):
"""Update the TOML file at the path with user-specific default values."""
shutil.copy(BLANK_CONFIG_PATH, path)
+ # Ensure the default config file is writable
+ os.chmod(path, 0o644)
+
with open(path) as f:
toml = parse(f.read())
toml["downloads"]["folder"] = DEFAULT_DOWNLOADS_FOLDER # type: ignore
--
2.42.0

View File

@@ -1,78 +0,0 @@
{
lib,
python3Packages,
fetchFromGitHub,
ffmpeg,
}:
python3Packages.buildPythonApplication {
pname = "streamrip";
version = "2.0.7";
pyproject = true;
src = fetchFromGitHub {
owner = "nathom";
repo = "streamrip";
rev = "46b570dbb6f81d604cbaa3bfa379463e0a20a841";
hash = "sha256-LD99OjguaBnrQxCwmCeHvmBMq5aOfobwnMd5/aCRZW8=";
};
patches = [
./ensure-the-default-config-file-is-writable.patch
];
nativeBuildInputs = with python3Packages; [
poetry-core
];
propagatedBuildInputs = with python3Packages; [
aiodns
aiofiles
aiohttp
aiolimiter
appdirs
cleo
click-help-colors
deezer-py
m3u8
mutagen
pathvalidate
pillow
pycryptodomex
pytest-asyncio
pytest-mock
rich
simple-term-menu
tomlkit
tqdm
];
nativeCheckInputs = with python3Packages; [
pytestCheckHook
];
prePatch = ''
sed -i 's#aiofiles = ".*"#aiofiles = "*"#' pyproject.toml
sed -i 's#deezer-py = ".*"#deezer-py = "*"#' pyproject.toml
sed -i 's#m3u8 = ".*"#m3u8 = "*"#' pyproject.toml
sed -i 's#pathvalidate = ".*"#pathvalidate = "*"#' pyproject.toml
sed -i 's#Pillow = ".*"#Pillow = "*"#' pyproject.toml
sed -i 's#pytest-asyncio = ".*"#pytest-asyncio = "*"#' pyproject.toml
sed -i 's#tomlkit = ".*"#tomlkit = "*"#' pyproject.toml
sed -i 's#"ffmpeg"#"${lib.getBin ffmpeg}/bin/ffmpeg"#g' streamrip/client/downloadable.py
'';
preCheck = ''
export HOME=$(mktemp -d)
'';
meta = with lib; {
description = "Scriptable music downloader for Qobuz, Tidal, SoundCloud, and Deezer";
homepage = "https://github.com/nathom/streamrip";
license = licenses.gpl3Only;
maintainers = with maintainers; [ paveloom ];
mainProgram = "rip";
};
}

View File

@@ -0,0 +1,44 @@
{
stdenv,
fetchFromGitHub,
lib,
meson,
ninja,
pkg-config,
vulkan-headers,
vulkan-loader,
wayland-scanner,
wayland,
xorg,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "vk-hdr-layer";
version = "303e0c69e1d33acd95158d92b1fc652fb5b85399";
src = fetchFromGitHub {
owner = "Zamundaaa";
repo = "VK_hdr_layer";
rev = "303e0c69e1d33acd95158d92b1fc652fb5b85399";
fetchSubmodules = true;
hash = "sha256-NsC44Ifl/fAHvFqP7NLrVZ71Y+x5mBEkv+r43HN5yn4=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
];
buildInputs = [
vulkan-headers
vulkan-loader
wayland
wayland-scanner
xorg.libX11
];
meta = {
description = "Vulkan layer utilizing a small color management / HDR protocol for experimentation";
homepage = "https://github.com/Zamundaaa/VK_hdr_layer";
license = lib.licenses.mit;
};
})

View File

@@ -0,0 +1,30 @@
{
pkgs,
...
}:
{
home.packages = with pkgs; [
gamescope
steam
];
systemd.user.services.steam-big-picture = {
Unit = {
Description = "Steam Big Picture in Gamescope";
After = [
"graphical.target"
"default.target"
];
};
Service = {
ExecStart = ''
${pkgs.gamescope}/bin/gamescope --rt --backend drm --steam -- \
${pkgs.steam}/bin/steam -pipewire-dmabuf -tenfoot
'';
Restart = "always";
};
Install = {
WantedBy = [ "default.target" ];
};
};
}

66
users/guest/default.nix Normal file
View File

@@ -0,0 +1,66 @@
{
config,
pkgs,
lib,
...
}:
let
inherit (lib)
optional
;
name = "guest";
hostFile = ./. + "/${config.networking.hostName}.nix";
in
{
users.users.${name} = {
description = "Guest";
extraGroups = [
"audio"
"input"
"render"
"video"
];
group = "users";
isNormalUser = true;
shell = pkgs.zsh;
};
home-manager.users.${name} = {
imports = [
./common/optional/graphical/steam.nix
{
home.persistence."/state" = {
directories = [
".local/state/wireplumber"
];
};
home.persistence."/persist" = {
directories = [
".config/gamescope"
".local/share/icons"
".local/share/Steam"
".local/share/vulkan"
".steam"
];
};
}
]
++ optional (builtins.pathExists hostFile) hostFile;
home = {
username = name;
};
xdg.enable = true;
};
services.getty = {
autologinOnce = true;
autologinUser = "guest";
};
# Workaround: https://github.com/nix-community/home-manager/issues/7166
systemd.services."home-manager-${name}".serviceConfig = {
RemainAfterExit = "yes";
};
}

20
users/jordan/artemis.nix Normal file
View File

@@ -0,0 +1,20 @@
{
pkgs,
...
}:
{
imports = [
./common/optional/graphical/firefox.nix
./common/optional/graphical/fonts.nix
./common/optional/graphical/hyprland
./common/optional/graphical/mimeapps.nix
];
home.packages = with pkgs; [
jellyfin-media-player
lutris
unstable.pcsx2
xemu
];
}

View File

@@ -11,4 +11,8 @@
enable = true;
enableSshSupport = true;
};
home.persistence."/persist".directories = [
".gnupg"
];
}

View File

@@ -130,4 +130,10 @@
};
home.sessionVariables.EDITOR = "nvim";
home.persistence."/state".directories = [
".local/share/nvim"
".local/state/nvim"
".cache/nvim"
];
}

View File

@@ -207,4 +207,12 @@
};
};
};
home.persistence."/state".directories = [
".cache/mozilla"
];
home.persistence."/persist".directories = [
".mozilla"
];
}

View File

@@ -8,10 +8,12 @@
adwaita-fonts
apple-color-emoji
corefonts
dejavu_fonts
nerd-fonts.bigblue-terminal
nerd-fonts.comic-shanns-mono
nerd-fonts.terminess-ttf
nerd-fonts.ubuntu-mono
sf-pro
vista-fonts
];
}

View File

@@ -20,8 +20,7 @@ let
concatMapAttrsStringSep =
sep: f: attrs:
concatStringsSep sep (attrValues (mapAttrs f attrs));
globalVariables =
{
globalVariables = {
_JAVA_AWT_WM_NONREPARENTING = "1";
GDK_BACKEND = "wayland";
MOZ_ENABLE_WAYLAND = "1";
@@ -62,7 +61,7 @@ in
portalPackage =
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
plugins = [
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars
pkgs.unstable.hyprlandPlugins.hyprbars
pkgs.unstable.hyprlandPlugins.hypr-dynamic-cursors
];
settings = {
@@ -84,6 +83,12 @@ in
enabled = true;
};
};
hyprbars = {
enabled = true;
bar_height = 20;
bar_blur = true;
};
};
dwindle = {
@@ -105,6 +110,10 @@ in
no_update_news = true;
};
experimental = {
xx_color_management_v4 = true;
};
decoration = {
rounding = 10;
@@ -155,7 +164,10 @@ in
];
};
monitor = "desc:Dell Inc. DELL U3219Q HPTP413, preferred, auto, 1";
monitor = [
"desc:Dell Inc. DELL U3219Q HPTP413, preferred, auto, 1, vrr, 0, bitdepth, 10, cm, hdr"
"desc:LG Electronics LG TV SSCR2, 3840x2160@60, 0x0, 1, vrr, 0, bitdepth, 10, cm, hdr"
];
input = {
kb_layout = "us";

View File

@@ -24,4 +24,12 @@
};
};
};
home.persistence."/state".directories = [
".cache/thunderbird"
];
home.persistence."/persist".directories = [
".thunderbird"
];
}

View File

@@ -8,4 +8,8 @@
enable = true;
package = pkgs.pass.withExtensions (exts: [ exts.pass-otp ]);
};
home.persistence."/state".directories = [
".local/share/password-store"
];
}

View File

@@ -176,11 +176,21 @@ in
nix-index.enable = true;
};
home.persistence."/persist" = {
directories = [
".local/share/mcfly"
];
files = [
".zsh_history"
];
};
home.packages = with pkgs; [
bat
btop
fd
jq
ncdu
nix-zsh-completions
nnn
ripgrep

View File

@@ -9,4 +9,8 @@
enable = true;
addKeysToAgent = "yes";
};
home.persistence."/state".files = [
".ssh/known_hosts"
];
}

View File

@@ -42,7 +42,26 @@ in
./common/pass.nix
./common/shell.nix
./common/ssh.nix
] ++ optional (builtins.pathExists hostFile) hostFile;
{
home.persistence."/state" = {
directories = [
"Downloads"
".local/state/wireplumber"
];
};
home.persistence."/persist" = {
directories = [
"Desktop"
"Documents"
"Music"
"Pictures"
"projects"
"Videos"
];
};
}
]
++ optional (builtins.pathExists hostFile) hostFile;
home = {
username = name;

View File

@@ -6,6 +6,7 @@
{
imports = [
./common/optional/graphical/firefox.nix
./common/optional/graphical/fonts.nix
./common/optional/graphical/gnome.nix
];