Compare commits

...
Sign in to create a new pull request.

477 commits

Author SHA1 Message Date
57e00492a0 Split repo to qenya/ansible-playbooks 2025-12-06 22:52:21 +00:00
8f8e25d746 tohru: Install Podman 2025-12-06 22:06:08 +00:00
7703ea92d9 ovh: Enable remote socket for Podman 2025-12-06 22:05:37 +00:00
8af16179ee Move ansible files to separate directory 2025-12-06 18:39:26 +00:00
df7c583002 ovh: Install Podman 2025-12-06 18:37:54 +00:00
6a5092ce31 ovh: Fix handler to restart SSH 2025-12-06 17:56:33 +00:00
ea27d48a2f keys: Add siberys 2025-12-06 17:56:33 +00:00
fd99cbd41f treewide: Update option keys for GNOME/GDM 2025-12-06 14:55:32 +00:00
297d0083d8 headscale: Disable new dns.override_local_dns option
For some reason this was enabled by default in 0.26.0 even though it
breaks existing configurations. ¯\_(ツ)_/¯
https://github.com/juanfont/headscale/pull/2438
2025-12-06 14:54:41 +00:00
3b54ad983d actual: Revert version override as we are now on 25.11 2025-12-06 14:03:29 +00:00
33fae52e47 qenya/vscode: Run Ansible inside a venv 2025-12-06 14:01:08 +00:00
31f1036c17 qenya/vscode: Install Ansible extension 2025-12-06 11:43:14 +00:00
18716e58ca qenya/git: Update config key names 2025-12-06 11:43:00 +00:00
22161de954 flake.lock: Update
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/52a2caecc898d0b46b2b905f058ccc5081f842da' (2025-11-12)
  → 'github:hercules-ci/flake-parts/2cccadc7357c0ba201788ae99c4dfa90728ef5e0' (2025-11-21)
• Updated input 'home-manager':
    'github:nix-community/home-manager/3b955f5f0a942f9f60cdc9cacb7844335d0f21c3' (2025-09-21)
  → 'github:nix-community/home-manager/f63d0fe9d81d36e5fc95497217a72e02b8b7bcab' (2025-12-04)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/827f2a23373a774a8805f84ca5344654c31f354b' (2025-11-12)
  → 'github:nix-community/home-manager/519828bf1c97f8bc2ed2d3b79214067047d3c67d' (2025-12-05)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3acb677ea67d4c6218f33de0db0955f116b7588c' (2025-11-13)
  → 'github:NixOS/nixpkgs/c97c47f2bac4fa59e2cbdeba289686ae615f8ed4' (2025-12-04)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/3acb677ea67d4c6218f33de0db0955f116b7588c' (2025-11-13)
  → 'github:NixOS/nixpkgs/d355f89e0014e51c9511298089d7ab55fd6f7056' (2025-12-05)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/c5ae371f1a6a7fd27823bc500d9390b38c05fa55' (2025-11-12)
  → 'github:NixOS/nixpkgs/418468ac9527e799809c900eda37cbff999199b6' (2025-12-02)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/534d5ee716a5f547efa4f3563d3592527e30329c' (2025-11-14)
  → 'github:NixOS/nixpkgs/21f4f13e179ba2b3d84d844b697612fa1b695b85' (2025-12-05)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/7911a0f8a44c7e8b29d031be3149ee8943144321' (2025-11-10)
  → 'github:nix-community/plasma-manager/b24ed4b272256dfc1cc2291f89a9821d5f9e14b4' (2025-11-23)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/a920544c71dba8e183ec8a5fc03a3624255b81e1' (2025-11-14)
  → 'github:randomnetcat/nix-configs/03e246bb10c135386455af0e88899df2ca10495d' (2025-12-05)
2025-12-06 01:42:06 +00:00
df42da3459 kilgharrah: Update CUDA cache location 2025-12-06 01:29:59 +00:00
cc79ca09ac flake: Update to NixOS 25.11; move kilgharrah from unstable to stable 2025-12-06 01:29:54 +00:00
f98f054353 kilgharrah: Redirect jellyfin.qenya.tel -> tv.qenya.tel 2025-12-06 01:29:45 +00:00
0c66b86941 qenya: Drop jellyfin-media-player
It's still on Qt 5 which nixpkgs are aggressively trying to drop support
for, and though I'm annoyed by that it *is* at least replaceable now by
Firefox 145+ which has grown native support for Matroska files
2025-11-15 16:22:32 +00:00
19c842c00f flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/9ba0d85de3eaa7afeab493fed622008b6e4924f5' (2025-10-28)
  → 'github:ryantm/agenix/fcdea223397448d35d9b31f798479227e80183f6' (2025-11-08)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/26d05891e14c88eb4a5d5bee659c0db5afb609d8' (2025-11-06)
  → 'github:hercules-ci/flake-parts/52a2caecc898d0b46b2b905f058ccc5081f842da' (2025-11-12)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/0562fef070a1027325dd4ea10813d64d2c967b39' (2025-11-06)
  → 'github:nix-community/home-manager/827f2a23373a774a8805f84ca5344654c31f354b' (2025-11-12)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6faeb062ee4cf4f105989d490831713cc5a43ee1' (2025-11-07)
  → 'github:NixOS/nixpkgs/3acb677ea67d4c6218f33de0db0955f116b7588c' (2025-11-13)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/8660acf86a1f5a14dacf049f9a5b8aff143e9111' (2025-11-07)
  → 'github:NixOS/nixpkgs/3acb677ea67d4c6218f33de0db0955f116b7588c' (2025-11-13)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/ae814fd3904b621d8ab97418f1d0f2eb0d3716f4' (2025-11-05)
  → 'github:NixOS/nixpkgs/c5ae371f1a6a7fd27823bc500d9390b38c05fa55' (2025-11-12)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/8a0ddfe5e62a2814979672aa1afd54dfb4aa345a' (2025-11-08)
  → 'github:NixOS/nixpkgs/534d5ee716a5f547efa4f3563d3592527e30329c' (2025-11-14)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/6296d7100cc84b2ff732b7c103a50c2856974cf6' (2025-11-04)
  → 'github:nix-community/plasma-manager/7911a0f8a44c7e8b29d031be3149ee8943144321' (2025-11-10)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/7a30bbc509329db6e4aa56c3e4dcb44971f4baa3' (2025-11-08)
  → 'github:randomnetcat/nix-configs/a920544c71dba8e183ec8a5fc03a3624255b81e1' (2025-11-14)
2025-11-14 14:44:26 +00:00
d86b2faf8c Apply ansible-lint suggestions 2025-11-11 00:45:12 +00:00
46854e2306 Enable automatic upgrades for Ansible-managed servers 2025-11-11 00:07:50 +00:00
132b4f945c qenya: Update tor-browser package name 2025-11-08 16:22:25 +00:00
2cd4928d66 flake.lock: Update
Flake lock file updates:

• Updated input 'colmena':
    'github:zhaofengli/colmena/5bf4ce6a24adba74a5184f4a9bef01d545a09473' (2025-08-15)
  → 'github:zhaofengli/colmena/349b035a5027f23d88eeb3bc41085d7ee29f18ed' (2025-11-01)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/864599284fc7c0ba6357ed89ed5e2cd5040f0c04' (2025-10-20)
  → 'github:hercules-ci/flake-parts/26d05891e14c88eb4a5d5bee659c0db5afb609d8' (2025-11-06)
• Updated input 'flake-parts/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/a73b9c743612e4244d865a2fdee11865283c04e6' (2025-08-10)
  → 'github:nix-community/nixpkgs.lib/719359f4562934ae99f5443f20aa06c2ffff91fc' (2025-10-29)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/d47259b685b1145b610fd8c28e7498304a97fa78' (2025-10-28)
  → 'github:nix-community/home-manager/0562fef070a1027325dd4ea10813d64d2c967b39' (2025-11-06)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/78e34d1667d32d8a0ffc3eba4591ff256e80576e' (2025-10-26)
  → 'github:NixOS/nixpkgs/6faeb062ee4cf4f105989d490831713cc5a43ee1' (2025-11-07)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/daf6dc47aa4b44791372d6139ab7b25269184d55' (2025-10-27)
  → 'github:NixOS/nixpkgs/8660acf86a1f5a14dacf049f9a5b8aff143e9111' (2025-11-07)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce' (2025-10-25)
  → 'github:NixOS/nixpkgs/ae814fd3904b621d8ab97418f1d0f2eb0d3716f4' (2025-11-05)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/a0b0d4b52b5f375658ca8371dc49bff171dbda91' (2025-10-28)
  → 'github:NixOS/nixpkgs/8a0ddfe5e62a2814979672aa1afd54dfb4aa345a' (2025-11-08)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/27dfa61b64d0cdb8e4ba6f3aaa4d4e067d64cb5c' (2025-10-21)
  → 'github:nix-community/plasma-manager/6296d7100cc84b2ff732b7c103a50c2856974cf6' (2025-11-04)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/8da634986d2ec81582854db6d185d104940d8bac' (2025-10-28)
  → 'github:randomnetcat/nix-configs/7a30bbc509329db6e4aa56c3e4dcb44971f4baa3' (2025-11-08)
2025-11-08 15:37:58 +00:00
5b31d5fea7 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/2f0f812f69f3eb4140157fe15e12739adf82e32a' (2025-10-19)
  → 'github:ryantm/agenix/9ba0d85de3eaa7afeab493fed622008b6e4924f5' (2025-10-28)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/c644cb018f9fdec55f5ac2afb4713a8c7beb757c' (2025-10-24)
  → 'github:nix-community/home-manager/d47259b685b1145b610fd8c28e7498304a97fa78' (2025-10-28)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c8aa8cc00a5cb57fada0851a038d35c08a36a2bb' (2025-10-22)
  → 'github:NixOS/nixpkgs/78e34d1667d32d8a0ffc3eba4591ff256e80576e' (2025-10-26)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/e7b2e554a77018dec2f259b782d062500c133d49' (2025-10-24)
  → 'github:NixOS/nixpkgs/daf6dc47aa4b44791372d6139ab7b25269184d55' (2025-10-27)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/01f116e4df6a15f4ccdffb1bcd41096869fb385c' (2025-10-22)
  → 'github:NixOS/nixpkgs/6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce' (2025-10-25)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/642fae6c6a7fbd9b9a61e2d3fc849c99bb4d485a' (2025-10-24)
  → 'github:NixOS/nixpkgs/a0b0d4b52b5f375658ca8371dc49bff171dbda91' (2025-10-28)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/f1963827395d6c82a7e64267fde9b0c82da02380' (2025-10-23)
  → 'github:randomnetcat/nix-configs/8da634986d2ec81582854db6d185d104940d8bac' (2025-10-28)
2025-10-28 14:12:08 +00:00
104173107f qenya/firefox: Add NetrunnerDB as search engine 2025-10-26 17:04:28 +00:00
0fb2d50051 boot: Remove pde_set_flags patch since it landed in upstream 2025-10-25 00:44:46 +01:00
38795078df flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/9edb1787864c4f59ae5074ad498b6272b3ec308d' (2025-08-05)
  → 'github:ryantm/agenix/2f0f812f69f3eb4140157fe15e12739adf82e32a' (2025-10-19)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/4524271976b625a4a605beefd893f270620fd751' (2025-09-01)
  → 'github:hercules-ci/flake-parts/864599284fc7c0ba6357ed89ed5e2cd5040f0c04' (2025-10-20)
• Updated input 'home-manager':
    'github:nix-community/home-manager/07fc025fe10487dd80f2ec694f1cd790e752d0e8' (2025-08-31)
  → 'github:nix-community/home-manager/3b955f5f0a942f9f60cdc9cacb7844335d0f21c3' (2025-09-21)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/f35703b412c67b48e97beb6e27a6ab96a084cd37' (2025-09-07)
  → 'github:nix-community/home-manager/c644cb018f9fdec55f5ac2afb4713a8c7beb757c' (2025-10-24)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/092c565d333be1e17b4779ac22104338941d913f' (2025-09-07)
  → 'github:NixOS/nixpkgs/c8aa8cc00a5cb57fada0851a038d35c08a36a2bb' (2025-10-22)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/16721e9cbabc2847dd62591e5ec8f2ea54379588' (2025-09-08)
  → 'github:NixOS/nixpkgs/e7b2e554a77018dec2f259b782d062500c133d49' (2025-10-24)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9' (2025-09-05)
  → 'github:NixOS/nixpkgs/01f116e4df6a15f4ccdffb1bcd41096869fb385c' (2025-10-22)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/e568c4e9e6231f948f0d1f3c90859b41e8791186' (2025-09-08)
  → 'github:NixOS/nixpkgs/642fae6c6a7fbd9b9a61e2d3fc849c99bb4d485a' (2025-10-24)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/d47428e5390d6a5a8f764808a4db15929347cd77' (2025-08-31)
  → 'github:nix-community/plasma-manager/27dfa61b64d0cdb8e4ba6f3aaa4d4e067d64cb5c' (2025-10-21)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/2fcdb2d229a34190cfa24edbeabf4f34bdd5099c' (2025-09-08)
  → 'github:randomnetcat/nix-configs/f1963827395d6c82a7e64267fde9b0c82da02380' (2025-10-23)
2025-10-24 23:39:35 +01:00
72e2dca5d5 kilgharrah: Install Heroic Games Launcher 2025-10-24 23:38:20 +01:00
16e59617d2 qenya/firefox: Set custom search engines 2025-10-24 23:17:17 +01:00
dac8bde203 Initial Ansible setup 2025-10-05 15:50:21 +01:00
b858974745 Revert "boot: Add Control D DNS as fallback if Mullvad is down"
This reverts commit 6df2fdecb7.
2025-10-04 18:34:14 +01:00
a5c6a9a7da tohru: Install Docker 2025-10-04 16:04:19 +01:00
6a76a54503 qenya/vscode: Install Docker extension 2025-10-04 16:04:12 +01:00
57b9557b02 docker: init 2025-10-04 16:02:31 +01:00
99215ba9ca treewide: Disable syncthing
Intending to redo this from scratch
2025-10-03 11:22:29 +01:00
1035d4cf6c base-graphical: Add substitute fonts for Calibri and Cambria 2025-10-01 16:40:25 +01:00
12cfceb2f9 reverse-proxy: Init new module to simplify nginx reverse proxies 2025-09-16 19:01:56 +01:00
5967974d15 Alter services directory structure 2025-09-16 18:35:07 +01:00
6ccbd93bbc yevaud, kalessin: Move Forgejo from yevaud to kalessin 2025-09-16 14:57:02 +01:00
165c179b3f qenya/vscode: Configure Ruby support & alphabetise extensions 2025-09-12 17:18:07 +01:00
f6dedeea79 kilgharrah: Enable CUDA (NVIDIA hardware acceleration) 2025-09-10 11:58:32 +01:00
dacc510074 steam: Enable Gamescope session for seamless IHS 2025-09-10 00:07:27 +01:00
4e46200617 owncast: Enable websockets so stream chat works 2025-09-10 00:07:13 +01:00
08aa13534a boot: Only apply pde_set_flags kernel patch on x86 2025-09-08 18:48:53 +01:00
e82d1792c9 boot, tailscale: Apply kernel regression patch instead of workarounds 2025-09-08 12:39:40 +01:00
598f1dc742 flake.lock: Update
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/af66ad14b28a127c5c0f3bbb298218fc63528a18' (2025-08-06)
  → 'github:hercules-ci/flake-parts/4524271976b625a4a605beefd893f270620fd751' (2025-09-01)
• Updated input 'flake-parts/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/0f36c44e01a6129be94e3ade315a5883f0228a6e' (2025-07-27)
  → 'github:nix-community/nixpkgs.lib/a73b9c743612e4244d865a2fdee11865283c04e6' (2025-08-10)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/fccb44df77266a3891939f35197f538dace3442f' (2025-08-31)
  → 'github:nix-community/home-manager/f35703b412c67b48e97beb6e27a6ab96a084cd37' (2025-09-07)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b4c2c57c31e68544982226d07e4719a2d86302a8' (2025-08-31)
  → 'github:NixOS/nixpkgs/092c565d333be1e17b4779ac22104338941d913f' (2025-09-07)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/af39794d2a7403f0121a02cd11af252c2e7ff3aa' (2025-08-31)
  → 'github:NixOS/nixpkgs/16721e9cbabc2847dd62591e5ec8f2ea54379588' (2025-09-08)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/d7600c775f877cd87b4f5a831c28aa94137377aa' (2025-08-30)
  → 'github:NixOS/nixpkgs/8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9' (2025-09-05)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/2e6aeede9cb4896693434684bb0002ab2c0cfc09' (2025-08-31)
  → 'github:NixOS/nixpkgs/e568c4e9e6231f948f0d1f3c90859b41e8791186' (2025-09-08)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/42cf6f1a07f024475010dff2c31b980893871944' (2025-09-01)
  → 'github:randomnetcat/nix-configs/2fcdb2d229a34190cfa24edbeabf4f34bdd5099c' (2025-09-08)
2025-09-08 12:30:28 +01:00
6df2fdecb7 boot: Add Control D DNS as fallback if Mullvad is down 2025-09-08 12:27:13 +01:00
8262ec76a6 flake: Workaround for using Colmena HEAD but with Lix as a dependency 2025-09-02 02:23:51 +01:00
993da5f90c nix: Permit EoL Qt5 WebEngine for jellyfin-media-player 2025-09-02 00:54:52 +01:00
3cdfe214f2 flake, nix: Use Lix from nixpkgs 2025-09-02 00:49:58 +01:00
3d5278e32b tailscale: Add workaround for kernel bug 2025-09-02 00:01:26 +01:00
9e2f48c9dd flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/fc3add429f21450359369af74c2375cb34a2d204' (2025-07-27)
  → 'github:nix-community/home-manager/07fc025fe10487dd80f2ec694f1cd790e752d0e8' (2025-08-31)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/282b4c98de97da6667cb03de4f427371734bc39c' (2025-08-21)
  → 'github:nix-community/home-manager/fccb44df77266a3891939f35197f538dace3442f' (2025-08-31)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a58390ab6f1aa810eb8e0f0fc74230e7cc06de03' (2025-08-19)
  → 'github:NixOS/nixpkgs/b4c2c57c31e68544982226d07e4719a2d86302a8' (2025-08-31)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/9b25c330be40afe4b8be9a493439f81aaae27d5f' (2025-08-20)
  → 'github:NixOS/nixpkgs/af39794d2a7403f0121a02cd11af252c2e7ff3aa' (2025-08-31)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/20075955deac2583bb12f07151c2df830ef346b4' (2025-08-19)
  → 'github:NixOS/nixpkgs/d7600c775f877cd87b4f5a831c28aa94137377aa' (2025-08-30)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/b0eccfbc0168243438e8a6747fcdfb1bb796a3f7' (2025-08-20)
  → 'github:NixOS/nixpkgs/2e6aeede9cb4896693434684bb0002ab2c0cfc09' (2025-08-31)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/cca090f8115c4172b9aef6c5299ae784bdd5e133' (2025-08-06)
  → 'github:nix-community/plasma-manager/d47428e5390d6a5a8f764808a4db15929347cd77' (2025-08-31)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/336fe0913a6cabbadb0bff77271fac83db7f12a7' (2025-08-21)
  → 'github:randomnetcat/nix-configs/42cf6f1a07f024475010dff2c31b980893871944' (2025-09-01)
2025-09-01 11:59:20 +01:00
d6e22d294e qenya: Remove reference to Plasma 5 as it is no longer used 2025-08-24 20:34:37 +01:00
4d5fe23349 flake.lock: Update
Flake lock file updates:

• Updated input 'colmena':
    'github:zhaofengli/colmena/5e0fbc4dbc50b3a38ecdbcb8d0a5bbe12e3f9a72' (2025-08-03)
  → 'github:zhaofengli/colmena/5bf4ce6a24adba74a5184f4a9bef01d545a09473' (2025-08-15)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/11626a4383b458f8dc5ea3237eaa04e8ab1912f3' (2025-08-15)
  → 'github:nix-community/home-manager/282b4c98de97da6667cb03de4f427371734bc39c' (2025-08-21)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3385ca0cd7e14c1a1eb80401fe011705ff012323' (2025-08-13)
  → 'github:NixOS/nixpkgs/a58390ab6f1aa810eb8e0f0fc74230e7cc06de03' (2025-08-19)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/5d35709e6ca20589ba8f60ffd50ca73021cec7c7' (2025-08-14)
  → 'github:NixOS/nixpkgs/9b25c330be40afe4b8be9a493439f81aaae27d5f' (2025-08-20)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/fbcf476f790d8a217c3eab4e12033dc4a0f6d23c' (2025-08-14)
  → 'github:NixOS/nixpkgs/20075955deac2583bb12f07151c2df830ef346b4' (2025-08-19)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/1a341e3c908f4a3105e737bd13af0318dc06fbe3' (2025-08-14)
  → 'github:NixOS/nixpkgs/b0eccfbc0168243438e8a6747fcdfb1bb796a3f7' (2025-08-20)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/210dfc9f7a5503379cb7270ef677cedbfff26cc0' (2025-08-15)
  → 'github:randomnetcat/nix-configs/336fe0913a6cabbadb0bff77271fac83db7f12a7' (2025-08-21)
2025-08-21 10:27:53 +01:00
3bc4563613 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/005433b926e16227259a1843015b5b2b7f7d1fc3' (2025-08-12)
  → 'github:NixOS/nixpkgs/fbcf476f790d8a217c3eab4e12033dc4a0f6d23c' (2025-08-14)
2025-08-15 12:33:32 +01:00
2f619e92dc flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/279ca5addcdcfa31ac852b3ecb39fc372684f426' (2025-08-13)
  → 'github:nix-community/home-manager/11626a4383b458f8dc5ea3237eaa04e8ab1912f3' (2025-08-15)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/20a42bc21e54ac69d390af482945da2ed0f818c4' (2025-08-14)
  → 'github:NixOS/nixpkgs/5d35709e6ca20589ba8f60ffd50ca73021cec7c7' (2025-08-14)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/724c16b15be0eccc0b49c0c345185ecbcf9a1b98' (2025-08-14)
  → 'github:randomnetcat/nix-configs/210dfc9f7a5503379cb7270ef677cedbfff26cc0' (2025-08-15)
2025-08-15 10:02:23 +01:00
77698bd2ef flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/91586008a23c01cc32894ee187dca8c0a7bd20a4' (2025-08-10)
  → 'github:nix-community/home-manager/279ca5addcdcfa31ac852b3ecb39fc372684f426' (2025-08-13)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fc756aa6f5d3e2e5666efcf865d190701fef150a' (2025-08-08)
  → 'github:NixOS/nixpkgs/3385ca0cd7e14c1a1eb80401fe011705ff012323' (2025-08-13)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/c5f08b62ed75415439d48152c2a784e36909b1bc' (2025-08-09)
  → 'github:NixOS/nixpkgs/20a42bc21e54ac69d390af482945da2ed0f818c4' (2025-08-14)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054' (2025-08-09)
  → 'github:NixOS/nixpkgs/005433b926e16227259a1843015b5b2b7f7d1fc3' (2025-08-12)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/641d909c4a7538f1539da9240dedb1755c907e40' (2025-08-10)
  → 'github:NixOS/nixpkgs/1a341e3c908f4a3105e737bd13af0318dc06fbe3' (2025-08-14)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/5ec76d807da16b1ecd8aaf230cbb88b140810e67' (2025-08-10)
  → 'github:randomnetcat/nix-configs/724c16b15be0eccc0b49c0c345185ecbcf9a1b98' (2025-08-14)
2025-08-14 22:42:31 +01:00
9ea1a70495 flake: Fiddle with Lix versions to work around bug 2025-08-14 22:41:16 +01:00
1e11359c1a flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/531beac616433bac6f9e2a19feb8e99a22a66baf' (2025-06-17)
  → 'github:ryantm/agenix/9edb1787864c4f59ae5074ad498b6272b3ec308d' (2025-08-05)
• Updated input 'colmena':
    'github:zhaofengli/colmena/d2beb694d54db653399b8597c0f6e15e20b26405' (2025-07-12)
  → 'github:zhaofengli/colmena/5e0fbc4dbc50b3a38ecdbcb8d0a5bbe12e3f9a72' (2025-08-03)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/644e0fc48951a860279da645ba77fe4a6e814c5e' (2025-07-21)
  → 'github:hercules-ci/flake-parts/af66ad14b28a127c5c0f3bbb298218fc63528a18' (2025-08-06)
• Updated input 'flake-parts/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/14a40a1d7fb9afa4739275ac642ed7301a9ba1ab' (2025-06-29)
  → 'github:nix-community/nixpkgs.lib/0f36c44e01a6129be94e3ade315a5883f0228a6e' (2025-07-27)
• Updated input 'home-manager':
    'github:nix-community/home-manager/adf195f021a8cbb0c317f75b52e96c82616526f9' (2025-07-20)
  → 'github:nix-community/home-manager/fc3add429f21450359369af74c2375cb34a2d204' (2025-07-27)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/847711c7ffa9944b0c5c39a8342ac8eb6a9f9abc' (2025-07-22)
  → 'github:nix-community/home-manager/91586008a23c01cc32894ee187dca8c0a7bd20a4' (2025-08-10)
• Updated input 'lix-module/lix':
    'git+https://git.lix.systems/lix-project/lix?ref=release-2.93&rev=7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a' (2025-07-22)
  → 'https://git.lix.systems/api/v1/repos/lix-project/lix/archive/7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a.tar.gz?narHash=sha256-tkT4aCZZE6IEmjYotOzKKa2rV3pGpH3ZREeQn7ACgdU%3D&rev=7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a' (2025-07-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/92c2e04a475523e723c67ef872d8037379073681' (2025-07-21)
  → 'github:NixOS/nixpkgs/fc756aa6f5d3e2e5666efcf865d190701fef150a' (2025-08-08)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/4978f362d3ecc18c2b111f46a65467a0e07ef923' (2025-07-21)
  → 'github:NixOS/nixpkgs/c5f08b62ed75415439d48152c2a784e36909b1bc' (2025-08-09)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/c87b95e25065c028d31a94f06a62927d18763fdf' (2025-07-19)
  → 'github:NixOS/nixpkgs/85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054' (2025-08-09)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/91b279d8c68718659084298ea287c73b5bf6df2c' (2025-07-21)
  → 'github:NixOS/nixpkgs/641d909c4a7538f1539da9240dedb1755c907e40' (2025-08-10)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/b7697abe89967839b273a863a3805345ea54ab56' (2025-05-25)
  → 'github:nix-community/plasma-manager/cca090f8115c4172b9aef6c5299ae784bdd5e133' (2025-08-06)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/a0363249f2d195f2c1a703981ae8a8703a7ec274' (2025-07-20)
  → 'github:randomnetcat/nix-configs/5ec76d807da16b1ecd8aaf230cbb88b140810e67' (2025-08-10)
2025-08-10 18:43:43 +01:00
90faaf720a flake: Use Lix 2.93.3 2025-07-23 18:10:01 +01:00
ff8cf775e3 qenya: uninstall Bitwarden 2025-07-22 23:26:19 +01:00
f22afd23c3 flake: Remove rycee's firefox addons repo 2025-07-22 15:32:47 +01:00
37d2728618 qenya/firefox: Install extensions via policies rather than rycee's repo 2025-07-22 15:32:35 +01:00
89d7d24070 qenya: Temporarily uninstall GIMP
I can't be arsed to work around this until it's fixed:
https://github.com/NixOS/nixpkgs/issues/427155
2025-07-22 14:56:36 +01:00
3dbfd4d03b flake: Use Lix 2.93.3 prerelease
Flake lock file updates:

• Updated input 'lix-module/lix':
    'https://git.lix.systems/api/v1/repos/lix-project/lix/archive/1d7368585eebaa2c4bdbcb88fe600cfb2239b2c6.tar.gz?narHash=sha256-J4ycLoXHPsoBoQtEXFCelL4xlq5pT8U9tNWNKm43%2BYI%3D&rev=1d7368585eebaa2c4bdbcb88fe600cfb2239b2c6' (2025-06-29)
  → 'git+https://git.lix.systems/lix-project/lix?ref=release-2.93&rev=dc6d5962a57659b4f54ebdf0c8676847bd80212a' (2025-07-20)
2025-07-22 12:21:29 +01:00
631c61e53d qenya: install 1Password 2025-07-22 12:00:39 +01:00
5c2b7f301e flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/51e77bb95540b7dd6c60f8fd65a0c472a2c9c3b7?dir=pkgs/firefox-addons' (2025-07-13)
  → 'gitlab:rycee/nur-expressions/a38f383959d8bf0c1d5d555469a4c63c4632701f?dir=pkgs/firefox-addons' (2025-07-22)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/77826244401ea9de6e3bac47c2db46005e1f30b5' (2025-07-01)
  → 'github:hercules-ci/flake-parts/644e0fc48951a860279da645ba77fe4a6e814c5e' (2025-07-21)
• Updated input 'home-manager':
    'github:nix-community/home-manager/c26266790678863cce8e7460fdbf0d80991b1906' (2025-07-13)
  → 'github:nix-community/home-manager/adf195f021a8cbb0c317f75b52e96c82616526f9' (2025-07-20)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/1e54837569e0b80797c47be4720fab19e0db1616' (2025-07-14)
  → 'github:nix-community/home-manager/847711c7ffa9944b0c5c39a8342ac8eb6a9f9abc' (2025-07-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/650e572363c091045cdbc5b36b0f4c1f614d3058' (2025-07-12)
  → 'github:NixOS/nixpkgs/92c2e04a475523e723c67ef872d8037379073681' (2025-07-21)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/dfcd5b901dbab46c9c6e80b265648481aafb01f8' (2025-07-13)
  → 'github:NixOS/nixpkgs/4978f362d3ecc18c2b111f46a65467a0e07ef923' (2025-07-21)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/9807714d6944a957c2e036f84b0ff8caf9930bc0' (2025-07-08)
  → 'github:NixOS/nixpkgs/c87b95e25065c028d31a94f06a62927d18763fdf' (2025-07-19)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/2f21cef1d1dc734a2dd89f535427cf291aebc8ef' (2025-07-14)
  → 'github:NixOS/nixpkgs/91b279d8c68718659084298ea287c73b5bf6df2c' (2025-07-21)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/ecb7abdd7d477b7d45942e9d0a9faa32fff6ee4a' (2025-07-14)
  → 'github:randomnetcat/nix-configs/a0363249f2d195f2c1a703981ae8a8703a7ec274' (2025-07-20)
2025-07-22 12:00:28 +01:00
01c1df0fcb flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/bf437c46b2b92baa4a0d3341c27b25fcfa285ec0?dir=pkgs/firefox-addons' (2025-07-12)
  → 'gitlab:rycee/nur-expressions/51e77bb95540b7dd6c60f8fd65a0c472a2c9c3b7?dir=pkgs/firefox-addons' (2025-07-13)
• Updated input 'home-manager':
    'github:nix-community/home-manager/c6a01e54af81b381695db796a43360bf6db5702f' (2025-07-11)
  → 'github:nix-community/home-manager/c26266790678863cce8e7460fdbf0d80991b1906' (2025-07-13)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/ea24675e4f4f4c494ccb04f6645db2a394d348ee' (2025-07-12)
  → 'github:nix-community/home-manager/1e54837569e0b80797c47be4720fab19e0db1616' (2025-07-14)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/10e687235226880ed5e9f33f1ffa71fe60f2638a' (2025-07-10)
  → 'github:NixOS/nixpkgs/650e572363c091045cdbc5b36b0f4c1f614d3058' (2025-07-12)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/739c8f530a2c5e0b9eefc8019d201654264cb974' (2025-07-11)
  → 'github:NixOS/nixpkgs/dfcd5b901dbab46c9c6e80b265648481aafb01f8' (2025-07-13)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/d3807bc34e7d086b4754e1c842505570e23f9d01' (2025-07-12)
  → 'github:NixOS/nixpkgs/2f21cef1d1dc734a2dd89f535427cf291aebc8ef' (2025-07-14)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/8d3718931bbc5cd9bf6b4acfbbdd6925f119c179' (2025-07-12)
  → 'github:randomnetcat/nix-configs/ecb7abdd7d477b7d45942e9d0a9faa32fff6ee4a' (2025-07-14)
2025-07-14 15:11:57 +01:00
804494ddb3 flake.lock: Update
Flake lock file updates:

• Updated input 'colmena':
    'github:zhaofengli/colmena/f560ed613a568aee178576b21c6818ef50819ca5' (2025-07-09)
  → 'github:zhaofengli/colmena/d2beb694d54db653399b8597c0f6e15e20b26405' (2025-07-12)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/680d0ba892443d95ad1afdc523686573111e6c1a?dir=pkgs/firefox-addons' (2025-07-11)
  → 'gitlab:rycee/nur-expressions/bf437c46b2b92baa4a0d3341c27b25fcfa285ec0?dir=pkgs/firefox-addons' (2025-07-12)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/e90b28967cacc64de7fb8742314ed0d7d12f47c6' (2025-07-11)
  → 'github:nix-community/home-manager/ea24675e4f4f4c494ccb04f6645db2a394d348ee' (2025-07-12)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/88983d4b665fb491861005137ce2b11a9f89f203' (2025-07-08)
  → 'github:NixOS/nixpkgs/10e687235226880ed5e9f33f1ffa71fe60f2638a' (2025-07-10)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/0d81cd273efaaca0aa5c9685a462c6b91fc704fd' (2025-07-10)
  → 'github:NixOS/nixpkgs/739c8f530a2c5e0b9eefc8019d201654264cb974' (2025-07-11)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/1bd4d0d4a678d48b63eb18f457d74df2fcee6c69' (2025-07-11)
  → 'github:NixOS/nixpkgs/d3807bc34e7d086b4754e1c842505570e23f9d01' (2025-07-12)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/36ec1db331a6fd39e1f9d8ee3ef36d887fe1e2d1' (2025-07-11)
  → 'github:randomnetcat/nix-configs/8d3718931bbc5cd9bf6b4acfbbdd6925f119c179' (2025-07-12)
2025-07-12 20:46:11 +01:00
0ecedcf56e actual: Use package from unstable 2025-07-12 20:45:15 +01:00
873adbaaec flake.lock: Update
Flake lock file updates:

• Updated input 'colmena':
    'github:zhaofengli/colmena/3ceec72cfb396a8a8de5fe96a9d75a9ce88cc18e' (2025-06-28)
  → 'github:zhaofengli/colmena/f560ed613a568aee178576b21c6818ef50819ca5' (2025-07-09)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/fa40d85b15cbfb1a488ef9a119ff2d40a481c8da?dir=pkgs/firefox-addons' (2025-06-30)
  → 'gitlab:rycee/nur-expressions/680d0ba892443d95ad1afdc523686573111e6c1a?dir=pkgs/firefox-addons' (2025-07-11)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569' (2025-06-08)
  → 'github:hercules-ci/flake-parts/77826244401ea9de6e3bac47c2db46005e1f30b5' (2025-07-01)
• Updated input 'flake-parts/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/656a64127e9d791a334452c6b6606d17539476e2' (2025-06-01)
  → 'github:nix-community/nixpkgs.lib/14a40a1d7fb9afa4739275ac642ed7301a9ba1ab' (2025-06-29)
• Updated input 'home-manager':
    'github:nix-community/home-manager/366f00797b1efb70f2882d3da485e3c10fd3d557' (2025-06-24)
  → 'github:nix-community/home-manager/c6a01e54af81b381695db796a43360bf6db5702f' (2025-07-11)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/f6deff178cc4d6049d30785dbfc831e6c6e3a219' (2025-06-29)
  → 'github:nix-community/home-manager/e90b28967cacc64de7fb8742314ed0d7d12f47c6' (2025-07-11)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b43c397f6c213918d6cfe6e3550abfe79b5d1c51' (2025-06-29)
  → 'github:NixOS/nixpkgs/88983d4b665fb491861005137ce2b11a9f89f203' (2025-07-08)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/e410afb41ba16a2ceeaeff85c536d35f10bbbdcf' (2025-06-29)
  → 'github:NixOS/nixpkgs/0d81cd273efaaca0aa5c9685a462c6b91fc704fd' (2025-07-10)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/30e2e2857ba47844aa71991daa6ed1fc678bcbb7' (2025-06-27)
  → 'github:NixOS/nixpkgs/9807714d6944a957c2e036f84b0ff8caf9930bc0' (2025-07-08)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/cbb0f33478508488b2affe24a939dae57cb5a157' (2025-06-30)
  → 'github:NixOS/nixpkgs/1bd4d0d4a678d48b63eb18f457d74df2fcee6c69' (2025-07-11)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/09459a091c79ead8efe75735da4f784f272e0f48' (2025-06-30)
  → 'github:randomnetcat/nix-configs/36ec1db331a6fd39e1f9d8ee3ef36d887fe1e2d1' (2025-07-11)
2025-07-11 16:23:29 +01:00
a2862c0994 flake.lock: Update
Flake lock file updates:

• Updated input 'colmena':
    'github:zhaofengli/colmena/c61641b156dfa3e82fc0671e77fccf7d7ccfaa3b' (2025-06-12)
  → 'github:zhaofengli/colmena/3ceec72cfb396a8a8de5fe96a9d75a9ce88cc18e' (2025-06-28)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/aaaf4fec792bad465ea4a35c0be5bc2a54f33095?dir=pkgs/firefox-addons' (2025-06-24)
  → 'gitlab:rycee/nur-expressions/fa40d85b15cbfb1a488ef9a119ff2d40a481c8da?dir=pkgs/firefox-addons' (2025-06-30)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/ff31a4677c1a8ae506aa7e003a3dba08cb203f82' (2025-06-24)
  → 'github:nix-community/home-manager/f6deff178cc4d6049d30785dbfc831e6c6e3a219' (2025-06-29)
• Updated input 'lix-module':
    'https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/c3c78a32273e89d28367d8605a4c880f0b6607e3.tar.gz?narHash=sha256-EfA5K5EZAnspmraJrXQlziffVpaT%2BQDBiE6yKmuaNNQ%3D&rev=c3c78a32273e89d28367d8605a4c880f0b6607e3' (2025-06-24)
  → 'https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/8b1094356f4723d6e89d3f8a95b333ee16d9ab02.tar.gz?narHash=sha256-SXUAlxpjPRkArRMHy5%2BHdi%2BPiC%2BND9yzzIjiaHmTvQU%3D&rev=8b1094356f4723d6e89d3f8a95b333ee16d9ab02' (2025-06-29)
• Updated input 'lix-module/lix':
    'https://git.lix.systems/api/v1/repos/lix-project/lix/archive/38b358ce27203f972faa2973cf44ba80c758f46e.tar.gz?narHash=sha256-LmQhjQ7c%2BAOkwhvR9GFgJOy8oHW35MoQRELtrwyVnPw%3D&rev=38b358ce27203f972faa2973cf44ba80c758f46e' (2025-06-24)
  → 'https://git.lix.systems/api/v1/repos/lix-project/lix/archive/1d7368585eebaa2c4bdbcb88fe600cfb2239b2c6.tar.gz?narHash=sha256-J4ycLoXHPsoBoQtEXFCelL4xlq5pT8U9tNWNKm43%2BYI%3D&rev=1d7368585eebaa2c4bdbcb88fe600cfb2239b2c6' (2025-06-29)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c7ab75210cb8cb16ddd8f290755d9558edde7ee1' (2025-06-22)
  → 'github:NixOS/nixpkgs/b43c397f6c213918d6cfe6e3550abfe79b5d1c51' (2025-06-29)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/a5e9291e97f5ba0b4ba7d657ddedd5f86d11acfd' (2025-06-24)
  → 'github:NixOS/nixpkgs/e410afb41ba16a2ceeaeff85c536d35f10bbbdcf' (2025-06-29)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/4206c4cb56751df534751b058295ea61357bbbaa' (2025-06-21)
  → 'github:NixOS/nixpkgs/30e2e2857ba47844aa71991daa6ed1fc678bcbb7' (2025-06-27)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/4396a137499b6cc9f9fe9f3c266577bd52d455a4' (2025-06-24)
  → 'github:NixOS/nixpkgs/cbb0f33478508488b2affe24a939dae57cb5a157' (2025-06-30)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/1a2a536f5550c3b323e19f46d166340ad01745fd' (2025-06-24)
  → 'github:randomnetcat/nix-configs/09459a091c79ead8efe75735da4f784f272e0f48' (2025-06-30)
2025-06-30 14:12:26 +01:00
fa61c1523b boot: Enable resolved/DNS-over-TLS 2025-06-25 01:14:54 +01:00
094812e6f1 kilgharrah: Install libdvdcss 2025-06-25 01:14:11 +01:00
43273d4689 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/4835b1dc898959d8547a871ef484930675cb47f1' (2025-05-18)
  → 'github:ryantm/agenix/531beac616433bac6f9e2a19feb8e99a22a66baf' (2025-06-17)
• Updated input 'colmena':
    'github:zhaofengli/colmena/58f1beb074881d7208def140af71b7864b6139e0' (2025-06-08)
  → 'github:zhaofengli/colmena/c61641b156dfa3e82fc0671e77fccf7d7ccfaa3b' (2025-06-12)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/fe13e6abfe72b39ad8381595c3c404849330c3cb?dir=pkgs/firefox-addons' (2025-06-09)
  → 'gitlab:rycee/nur-expressions/aaaf4fec792bad465ea4a35c0be5bc2a54f33095?dir=pkgs/firefox-addons' (2025-06-24)
• Updated input 'home-manager':
    'github:nix-community/home-manager/7aae0ee71a17b19708b93b3ed448a1a0952bf111' (2025-06-05)
  → 'github:nix-community/home-manager/366f00797b1efb70f2882d3da485e3c10fd3d557' (2025-06-24)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/74d196c9943a67908d1883f61154e594d03863e5' (2025-06-09)
  → 'github:nix-community/home-manager/ff31a4677c1a8ae506aa7e003a3dba08cb203f82' (2025-06-24)
• Updated input 'lix-module':
    'https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc.tar.gz?narHash=sha256-11R4K3iAx4tLXjUs%2BhQ5K90JwDABD/XHhsM9nkeS5N8%3D&rev=cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc' (2025-05-10)
  → 'https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/c3c78a32273e89d28367d8605a4c880f0b6607e3.tar.gz?narHash=sha256-EfA5K5EZAnspmraJrXQlziffVpaT%2BQDBiE6yKmuaNNQ%3D&rev=c3c78a32273e89d28367d8605a4c880f0b6607e3' (2025-06-24)
• Updated input 'lix-module/lix':
    'https://git.lix.systems/api/v1/repos/lix-project/lix/archive/47aad376c87e2e65967f17099277428e4b3f8e5a.tar.gz?narHash=sha256-hsFe4Tsqqg4l%2BFfQWphDtjC79WzNCZbEFhHI8j2KJzw%3D&rev=47aad376c87e2e65967f17099277428e4b3f8e5a' (2025-05-09)
  → 'https://git.lix.systems/api/v1/repos/lix-project/lix/archive/38b358ce27203f972faa2973cf44ba80c758f46e.tar.gz?narHash=sha256-LmQhjQ7c%2BAOkwhvR9GFgJOy8oHW35MoQRELtrwyVnPw%3D&rev=38b358ce27203f972faa2973cf44ba80c758f46e' (2025-06-24)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/70c74b02eac46f4e4aa071e45a6189ce0f6d9265' (2025-06-06)
  → 'github:NixOS/nixpkgs/c7ab75210cb8cb16ddd8f290755d9558edde7ee1' (2025-06-22)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/2b41bf05854399433a852b438bb5392dc56cbaba' (2025-06-07)
  → 'github:NixOS/nixpkgs/a5e9291e97f5ba0b4ba7d657ddedd5f86d11acfd' (2025-06-24)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/3e3afe5174c561dee0df6f2c2b2236990146329f' (2025-06-07)
  → 'github:NixOS/nixpkgs/4206c4cb56751df534751b058295ea61357bbbaa' (2025-06-21)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/0fc422d6c394191338c9d6a05786c63fc52a0f29' (2025-06-08)
  → 'github:NixOS/nixpkgs/4396a137499b6cc9f9fe9f3c266577bd52d455a4' (2025-06-24)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/3cc561e5c7c463785f0e79a518572afaa74c8377' (2025-06-09)
  → 'github:randomnetcat/nix-configs/1a2a536f5550c3b323e19f46d166340ad01745fd' (2025-06-24)
2025-06-24 22:11:48 +01:00
3c058d9b9a yevaud/pennykettle: Rewrite from scratch without networkd or microsocks 2025-06-24 22:09:34 +01:00
5df6e93ae3 yevaud/pennykettle: Standardise port numbers and interface names 2025-06-17 12:14:32 +01:00
f590432b7d yevaud/pennykettle: Further IPv6 fixes 2025-06-17 12:14:32 +01:00
a7052e1b8f yevaud/pennykettle: Run SOCKS server 2025-06-17 12:14:32 +01:00
7e61ad0aac yevaud/pennykettle: Fix IPv6 again 2025-06-17 12:14:32 +01:00
9cf30613f4 yevaud: Disable networkd
Just so much more trouble than it's worth - NixOS containers are really
not designed to work with it
2025-06-17 12:14:32 +01:00
dfe00fabb4 yevaud/pennykettle: Minor fixes to port forwarding 2025-06-17 12:14:32 +01:00
2347ba609d tohru: Install Apostrophe, Tuba 2025-06-17 08:15:24 +01:00
c55df8785a tohru: Uninstall amberol 2025-06-15 17:52:34 +01:00
fd31dbed5a backup: Offload DNS & SSH host key to other modules 2025-06-09 23:25:53 +01:00
45831f553b ssh: Read host keys from data file; rename from openssh 2025-06-09 18:02:02 +01:00
d43962290d flake.lock: Update
Flake lock file updates:

• Updated input 'colmena':
    'github:zhaofengli/colmena/df694ee23be7ed7b2d8b42c245a640f0724eb06c' (2025-05-09)
  → 'github:zhaofengli/colmena/58f1beb074881d7208def140af71b7864b6139e0' (2025-06-08)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/0a907047c5b56503dd2e889dbbb694c61b8daf25?dir=pkgs/firefox-addons' (2025-06-02)
  → 'gitlab:rycee/nur-expressions/fe13e6abfe72b39ad8381595c3c404849330c3cb?dir=pkgs/firefox-addons' (2025-06-09)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/49f0870db23e8c1ca0b5259734a02cd9e1e371a1' (2025-06-01)
  → 'github:hercules-ci/flake-parts/9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569' (2025-06-08)
• Updated input 'home-manager':
    'github:nix-community/home-manager/282e1e029cb6ab4811114fc85110613d72771dea' (2025-05-31)
  → 'github:nix-community/home-manager/7aae0ee71a17b19708b93b3ed448a1a0952bf111' (2025-06-05)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/c7fdb7e90bff1a51b79c1eed458fb39e6649a82a' (2025-06-02)
  → 'github:nix-community/home-manager/74d196c9943a67908d1883f61154e594d03863e5' (2025-06-09)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a59eb7800787c926045d51b70982ae285faa2346' (2025-05-31)
  → 'github:NixOS/nixpkgs/70c74b02eac46f4e4aa071e45a6189ce0f6d9265' (2025-06-06)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/c9ffdbb8d515b225169ee8bbbff2fdcb8cb6a2e5' (2025-06-01)
  → 'github:NixOS/nixpkgs/2b41bf05854399433a852b438bb5392dc56cbaba' (2025-06-07)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/910796cabe436259a29a72e8d3f5e180fc6dfacc' (2025-05-31)
  → 'github:NixOS/nixpkgs/3e3afe5174c561dee0df6f2c2b2236990146329f' (2025-06-07)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/0d0bc640d371e9e8c9914c42951b3d6522bc5dda' (2025-06-01)
  → 'github:NixOS/nixpkgs/0fc422d6c394191338c9d6a05786c63fc52a0f29' (2025-06-08)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/7db88aafc6ff326ed1987a1fc4d639820c305843' (2025-06-02)
  → 'github:randomnetcat/nix-configs/3cc561e5c7c463785f0e79a518572afaa74c8377' (2025-06-09)
2025-06-09 17:13:50 +01:00
5fb39104e2 distributed-builds: Use Tailscale DNS 2025-06-09 17:04:53 +01:00
41cc006b96 treewide: Remove birdsong in favour of Tailscale 2025-06-09 16:58:28 +01:00
dbb7af7846 tailscale: Supply SSH known_hosts 2025-06-09 16:45:38 +01:00
f11815c2b1 yevaud/pennykettle: Re-enable, update for 25.05, fix IPv6 2025-06-09 16:22:48 +01:00
909f820af5 tailscale, headscale: Use internal DNS 2025-06-09 16:22:48 +01:00
3a9a3c40b0 kilgharrah: Slightly rearrange dock 2025-06-02 14:08:52 +01:00
d36f33fd93 flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/f9801a86d6603260940890c36650275090d1dceb?dir=pkgs/firefox-addons' (2025-05-28)
  → 'gitlab:rycee/nur-expressions/0a907047c5b56503dd2e889dbbb694c61b8daf25?dir=pkgs/firefox-addons' (2025-06-02)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/c621e8422220273271f52058f618c94e405bb0f5' (2025-04-01)
  → 'github:hercules-ci/flake-parts/49f0870db23e8c1ca0b5259734a02cd9e1e371a1' (2025-06-01)
• Updated input 'flake-parts/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/e4822aea2a6d1cdd36653c134cacfd64c97ff4fa' (2025-03-30)
  → 'github:nix-community/nixpkgs.lib/656a64127e9d791a334452c6b6606d17539476e2' (2025-06-01)
• Updated input 'home-manager':
    'github:nix-community/home-manager/83665c39fa688bd6a1f7c43cf7997a70f6a109f9' (2025-05-26)
  → 'github:nix-community/home-manager/282e1e029cb6ab4811114fc85110613d72771dea' (2025-05-31)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/f5b12be834874f7661db4ced969a621ab2d57971' (2025-05-28)
  → 'github:nix-community/home-manager/c7fdb7e90bff1a51b79c1eed458fb39e6649a82a' (2025-06-02)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7c43f080a7f28b2774f3b3f43234ca11661bf334' (2025-05-25)
  → 'github:NixOS/nixpkgs/a59eb7800787c926045d51b70982ae285faa2346' (2025-05-31)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/d90ebe5aafcdd79dc9d4210aacf1ff21d4ca31c3' (2025-05-27)
  → 'github:NixOS/nixpkgs/c9ffdbb8d515b225169ee8bbbff2fdcb8cb6a2e5' (2025-06-01)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/62b852f6c6742134ade1abdd2a21685fd617a291' (2025-05-25)
  → 'github:NixOS/nixpkgs/910796cabe436259a29a72e8d3f5e180fc6dfacc' (2025-05-31)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/aeb017b5830518483e0081d2ac6e12dd4d787f5d' (2025-05-28)
  → 'github:NixOS/nixpkgs/0d0bc640d371e9e8c9914c42951b3d6522bc5dda' (2025-06-01)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/32ddd519a7ce4486e8b8b5a8b3d3262e7442ce6c' (2025-05-28)
  → 'github:randomnetcat/nix-configs/7db88aafc6ff326ed1987a1fc4d639820c305843' (2025-06-02)
2025-06-02 08:52:55 +01:00
8df00f35b8 kilgharrah: Slightly rearrange dock 2025-06-02 08:51:20 +01:00
86c977d8ca qenya/dconf: Disable new GNOME 48 wellbeing features 2025-06-01 00:23:36 +01:00
bf378949d2 treewide: Partial migration from custom WireGuard to Headscale 2025-05-29 23:55:28 +01:00
bd3c9bd5f2 qenya: Patch Feishin with mpv support 2025-05-29 23:54:27 +01:00
453ec3c40d qenya/dconf: Enable new GNOMe 48 wellbeing features 2025-05-29 23:20:51 +01:00
bef3d8d04a qenya: install ripgrep 2025-05-29 20:43:44 +01:00
a299d94fc6 kilgharrah: Apply Plasma theming 2025-05-29 15:36:17 +01:00
ee984ad591 qenya/fonts: Update deprecated options for NixOS 25.05 2025-05-29 11:49:08 +01:00
303335ee3b kilgharrah: Move to nixpkgs unstable 2025-05-29 11:48:32 +01:00
55c622408b qenya/plasma: Move into kilgharrah's host config 2025-05-29 09:44:51 +01:00
a630607350 treewide: Update deprecated options for NixOS 25.05 2025-05-28 15:50:52 +01:00
6653fed1c2 flake: Update to NixOS 25.05
Flake lock file updates:

• Removed input 'actual'
• Removed input 'actual/nixpkgs'
• Updated input 'home-manager':
    'github:nix-community/home-manager/d5f1f641b289553927b3801580598d200a501863' (2025-05-19)
  → 'github:nix-community/home-manager/83665c39fa688bd6a1f7c43cf7997a70f6a109f9' (2025-05-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f09dede81861f3a83f7f06641ead34f02f37597f' (2025-05-23)
  → 'github:NixOS/nixpkgs/7c43f080a7f28b2774f3b3f43234ca11661bf334' (2025-05-25)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/8c092804de127b5617972052ea46d499fb2fd424' (2025-05-27)
  → 'github:NixOS/nixpkgs/d90ebe5aafcdd79dc9d4210aacf1ff21d4ca31c3' (2025-05-27)
2025-05-28 15:49:27 +01:00
83e8c3d8f8 kalessin, orm: Fix broken backups
Not been working for two and a half months. Oops. We've all been there.
2025-05-28 15:27:07 +01:00
5fee65c784 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/96e078c646b711aee04b82ba01aefbff87004ded' (2025-04-26)
  → 'github:ryantm/agenix/4835b1dc898959d8547a871ef484930675cb47f1' (2025-05-18)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/1ebb2cf654110901889353440027993312e1aeb0?dir=pkgs/firefox-addons' (2025-05-16)
  → 'gitlab:rycee/nur-expressions/f9801a86d6603260940890c36650275090d1dceb?dir=pkgs/firefox-addons' (2025-05-28)
• Updated input 'home-manager':
    'github:nix-community/home-manager/1eec32f0efe3b830927989767a9e6ece0d82d608' (2025-05-15)
  → 'github:nix-community/home-manager/d5f1f641b289553927b3801580598d200a501863' (2025-05-19)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/d2263ce5f4c251c0f7608330e8fdb7d1f01f0667' (2025-05-16)
  → 'github:nix-community/home-manager/f5b12be834874f7661db4ced969a621ab2d57971' (2025-05-28)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5d736263df906c5da72ab0f372427814de2f52f8' (2025-05-14)
  → 'github:NixOS/nixpkgs/f09dede81861f3a83f7f06641ead34f02f37597f' (2025-05-23)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/288a96500445cddb1613dfd3b6fcc9d5b32fa7ad' (2025-05-16)
  → 'github:NixOS/nixpkgs/8c092804de127b5617972052ea46d499fb2fd424' (2025-05-27)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/adaa24fbf46737f3f1b5497bf64bae750f82942e' (2025-05-13)
  → 'github:NixOS/nixpkgs/62b852f6c6742134ade1abdd2a21685fd617a291' (2025-05-25)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/adfa8b0e75657c862acd0119ee42a69a6a6b2b4e' (2025-05-16)
  → 'github:NixOS/nixpkgs/aeb017b5830518483e0081d2ac6e12dd4d787f5d' (2025-05-28)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/b70be387276e632fe51232887f9e04e2b6ef8c16' (2025-03-23)
  → 'github:nix-community/plasma-manager/b7697abe89967839b273a863a3805345ea54ab56' (2025-05-25)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/a5540bdb3e6e9d2ad8ea9639654ff7263008d239' (2025-05-16)
  → 'github:randomnetcat/nix-configs/32ddd519a7ce4486e8b8b5a8b3d3262e7442ce6c' (2025-05-28)
2025-05-28 09:42:48 +01:00
d2ec22d8fb nix: Remove redundant manual $NIX_PATH value 2025-05-22 15:16:15 +01:00
f1718e5c3b tehanu: init 2025-05-22 03:10:37 +01:00
b64d34e9c4 tailscale: Autoconect to headscale on boot 2025-05-22 01:42:42 +01:00
27c579e7aa kilgharrah: Blu-ray drive support 2025-05-21 19:32:29 +01:00
fa78156120 owncast: Resolve port number clash 2025-05-21 19:28:39 +01:00
2e37815edb audiobookshelf: Use built-in NixOS setting for nginx websocket support 2025-05-21 19:28:29 +01:00
a98fd9ba83 tailscale, headscale: init 2025-05-21 19:28:07 +01:00
b35fefbf98 kalessin: Add randomcat to wheel 2025-05-21 19:27:41 +01:00
78118c14dc qenya: Install Celluloid (on GNOME) or Haruna (on KDE) 2025-05-16 17:28:53 +01:00
7dc684cce3 flake: Update lix to 2.93.0 2025-05-16 17:05:42 +01:00
a8ab37993d flake.lock: Update
Flake lock file updates:

• Updated input 'birdsong':
    'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=a40220a4b977bc04cbe9e13ff5c667ed6f252677' (2025-02-05)
  → 'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=9955b1ae4eb0cbeff2ae0ed6520e651753880445' (2025-05-13)
• Updated input 'colmena':
    'github:zhaofengli/colmena/2370d4336eda2a9ef29fce10fa7076ae011983ab' (2025-02-18)
  → 'github:zhaofengli/colmena/df694ee23be7ed7b2d8b42c245a640f0724eb06c' (2025-05-09)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/346899a4b3b651ab447c61e0c8e9d8a1454cda72?dir=pkgs/firefox-addons' (2025-04-23)
  → 'gitlab:rycee/nur-expressions/1ebb2cf654110901889353440027993312e1aeb0?dir=pkgs/firefox-addons' (2025-05-16)
• Updated input 'home-manager':
    'github:nix-community/home-manager/dd26f75fb4ec1c731d4b1396eaf4439ce40a91c1' (2025-04-25)
  → 'github:nix-community/home-manager/1eec32f0efe3b830927989767a9e6ece0d82d608' (2025-05-15)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/2f5819a962489e037a57835f63ed6ff8dbc2d5fb' (2025-04-26)
  → 'github:nix-community/home-manager/d2263ce5f4c251c0f7608330e8fdb7d1f01f0667' (2025-05-16)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5630cf13cceac06cefe9fc607e8dfa8fb342dde3' (2025-04-24)
  → 'github:NixOS/nixpkgs/5d736263df906c5da72ab0f372427814de2f52f8' (2025-05-14)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/d1e377e4cfcb3da8da4b71dbef631e8317907cd8' (2025-04-26)
  → 'github:NixOS/nixpkgs/288a96500445cddb1613dfd3b6fcc9d5b32fa7ad' (2025-05-16)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/f771eb401a46846c1aebd20552521b233dd7e18b' (2025-04-24)
  → 'github:NixOS/nixpkgs/adaa24fbf46737f3f1b5497bf64bae750f82942e' (2025-05-13)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/1ee8b713821882c66f5ecfde5c4e5874b1cb5e2f' (2025-04-27)
  → 'github:NixOS/nixpkgs/adfa8b0e75657c862acd0119ee42a69a6a6b2b4e' (2025-05-16)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/876f365eaa010988a0908421578c72fb17c28f09' (2025-04-27)
  → 'github:randomnetcat/nix-configs/a5540bdb3e6e9d2ad8ea9639654ff7263008d239' (2025-05-16)
2025-05-16 17:04:42 +01:00
db7efe4cd0 qenya/vscode: Configure vscode to handle python venvs 2025-04-28 19:23:50 +01:00
ed43e2a1f0 qenya/zsh: Use powerlevel10k theme
Closes #15
2025-04-28 17:34:36 +01:00
278e172881 owncast: init 2025-04-28 15:18:44 +01:00
c22c1e3768 steam: Open ports for game sideloading on LAN 2025-04-28 13:06:33 +01:00
1216b34206 steam: Run with PipeWire support by default 2025-04-28 13:06:20 +01:00
9c39440238 nix: Remove insecure package exception for electron 31
Feishin has updated: https://github.com/jeffvli/feishin/issues/879
2025-04-27 13:30:37 +01:00
e2c74a3743 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/e600439ec4c273cf11e06fe4d9d906fb98fa097c' (2025-01-15)
  → 'github:ryantm/agenix/96e078c646b711aee04b82ba01aefbff87004ded' (2025-04-26)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/60f50437003e17137a871686dfa3fc4291edd5e5?dir=pkgs/firefox-addons' (2025-04-07)
  → 'gitlab:rycee/nur-expressions/346899a4b3b651ab447c61e0c8e9d8a1454cda72?dir=pkgs/firefox-addons' (2025-04-23)
• Updated input 'home-manager':
    'github:nix-community/home-manager/a9f8b3db211b4609ddd83683f9db89796c7f6ac6' (2025-04-04)
  → 'github:nix-community/home-manager/dd26f75fb4ec1c731d4b1396eaf4439ce40a91c1' (2025-04-25)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/f463902a3f03e15af658e48bcc60b39188ddf734' (2025-04-07)
  → 'github:nix-community/home-manager/2f5819a962489e037a57835f63ed6ff8dbc2d5fb' (2025-04-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7819a0d29d1dd2bc331bec4b327f0776359b1fa6' (2025-04-05)
  → 'github:NixOS/nixpkgs/5630cf13cceac06cefe9fc607e8dfa8fb342dde3' (2025-04-24)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/f27c6099cec4fe9b67c7fbc51d8324dcb4b52694' (2025-04-05)
  → 'github:NixOS/nixpkgs/d1e377e4cfcb3da8da4b71dbef631e8317907cd8' (2025-04-26)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/42a1c966be226125b48c384171c44c651c236c22' (2025-04-05)
  → 'github:NixOS/nixpkgs/f771eb401a46846c1aebd20552521b233dd7e18b' (2025-04-24)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/da98c5d529f118c82e80a3f9b4fb01fdeba3cf7a' (2025-04-06)
  → 'github:NixOS/nixpkgs/1ee8b713821882c66f5ecfde5c4e5874b1cb5e2f' (2025-04-27)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/335ef83e439cfcb4781d5a8f54f606afb63e9f48' (2025-04-07)
  → 'github:randomnetcat/nix-configs/876f365eaa010988a0908421578c72fb17c28f09' (2025-04-27)
2025-04-27 11:20:13 +01:00
4f82380855 Remove rudimentary netbox module
Accidentally committed a while ago
2025-04-08 17:22:10 +01:00
8f8f2556a0 Revert "kanidm: init"
This reverts commit 9968717824.
2025-04-07 15:21:14 +01:00
61d86b7f57 flake: pin lix version 2025-04-07 15:20:17 +01:00
4265d5bae9 flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/5a0ac85616aa6b166ea715a41bc1255bb802b189?dir=pkgs/firefox-addons' (2025-03-16)
  → 'gitlab:rycee/nur-expressions/60f50437003e17137a871686dfa3fc4291edd5e5?dir=pkgs/firefox-addons' (2025-04-07)
• Removed input 'firefox-addons/flake-utils'
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/f4330d22f1c5d2ba72d3d22df5597d123fdb60a9' (2025-03-07)
  → 'github:hercules-ci/flake-parts/c621e8422220273271f52058f618c94e405bb0f5' (2025-04-01)
• Updated input 'flake-parts/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/147dee35aab2193b174e4c0868bd80ead5ce755c' (2025-03-02)
  → 'github:nix-community/nixpkgs.lib/e4822aea2a6d1cdd36653c134cacfd64c97ff4fa' (2025-03-30)
• Updated input 'home-manager':
    'github:nix-community/home-manager/9d3d080aec2a35e05a15cedd281c2384767c2cfe' (2025-02-17)
  → 'github:nix-community/home-manager/a9f8b3db211b4609ddd83683f9db89796c7f6ac6' (2025-04-04)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/4e12151c9e014e2449e0beca2c0e9534b96a26b4' (2025-03-14)
  → 'github:nix-community/home-manager/f463902a3f03e15af658e48bcc60b39188ddf734' (2025-04-07)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cdd2ef009676ac92b715ff26630164bb88fec4e0' (2025-03-13)
  → 'github:NixOS/nixpkgs/7819a0d29d1dd2bc331bec4b327f0776359b1fa6' (2025-04-05)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/f182029bf7f08a57762b4c762d0917b6803ceff4' (2025-03-15)
  → 'github:NixOS/nixpkgs/f27c6099cec4fe9b67c7fbc51d8324dcb4b52694' (2025-04-05)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5' (2025-03-15)
  → 'github:NixOS/nixpkgs/42a1c966be226125b48c384171c44c651c236c22' (2025-04-05)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/f985965fff9d4e5df55df0489ef113d09a6ee08d' (2025-03-16)
  → 'github:NixOS/nixpkgs/da98c5d529f118c82e80a3f9b4fb01fdeba3cf7a' (2025-04-06)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/5eeb0172fb74392053b66a8149e61b5e191b2845' (2025-02-26)
  → 'github:nix-community/plasma-manager/b70be387276e632fe51232887f9e04e2b6ef8c16' (2025-03-23)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/a448b9a9ce66f8e1d1a1de1205f384da25574c7b' (2025-03-16)
  → 'github:randomnetcat/nix-configs/335ef83e439cfcb4781d5a8f54f606afb63e9f48' (2025-04-07)
2025-04-07 12:28:08 +01:00
9968717824 kanidm: init 2025-04-03 08:04:22 +01:00
dc7fdfb7ea gpg: init 2025-03-19 17:17:51 +00:00
780a18f627 qenya/vscode: rust-analyzer support 2025-03-18 13:14:50 +00:00
52e3168f8d pipewire-low-latency: Remove
Not sure it every really did anything useful, and even if it did, my
current streaming setup doesn't need it any more
2025-03-17 03:00:24 +00:00
d8e85815bd users: custom property to define users with root 2025-03-17 02:57:15 +00:00
55000c365a web-redirect: init new service for simple domain redirects 2025-03-17 02:25:28 +00:00
addbf7ac3e orm: move actual.qenya.tel -> actual.unspecified.systems 2025-03-17 02:01:22 +00:00
a658c88fc0 flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/0b95936d94ea2a3ce66538f299351cf0b491aa15?dir=pkgs/firefox-addons' (2025-03-07)
  → 'gitlab:rycee/nur-expressions/5a0ac85616aa6b166ea715a41bc1255bb802b189?dir=pkgs/firefox-addons' (2025-03-16)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/95711f926676018d279ba09fe7530d03b5d5b3e2' (2025-03-07)
  → 'github:nix-community/home-manager/4e12151c9e014e2449e0beca2c0e9534b96a26b4' (2025-03-14)
• Updated input 'lix-module':
    'git+https://git.lix.systems/lix-project/nixos-module?ref=stable&rev=a3573779c9ba3d55b90aee6e9b4e70e23d34c1ba' (2025-01-18)
  → 'git+https://git.lix.systems/lix-project/nixos-module?ref=stable&rev=ed7a2fa83145868ecb830d6b3c73ebfd81a9e911' (2025-03-13)
• Updated input 'lix-module/lix':
    'https://git.lix.systems/api/v1/repos/lix-project/lix/archive/2837da71ec1588c1187d2e554719b15904a46c8b.tar.gz?narHash=sha256-CCKIAE84dzkrnlxJCKFyffAxP3yfsOAbdvydUGqq24g%3D&rev=2837da71ec1588c1187d2e554719b15904a46c8b' (2025-01-18)
  → 'https://git.lix.systems/api/v1/repos/lix-project/lix/archive/079528098f5998ba13c88821a2eca1005c1695de.tar.gz?narHash=sha256-pgDJZjj4jpzkFxsqBTI/9Yb0n3gW%2BDvDtuv9SwQZZcs%3D&rev=079528098f5998ba13c88821a2eca1005c1695de' (2025-01-18)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/20755fa05115c84be00b04690630cb38f0a203ad' (2025-03-07)
  → 'github:NixOS/nixpkgs/cdd2ef009676ac92b715ff26630164bb88fec4e0' (2025-03-13)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/9290fda826610430b3fc8cc98443c3a2faaaf151' (2025-03-07)
  → 'github:NixOS/nixpkgs/f182029bf7f08a57762b4c762d0917b6803ceff4' (2025-03-15)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/10069ef4cf863633f57238f179a0297de84bd8d3' (2025-03-06)
  → 'github:NixOS/nixpkgs/c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5' (2025-03-15)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/f104cca31ba6c0403b678ad9428726476b503782' (2025-03-07)
  → 'github:NixOS/nixpkgs/f985965fff9d4e5df55df0489ef113d09a6ee08d' (2025-03-16)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/814314b94a4d44197d2708d4b48d9df1d14892e2' (2025-03-07)
  → 'github:randomnetcat/nix-configs/a448b9a9ce66f8e1d1a1de1205f384da25574c7b' (2025-03-16)
2025-03-16 15:09:01 +00:00
df688efb79 Update README.md 2025-03-15 19:58:34 +00:00
c14b57b186 Update README 2025-03-15 19:55:30 +00:00
6c7bdfa061 qenya/vscode: minor CSS default formatter changes 2025-03-15 19:55:22 +00:00
424de492d7 yevaud: move git.qenya.tel -> git.unspecified.systems 2025-03-15 12:29:30 +00:00
24faa7cc26 orm: add missing postgresql auth method 2025-03-08 00:02:07 +00:00
1b66df659e elucredassa: add missing dataset for backups from kalessin 2025-03-07 23:51:51 +00:00
d1b1e0f0ca orm: temporarily disable SSL on postgres 2025-03-07 23:39:34 +00:00
00ce03ae11 flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/9a8a0914000e4453c99a4c12e9862a0a40075851?dir=pkgs/firefox-addons' (2025-02-22)
  → 'gitlab:rycee/nur-expressions/0b95936d94ea2a3ce66538f299351cf0b491aa15?dir=pkgs/firefox-addons' (2025-03-07)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/32ea77a06711b758da0ad9bd6a844c5740a87abd' (2025-02-01)
  → 'github:hercules-ci/flake-parts/f4330d22f1c5d2ba72d3d22df5597d123fdb60a9' (2025-03-07)
• Updated input 'flake-parts/nixpkgs-lib':
    'https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz?narHash=sha256-vJzFZGaCpnmo7I6i416HaBLpC%2BhvcURh/BQwROcGIp8%3D' (2025-02-01)
  → 'github:nix-community/nixpkgs.lib/147dee35aab2193b174e4c0868bd80ead5ce755c' (2025-03-02)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/74f0a8546e3f2458c870cf90fc4b38ac1f498b17' (2025-02-25)
  → 'github:nix-community/home-manager/95711f926676018d279ba09fe7530d03b5d5b3e2' (2025-03-07)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/04ef94c4c1582fd485bbfdb8c4a8ba250e359195' (2025-02-23)
  → 'github:NixOS/nixpkgs/20755fa05115c84be00b04690630cb38f0a203ad' (2025-03-07)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/3133e42e3ef45fd6ae93da6e8ac337f6f3317b5a' (2025-02-24)
  → 'github:NixOS/nixpkgs/9290fda826610430b3fc8cc98443c3a2faaaf151' (2025-03-07)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/0196c0175e9191c474c26ab5548db27ef5d34b05' (2025-02-24)
  → 'github:NixOS/nixpkgs/10069ef4cf863633f57238f179a0297de84bd8d3' (2025-03-06)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/d4d7eaf04bb369b178ad6eab68e356056aeaa952' (2025-02-25)
  → 'github:NixOS/nixpkgs/f104cca31ba6c0403b678ad9428726476b503782' (2025-03-07)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/1f3e1f38dedbbb8aad77e184fb54ec518e2d9522' (2025-02-14)
  → 'github:nix-community/plasma-manager/5eeb0172fb74392053b66a8149e61b5e191b2845' (2025-02-26)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/f6a2aa7f496bf225c8e5434382619a93b7c1cb20' (2025-02-26)
  → 'github:randomnetcat/nix-configs/814314b94a4d44197d2708d4b48d9df1d14892e2' (2025-03-07)
2025-03-07 22:06:20 +00:00
789324923b orm: install postgres 2025-03-07 22:02:34 +00:00
9760d4d3bc actual: hardcode domain 2025-03-04 19:46:37 +00:00
86f77d2564 kalessin: add new state dataset 2025-03-04 19:45:03 +00:00
d36c87220b orm: don't snapshot the empty root dataset for /var/lib 2025-03-04 19:44:50 +00:00
373bd88e1b backup: hoist variable definitions, add source to target's knownHosts 2025-03-04 18:12:44 +00:00
fefc7bd20d backup: init as a reusable module 2025-03-04 14:43:03 +00:00
691c180ac1 flake: define flake-parts options for colmena
This allows us to define options on the top level, so that we can write
modules to generate config for multiple hosts.

Idea from
1c51514586
2025-03-03 21:26:32 +00:00
c70b287890 treewide: define fqdn, use as default deployment target host 2025-03-03 19:54:32 +00:00
a700ee2445 flake: Use flake-parts to define devShells cross-system 2025-02-26 21:03:57 +00:00
17402985b6 qenya/zsh: use direnv to load local dev shells 2025-02-26 11:07:53 +00:00
8e4b0d26b3 qenya/vscode: settings for python formatting and linting 2025-02-26 11:07:21 +00:00
befc4ac699 flake.lock: Update
Flake lock file updates:

• Updated input 'actual':
    'git+https://git.xeno.science/xenofem/actual-nix?ref=main&rev=8d04125d902637c54a6278cf8d10954b2ed95d61' (2025-01-07)
  → 'git+https://git.xeno.science/xenofem/actual-nix?ref=main&rev=f64adb78f15981d60af97e7aa691d2ebdf48ceaa' (2025-02-06)
• Updated input 'birdsong':
    'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=007130e869f1223713d588ba0f125c586ca13623' (2025-02-04)
  → 'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=a40220a4b977bc04cbe9e13ff5c667ed6f252677' (2025-02-05)
• Updated input 'colmena':
    'github:zhaofengli/colmena/a6b51f5feae9bfb145daa37fd0220595acb7871e' (2024-12-22)
  → 'github:zhaofengli/colmena/2370d4336eda2a9ef29fce10fa7076ae011983ab' (2025-02-18)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/727fbb76627296cdeab0f2367930fb1f663b2113?dir=pkgs/firefox-addons' (2025-02-04)
  → 'gitlab:rycee/nur-expressions/9a8a0914000e4453c99a4c12e9862a0a40075851?dir=pkgs/firefox-addons' (2025-02-22)
• Updated input 'home-manager':
    'github:nix-community/home-manager/bd65bc3cde04c16755955630b344bc9e35272c56' (2025-01-08)
  → 'github:nix-community/home-manager/9d3d080aec2a35e05a15cedd281c2384767c2cfe' (2025-02-17)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/7abcf59a365430b36f84eaa452a466b11e469e33' (2025-02-04)
  → 'github:nix-community/home-manager/74f0a8546e3f2458c870cf90fc4b38ac1f498b17' (2025-02-25)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fecfeb86328381268e29e998ddd3ebc70bbd7f7c' (2025-02-03)
  → 'github:NixOS/nixpkgs/04ef94c4c1582fd485bbfdb8c4a8ba250e359195' (2025-02-23)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/11e2214d91f0d06ea8575087e3cd8e246c550bd8' (2025-02-04)
  → 'github:NixOS/nixpkgs/3133e42e3ef45fd6ae93da6e8ac337f6f3317b5a' (2025-02-24)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/c6e957d81b96751a3d5967a0fd73694f303cc914' (2025-02-03)
  → 'github:NixOS/nixpkgs/0196c0175e9191c474c26ab5548db27ef5d34b05' (2025-02-24)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/a1e849ff441fa1315afa27e1fd18c791f61de06b' (2025-02-04)
  → 'github:NixOS/nixpkgs/d4d7eaf04bb369b178ad6eab68e356056aeaa952' (2025-02-25)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/a53af7f1514ef4cce8620a9d6a50f238cdedec8b' (2025-01-10)
  → 'github:nix-community/plasma-manager/1f3e1f38dedbbb8aad77e184fb54ec518e2d9522' (2025-02-14)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/efff66f0e1b27a4f0894d1cfde02d0892a9bfe9d' (2025-02-04)
  → 'github:randomnetcat/nix-configs/f6a2aa7f496bf225c8e5434382619a93b7c1cb20' (2025-02-26)
2025-02-26 02:36:18 +00:00
1bdb16c788 orm, elucredassa: minor cleanup to backup prototype 2025-02-08 03:45:17 +00:00
3ec0a2fcb9 orm, elucredassa: prototype backups for actual 2025-02-08 03:04:57 +00:00
0c327b20ea flake.lock: Update
Flake lock file updates:

• Updated input 'birdsong':
    'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=4e461f83a84aba32bdf640163375f1e31b699111' (2025-01-21)
  → 'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=007130e869f1223713d588ba0f125c586ca13623' (2025-02-04)
2025-02-04 19:59:04 +00:00
2d42894fa7 nix: add @wheel to trusted-users everywhere 2025-02-04 17:20:19 +00:00
b04e6d1313 elucredassa, kilgharrah: set up remote builds for elucredassa 2025-02-04 16:42:33 +00:00
716d10da36 flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/acdea85582887f189e7fb80e2f80e424a39f779f?dir=pkgs/firefox-addons' (2025-01-21)
  → 'gitlab:rycee/nur-expressions/727fbb76627296cdeab0f2367930fb1f663b2113?dir=pkgs/firefox-addons' (2025-02-04)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/bb14224f51ae4caed12a7b26f245d042c8cf8553' (2025-01-21)
  → 'github:nix-community/home-manager/7abcf59a365430b36f84eaa452a466b11e469e33' (2025-02-04)
• Updated input 'lix-module':
    'git+https://git.lix.systems/lix-project/nixos-module?ref=stable&rev=96824d606a6656650bbe436366bc89d5ee3a6573' (2024-11-26)
  → 'git+https://git.lix.systems/lix-project/nixos-module?ref=stable&rev=a3573779c9ba3d55b90aee6e9b4e70e23d34c1ba' (2025-01-18)
• Updated input 'lix-module/flake-utils':
    'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a' (2024-09-17)
  → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13)
• Updated input 'lix-module/lix':
    'https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz?narHash=sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U%3D&rev=ad9d06f7838a25beec425ff406fe68721fef73be' (2024-10-19)
  → 'https://git.lix.systems/api/v1/repos/lix-project/lix/archive/2837da71ec1588c1187d2e554719b15904a46c8b.tar.gz?narHash=sha256-CCKIAE84dzkrnlxJCKFyffAxP3yfsOAbdvydUGqq24g%3D&rev=2837da71ec1588c1187d2e554719b15904a46c8b' (2025-01-18)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/107d5ef05c0b1119749e381451389eded30fb0d5' (2025-01-19)
  → 'github:NixOS/nixpkgs/fecfeb86328381268e29e998ddd3ebc70bbd7f7c' (2025-02-03)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/6b90f6de986555ac39fc69c438d1192a397bf686' (2025-01-20)
  → 'github:NixOS/nixpkgs/11e2214d91f0d06ea8575087e3cd8e246c550bd8' (2025-02-04)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c' (2025-01-16)
  → 'github:NixOS/nixpkgs/c6e957d81b96751a3d5967a0fd73694f303cc914' (2025-02-03)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/886a2858d36245806197fd8b836b4cc52fbb05b0' (2025-01-21)
  → 'github:NixOS/nixpkgs/a1e849ff441fa1315afa27e1fd18c791f61de06b' (2025-02-04)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/dc1e0ac59b8c462aed7f37579e22912e83a21f97' (2025-01-08)
  → 'github:randomnetcat/nix-configs/efff66f0e1b27a4f0894d1cfde02d0892a9bfe9d' (2025-02-04)
2025-02-04 15:32:03 +00:00
07c49c3d37 elucredassa: Restrict WireGuard's MTU to fit through 6in4 tunnel
Includes a workaround for https://github.com/NixOS/nixpkgs/issues/375960
2025-01-23 14:24:39 +00:00
6c3a225666 flake: Add address for elucredassa 2025-01-22 00:27:30 +00:00
8f3b3adac1 elucredassa: Get IPv6 connectivity through HE.net tunnel broker 2025-01-21 23:19:15 +00:00
19561f0e69 nix: permit "insecure" electron-31 2025-01-21 19:55:15 +00:00
4788c84cd9 elucredassa: connect to birdsong 2025-01-21 18:06:54 +00:00
c109d8e7e7 kilgharrah: explicitly enable zfs userspace utils
this has occasionally come in handy while shuffling drives around
2025-01-21 17:59:23 +00:00
7fe71d559c flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41' (2024-08-10)
  → 'github:ryantm/agenix/e600439ec4c273cf11e06fe4d9d906fb98fa097c' (2025-01-15)
• Updated input 'birdsong':
    'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=54c8b67a44ed58f92b6233934387b6e568151336' (2024-12-27)
  → 'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=4e461f83a84aba32bdf640163375f1e31b699111' (2025-01-21)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/dfc28c64131d651a0b9c560b298c712d5a79c6a0?dir=pkgs/firefox-addons' (2025-01-08)
  → 'gitlab:rycee/nur-expressions/acdea85582887f189e7fb80e2f80e424a39f779f?dir=pkgs/firefox-addons' (2025-01-21)
• Updated input 'home-manager':
    'github:nix-community/home-manager/613691f285dad87694c2ba1c9e6298d04736292d' (2024-12-28)
  → 'github:nix-community/home-manager/bd65bc3cde04c16755955630b344bc9e35272c56' (2025-01-08)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/45bcdbc910dc5131943bb6f7edb156617898fd1a' (2025-01-08)
  → 'github:nix-community/home-manager/bb14224f51ae4caed12a7b26f245d042c8cf8553' (2025-01-21)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3f0a8ac25fb674611b98089ca3a5dd6480175751' (2025-01-06)
  → 'github:NixOS/nixpkgs/107d5ef05c0b1119749e381451389eded30fb0d5' (2025-01-19)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/aedc34a0abc375a413d16802ee5172b4247d20db' (2025-01-08)
  → 'github:NixOS/nixpkgs/6b90f6de986555ac39fc69c438d1192a397bf686' (2025-01-20)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/8f3e1f807051e32d8c95cd12b9b421623850a34d' (2025-01-04)
  → 'github:NixOS/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c' (2025-01-16)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/da76b6311eb169eb526de6feeae7492283fe1f8b' (2025-01-08)
  → 'github:NixOS/nixpkgs/886a2858d36245806197fd8b836b4cc52fbb05b0' (2025-01-21)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/d16bbded0ae452bc088489e7dca3ef58d8d1830b' (2024-12-24)
  → 'github:nix-community/plasma-manager/a53af7f1514ef4cce8620a9d6a50f238cdedec8b' (2025-01-10)
2025-01-21 17:52:44 +00:00
0665be0db9 elucredassa: don't sleep when lid shut 2025-01-21 13:59:21 +00:00
c021f4dc3d elucredassa: enable swap 2025-01-20 20:32:37 +00:00
30bdb5dd7f elucredassa: set timezone to UTC 2025-01-20 18:39:36 +00:00
2a7baa9b62 elucredassa: init 2025-01-20 18:30:48 +00:00
ba8fc5fef6 flake.lock: Update
Flake lock file updates:

• Updated input 'actual':
    'git+https://git.xeno.science/xenofem/actual-nix?ref=main&rev=7f041ffa7f204deb0fc2e36908b382804f2e108d' (2024-12-07)
  → 'git+https://git.xeno.science/xenofem/actual-nix?ref=main&rev=8d04125d902637c54a6278cf8d10954b2ed95d61' (2025-01-07)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/b93d8cdf12139da45146a6c3cf53141a437c41ec?dir=pkgs/firefox-addons' (2025-01-04)
  → 'gitlab:rycee/nur-expressions/dfc28c64131d651a0b9c560b298c712d5a79c6a0?dir=pkgs/firefox-addons' (2025-01-08)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/5ad12b6ea06b84e48f6b677957c74f32d47bdee0' (2025-01-05)
  → 'github:nix-community/home-manager/45bcdbc910dc5131943bb6f7edb156617898fd1a' (2025-01-08)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d29ab98cd4a70a387b8ceea3e930b3340d41ac5a' (2025-01-03)
  → 'github:NixOS/nixpkgs/3f0a8ac25fb674611b98089ca3a5dd6480175751' (2025-01-06)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/beaa880fbe02536b66d5361dd3e61c1abf44155f' (2025-01-05)
  → 'github:NixOS/nixpkgs/aedc34a0abc375a413d16802ee5172b4247d20db' (2025-01-08)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65' (2025-01-02)
  → 'github:NixOS/nixpkgs/8f3e1f807051e32d8c95cd12b9b421623850a34d' (2025-01-04)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/e554bf17658bd1bfe393dcaca8b8eee6014ddfa1' (2025-01-05)
  → 'github:NixOS/nixpkgs/da76b6311eb169eb526de6feeae7492283fe1f8b' (2025-01-08)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/5c508fbe33f4fec253589f442e3869afb5632186' (2025-01-05)
  → 'github:randomnetcat/nix-configs/dc1e0ac59b8c462aed7f37579e22912e83a21f97' (2025-01-08)
2025-01-08 15:11:21 +00:00
08e09ce55b tohru: re-enable nix gc (but not nix optimise) 2025-01-05 15:43:49 +00:00
2cad2dd614 qenya/vscode: reformat to separate golang config 2025-01-05 15:42:57 +00:00
6b2871b27f qenya/vscode: insert newline at eof on save 2025-01-05 15:37:18 +00:00
286368b754 flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/fe816609e68ee1887ee89e43c9ca1aad75362477?dir=pkgs/firefox-addons' (2024-12-26)
  → 'gitlab:rycee/nur-expressions/b93d8cdf12139da45146a6c3cf53141a437c41ec?dir=pkgs/firefox-addons' (2025-01-04)
• Updated input 'home-manager':
    'github:nix-community/home-manager/80b0fdf483c5d1cb75aaad909bd390d48673857f' (2024-12-16)
  → 'github:nix-community/home-manager/613691f285dad87694c2ba1c9e6298d04736292d' (2024-12-28)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84' (2024-12-24)
  → 'github:nix-community/home-manager/5ad12b6ea06b84e48f6b677957c74f32d47bdee0' (2025-01-05)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4005c3ff7505313cbc21081776ad0ce5dfd7a3ce' (2024-12-25)
  → 'github:NixOS/nixpkgs/d29ab98cd4a70a387b8ceea3e930b3340d41ac5a' (2025-01-03)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/1dd8f51e62c0ff199e551744ab46fc4fbe6f827a' (2024-12-26)
  → 'github:NixOS/nixpkgs/beaa880fbe02536b66d5361dd3e61c1abf44155f' (2025-01-05)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/d70bd19e0a38ad4790d3913bf08fcbfc9eeca507' (2024-12-19)
  → 'github:NixOS/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65' (2025-01-02)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/7cc0bff31a3a705d3ac4fdceb030a17239412210' (2024-12-27)
  → 'github:NixOS/nixpkgs/e554bf17658bd1bfe393dcaca8b8eee6014ddfa1' (2025-01-05)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/b4b1967ea9d09d7ff64d77c48261fb0f290e7a0c' (2024-12-27)
  → 'github:randomnetcat/nix-configs/5c508fbe33f4fec253589f442e3869afb5632186' (2025-01-05)
2025-01-05 15:02:56 +00:00
db74ab7f42 flake: make colmena perform evaluation with lix instead of cppNix 2025-01-05 15:01:34 +00:00
96d16a8830 tohru: disable automatic nix store maintenance 2025-01-05 14:28:28 +00:00
eb557507d0 misc: garbage-collect nixos profiles older than 30 days 2025-01-05 14:27:55 +00:00
473e113c4f kilgharrah: replace failed HDD 2025-01-04 19:28:02 +00:00
e078b80e24 qenya/packages: install eza, hexyl 2025-01-04 19:27:09 +00:00
6a47840cd7 packages: rename from environment, install smartmontools 2025-01-04 19:26:36 +00:00
fc245b4619 kilgharrah: disable services related to failing HDD 2024-12-30 19:49:30 +00:00
6168cd0f30 nginx, yevaud/birdsong-dns: use monitoring email
Closes #1
2024-12-27 14:09:14 +00:00
905cacc84f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1807c2b91223227ad5599d7067a61665c52d1295' (2024-12-22)
  → 'github:NixOS/nixpkgs/4005c3ff7505313cbc21081776ad0ce5dfd7a3ce' (2024-12-25)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/7fb8b8de039a0269c26f79129260cc029473d576' (2024-12-24)
  → 'github:NixOS/nixpkgs/1dd8f51e62c0ff199e551744ab46fc4fbe6f827a' (2024-12-26)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/e905913c43d0547a131ca9c7917fa9089b627e01' (2024-12-24)
  → 'github:NixOS/nixpkgs/7cc0bff31a3a705d3ac4fdceb030a17239412210' (2024-12-27)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/21b3f66c1a7bd94c3f00e12c0b80b53aeab69c25' (2024-12-24)
  → 'github:randomnetcat/nix-configs/b4b1967ea9d09d7ff64d77c48261fb0f290e7a0c' (2024-12-27)
2024-12-27 13:55:57 +00:00
0ffdc3de71 flake: remove dependency on NUR
Closes #16
2024-12-27 13:53:31 +00:00
39edcc3801 qenya/firefox: get firefox addons direct from rycee instead of NUR 2024-12-27 13:51:25 +00:00
7b7e8683b3 tohru: get scoutshonour games from their own repo instead of NUR 2024-12-27 13:09:22 +00:00
e31fb0fc24 yevaud: disable pennykettle experiment as it breaks external IPv6 2024-12-27 03:35:30 +00:00
2b9514444f flake.lock: Update
Flake lock file updates:

• Updated input 'birdsong':
    'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=fd3965ddee060739fb5b63b14e48ba4bb8c8588d' (2024-12-25)
  → 'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=54c8b67a44ed58f92b6233934387b6e568151336' (2024-12-27)
2024-12-27 03:07:41 +00:00
43a3d42406 flake.lock: Update
Flake lock file updates:

• Updated input 'birdsong':
    'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=881078abf8bdc5f7e8bff63288714c6ec245c758' (2024-12-25)
  → 'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=fd3965ddee060739fb5b63b14e48ba4bb8c8588d' (2024-12-25)
2024-12-27 01:38:19 +00:00
c6a16f25ef qenya/dconf: allow sound over 100% 2024-12-27 01:38:14 +00:00
644df7986a flake.lock: Update
Flake lock file updates:

• Updated input 'birdsong':
    'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=91ed1abe655ac270be4e6f6c006af6fa4edd25bf' (2024-12-25)
  → 'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=881078abf8bdc5f7e8bff63288714c6ec245c758' (2024-12-25)
2024-12-25 03:04:12 +00:00
ccf07affd6 kalessin: allow login from randomcat 2024-12-25 03:03:56 +00:00
569b7bb812 kilgharrah: update nvidia driver config for 24.11 2024-12-25 02:35:32 +00:00
0d52d2ab5c flake: switch back to birdsong main branch 2024-12-25 02:34:20 +00:00
1eaa7d2287 flake: colmena compat with CppNix 2.24 2024-12-25 00:03:49 +00:00
f51721aae1 flake.lock: Update
Flake lock file updates:

• Updated input 'actual':
    'git+https://git.xeno.science/xenofem/actual-nix?ref=main&rev=32894dcff264ee50e56f58130ac59bd86a7afb45' (2024-11-04)
  → 'git+https://git.xeno.science/xenofem/actual-nix?ref=main&rev=7f041ffa7f204deb0fc2e36908b382804f2e108d' (2024-12-07)
• Updated input 'agenix/home-manager':
    'github:nix-community/home-manager/3bfaacf46133c037bb356193bd2f1765d9dc82c1' (2023-12-20)
  → follows ''
• Removed input 'agenix/home-manager/nixpkgs'
• Updated input 'birdsong':
    'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=ffe25bd95a49d6595edec6caa432703a48b7a8fd' (2024-11-05)
  → 'git+https://git.qenya.tel/qenya/birdsong?ref=compat-24.11&rev=fa0f559d3b41d5fff49ef081f95830270b4662ae' (2024-11-11)
• Updated input 'colmena':
    'github:zhaofengli/colmena/e3ad42138015fcdf2524518dd564a13145c72ea1' (2024-11-13)
  → 'github:zhaofengli/colmena/a6b51f5feae9bfb145daa37fd0220595acb7871e' (2024-12-22)
• Updated input 'colmena/flake-compat':
    'github:edolstra/flake-compat/b4a34015c698c7793d592d66adbab377907a2be8' (2022-04-19)
  → follows ''
• Updated input 'colmena/nix-github-actions':
    'github:nix-community/nix-github-actions/e04df33f62cdcf93d73e9a04142464753a16db67' (2024-10-24)
  → follows ''
• Removed input 'colmena/nix-github-actions/nixpkgs'
• Updated input 'colmena/stable':
    'github:NixOS/nixpkgs/dba414932936fde69f0606b4f1d87c5bc0003ede' (2024-11-06)
  → follows ''
• Updated input 'home-manager':
    'github:nix-community/home-manager/2f23fa308a7c067e52dfcc30a0758f47043ec176' (2024-09-22)
  → 'github:nix-community/home-manager/80b0fdf483c5d1cb75aaad909bd390d48673857f' (2024-12-16)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/1d0862ee2d7c6f6cd720d6f32213fa425004be10' (2024-11-14)
  → 'github:nix-community/home-manager/35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84' (2024-12-24)
• Updated input 'lix-module':
    'git+https://git.lix.systems/lix-project/nixos-module?ref=stable&rev=2bbdcd73b9a464f8acf45a7100feb979883ba485' (2024-10-19)
  → 'git+https://git.lix.systems/lix-project/nixos-module?ref=stable&rev=96824d606a6656650bbe436366bc89d5ee3a6573' (2024-11-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/689fed12a013f56d4c4d3f612489634267d86529' (2024-11-12)
  → 'github:NixOS/nixpkgs/1807c2b91223227ad5599d7067a61665c52d1295' (2024-12-22)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/035d434d48f4375ac5d3a620954cf5fda7dd7c36' (2024-11-15)
  → 'github:NixOS/nixpkgs/7fb8b8de039a0269c26f79129260cc029473d576' (2024-12-24)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/dc460ec76cbff0e66e269457d7b728432263166c' (2024-11-11)
  → 'github:NixOS/nixpkgs/d70bd19e0a38ad4790d3913bf08fcbfc9eeca507' (2024-12-19)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/effe68307bf3d891d069293b88a0d8910276b2bb' (2024-11-15)
  → 'github:NixOS/nixpkgs/e905913c43d0547a131ca9c7917fa9089b627e01' (2024-12-24)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/f33173b9d22e554a6f869626bc01808d35995257' (2024-11-09)
  → 'github:nix-community/plasma-manager/d16bbded0ae452bc088489e7dca3ef58d8d1830b' (2024-12-24)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/3ef27a946f220e7ef45733e315f61646e13ef0e8' (2024-11-15)
  → 'github:randomnetcat/nix-configs/21b3f66c1a7bd94c3f00e12c0b80b53aeab69c25' (2024-12-24)
2024-12-24 23:23:21 +00:00
c3f990478c flake: update to 24.11 and zero out some unused dependencies 2024-12-24 23:23:21 +00:00
3b5348edc3 yevaud, orm: force build with remote builder 2024-12-24 23:19:01 +00:00
ee7ccef96c flake: switch to building on target by default 2024-12-24 17:59:04 +00:00
345bf13b0d treewide: snapshot important datasets with sanoid 2024-12-24 17:47:34 +00:00
715b3f799a qenya/vscode: pin golang-ci 2024-12-10 22:59:44 +00:00
a206f63e68 yevaud: add experimental container with networking over vpn 2024-12-04 19:46:22 +00:00
61288d4675 yevaud: move dns experiment to separate file 2024-12-04 19:46:22 +00:00
efa2ce3940 nix: use same nixpkgs flake for imperative commands as for build 2024-12-04 14:34:01 +00:00
98b43911f0 users: add gaelan 2024-11-25 18:56:00 +00:00
c573da7c34 misc: tone down aggression on nix garbage collector 2024-11-24 15:36:30 +00:00
c5472892d8 tohru, kilgharrah: add HP printer drivers 2024-11-18 07:13:54 +00:00
fa6465e563 qenya/xdg-mime-apps: file association for .pdf 2024-11-17 21:43:05 +00:00
7a0f60f828 switch from CppNix to Lix 2024-11-16 01:57:58 +00:00
05864180db treewide: rationalise distributed builds 2024-11-16 01:54:41 +00:00
b25aa75d37 kilgharrah: use as remote builder 2024-11-16 01:40:17 +00:00
8ec6f47367 yevaud, orm: remote builds on kalessin 2024-11-15 23:48:29 +00:00
6277e955ef flake.lock: Update
Flake lock file updates:

• Updated input 'colmena':
    'github:zhaofengli/colmena/a2193487bcf70bbb998ad1a25a4ff02b8d55db7a' (2024-11-10)
  → 'github:zhaofengli/colmena/e3ad42138015fcdf2524518dd564a13145c72ea1' (2024-11-13)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/60bb110917844d354f3c18e05450606a435d2d10' (2024-11-10)
  → 'github:nix-community/home-manager/1d0862ee2d7c6f6cd720d6f32213fa425004be10' (2024-11-14)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9256f7c71a195ebe7a218043d9f93390d49e6884' (2024-11-10)
  → 'github:NixOS/nixpkgs/689fed12a013f56d4c4d3f612489634267d86529' (2024-11-12)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/d3c490e9c812d0a9dcb0593663d9430451fb8f96' (2024-11-11)
  → 'github:NixOS/nixpkgs/035d434d48f4375ac5d3a620954cf5fda7dd7c36' (2024-11-15)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/76612b17c0ce71689921ca12d9ffdc9c23ce40b2' (2024-11-09)
  → 'github:NixOS/nixpkgs/dc460ec76cbff0e66e269457d7b728432263166c' (2024-11-11)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/d30293dc9854f57d9d5ae1f2e18b6a9506852a93' (2024-11-12)
  → 'github:NixOS/nixpkgs/effe68307bf3d891d069293b88a0d8910276b2bb' (2024-11-15)
• Updated input 'nur':
    'github:nix-community/NUR/33f52fb5eb91a1736e371ba6f47f34cec0a50f2a' (2024-11-12)
  → 'github:nix-community/NUR/6e17acc00a48253a4d25e5ee4e6c215b8950c039' (2024-11-15)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/7cc4488ea39e6ba5c97e9cf688aaf6d9d1680206' (2024-11-12)
  → 'github:randomnetcat/nix-configs/3ef27a946f220e7ef45733e315f61646e13ef0e8' (2024-11-15)
2024-11-15 22:45:49 +00:00
ea5b59bbe9 secrets: rekey all 2024-11-15 18:33:11 +00:00
c60b753c5c set up distributed builds 2024-11-15 18:28:08 +00:00
d69e1dcc16 users: enable users per-host 2024-11-14 13:42:36 +00:00
80fcd62ba4 kilgharrah/networking: enable keepalive to help with NAT 2024-11-12 20:42:35 +00:00
5cfd5a7a7c kilgharrah: install obs-studio 2024-11-12 11:14:20 +00:00
f9f262a856 qenya/vscode: use golangci-lint to lint go files 2024-11-12 11:14:08 +00:00
024bf2b990 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/5354a00f3cdbab47090bdc51aedbe13d1e2aa9b1' (2024-11-10)
  → 'github:NixOS/nixpkgs/d3c490e9c812d0a9dcb0593663d9430451fb8f96' (2024-11-11)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/3a7266fcefcb9ce353df49ba3f292d06443760bb' (2024-11-11)
  → 'github:NixOS/nixpkgs/d30293dc9854f57d9d5ae1f2e18b6a9506852a93' (2024-11-12)
• Updated input 'nur':
    'github:nix-community/NUR/805985e00d71b467b1af5491d4c04eff182f70f8' (2024-11-11)
  → 'github:nix-community/NUR/33f52fb5eb91a1736e371ba6f47f34cec0a50f2a' (2024-11-12)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/b5c9e7e5cd82be8be28b8b29aa35eea45e8d2ca2' (2024-11-11)
  → 'github:randomnetcat/nix-configs/7cc4488ea39e6ba5c97e9cf688aaf6d9d1680206' (2024-11-12)
2024-11-12 10:51:14 +00:00
2207c5cf26 flake.lock: Update
Flake lock file updates:

• Updated input 'actual':
    'git+https://git.xeno.science/xenofem/actual-nix?ref=main&rev=befcf0b6e2b9540f01b5caaafcbe62fcf36a063a' (2024-10-10)
  → 'git+https://git.xeno.science/xenofem/actual-nix?ref=main&rev=32894dcff264ee50e56f58130ac59bd86a7afb45' (2024-11-04)
• Updated input 'birdsong':
    'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=b4e7b0ca3e466f3d211590ecc422bb74f61875e6' (2024-11-05)
  → 'git+https://git.qenya.tel/qenya/birdsong?ref=main&rev=ffe25bd95a49d6595edec6caa432703a48b7a8fd' (2024-11-05)
• Updated input 'colmena':
    'github:zhaofengli/colmena/b0a62f234fae02a006123e661ff70e62af16106b' (2024-10-07)
  → 'github:zhaofengli/colmena/a2193487bcf70bbb998ad1a25a4ff02b8d55db7a' (2024-11-10)
• Added input 'colmena/nix-github-actions':
    'github:nix-community/nix-github-actions/e04df33f62cdcf93d73e9a04142464753a16db67' (2024-10-24)
• Added input 'colmena/nix-github-actions/nixpkgs':
    follows 'colmena/nixpkgs'
• Updated input 'colmena/stable':
    'github:NixOS/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
  → 'github:NixOS/nixpkgs/dba414932936fde69f0606b4f1d87c5bc0003ede' (2024-11-06)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/1743615b61c7285976f85b303a36cdf88a556503' (2024-11-01)
  → 'github:nix-community/home-manager/60bb110917844d354f3c18e05450606a435d2d10' (2024-11-10)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/080166c15633801df010977d9d7474b4a6c549d7' (2024-10-30)
  → 'github:NixOS/nixpkgs/9256f7c71a195ebe7a218043d9f93390d49e6884' (2024-11-10)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/38edd08881ce4dc24056eec173b43587a93c990f' (2024-11-01)
  → 'github:NixOS/nixpkgs/5354a00f3cdbab47090bdc51aedbe13d1e2aa9b1' (2024-11-10)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/807e9154dcb16384b1b765ebe9cd2bba2ac287fd' (2024-10-29)
  → 'github:NixOS/nixpkgs/76612b17c0ce71689921ca12d9ffdc9c23ce40b2' (2024-11-09)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/ab464abbeb3a2833288c6e907488c49c2e599f88' (2024-11-01)
  → 'github:NixOS/nixpkgs/3a7266fcefcb9ce353df49ba3f292d06443760bb' (2024-11-11)
• Updated input 'nur':
    'github:nix-community/NUR/c7dd9f07d3e3c2abf03aac70ebd21d658037f0c4' (2024-11-02)
  → 'github:nix-community/NUR/805985e00d71b467b1af5491d4c04eff182f70f8' (2024-11-11)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/6cb0aedf6160725eee50425b4e8d908c09dcb7a3' (2024-11-01)
  → 'github:nix-community/plasma-manager/f33173b9d22e554a6f869626bc01808d35995257' (2024-11-09)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/00bacafc2d4d74ca96b02ea34488ab36977a9812' (2024-11-02)
  → 'github:randomnetcat/nix-configs/b5c9e7e5cd82be8be28b8b29aa35eea45e8d2ca2' (2024-11-11)
2024-11-11 19:21:48 +00:00
9b63a5e56f audiobookshelf: fix websockets and CSP 2024-11-09 01:05:55 +00:00
b893da35be kalessin, kilgharrah: add to wireguard network 2024-11-05 19:23:53 +00:00
052b0c1c4f yevaud, orm, kalessin: split networking to separate file 2024-11-05 19:05:27 +00:00
9cfe6e2c4c treewide: migrate networking to systemd-networkd 2024-11-05 18:31:39 +00:00
955409c8ef qenya: install zip/unzip 2024-11-05 14:31:17 +00:00
f56a5389de qenya/vscode: settle on a colour scheme 2024-11-04 22:22:03 +00:00
8690b4f610 qenya/vscode: pin more go dev dependencies 2024-11-04 22:21:46 +00:00
ee33352462 base-graphical: enable avahi for printer autodiscovery 2024-11-03 09:48:48 +00:00
87e602fd9f flake.lock: Update
Flake lock file updates:

• Updated input 'actual':
    'git+https://git.xeno.science/xenofem/actual-nix?ref=main&rev=4cc6a8289f809ec4470eb01429aa6ed548349a56' (2024-09-03)
  → 'git+https://git.xeno.science/xenofem/actual-nix?ref=main&rev=befcf0b6e2b9540f01b5caaafcbe62fcf36a063a' (2024-10-10)
• Updated input 'colmena':
    'github:zhaofengli/colmena/cd65ef7a25cdc75052fbd04b120aeb066c3881db' (2024-03-25)
  → 'github:zhaofengli/colmena/b0a62f234fae02a006123e661ff70e62af16106b' (2024-10-07)
• Updated input 'colmena/stable':
    'github:NixOS/nixpkgs/32dcb45f66c0487e92db8303a798ebc548cadedc' (2023-09-30)
  → 'github:NixOS/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/c124568e1054a62c20fbe036155cc99237633327' (2024-09-26)
  → 'github:nix-community/home-manager/1743615b61c7285976f85b303a36cdf88a556503' (2024-11-01)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/759537f06e6999e141588ff1c9be7f3a5c060106' (2024-09-25)
  → 'github:NixOS/nixpkgs/080166c15633801df010977d9d7474b4a6c549d7' (2024-10-30)
• Updated input 'nixpkgs-small':
    'github:NixOS/nixpkgs/37df9bcf93431c7f9f9358aec2d7ed0a52d7ba1d' (2024-09-25)
  → 'github:NixOS/nixpkgs/38edd08881ce4dc24056eec173b43587a93c990f' (2024-11-01)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/30439d93eb8b19861ccbe3e581abf97bdc91b093' (2024-09-23)
  → 'github:NixOS/nixpkgs/807e9154dcb16384b1b765ebe9cd2bba2ac287fd' (2024-10-29)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/ea2838e1ce0a9da2abf88275843aca29d9f82b30' (2024-09-26)
  → 'github:NixOS/nixpkgs/ab464abbeb3a2833288c6e907488c49c2e599f88' (2024-11-01)
• Updated input 'nur':
    'github:nix-community/NUR/936785778bca86332d6b201dda67a38585cab885' (2024-09-26)
  → 'github:nix-community/NUR/c7dd9f07d3e3c2abf03aac70ebd21d658037f0c4' (2024-11-02)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/a02fef2ece8084aff0b41700bb57d24d73574cd1' (2024-09-24)
  → 'github:nix-community/plasma-manager/6cb0aedf6160725eee50425b4e8d908c09dcb7a3' (2024-11-01)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/7458a718acedf2590cbfc212e7070afdd3b8c4dc' (2024-09-26)
  → 'github:randomnetcat/nix-configs/00bacafc2d4d74ca96b02ea34488ab36977a9812' (2024-11-02)
2024-11-02 13:14:57 +00:00
65884ecbfd qenya/vscode: don't leak runtime dependencies into general PATH 2024-10-21 19:18:39 +01:00
390a60f598 kilgharrah: add commented-out custom nvidia driver
keeping in the repo for future testing
2024-10-21 12:43:34 +01:00
0ef661aae7 kilgharrah: serve audiobookshelf 2024-10-15 22:51:46 +01:00
21fa41876a qenya: don't depend on nixos modules defined here
fixes build issue in randomcat's repo
2024-10-15 18:03:12 +01:00
8823cd9b36 kilgharrah: move all zfs dataset declarations to one place 2024-10-08 10:54:02 +01:00
acf451a1c9 tohru: move qenya home-manager config into default.nix 2024-10-08 10:53:44 +01:00
84fb7727da qenya/packages: rename from cli, include common graphical packages 2024-10-08 10:46:05 +01:00
ecd98229ff kilgharrah, tohru: install feishin 2024-10-08 01:29:30 +01:00
82787cea45 kilgharrah: serve navidrome 2024-10-08 01:28:49 +01:00
2a2f1674a3 qenya/xdg-mime-apps: file association for .zip 2024-10-07 23:31:55 +01:00
5c7d371ea5 misc: init with fstrim and nix store optimisation 2024-10-07 21:29:25 +01:00
bb2b59cd20 kilgharrah/networking: switch on systemd-networkd debugging
hoping this will help diagnose an issue
2024-10-06 19:07:20 +01:00
cdcdccb465 qenya/zsh: don't clobber with mv or rename 2024-10-02 17:04:27 +01:00
5a617f9cb3 kilgharrah: set up jellyfin 2024-10-02 17:02:35 +01:00
4f85fb54d8 kilgharrah: enable fstrim and nvidia drivers 2024-10-01 19:44:31 +01:00
5e1cfc3997 boot: fix attempt to install memtest86+ on non-x86 hardware 2024-10-01 19:30:21 +01:00
cd84be16be treewide: refactor bootloader config to common file 2024-10-01 19:20:34 +01:00
1b18133585 kilgharrah: install gimp-with-plugins, jellyfin-media-player 2024-09-29 17:59:31 +01:00
4e7ec3d571 tohru: install nicotine-plus 2024-09-28 07:42:19 +01:00
56bdf36abd keys: add kalessin, shaw; update trungle 2024-09-28 07:42:07 +01:00
ab035dcd5b kilgharrah: set up ftp server 2024-09-28 05:08:12 +01:00
309e44aa8a flake.nix: rationalise nixpkgs versions 2024-09-26 13:40:33 +01:00
3fc692f0c2 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/23cbb250f3bf4f516a2d0bf03c51a30900848075' (2024-09-22)
  → 'github:NixOS/nixpkgs/759537f06e6999e141588ff1c9be7f3a5c060106' (2024-09-25)
• Updated input 'nixpkgsSmall':
    'github:NixOS/nixpkgs/7ca0f93c530406c1610defff0b9bf643333cf992' (2024-09-23)
  → 'github:NixOS/nixpkgs/37df9bcf93431c7f9f9358aec2d7ed0a52d7ba1d' (2024-09-25)
• Updated input 'nur':
    'github:nix-community/NUR/0d7209843407825066ccf9743c40d50b6d68674f' (2024-09-24)
  → 'github:nix-community/NUR/936785778bca86332d6b201dda67a38585cab885' (2024-09-26)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/6f1db348fcb89fd6b0b9c32e279d29ee6b4d1272' (2024-09-22)
  → 'github:nix-community/plasma-manager/a02fef2ece8084aff0b41700bb57d24d73574cd1' (2024-09-24)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/2a6bd13e96db07e2e904fcc1b93faf5484725c91' (2024-09-24)
  → 'github:randomnetcat/nix-configs/7458a718acedf2590cbfc212e7070afdd3b8c4dc' (2024-09-26)
2024-09-26 12:48:03 +01:00
7ce034f2d0 flake.nix: only expose self to nixos modules, not all inputs 2024-09-26 12:36:09 +01:00
8b04d9039e orm: serve actual 2024-09-26 12:16:33 +01:00
59bbcc165e nginx: expand default CSP
this is required to run wasm and web workers
2024-09-26 12:15:49 +01:00
d1b974b86c yevaud: specify (non-boot-critical) zfs datasets with randomcat's module
Also moves forgejo state directory to the default location
2024-09-24 18:56:27 +01:00
8d2d55e4c4 openssh: disable fail2ban
We've always had password authentication disabled, so it's not really
doing much except periodically locking us out of our own servers when we
misconfigure something
2024-09-24 18:41:17 +01:00
3195af88ef nginx: improve hardening, tweak headers
Still not quite where I want it to be but it's better
2024-09-24 05:31:17 +01:00
26900a5973 steam: lightly refactor 2024-09-24 05:29:21 +01:00
2951f948b4 kilgharrah: set up zfs datasets using randomcat's module 2024-09-24 04:49:25 +01:00
7e1f688699 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/2ab00f89dd3ecf8012f5090e6d7ca1a7ea30f594' (2024-09-17)
  → 'github:nix-community/home-manager/2f23fa308a7c067e52dfcc30a0758f47043ec176' (2024-09-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/086b448a5d54fd117f4dc2dee55c9f0ff461bdc1' (2024-09-16)
  → 'github:NixOS/nixpkgs/23cbb250f3bf4f516a2d0bf03c51a30900848075' (2024-09-22)
• Updated input 'nixpkgsSmall':
    'github:NixOS/nixpkgs/a51a2cef87fc37c7e31d3a5345bc493e5f7a5f6e' (2024-09-17)
  → 'github:NixOS/nixpkgs/7ca0f93c530406c1610defff0b9bf643333cf992' (2024-09-23)
• Updated input 'nur':
    'github:nix-community/NUR/59c5c2575c0cae6bc98b9de8161731cfb8cdc1f0' (2024-09-18)
  → 'github:nix-community/NUR/0d7209843407825066ccf9743c40d50b6d68674f' (2024-09-24)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/5a0c70a007837e2db01e0bb68971792e8653d32c' (2024-09-16)
  → 'github:nix-community/plasma-manager/6f1db348fcb89fd6b0b9c32e279d29ee6b4d1272' (2024-09-22)
• Updated input 'randomcat':
    'github:randomnetcat/nix-configs/5d5d5c706fcb6d3f2d5ddd864ab07cd69a35b9d3' (2024-09-24)
  → 'github:randomnetcat/nix-configs/2a6bd13e96db07e2e904fcc1b93faf5484725c91' (2024-09-24)
2024-09-24 03:15:53 +01:00
f4912efaaa switch to agenix trunk 2024-09-23 23:58:36 +01:00
5ef9816a34 kilgharrah: enable zfs, luksdev 2024-09-23 23:22:48 +01:00
4f99cc5102 fix agenix pathspec 2024-09-23 23:22:32 +01:00
002b136ae8 qenya: install units 2024-09-20 15:58:24 +01:00
4dbe61e97a yevaud: add experimental BIND config 2024-09-19 23:25:35 +01:00
58109130e6 base-graphical/desktop: refactor 2024-09-19 23:23:46 +01:00
d7142d8619 qenya/xdg-mime-apps: open mailto links in evolution 2024-09-19 23:21:42 +01:00
9813aaf27b kilgharrah: disable autosuspend 2024-09-19 23:06:40 +01:00
8cbfb51930 move deployment config 2024-09-19 23:06:08 +01:00
bbb3bd3c16 kilgharrah: fix networking 2024-09-19 21:55:22 +01:00
0b6d72a4b6 qenya/vscode: disable automatic flake input evaluation
Unfortunately the memory requirements are too high to meet realistically
(tested with 8 GiB; still failed).
2024-09-18 19:45:18 +01:00
6a1597aee8 Update README.md 2024-09-18 19:38:59 +01:00
e713fe3b2c nix, home-manager: move common config out of flake.nix 2024-09-18 19:38:20 +01:00
a47d1f47e8 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/e1391fb22e18a36f57e6999c7a9f966dc80ac073' (2024-07-03)
  → 'github:nix-community/home-manager/2ab00f89dd3ecf8012f5090e6d7ca1a7ea30f594' (2024-09-17)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6e99f2a27d600612004fbd2c3282d614bfee6421' (2024-08-30)
  → 'github:NixOS/nixpkgs/086b448a5d54fd117f4dc2dee55c9f0ff461bdc1' (2024-09-16)
• Updated input 'nur':
    'github:nix-community/NUR/444e1f3fdf23aa476489b0038e0738c6f4d9df85' (2024-09-04)
  → 'github:nix-community/NUR/59c5c2575c0cae6bc98b9de8161731cfb8cdc1f0' (2024-09-18)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/60becd0e994e25b372c8d0500fc944396f6c1085' (2024-09-09)
  → 'github:nix-community/plasma-manager/5a0c70a007837e2db01e0bb68971792e8653d32c' (2024-09-16)
2024-09-18 19:05:11 +01:00
28698d1a60 yevaud, orm, kalessin: switch to nixpkgs-small 2024-09-18 19:03:35 +01:00
ad1f4d2cc5 deduplicate flake outputs 2024-09-18 18:58:04 +01:00
a938b33679 export nixos configurations as standard flake outputs 2024-09-18 03:49:56 +01:00
f6010a968c treewide: specify hostname in host configs 2024-09-18 03:13:34 +01:00
9f6d0fbaf8 treewide: move all deployment keys to flake.nix 2024-09-18 03:06:48 +01:00
32dabca83f don't import universal config in host-specific homeManagerModules 2024-09-17 19:11:57 +01:00
3849eeb37b export homeManagerModules."qenya@shaw" 2024-09-17 18:57:02 +01:00
d881607cb0 Revert "qenya: plasma: workaround for issue in randomcat's config"
This reverts commit 7189fae109.

This didn't actually fix the issue, as it turns out mkIf still
resolves the children of its attrset recursively. The longer-term
solution is to export my home-manager config as a flake output,
which I'm moving towards.
2024-09-17 18:44:50 +01:00
a6359fdd36 export home-manager config from homeManagerModules 2024-09-17 18:40:15 +01:00
f4da07c4e6 move all host-specific configuration to hosts directory 2024-09-17 17:22:58 +01:00
7189fae109 qenya: plasma: workaround for issue in randomcat's config 2024-09-15 17:40:19 +01:00
cbb44fd11d tohru: install amberol 2024-09-15 16:40:16 +01:00
3658b0073c qenya: xdg-mime-apps: open text files in DE text editor 2024-09-15 16:40:16 +01:00
f4228d9926 correct flake-compat hash 2024-09-15 16:37:30 +01:00
251560f761 qenya: declaratively define more of GNOME config
Closes #3
2024-09-12 15:41:43 +01:00
752fce2538 qenya: zsh: automatically run nix-shell when necessary
Closes #9
2024-09-12 13:55:15 +01:00
4a9e6b5f3c move tooling to dev environment 2024-09-12 13:35:35 +01:00
a0a94b86ff home-manager: rearrange config 2024-09-12 12:56:30 +01:00
9fa74d52c1 qenya: xdg-mime-apps: make default app configuration declarative 2024-09-12 12:44:58 +01:00
afb16a55f3 home-manager: automatically back up overwritten files 2024-09-12 12:44:42 +01:00
19f0d81b9b qenya: vscode: automatically fetch new flake inputs in nix repos 2024-09-12 12:22:44 +01:00
b18e50fd4a add plasma-manager for plasma config 2024-09-12 11:42:31 +01:00
cb6d7f7837 firefox: disable built-in password management 2024-09-12 11:40:24 +01:00
a2cb35148c pipewire-low-latency: split to reusable module 2024-09-12 11:38:17 +01:00
c5261caa21 base-graphical: include settings for fonts, libinput, printing 2024-09-11 15:06:41 +01:00
9e638c009f base-graphical: add desktop manager config 2024-09-11 06:36:21 +01:00
aeab801602 base-graphical: init with pipewire config 2024-09-11 05:43:35 +01:00
3fc4efab9c rename sysadmin module to base-server 2024-09-11 05:17:19 +01:00
5fefab9707 kilgharrah: switch from pulseaudio to pipewire 2024-09-10 22:40:07 +01:00
5a71df020e kilgharrah: install zoom 2024-09-08 20:58:53 +01:00
9a27610757 kilgharrah: install firefox, steam 2024-09-06 02:51:58 +01:00
5290f25062 steam: move to common config 2024-09-06 02:50:40 +01:00
4bb4780186 firefox: declaratively define important settings & extensions
Closes #4
2024-09-06 02:38:28 +01:00
48a5083a02 nixpkgs, home-manager: return nixpkgs config to flake.nix 2024-09-06 02:37:34 +01:00
39d73b4ed7 kilgharrah: disallow remote deployment 2024-09-05 00:20:49 +01:00
324638baa9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/224042e9a3039291f22f4f2ded12af95a616cca0' (2024-08-21)
  → 'github:NixOS/nixpkgs/6e99f2a27d600612004fbd2c3282d614bfee6421' (2024-08-30)
• Updated input 'nur':
    'github:nix-community/NUR/0891674223deb1262d8a96a46598fca0840c8271' (2024-08-29)
  → 'github:nix-community/NUR/444e1f3fdf23aa476489b0038e0738c6f4d9df85' (2024-09-04)
2024-09-04 23:51:04 +01:00
92f5b74584 kilgharrah: update deprecated option name 2024-09-04 23:43:56 +01:00
5e2e28cbe9 kilgharrah: networking: switch from networkmanager to systemd-networkd 2024-09-04 23:38:58 +01:00
09087ba199 kilgharrah: rearrange and split up configuration 2024-09-04 23:31:02 +01:00
84e44962ee kilgharrah: install bitwarden, discord, tor-browser-bundle-bin 2024-09-04 20:57:32 +01:00
0978b62de6 keys: add kilgharrah@tohru 2024-09-04 19:39:31 +01:00
5e756c82e7 kilgharrah: init 2024-09-04 19:14:47 +01:00
d112e705f1 tohru: rearrange and split up configuration 2024-08-30 18:22:13 +01:00
444c69edd3 zsh: condition on user qenya being present 2024-08-29 19:59:13 +01:00
12a4c20625 qenya: vscode: add gitlens 2024-08-29 19:58:13 +01:00
4c07feb21a nixpkgs: init config as separate file 2024-08-29 19:27:45 +01:00
4ed696e5b1 sysadmin: specify UTC timezone 2024-08-29 19:26:57 +01:00
96f4062991 tohru: install zoom-us 2024-08-29 18:37:37 +01:00
766aa146df users: change to immutable users 2024-08-29 18:27:43 +01:00
66cc74e388 users: define extraGroups per-host 2024-08-29 17:56:13 +01:00
f5191640f5 home-manager: move all config together, allow for multiple users 2024-08-29 17:55:43 +01:00
8076f91738 sysadmin: init, replacing deployment directory 2024-08-29 16:00:50 +01:00
b4b879a87b entirely migrate from npins to flake inputs 2024-08-29 11:47:12 +01:00
6d83a07556 vscode: install eslint extension 2024-08-29 10:39:57 +01:00
43f85cf2c0 git: rebase on pull by default 2024-08-23 12:58:11 +01:00
84417c27da Update README.md 2024-08-22 13:29:04 +01:00
6968e1b955 flake update 2024-08-22 13:28:56 +01:00
eb499ec8c1 vscode: switch to extensions from nixpkgs 2024-08-22 12:34:56 +01:00
2fcba2b35f purify package overrides 2024-08-22 12:34:52 +01:00
432bc05190 vscode: check host platform for extensions
Closes #11
2024-08-22 04:38:43 +01:00
1f4c275c98 pin nix-vscode-extensions manually 2024-08-22 04:38:43 +01:00
07c4e3e8b0 get agenix package from flake 2024-08-22 04:38:39 +01:00
6f17f67493 move to flake entrypoint 2024-08-22 04:38:22 +01:00
60a9f59816 vscode: downgrade nix-vscode-extensions
It turns out a typical cadence for breaking changes to the VS Code
plugin API is every two or three months. What the fuck.

Obviously this means it's not practical to pair nixos stable releases
with the rolling-release model of nix-vscode-extensions. So, I'm
downgrading nix-vscode-extensions to the commit that was live as of
24.05's freeze from nixpkgs master, and will just update it once every
six months, unless something else breaks.
2024-08-22 00:55:30 +01:00
b630349c68 git: automatically --set-upstream for new branches 2024-08-20 13:55:38 +01:00
9231431fa8 kalessin: remove /data dataset 2024-08-18 16:45:35 +01:00
ac57c68724 npins update 2024-08-18 15:37:35 +01:00
58a4c5ecc0 kalessin: add to readme and allow overwriting profiles for remote builds 2024-08-18 13:31:32 +01:00
e2f5407c75 hosts: add kalessin 2024-08-12 19:37:39 +01:00
6e2d30751b npins update 2024-08-12 19:31:00 +01:00
a2dc4024e0 syncthing: add extra shares 2024-08-12 16:12:03 +01:00
2b9b157679 shaw: init, install syncthing 2024-08-05 04:14:33 +01:00
50b47981c8 tohru: rearrange files 2024-08-05 02:47:42 +01:00
e9f64faa6f deployment: remove redundant import 2024-08-05 02:31:18 +01:00
9ae5563f83 deployment: rename from colmena (for potential change in stack) 2024-08-05 02:29:28 +01:00
54dd52b978 zsh: remove redundant config lines 2024-08-05 02:07:17 +01:00
7f74fdbe87 tohru: install prismlauncher, uninstall thunderbird 2024-08-02 12:03:12 +01:00
86dc9a5606 vscode: switch theme to gruvbox 2024-08-02 12:01:23 +01:00
3f8e97366c vscode: don't install language servers if vscode is not installed 2024-08-02 12:01:00 +01:00
e1ae112e8a dconf: simplify default override 2024-07-30 13:18:59 +01:00
31bf48154c consolidate home-manager config to a module with one entrypoint 2024-07-30 13:02:11 +01:00
230e93bbe7 zsh: start zsh automatically in nix-shell 2024-07-27 00:26:13 +01:00
469072c57e yevaud: add redirect for birdsong.network 2024-07-27 00:24:33 +01:00
3bed356294 zsh: enable, set for qenya, add config 2024-07-27 00:23:27 +01:00
42ce170014 npins update 2024-07-25 18:34:59 +01:00
0fc7760b88 npins update 2024-07-25 12:58:36 +01:00
35f9c00736 birdsong: move to external module 2024-07-25 10:04:35 +01:00
b6dd2e231f npins update 2024-07-25 08:36:05 +01:00
d17ef00e1c birdsong: rename option peer -> peering 2024-07-25 08:14:41 +01:00
70247124a6 tohru, orm: tidy up vestigial wireguard config 2024-07-25 08:06:32 +01:00
e90afae7ac birdsong: fully modularise existing wireguard config 2024-07-25 07:52:43 +01:00
5b79e6826b yevaud: add wireguard keypair 2024-07-25 06:29:31 +01:00
5d258de497 birdsong: begin modularising wireguard config 2024-07-24 22:32:49 +01:00
5f70f26e98 tweak standard module expression 2024-07-24 18:40:41 +01:00
e3068a144a fonts, steam: convert to nixos modules 2024-07-24 18:29:29 +01:00
049e3ff091 forgejo: convert to nixos module 2024-07-24 17:29:26 +01:00
f36cd49121 tohru: install jellyfin-media-player 2024-07-20 02:22:08 +01:00
d7da04b9c4 Update README.md 2024-07-19 20:24:02 +01:00
ec44c955d2 tohru: uninstall chromium 2024-07-19 20:04:25 +01:00
377060873d add/rearrange packages 2024-07-19 20:04:12 +01:00
c60728e7aa wireguard: initial setup 2024-07-19 19:26:36 +01:00
35563b1b07 tohru: install evolution 2024-07-18 23:28:16 +01:00
b96ef23c6c rearrange files 2024-07-18 23:22:35 +01:00
a2f250287d npins update 2024-07-18 22:46:51 +01:00
28dfe1af07 vscode: add go support 2024-07-18 22:25:03 +01:00
db566deb4b users: add randomcat 2024-07-09 22:16:37 +01:00
bae6a97842 users: add richard 2024-07-09 22:04:00 +01:00
0d0b3e2d2d nginx: refactor to apply settings across all nodes 2024-07-09 22:00:09 +01:00
39c1bc664c rearrange files 2024-07-09 18:14:33 +01:00
18bc4afc65 regenerate hardware-configuration.nix on all machines 2024-07-02 19:00:36 +01:00
7c110ae17d Update README.md 2024-07-02 18:20:38 +01:00
8c089a1a55 hosts: orm: initial setup 2024-07-02 17:53:22 +01:00
7c700718ed allow non-root users (with sudo) to deploy remotely 2024-07-02 15:58:20 +01:00
dcbd9d1873 users: qenya: specify uid 2024-07-02 13:41:11 +01:00
5233fe75cf npins update 2024-07-02 11:53:57 +01:00
a0d06b6c0a git: set default branch to "main" 2024-06-30 10:32:49 +01:00
a3c3c9c12c [tohru] install "don't take it personally, babe" 2024-06-27 11:43:48 +01:00
03e0fd3188 npins update 2024-06-27 11:43:15 +01:00
edd13a8775 vscode: saner git commit message length 2024-06-27 11:39:03 +01:00
082db65a0b vscode: remove redundant parentheses 2024-06-27 10:46:20 +01:00
5cadb7d36e vscode: warn on long git commit messages 2024-06-27 10:42:33 +01:00
aaaa4b8171 vscode: pass Ctrl-K through to integrated terminal 2024-06-27 10:41:16 +01:00
55f65b71d1 [tohru] Install Discord, OpenTTD, Gimp 2024-06-26 14:49:34 +01:00
d9018e7d75 [tohru] Update package name for Digital 2024-06-25 10:19:38 +01:00
6483a171ad npins update 2024-06-25 10:19:19 +01:00
86fb1b3819 [tohru] Install Digital: A Love Story 2024-06-23 21:16:35 +01:00
5cfadeea01 Enable NUR 2024-06-23 21:16:21 +01:00
fc18e5538c Install lshw 2024-06-23 21:15:52 +01:00
ceece65878 Update git email address
Closes #7
2024-06-19 21:07:34 +01:00
19886a488c [tohru] Enable syncthing with kilgharrah 2024-06-19 21:00:03 +01:00
f71a65d051 [tohru] Remove reference to itch client 2024-06-19 20:58:18 +01:00
a36c1d5e9f Add key for tohru to agenix secrets file 2024-06-19 20:30:53 +01:00
1e20b6b401 Allow SSH login to any machine 2024-06-19 20:22:37 +01:00
f464d022e5 Enable passwordless sudo on remote machines
Closes #2
2024-06-19 20:02:55 +01:00
6fc5a2b1ea Fix CVE-2021-3156 2024-06-19 19:39:00 +01:00
2bcb07ee60 Revert "Install please"
Not the package I thought it was.

This reverts commit 7899127c05.
2024-06-19 19:36:37 +01:00
3e9901bd2a Add extra package repos as nixpkgs overrides instead of independent references 2024-06-19 19:14:59 +01:00
7899127c05 Install please 2024-06-19 18:38:52 +01:00
8ed478edb7 [tohru] refresh hardware-configuration.nix 2024-06-19 18:37:16 +01:00
6bf38b7814 Set up agenix for secrets management 2024-06-18 14:20:45 +01:00
45e857747d npins update 2024-06-18 11:21:00 +01:00
0c3be502c4 Update README.md 2024-06-17 23:22:19 +01:00
3d75d0614d npins update 2024-06-17 20:47:15 +01:00
dccb037942 [yevaud] Set up tmux 2024-06-17 14:04:09 +01:00
785184c7ef [tohru] Install Thunderbird 2024-06-14 23:02:59 +01:00
a558fb0324 [tohru] Enable joycond 2024-06-14 15:41:33 +01:00
479dcc536a Add $WORDLIST file 2024-06-13 19:44:05 +01:00
8544eca140 [tohru] More vscode settings 2024-06-12 18:39:05 +01:00
8c747172a7 [tohru] Stop GNOME overriding VS Code keybindings for Copy Line Up/Down 2024-06-07 22:08:54 +01:00
bf8e65ebe3 [tohru] Install Microsoft core web fonts 2024-06-07 22:08:37 +01:00
87de39d257 [tohru] Disable some VS Code confirmation dialogs 2024-06-07 20:38:47 +01:00
7476ee2a04 [tohru] Install Foliate and KeePassXC 2024-06-07 19:19:45 +01:00
59d4f13247 [tohru] Support NTFS drives 2024-06-07 16:34:15 +01:00
82ee674db4 Add common CLI utilities I want everywhere 2024-06-07 16:33:46 +01:00
019df6a883 [yevaud] Remove TODO for enabling SSH on Forgejo
It already works lol, that was easy
2024-06-06 01:16:27 +01:00
12fa3004b4 [tohru] Install LibreOffice 2024-06-06 00:49:11 +01:00
daeb0198df Consolidate btop into cli file 2024-06-06 00:33:34 +01:00
8f3b17df2b Fill out readme 2024-06-06 00:23:19 +01:00
d9c5393cff [yevaud] Change Forgejo domain name 2024-06-06 00:23:09 +01:00
bf2d7f7f10 Rename services directory to common 2024-06-05 23:30:24 +01:00
1ca847cd91 [tohru] Modularise steam config 2024-06-05 23:22:51 +01:00
433930bde6 Simplify build-related config 2024-06-05 23:03:25 +01:00
104d995dd2 [tohru] Modularise firefox config
(such as it is)
2024-06-05 22:38:13 +01:00
c8da705e4b [yevaud] Modularise forgejo config 2024-06-05 22:32:50 +01:00
c680907894 Sync CLI tools across all hosts 2024-06-05 22:14:32 +01:00
050fe2d1a7 Sync Git identity across all hosts
(and also home directory location, but that's sort of standard anyway)
2024-06-05 21:23:22 +01:00
331d4006c2 [tohru] Modularise GNOME config 2024-06-05 21:15:54 +01:00
0f824bc284 [tohru] Modularise vscode config 2024-06-05 21:07:45 +01:00
f1dff74fa5 Move <nixpkgs> pin to separate file 2024-06-05 20:43:04 +01:00
7b87bdbc2f More deduplication 2024-06-05 20:31:13 +01:00
4eac965b88 Modularise nginx and openssh config 2024-06-05 19:26:05 +01:00
b83c95b8b6 Modularise user config 2024-06-05 18:14:21 +01:00
3ca50c6d17 [tohru] Username change: bluebird -> qenya 2024-06-05 16:11:54 +01:00
0908d7a2c8 [yevaud] Username change: bluebird -> qenya 2024-06-05 15:16:17 +01:00
570e376e2e Remove pre-24.05 workaround for pinning <nixpkgs> 2024-06-05 14:29:29 +01:00
c51b3f5a1a [yevaud] Allow remote root login only from home network
This is hacky and I will come up with a better way of doing remote deployment later
2024-06-05 12:03:57 +01:00
85b08086fb [tohru] DRY home directory more sensibly 2024-06-04 21:27:40 +01:00
7a0921806e [tohru] Add background image 2024-06-04 18:20:51 +01:00
24fe4adaf5 [tohru] Enable dark mode 2024-06-04 18:20:37 +01:00
6bf199cf12 add/remove comments 2024-06-04 16:57:38 +01:00
cc1ea24066 [tohru] remove redundant libinput enable 2024-06-04 15:33:07 +01:00
aad0dc6e82 nixos 24.05, home-manager 24.05, update npins 2024-06-04 15:32:09 +01:00
92617f6e38 [tohru] Install Chromium 2024-06-04 15:31:39 +01:00
05d2a5d1d6 [tohru] vscode: pin extensions & support python 2024-05-30 02:13:56 +01:00
f499d48194 apply nixpkgs-fmt and remove unnecessary comments 2024-05-29 15:25:21 +01:00
48e3a85c82 [tohru] set up nix formatting in IDE 2024-05-29 15:22:04 +01:00
87862f5291 [tohru] Enable Git autofetch in IDE 2024-05-29 13:36:53 +01:00
21ebcf6f75 [tohru] Basic configuration for VS Code 2024-05-29 13:35:27 +01:00
1012a3a1de [tohru] Move most user config to home-manager & install VS Code 2024-05-28 22:53:50 +01:00
30d059d995 Enable home-manager module 2024-05-28 22:53:40 +01:00
4c4a5f79c3 Excise flakes in favour of npins and colmena 2024-05-28 19:50:39 +01:00
a2cf41eeff [tohru] Install npins and colmena, and separate CLI/graphical pkgs 2024-05-28 15:32:59 +01:00
0e4b37925a [tohru] Install Steam 2024-05-28 01:12:05 +01:00
e53e5ae1c2 [tohru] update hardware-configuration.nix 2024-05-28 01:11:53 +01:00
0a728445ab [yevaud] Add current config to source control 2024-05-23 16:59:18 +01:00
103 changed files with 5132 additions and 160 deletions

1
.envrc Normal file
View file

@ -0,0 +1 @@
use_nix

1
.gitignore vendored
View file

@ -2,4 +2,3 @@
# Ignore build outputs from performing a nix-build or `nix build` command # Ignore build outputs from performing a nix-build or `nix build` command
result result
result-* result-*

View file

@ -1,3 +1,33 @@
# nixos-config # nixfiles
My NixOS configuration files My NixOS configuration files.
The canonical location for this repository is https://git.unspecified.systems/qenya/nixfiles. If you're viewing it elsewhere, it is a mirror and may not be up-to-date.
## Machines
### Managed
* `kilgharrah`: Custom-built personal desktop; also currently running Jellyfin, Navidrome and Audiobookshelf servers (and an FTP server, for shits and giggles)
* `tohru`: Dell Latitude 5300, personal laptop
* `elucredassa`: Acer Aspire A315-53, old laptop with a broken keyboard that now sits in a corner being a backup server
* `yevaud`: Oracle Cloud free AMD VM, hosts a Forgejo instance and WireGuard server for the other machines in the network
* `orm`: Oracle Cloud free AMD VM, hosts an instance of Actual Budget and a PostgreSQL server for other services that need one
* `kalessin`: Oracle Cloud free ARM VM, currently idling
### Referenced only
* `shaw`: [My girlfriend's NAS](https://github.com/randomnetcat/nix-configs/tree/main/hosts/shaw)
* `latias`: My Steam Deck
## Usage
### Building
To build locally, run `nixos-rebuild switch --flake .#[hostname]` as root.
To build the remote machines, run `colmena apply`. See the [colmena documentation](https://colmena.cli.rs/) for command-line options. Notable options include:
* `--on [hostname]`: build a specific machine only
* `--reboot`: reboot after building (but note [this bug](https://github.com/zhaofengli/colmena/issues/166) means it may hang even when the reboot completes successfully)
### Updating
`nix flake update --commit-lock-file`

View file

@ -0,0 +1,31 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.qenya.base-graphical;
in
{
imports = [
./gnome.nix
./sound.nix
];
options.qenya.base-graphical.enable = mkEnableOption "Base configuration for graphical environments";
config = mkIf cfg.enable {
services.xserver.enable = true;
services.libinput.enable = true;
services.printing.enable = true;
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
fonts.packages = with pkgs; [
corefonts
caladea
carlito
];
};
}

View file

@ -0,0 +1,21 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkMerge mkOption types;
cfg = config.qenya.base-graphical;
in
{
config = mkIf cfg.enable {
services.displayManager.gdm.enable = true;
services.desktopManager.gnome.enable = true;
# TODO: agree on this with randomcat as it affects her too, since for some reason this is system-wide
# environment.gnome.excludePackages = with pkgs.gnome; [
# pkgs.gnome-tour
# epiphany # GNOME Web
# geary
# gnome-calendar
# gnome-contacts
# gnome-music
# ];
};
}

View file

@ -0,0 +1,20 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.qenya.base-graphical;
in
{
config = mkIf cfg.enable {
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
services.pulseaudio.enable = false; # this theoretically defaults to false but something else seems to be flipping it
environment.systemPackages = with pkgs; [ helvum ]; # patchbay
};
}

View file

@ -0,0 +1,17 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.qenya.base-server;
in
{
options.qenya.base-server.enable = mkEnableOption "Base configuration for headless servers";
config = mkIf cfg.enable {
time.timeZone = "Etc/UTC";
# Allow remote deployment with colmena
deployment.targetUser = null;
security.sudo.wheelNeedsPassword = false;
};
}

22
common/boot.nix Normal file
View file

@ -0,0 +1,22 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf optionals;
in
{
boot.loader = {
systemd-boot.enable = true;
systemd-boot.editor = false;
systemd-boot.memtest86.enable = mkIf config.nixpkgs.hostPlatform.isx86 true;
efi.canTouchEfiVariables = true;
};
services.resolved = {
enable = true;
fallbackDns = [ ];
dnsovertls = "true";
extraConfig = ''
DNS=2a07:e340::4#base.dns.mullvad.net 194.242.2.4#base.dns.mullvad.net
'';
};
}

21
common/default.nix Normal file
View file

@ -0,0 +1,21 @@
{
imports = [
./base-graphical
./base-server
./users
./boot.nix
./docker.nix
./gpg.nix
./home-manager.nix
./misc.nix
./nginx.nix
./nix.nix
./packages.nix
./sanoid.nix
./security.nix
./ssh.nix
./steam.nix
./tailscale.nix
];
}

11
common/docker.nix Normal file
View file

@ -0,0 +1,11 @@
{ config, lib, pkgs, ... }:
{
virtualisation.docker.daemon.settings = {
userland-proxy = false;
experimental = true;
metrics-addr = "0.0.0.0:9323";
ipv6 = true;
fixed-cidr-v6 = "fd00::/80";
};
}

8
common/gpg.nix Normal file
View file

@ -0,0 +1,8 @@
{ config, lib, pkgs, ... }:
{
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
}

12
common/home-manager.nix Normal file
View file

@ -0,0 +1,12 @@
{ config, lib, pkgs, inputs, ... }:
{
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
backupFileExtension = "backup";
extraSpecialArgs = {
inherit inputs;
};
};
}

12
common/misc.nix Normal file
View file

@ -0,0 +1,12 @@
{ config, lib, pkgs, ... }:
{
nix.gc = {
automatic = true;
dates = "weekly";
randomizedDelaySec = "45min";
options = "--delete-older-than 30d";
};
nix.optimise.automatic = true;
services.fstrim.enable = true;
}

25
common/nginx.nix Normal file
View file

@ -0,0 +1,25 @@
{ config, lib, pkgs, ... }:
{
services.nginx = {
recommendedGzipSettings = true;
recommendedOptimisation = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
appendHttpConfig = ''
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload" always;
add_header Content-Security-Policy "default-src https: data: blob: ws: 'unsafe-inline' 'wasm-unsafe-eval'; object-src 'none'; base-uri 'self';" always;
add_header Referrer-Policy strict-origin-when-cross-origin;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-Clacks-Overhead "GNU Terry Pratchett" always;
proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
'';
};
security.acme = {
acceptTerms = true;
defaults.email = "auto@qenya.tel";
};
}

24
common/nix.nix Normal file
View file

@ -0,0 +1,24 @@
{ config, lib, pkgs, ... }:
{
nix.settings.experimental-features = "nix-command flakes";
nixpkgs.flake = {
source = lib.cleanSource pkgs.path;
setNixPath = true;
setFlakeRegistry = true;
};
nixpkgs.config.allowUnfree = true;
nix.settings.trusted-users = [ "@wheel" ];
nix.package = pkgs.lixPackageSets.stable.lix;
nixpkgs.overlays = [
(final: prev: {
inherit (final.lixPackageSets.stable)
nixpkgs-review
nix-direnv
nix-eval-jobs
nix-fast-build
colmena;
})
];
}

23
common/packages.nix Normal file
View file

@ -0,0 +1,23 @@
{ config, lib, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
btop
git
wget
# hardware troubleshooting
lshw
parted
smartmontools
# network troubleshooting
inetutils
lsof
tcpdump
netcat # <3
wireguard-tools
];
environment.wordlist.enable = true;
}

35
common/sanoid.nix Normal file
View file

@ -0,0 +1,35 @@
{ config, pkgs, inputs, ... }:
{
config = {
services.sanoid = {
enable = true;
extraArgs = [ "--verbose" ];
# Local snapshots for important datasets
templates."production" = {
yearly = 0;
monthly = 3;
daily = 30;
hourly = 36;
autosnap = true;
autoprune = true;
};
# Reduced-retention version for datasets that are backed up to the NAS
templates."safe" = {
yearly = 0;
monthly = 0;
daily = 7;
hourly = 24;
autosnap = true;
autoprune = true;
};
# datasets."rpool_sggau1/reese/system" = {
# useTemplate = [ "safe" ];
# recursive = "zfs";
# };
};
};
}

5
common/security.nix Normal file
View file

@ -0,0 +1,5 @@
{ config, lib, pkgs,... }:
{
security.sudo.execWheelOnly = true;
}

21
common/ssh.nix Normal file
View file

@ -0,0 +1,21 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) concatMapAttrs;
keys = import ../keys.nix;
in
{
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = false;
PermitRootLogin = "no";
};
};
programs.ssh.knownHosts = concatMapAttrs
(host: key: {
"${host}.birdsong.network".publicKey = key;
})
keys.machines;
}

16
common/steam.nix Normal file
View file

@ -0,0 +1,16 @@
{ config, lib, pkgs, ... }:
{
config = lib.mkIf config.programs.steam.enable {
programs.steam = {
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
gamescopeSession.enable = true;
extest.enable = true;
protontricks.enable = true;
};
services.joycond.enable = true;
};
}

23
common/tailscale.nix Normal file
View file

@ -0,0 +1,23 @@
{ config, lib, pkgs, ... }:
{
services.tailscale = {
enable = true;
openFirewall = true;
extraUpFlags = [ "--login-server" "https://headscale.unspecified.systems" ];
extraDaemonFlags = [ "--no-logs-no-support" ]; # disable telemetry
};
systemd.services.tailscaled-autoconnect = {
after = [ "tailscaled.service" "network-online.target" ];
wants = [ "tailscaled.service" "network-online.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig.Type = "oneshot";
script = ''
sleep 2 # wait for tailscaled to settle
${lib.getExe config.services.tailscale.package} up --reset ${lib.escapeShellArgs config.services.tailscale.extraUpFlags}
'';
};
networking.domain = "birdsong.network";
}

32
common/users/default.nix Normal file
View file

@ -0,0 +1,32 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkOption types genAttrs;
cfg = config.fountain;
in
{
# TODO: consider DRY-ing these
imports = [
./gaelan.nix
./qenya.nix
./randomcat.nix
./trungle.nix
];
options.fountain = {
admins = mkOption {
type = types.listOf types.str;
default = [ ];
description = "List of users who should have root on this system";
};
};
config = {
users.mutableUsers = false;
users.users = genAttrs cfg.admins
(name: {
extraGroups = [ "wheel" ];
});
};
}

23
common/users/gaelan.nix Normal file
View file

@ -0,0 +1,23 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkEnableOption;
keys = import ../../keys.nix;
cfg = config.fountain.users.gaelan;
in
{
options.fountain.users.gaelan = {
enable = mkEnableOption "user gaelan";
};
config = mkIf cfg.enable {
users.users.gaelan = {
uid = 1003;
isNormalUser = true;
group = "gaelan";
openssh.authorizedKeys.keys = keys.users.gaelan;
};
users.groups.gaelan.gid = config.users.users.gaelan.uid;
};
}

28
common/users/qenya.nix Normal file
View file

@ -0,0 +1,28 @@
{ config, lib, pkgs, self, ... }:
let
inherit (lib) mkIf mkEnableOption;
keys = import ../../keys.nix;
cfg = config.fountain.users.qenya;
in
{
options.fountain.users.qenya = {
enable = mkEnableOption "user qenya";
};
config = mkIf cfg.enable {
users.users.qenya = {
uid = 1001;
isNormalUser = true;
group = "qenya";
shell = pkgs.zsh;
openssh.authorizedKeys.keys = keys.users.qenya;
};
users.groups.qenya.gid = config.users.users.qenya.uid;
programs.zsh.enable = true;
home-manager.users."qenya" = self.homeManagerModules."qenya";
};
}

View file

@ -0,0 +1,23 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkEnableOption;
keys = import ../../keys.nix;
cfg = config.fountain.users.randomcat;
in
{
options.fountain.users.randomcat = {
enable = mkEnableOption "user randomcat";
};
config = mkIf cfg.enable {
users.users.randomcat = {
uid = 1000;
isNormalUser = true;
group = "randomcat";
openssh.authorizedKeys.keys = keys.users.randomcat;
};
users.groups.randomcat.gid = config.users.users.randomcat.uid;
};
}

23
common/users/trungle.nix Normal file
View file

@ -0,0 +1,23 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkEnableOption;
keys = import ../../keys.nix;
cfg = config.fountain.users.trungle;
in
{
options.fountain.users.trungle = {
enable = mkEnableOption "user trungle";
};
config = mkIf cfg.enable {
users.users.trungle = {
uid = 1002;
isNormalUser = true;
group = "trungle";
openssh.authorizedKeys.keys = keys.users.trungle;
};
users.groups.trungle.gid = config.users.users.trungle.uid;
};
}

280
flake.lock generated
View file

@ -1,24 +1,294 @@
{ {
"nodes": { "nodes": {
"agenix": {
"inputs": {
"darwin": [],
"home-manager": [],
"nixpkgs": [
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1762618334,
"narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=",
"owner": "ryantm",
"repo": "agenix",
"rev": "fcdea223397448d35d9b31f798479227e80183f6",
"type": "github"
},
"original": {
"owner": "ryantm",
"repo": "agenix",
"type": "github"
}
},
"colmena": {
"inputs": {
"flake-compat": [],
"flake-utils": "flake-utils",
"nix-github-actions": [],
"nixpkgs": [
"nixpkgs"
],
"stable": []
},
"locked": {
"lastModified": 1762034856,
"narHash": "sha256-QVey3iP3UEoiFVXgypyjTvCrsIlA4ecx6Acaz5C8/PQ=",
"owner": "zhaofengli",
"repo": "colmena",
"rev": "349b035a5027f23d88eeb3bc41085d7ee29f18ed",
"type": "github"
},
"original": {
"owner": "zhaofengli",
"repo": "colmena",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1763759067,
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1764866045,
"narHash": "sha256-0GsEtXV9OquDQ1VclQfP16cU5VZh7NEVIOjSH4UaJuM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "f63d0fe9d81d36e5fc95497217a72e02b8b7bcab",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"repo": "home-manager",
"type": "github"
}
},
"home-manager-unstable": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1764952935,
"narHash": "sha256-cRPB2zESVMjIGxJ49qj4t4qnT0ae44E+fS/mkfOS/BY=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "519828bf1c97f8bc2ed2d3b79214067047d3c67d",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1716361217, "lastModified": 1764831616,
"narHash": "sha256-mzZDr00WUiUXVm1ujBVv6A0qRd8okaITyUp4ezYRgc4=", "narHash": "sha256-OtzF5wBvO0jgW1WW1rQU9cMGx7zuvkF7CAVJ1ypzkxA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "46397778ef1f73414b03ed553a3368f0e7e33c2f", "rev": "c97c47f2bac4fa59e2cbdeba289686ae615f8ed4",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-23.11", "ref": "nixos-25.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": {
"locked": {
"lastModified": 1761765539,
"narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "719359f4562934ae99f5443f20aa06c2ffff91fc",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-small": {
"locked": {
"lastModified": 1764952718,
"narHash": "sha256-Gf75RCbeYcfXGNb9hHQ7DsVNsxU+TNWivose3JT53QY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d355f89e0014e51c9511298089d7ab55fd6f7056",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11-small",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1764667669,
"narHash": "sha256-7WUCZfmqLAssbDqwg9cUDAXrSoXN79eEEq17qhTNM/Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "418468ac9527e799809c900eda37cbff999199b6",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable-small": {
"locked": {
"lastModified": 1764945329,
"narHash": "sha256-hHzryWFOvCnUfiQvsHEjVpAECIXB977Owi1Gno7YwYc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "21f4f13e179ba2b3d84d844b697612fa1b695b85",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
},
"plasma-manager": {
"inputs": {
"home-manager": [
"home-manager-unstable"
],
"nixpkgs": [
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1763909441,
"narHash": "sha256-56LwV51TX/FhgX+5LCG6akQ5KrOWuKgcJa+eUsRMxsc=",
"owner": "nix-community",
"repo": "plasma-manager",
"rev": "b24ed4b272256dfc1cc2291f89a9821d5f9e14b4",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "plasma-manager",
"type": "github"
}
},
"randomcat": {
"flake": false,
"locked": {
"lastModified": 1764900354,
"narHash": "sha256-/pWRIVfDkF26gaYGVc68Xo4WvDSXs+Chbr2iKcOESbc=",
"owner": "randomnetcat",
"repo": "nix-configs",
"rev": "03e246bb10c135386455af0e88899df2ca10495d",
"type": "github"
},
"original": {
"owner": "randomnetcat",
"repo": "nix-configs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "agenix": "agenix",
"colmena": "colmena",
"flake-parts": "flake-parts",
"home-manager": "home-manager",
"home-manager-unstable": "home-manager-unstable",
"nixpkgs": "nixpkgs",
"nixpkgs-small": "nixpkgs-small",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixpkgs-unstable-small": "nixpkgs-unstable-small",
"plasma-manager": "plasma-manager",
"randomcat": "randomcat",
"scoutshonour": "scoutshonour"
}
},
"scoutshonour": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1735301893,
"narHash": "sha256-d95MCTUYMCcOQv4LpmWxPuVnx7McezXYs2Idw8u8ngI=",
"ref": "main",
"rev": "f447cd380ea1fb81a0ff8f292b6bbdf0be9c9520",
"revCount": 23,
"type": "git",
"url": "https://git.qenya.tel/qenya/nix-scoutshonour"
},
"original": {
"ref": "main",
"type": "git",
"url": "https://git.qenya.tel/qenya/nix-scoutshonour"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
} }
} }
}, },

156
flake.nix
View file

@ -1,14 +1,154 @@
{ {
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
}; nixpkgs-small.url = "github:NixOS/nixpkgs/nixos-25.11-small";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-unstable-small.url = "github:NixOS/nixpkgs/nixos-unstable-small";
outputs = { self, nixpkgs, ... }@inputs: { home-manager = {
nixosConfigurations.tohru = nixpkgs.lib.nixosSystem { url = "github:nix-community/home-manager/release-25.11";
system = "x86_64-linux"; inputs.nixpkgs.follows = "nixpkgs";
modules = [ };
./hosts/tohru/configuration.nix
]; home-manager-unstable = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
plasma-manager = {
url = "github:nix-community/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs-unstable";
inputs.home-manager.follows = "home-manager-unstable";
};
flake-parts.url = "github:hercules-ci/flake-parts";
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.darwin.follows = "";
inputs.home-manager.follows = "";
};
colmena = {
url = "github:zhaofengli/colmena";
inputs.nixpkgs.follows = "nixpkgs";
inputs.stable.follows = "";
inputs.nix-github-actions.follows = "";
inputs.flake-compat.follows = "";
};
randomcat = {
url = "github:randomnetcat/nix-configs";
flake = false;
};
scoutshonour = {
url = "git+https://git.qenya.tel/qenya/nix-scoutshonour?ref=main";
inputs.nixpkgs.follows = "nixpkgs-unstable";
}; };
}; };
outputs = inputs@{ self, nixpkgs, nixpkgs-small, nixpkgs-unstable, flake-parts, colmena, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [ ./flake ];
systems = [ "x86_64-linux" "aarch64-linux" ];
perSystem = { pkgs, system, ... }: {
devShells.default = pkgs.mkShell {
packages = [
# TODO: improve the way this override works
(inputs.colmena.packages.${system}.colmena.override {
nix-eval-jobs = pkgs.lixPackageSets.stable.nix-eval-jobs;
})
inputs.agenix.packages.${system}.default
inputs.plasma-manager.packages.${system}.rc2nix
];
};
};
flake.nixosConfigurations = self.outputs.colmenaHive.nodes;
flake.colmenaHive = colmena.lib.makeHive self.outputs.colmena;
# The name of this output type is not standardised. I have picked
# "homeManagerModules" as the discussion here suggests it's the most common:
# https://github.com/nix-community/home-manager/issues/1783
#
# However, note CppNix >= 2.22.3, >= 2.24 has blessed "homeModules":
# https://github.com/NixOS/nix/pull/10858
flake.homeManagerModules = {
"qenya".imports = [ ./home/qenya ];
"qenya@shaw".imports = [ ./hosts/shaw/home.nix ];
};
fountain.backup = {
keys = {
elucredassa = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOFa3hjej6KGmS2aQ4s46Y7U8pN4yyR2FuMofpHRwXNk syncoid@elucredassa" ];
};
sync = {
"orm-state" = {
dataset = "state";
sourceHost = "orm";
targetHost = "elucredassa";
source = "rpool_orm";
target = "rpool_elucredassa/backup/orm";
};
"kalessin-state" = {
dataset = "state";
sourceHost = "kalessin";
targetHost = "elucredassa";
source = "rpool_kalessin";
target = "rpool_elucredassa/backup/kalessin";
};
};
};
flake.colmena =
let
home-manager = inputs.home-manager.nixosModules.home-manager;
home-manager-unstable = inputs.home-manager-unstable.nixosModules.home-manager;
in
{
meta = {
nixpkgs = import nixpkgs-unstable { system = "x86_64-linux"; };
nodeNixpkgs = {
kilgharrah = import nixpkgs { system = "x86_64-linux"; };
tohru = import nixpkgs { system = "x86_64-linux"; };
elucredassa = import nixpkgs-small { system = "x86_64-linux"; };
yevaud = import nixpkgs-small { system = "x86_64-linux"; };
orm = import nixpkgs-small { system = "x86_64-linux"; };
kalessin = import nixpkgs-small { system = "aarch64-linux"; };
tehanu = import nixpkgs-small { system = "aarch64-linux"; };
};
specialArgs = {
inherit self;
inherit inputs;
};
};
defaults = { config, lib, pkgs, ... }: {
deployment.targetHost = lib.mkDefault config.networking.fqdn;
deployment.buildOnTarget = lib.mkDefault true;
imports = [
inputs.agenix.nixosModules.default
./common
./services
];
};
kilgharrah.deployment.targetHost = null; # disable remote deployment
tohru.deployment.targetHost = null; # disable remote deployment
elucredassa.deployment.targetHost = "100.73.34.182"; # TODO: no fqdn yet
kilgharrah.imports = [ ./hosts/kilgharrah home-manager ];
tohru.imports = [ ./hosts/tohru home-manager ];
elucredassa.imports = [ ./hosts/elucredassa home-manager ];
yevaud.imports = [ ./hosts/yevaud home-manager ];
orm.imports = [ ./hosts/orm home-manager ];
kalessin.imports = [ ./hosts/kalessin home-manager ];
tehanu.imports = [ ./hosts/tehanu home-manager ];
};
};
} }

134
flake/backup.nix Normal file
View file

@ -0,0 +1,134 @@
{ config, lib, pkgs, ... }:
let
cfg = config.fountain.backup;
keys = import ../keys.nix;
syncOptions = {
dataset = lib.mkOption {
type = lib.types.str;
description = ''
The name of the dataset to be synced (not including its parent
datasets, if any). This will be the same on the source and target.
It must already exist on the source, defined with the
{option}`randomcat.services.zfs` module, and not exist on the target.
'';
};
sourceHost = lib.mkOption {
type = lib.types.str;
description = ''
The host from which the dataset should be synced. Must be an entry in
{option}`flake.colmena`.
'';
};
targetHost = lib.mkOption {
type = lib.types.str;
description = ''
The host to which the dataset should be synced. Must be an entry in
{option}`flake.colmena`.
'';
};
source = lib.mkOption {
type = lib.types.str;
description = ''
The path to the synced dataset in the ZFS namespace on the source host,
excluding the component that is the name of the dataset itself.
'';
};
target = lib.mkOption {
type = lib.types.str;
description = ''
The path to the synced dataset in the ZFS namespace on the target host,
excluding the component that is the name of the dataset itself. It must
already exist, defined with the {option}`randomcat.services.zfs`
module.
'';
};
};
in
{
options.fountain.backup = {
keys = lib.mkOption {
type = lib.types.attrsOf (lib.types.listOf lib.types.singleLineStr);
default = { };
description = ''
Lists of verbatim OpenSSH public keys that may be used to identify the
syncoid user on each target host. The key to each list must be the
host's hostname, as listed in {option}`flake.colmena`.
'';
example = {
host = [ "ssh-rsa AAAAB3NzaC1yc2etc/etc/etcjwrsh8e596z6J0l7 example@host" ];
bar = [ "ssh-ed25519 AAAAC3NzaCetcetera/etceteraJZMfk3QPfQ foo@bar" ];
};
};
sync = lib.mkOption {
type = lib.types.attrsOf (lib.types.submodule { options = syncOptions; });
default = { };
description = ''
Details of ZFS datasets whose snapshots should be synced from machine
to machine using syncoid. Syncoid will run hourly at 15 past the hour
and copy all ZFS snapshots from the source dataset to the target
dataset (recursing into child datasets).
See descriptions for the individual options for more details. The name
of each attribute in this set is arbitrary and used to generate systemd
unit names.
This module does not actually cause snapshots to be taken; sanoid must
be configured separately to do this.
'';
example = {
"orm-state" = {
dataset = "state";
sourceHost = "orm";
targetHost = "elucredassa";
source = "rpool_orm";
target = "rpool_elucredassa/backup/orm";
};
};
};
};
# TODO: add some assertions to verify the options
config.flake.colmena = lib.mkMerge (lib.mapAttrsToList
(name: sync:
let
inherit (sync) dataset sourceHost targetHost source target;
sourceFqdn = "${sourceHost}.birdsong.network";
in
{
${sourceHost} = { pkgs, ... }: {
randomcat.services.zfs.datasets."${source}/${dataset}".zfsPermissions.users.backup = [ "hold" "send" ];
users.users.backup = {
group = "backup";
isSystemUser = true;
useDefaultShell = true;
openssh.authorizedKeys.keys = cfg.keys.${targetHost};
packages = with pkgs; [ mbuffer lzop ]; # syncoid uses these if available but doesn't pull them in automatically
};
users.groups.backup = { };
};
${targetHost} = {
randomcat.services.zfs.datasets.${target}.zfsPermissions.users.syncoid = [ "mount" "create" "receive" "recordsize" ];
services.syncoid = {
enable = true;
interval = "*-*-* *:15:00";
commonArgs = [ "--no-sync-snap" ];
commands = {
${name} = {
source = "backup@${sourceFqdn}:${source}/${dataset}";
target = "${target}/${dataset}";
recursive = true;
recvOptions = "ux recordsize o compression=lz4";
};
};
};
};
})
cfg.sync
);
}

19
flake/colmena.nix Normal file
View file

@ -0,0 +1,19 @@
# https://git.lix.systems/the-distro/infra/src/commit/fbb23bf517206175764f154ddfd304b9ec501f87/colmena.nix
{ lib, ... }: {
options.flake.colmena = lib.mkOption {
type = lib.types.submodule {
freeformType = lib.types.attrsOf (lib.mkOptionType {
name = "NixOS module";
description = "module containing NixOS options and/or config";
descriptionClass = "noun";
check = value: builtins.isAttrs value || builtins.isFunction value || builtins.isPath value;
merge = loc: defs: {
imports = map (def: def.value) defs;
};
});
options.meta = lib.mkOption {
type = lib.types.attrs;
};
};
};
}

6
flake/default.nix Normal file
View file

@ -0,0 +1,6 @@
{
imports = [
./backup.nix
./colmena.nix
];
}

1832
home/qenya/.p10k.zsh Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View file

@ -0,0 +1,26 @@
{ config, lib, pkgs, osConfig, ... }:
# dconf is the configuration manager for GNOME.
let
isGnome = osConfig.services.desktopManager.gnome.enable;
in
{
dconf.enable = isGnome;
dconf.settings = {
"org/gnome/settings-daemon/plugins/color".night-light-enabled = true;
"org/gnome/desktop/sound".event-sounds = false;
"org/gnome/desktop/sound".allow-volume-above-100-percent = true;
"org/gnome/settings-daemon/plugins/power".power-saver-profile-on-low-battery = true;
};
imports = [
./desktop.nix
./keyboard.nix
./mouse-touchpad.nix
./multitasking.nix
./shell.nix
./wellbeing.nix
];
}

View file

@ -0,0 +1,23 @@
{ config, lib, pkgs, ... }:
let inherit (lib) mkIf;
in {
dconf.settings = {
"org/gnome/desktop/background" = {
picture-options = "zoom";
picture-uri = "${config.home.homeDirectory}/.background-image";
picture-uri-dark = "${config.home.homeDirectory}/.background-image";
};
"org/gnome/desktop/screensaver" = {
picture-options = "zoom";
picture-uri = "${config.home.homeDirectory}/.background-image";
};
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
enable-hot-corners = false;
};
};
home.file.".background-image" = mkIf config.dconf.enable {
source = ./background-image.jpg;
};
}

View file

@ -0,0 +1,12 @@
# { config, lib, pkgs, ... }:
{
dconf.settings = {
"org/gnome/desktop/wm/keybindings" = {
# These are largely useless on most normal systems
# and conflict with VS Code's default keybinds for "Copy Line Up/Down"
move-to-workspace-up = [ ];
move-to-workspace-down = [ ];
};
};
}

View file

@ -0,0 +1,16 @@
{ config, lib, pkgs, ... }:
{
dconf.settings = {
"org/gnome/desktop/peripherals/mouse" = {
natural-scroll = false;
};
"org/gnome/desktop/peripherals/touchpad" = {
click-method = "fingers";
disable-while-typing = false;
natural-scroll = true; # the correct option, whatever Janet says
tap-to-click = true;
two-finger-scrolling-enabled = true;
};
};
}

View file

@ -0,0 +1,11 @@
{ config, lib, pkgs, ... }:
{
dconf.settings = {
"org/gnome/mutter" = {
edge-tiling = true;
dynamic-workspaces = true;
workspaces-only-on-primary = true;
};
};
}

View file

@ -0,0 +1,26 @@
{ config, lib, pkgs, ... }:
{
dconf.settings = {
"org/gnome/shell" = {
disable-user-extensions = true;
# TODO: this is fine for now on tohru (the only GNOME system I use) but shouldn't depend on certain apps being installed
favorite-apps = [
"discord.desktop"
"org.gnome.Evolution.desktop"
"firefox.desktop"
"torbrowser.desktop"
"steam.desktop"
"codium.desktop"
"org.gnome.Console.desktop"
"org.gnome.Nautilus.desktop"
"org.gnome.SystemMonitor.desktop"
];
# TODO: fill this out (needs preinstalled stuff removing first)
# app-picker-layout = [
# ...
# ];
};
};
}

View file

@ -0,0 +1,19 @@
{ config, lib, pkgs, ... }:
# These features are cool and I would like to keep trying them, but they are
# horribly bugged in GNOME 48.1. Consider re-enabling them when 48.2 is
# released. See, e.g.:
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8289
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8299
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8305
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8376
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8398
{
dconf.settings = {
# "org/gnome/desktop/screen-time-limits".daily-limit-enabled = true;
# "org/gnome/desktop/break-reminders".selected-breaks = [ "eyesight" "movement" ];
"org/gnome/desktop/screen-time-limits".daily-limit-enabled = false;
"org/gnome/desktop/break-reminders".selected-breaks = [ ];
};
}

16
home/qenya/default.nix Normal file
View file

@ -0,0 +1,16 @@
{
imports = [
./dconf
./feishin.nix
./firefox.nix
./fonts.nix
./git.nix
./packages.nix
./tmux.nix
./vscode.nix
./xdg-mime-apps.nix
./zsh.nix
];
home.stateVersion = "23.11";
}

24
home/qenya/feishin.nix Normal file
View file

@ -0,0 +1,24 @@
{ config, lib, pkgs, osConfig, ... }:
# Feishin ideally wants to see mpv at runtime, but this isn't catered for by
# the derivation in nixpkgs as it isn't strictly necessary.
# An easier way to do this would be to write mpv's full nix store path to
# Feishin's config. But Feishin has one JSON file for config and state, and
# we'd rather not overwrite the latter. Until and unless home-manager grows
# support for partially patching files, we live with this.
let
inherit (lib) mkIf;
isGraphical = osConfig.services.xserver.enable;
in
{
home.packages = mkIf isGraphical [
(pkgs.feishin.overrideAttrs (originalAttrs: {
buildInputs = originalAttrs.buildInputs ++ [ pkgs.mpv ];
postFixup = ''
${originalAttrs.postFixup or ""}
wrapProgram $out/bin/feishin --prefix PATH : ${lib.makeBinPath [ pkgs.mpv ]}
'';
}))
];
}

120
home/qenya/firefox.nix Normal file
View file

@ -0,0 +1,120 @@
{ config, lib, pkgs, osConfig, inputs, ... }:
let
inherit (lib) mkIf;
isGraphical = osConfig.services.xserver.enable;
in
{
programs.firefox = lib.mkIf isGraphical {
enable = true;
languagePacks = [ "en-GB" ];
policies = {
ExtensionSettings = {
# uBlock Origin
"uBlock0@raymondhill.net" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
installation_mode = "force_installed";
private_browsing = true;
};
# 1Password
"{d634138d-c276-4fc8-924b-40a0ea21d284}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/1password-x-password-manager/latest.xpi";
installation_mode = "force_installed";
default_area = "navbar";
};
# Disqus Auto-Expander
"disqus-auto-expander@john30013.com" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/disqus-auto-expander/latest.xpi";
installation_mode = "force_installed";
};
# Indie Wiki Buddy
"{cb31ec5d-c49a-4e5a-b240-16c767444f62}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/indie-wiki-buddy/latest.xpi";
installation_mode = "force_installed";
};
# SteamDB
"firefox-extension@steamdb.info" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/steam-database/latest.xpi";
installation_mode = "force_installed";
};
};
};
profiles.default = {
search = {
force = true;
default = "leta";
privateDefault = "leta";
order = [ "leta" "searxng" ];
engines = {
searxng = {
name = "SearXNG metasearch";
description = "SearXNG is a metasearch engine that respects your privacy.";
urls = [{
method = "POST";
template = "https://sx.catgirl.cloud/search";
params = [{ name = "q"; value = "{searchTerms}"; }];
}];
icon = "https://sx.catgirl.cloud/static/themes/simple/img/favicon.png";
definedAliases = [ "@sx" ];
};
leta = {
name = "Mullvad Leta";
description = "A privacy focused search engine provided by Mullvad.";
urls = [{ template = "https://leta.mullvad.net/search?q={searchTerms}&engine=google"; }];
iconMapObj."16" = "https://mullvad.net/favicon.ico";
definedAliases = [ "@leta" ];
};
netrunnerdb = {
name = "NetrunnerDB";
urls = [{ template = "https://netrunnerdb.com/find/?q={searchTerms}"; }];
iconMapObj."16" = "https://netrunnerdb.com/favicon.png";
iconMapObj."196" = "https://netrunnerdb.com/icon.png";
definedAliases = [ "@nrdb" ];
};
};
};
settings = {
"browser.startup.page" = 3; # resume previous session
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
# disable telemetry
"datareporting.healthreport.uploadEnabled" = false;
"app.shield.optoutstudies.enabled" = false;
"browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
# disable prefetch?
# DNS over HTTPS
"network.trr.custom_uri" = "https://base.dns.mullvad.net/dns-query";
"network.trr.excluded-domains" = "detectportal.firefox.com";
"network.trr.mode" = 3;
"network.trr.uri" = "https://base.dns.mullvad.net/dns-query";
"browser.search.suggest.enabled" = false;
"browser.urlbar.suggest.searches" = false;
"dom.security.https_only_mode" = true;
"browser.contentblocking.category" = "strict"; # Enhanced Tracking Protection
# I think these are implied by the above
# "privacy.donottrackheader.enabled" = true;
# "privacy.trackingprotection.enabled" = true;
# "privacy.trackingprotection.emailtracking.enabled" = true;
# "privacy.trackingprotection.socialtracking.enabled" = true;
"privacy.sanitize.sanitizeOnShutdown" = true;
"privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = false;
"dom.private-attribution.submission.enabled" = false; # disable "Privacy-Preserving Attribution for Advertising"
"extensions.autoDisableScopes" = 0; # automatically enable extensions installed through nix
# external password manager
"signon.rememberSignons" = false;
"extensions.formautofill.creditCards.enabled" = false;
};
};
};
}

17
home/qenya/fonts.nix Normal file
View file

@ -0,0 +1,17 @@
{ config, lib, pkgs, osConfig, ... }:
let
inherit (lib) mkIf;
isGraphical = osConfig.services.xserver.enable;
in
mkIf isGraphical {
fonts.fontconfig = {
enable = true;
};
home.packages = with pkgs; [
meslo-lgs-nf
];
programs.vscode.profiles.default.userSettings."terminal.integrated.fontFamily" = "MesloLGS NF";
}

14
home/qenya/git.nix Normal file
View file

@ -0,0 +1,14 @@
{ config, lib, pkgs, ... }:
{
programs.git = {
enable = true;
settings = {
user.email = "git@qenya.tel";
user.name = "Katherina Walshe-Grey";
init.defaultBranch = "main";
pull.rebase = true;
push.autoSetupRemote = true;
};
};
}

40
home/qenya/packages.nix Normal file
View file

@ -0,0 +1,40 @@
{ config, lib, pkgs, osConfig, ... }:
let
inherit (lib) optionals;
isGraphical = osConfig.services.xserver.enable;
isGnome = osConfig.services.desktopManager.gnome.enable;
isPlasma = osConfig.services.desktopManager.plasma6.enable;
in
{
home.packages = with pkgs; [
eza # like `ls` but fancier
hexyl # like `xxd` but cooler
ripgrep # like `grep` but faster
tree # like `ls -R` but nicer
units
zip
unzip
# Extremely important
fortune
cowsay
lolcat
] ++ optionals isGraphical [
_1password-gui
discord
# https://github.com/NixOS/nixpkgs/issues/427155
# gimp-with-plugins
tor-browser
zoom-us
# libreoffice
libreoffice
hunspell
hunspellDicts.en_GB-ise
] ++ optionals isGnome [
celluloid
] ++ optionals isPlasma [
haruna
];
}

33
home/qenya/tmux.nix Normal file
View file

@ -0,0 +1,33 @@
{ config, lib, pkgs, ... }:
{
# Derived from https://github.com/srid/nixos-config/blob/master/home/tmux.nix
programs.tmux = {
enable = true;
clock24 = true;
shortcut = "a"; # `screen` muscle memory compatibility
baseIndex = 1; # this is a UI, 0-indexing is not appropriate, fight me
newSession = true; # skip the manual step
escapeTime = 0; # otherwise I keep reflexively hammering Esc
secureSocket = false; # make sessions survive user logout
plugins = with pkgs; [
tmuxPlugins.better-mouse-mode
];
mouse = true;
extraConfig = ''
# https://old.reddit.com/r/tmux/comments/mesrci/tmux_2_doesnt_seem_to_use_256_colors/
set -g default-terminal "xterm-256color"
set -ga terminal-overrides ",*256col*:Tc"
set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q'
set-environment -g COLORTERM "truecolor"
# easy-to-remember split pane commands
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"
'';
};
}

100
home/qenya/vscode.nix Normal file
View file

@ -0,0 +1,100 @@
{ config, lib, pkgs, osConfig, ... }:
let
inherit (lib) mkIf mkDefault;
isGraphical = osConfig.services.xserver.enable;
in
{
programs.vscode = mkIf isGraphical {
enable = true;
package = pkgs.vscodium;
mutableExtensionsDir = false;
profiles.default = {
enableExtensionUpdateCheck = false;
enableUpdateCheck = false;
extensions = with pkgs.vscode-extensions; [
redhat.ansible
ms-python.black-formatter
ms-azuretools.vscode-docker
mkhl.direnv
dbaeumer.vscode-eslint
golang.go
eamodio.gitlens
jdinhlife.gruvbox
vadimcn.vscode-lldb
matangover.mypy
jnoortheen.nix-ide
ms-python.python
shopify.ruby-lsp
charliermarsh.ruff
rust-lang.rust-analyzer
redhat.vscode-yaml
];
userSettings = {
"ansible.validation.lint.enabled" = true;
"ansible.python.interpreterPath" = "\${workspaceFolder}/.venv/bin/python"; # needs some manual one-time setup per repo, but it's better than fucking with FHS
"ansible.lightspeed.enabled" = false;
"css.format.spaceAroundSelectorSeparator" = true;
"css.format.newlineBetweenSelectors" = false;
"debug.allowBreakpointsEverywhere" = true;
"extensions.autoUpdate" = false;
"files.insertFinalNewline" = true;
"git.autofetch" = true;
"git.confirmSync" = false;
"git.enableSmartCommit" = true;
"git.inputValidation" = true;
"git.inputValidationSubjectLength" = null;
"javascript.updateImportsOnFileMove.enabled" = "always";
"nix.enableLanguageServer" = true;
"nix.serverPath" = "${pkgs.nil}/bin/nil";
"nix.serverSettings".nil = {
diagnostics.ignored = [ "unused_binding" "unused_with" ];
formatting.command = [ "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt" ];
nix.flake.autoArchive = true;
};
"redhat.telemetry.enabled" = false;
"rust-analyzer.check.command" = "clippy";
"terminal.integrated.allowChords" = false;
"terminal.integrated.defaultProfile.linux" = "zsh";
"workbench.colorTheme" = "Gruvbox Dark Medium";
"[go]" = {
"editor.defaultFormatter" = "golang.go";
"editor.formatOnSave" = false;
};
"go.alternateTools" = {
"go" = "${pkgs.go}/bin/go";
"golangci-lint" = "${pkgs.golangci-lint}/bin/golangci-lint";
"gopls" = "${pkgs.gopls}/bin/gopls";
"dlv" = "${pkgs.delve}/bin/dlv";
"staticcheck" = "${pkgs.go-tools}/bin/staticcheck";
};
"go.lintTool" = "golangci-lint";
"go.toolsManagement.checkForUpdates" = "off";
"gopls" = {
"formatting.gofumpt" = true;
"ui.semanticTokens" = true;
};
"[python]" = {
"editor.defaultFormatter" = "ms-python.black-formatter";
"editor.formatOnSave" = true;
"editor.codeActionsOnSave" = {
"source.fixAll" = "explicit";
"source.organizeImports" = "explicit";
};
};
"python.createEnvironment.contentButton" = "show";
"python.defaultInterpreterPath" = "${pkgs.python3}/bin/python";
"ruff.nativeServer" = "on";
"ruff.path" = [ "${pkgs.ruff}/bin/ruff" ];
"mypy.dmypyExecutable" = "${pkgs.mypy}/bin/dmypy";
"[ruby]" = {
"editor.formatOnSave" = true;
"editor.formatOnType" = true;
};
};
};
};
}

View file

@ -0,0 +1,21 @@
{ config, lib, pkgs, osConfig, ... }:
let
isGraphical = osConfig.services.xserver.enable;
in
{
xdg.mimeApps = {
enable = isGraphical;
defaultApplications = {
"application/pdf" = [ "org.gnome.Evince.desktop" "org.kde.okular.desktop" ];
"application/zip" = [ "org.gnome.FileRoller.desktop" "org.kde.ark.desktop" ];
"image/gif" = [ "org.gnome.Loupe.desktop" "org.kde.gwenview.desktop" ];
"image/jpeg" = [ "org.gnome.Loupe.desktop" "org.kde.gwenview.desktop" ];
"image/png" = [ "org.gnome.Loupe.desktop" "org.kde.gwenview.desktop" ];
"text/plain" = [ "org.gnome.TextEditor.desktop" "org.kde.kate.desktop" ];
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/mailto" = "org.gnome.Evolution.desktop"; # TODO: email on KDE - is Kontact any good?
};
};
}

43
home/qenya/zsh.nix Normal file
View file

@ -0,0 +1,43 @@
{ config, lib, pkgs, ... }:
{
home.packages = with pkgs; [ direnv ];
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
dotDir = ".config/zsh";
shellAliases = {
ll = "ls -l";
# don't clobber
mv = "mv -i";
rename = "rename -i";
nix-shell = ''nix-shell --command "zsh"'';
};
history = {
size = 10000;
path = "${config.xdg.dataHome}/zsh/history";
ignorePatterns = [ "rm *" "pkill *" ];
};
oh-my-zsh = {
enable = true;
plugins = [ "git" "sudo" "direnv" ];
theme = ""; # defer to powerlevel10k
};
initContent = ''
source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
source ${./.p10k.zsh}
'';
envExtra = ''
DEFAULT_USER=qenya
'';
};
}

View file

@ -0,0 +1,43 @@
{ config, lib, pkgs, inputs, ... }:
let
inherit (lib) mkForce;
in
{
imports = [
./filesystems.nix
./hardware.nix
./networking.nix
];
nixpkgs.hostPlatform = "x86_64-linux";
networking.hostName = "elucredassa";
networking.hostId = "a8ec6755";
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "rtsx_pci_sdmmc" ];
boot.kernelModules = [ "kvm-intel" ];
qenya.base-server.enable = true;
i18n.defaultLocale = "en_GB.UTF-8";
console.keyMap = "uk";
services.xserver.xkb.layout = "gb";
# These are populated by fountain.backup
randomcat.services.zfs.datasets = {
"rpool_elucredassa/backup" = { mountpoint = "none"; };
"rpool_elucredassa/backup/kalessin" = { mountpoint = "none"; };
"rpool_elucredassa/backup/orm" = { mountpoint = "none"; };
};
qenya.services.distributed-builds = {
enable = true;
keyFile = "/etc/ssh/ssh_host_ed25519_key";
builders = [ "kilgharrah" ];
};
fountain.users.qenya.enable = true;
fountain.admins = [ "qenya" ];
system.stateVersion = "24.11";
}

View file

@ -0,0 +1,23 @@
{ config, lib, pkgs, ... }:
{
boot.initrd.luks.devices = {
"luks-rpool-elucredassa".device = "/dev/disk/by-uuid/5ece5b58-c57a-41ae-b086-03707c39c9a7";
};
fileSystems = {
"/" = {
device = "rpool_elucredassa/root";
fsType = "zfs";
};
"/boot" = {
device = "/dev/disk/by-uuid/2519-E2D6";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
};
swapDevices = [{ device = "/dev/disk/by-uuid/c7c48325-e90d-414d-b579-84cb45616ee9"; }];
boot.supportedFilesystems = [ "ntfs" ]; # for USB drives
}

View file

@ -0,0 +1,11 @@
{ config, lib, pkgs, ... }:
{
hardware.enableAllFirmware = true;
hardware.cpu.intel.updateMicrocode = true;
services.fwupd.enable = true;
# this is an old laptop
services.logind.lidSwitch = "ignore";
}

View file

@ -0,0 +1,36 @@
{ config, lib, pkgs, ... }:
{
systemd.network.enable = true;
networking.useDHCP = false;
systemd.network.networks."10-wan" = {
matchConfig.Name = "enp1s0f1";
networkConfig = {
DHCP = "ipv4";
IPv6AcceptRA = true;
Tunnel = "sit-he-ipv6";
};
linkConfig.RequiredForOnline = "routable";
};
systemd.network.netdevs."25-he-ipv6" = {
netdevConfig = {
Name = "sit-he-ipv6";
Kind = "sit";
Description = "Hurricane Electric IPv6 Tunnel";
MTUBytes = 1480;
};
tunnelConfig = {
Remote = "216.66.88.98";
TTL = 255;
};
};
systemd.network.networks."25-he-ipv6" = {
matchConfig.Name = "sit-he-ipv6";
networkConfig.Address = [ "2001:470:1f1c:3e::2/64" ];
routes = [{ Destination = [ "::/0" ]; }];
};
}

View file

@ -0,0 +1,65 @@
{ config, lib, pkgs, ... }:
let
keys = import ../../keys.nix;
in
{
imports = [
./hardware-configuration.nix
./networking.nix
];
nixpkgs.hostPlatform = "aarch64-linux";
networking.hostName = "kalessin";
networking.hostId = "534b538e";
fountain.users.qenya.enable = true;
fountain.users.randomcat.enable = true;
fountain.users.trungle.enable = true;
fountain.admins = [ "qenya" "randomcat" ];
qenya.base-server.enable = true;
qenya.services.remote-builder = {
enable = true;
authorizedKeys.keys = [ ];
};
randomcat.services.zfs.datasets = {
"rpool_kalessin/state" = { mountpoint = "none"; };
"rpool_kalessin/state/headscale" = { mountpoint = "/var/lib/headscale"; };
"rpool_kalessin/state/owncast" = { mountpoint = "/var/lib/owncast"; };
"rpool_kalessin/state/forgejo" = { mountpoint = "/var/lib/forgejo"; };
};
services.sanoid.datasets."rpool_kalessin/state" = {
useTemplate = [ "production" ];
recursive = "zfs";
};
qenya.services.owncast = {
enable = true;
domain = "live.qenya.tel";
dataDir = "/var/lib/owncast";
};
qenya.services.headscale = {
enable = true;
domain = "headscale.unspecified.systems";
dataDir = "/var/lib/headscale";
};
qenya.services.forgejo = {
enable = true;
domain = "git.unspecified.systems";
};
fountain.services.web-redirect = {
enable = true;
domains = {
"git.katherina.rocks" = "git.unspecified.systems";
"git.qenya.tel" = "git.unspecified.systems";
};
};
system.stateVersion = "23.11";
}

View file

@ -0,0 +1,38 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_scsi" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "rpool_kalessin/root";
fsType = "zfs";
};
fileSystems."/nix" =
{ device = "rpool_kalessin/nix";
fsType = "zfs";
};
fileSystems."/var" =
{ device = "rpool_kalessin/var";
fsType = "zfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/2ADE-A033";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
}

View file

@ -0,0 +1,6 @@
{ config, lib, pkgs, ... }:
{
networking.useNetworkd = true;
networking.interfaces.enp0s6.useDHCP = true;
}

View file

@ -0,0 +1,8 @@
{ config, lib, pkgs, ... }:
{
services.sanoid.datasets."rpool_albion/state" = {
useTemplate = [ "production" ];
recursive = "zfs";
};
}

View file

@ -0,0 +1,75 @@
{ config, lib, pkgs, ... }:
let
keys = import ../../keys.nix;
in
{
imports = [
./backup.nix
./filesystems.nix
./hardware.nix
./networking.nix
./plasma.nix
./ftp.nix
];
nixpkgs.hostPlatform = "x86_64-linux";
networking.hostName = "kilgharrah";
networking.hostId = "72885bb5";
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
boot.kernelModules = [ "kvm-intel" ];
qenya.base-graphical.enable = true;
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_GB.UTF-8";
console.keyMap = "uk";
services.xserver.xkb.layout = "gb";
fountain.users.qenya.enable = true;
age.secrets.user-password-kilgharrah-qenya.file = ../../secrets/user-password-kilgharrah-qenya.age;
users.users.qenya.hashedPasswordFile = config.age.secrets.user-password-kilgharrah-qenya.path;
fountain.admins = [ "qenya" ];
home-manager.users.qenya = { pkgs, ... }: {
home.packages = with pkgs; [
heroic
obs-studio
];
};
qenya.services.remote-builder = {
enable = true;
authorizedKeys.keys = [
keys.machines.yevaud
keys.machines.orm
keys.machines.tohru
keys.machines.elucredassa
];
};
programs.steam.enable = true;
qenya.services.audiobookshelf = {
enable = true;
domain = "audiobookshelf.qenya.tel";
};
qenya.services.jellyfin = {
enable = true;
domain = "tv.qenya.tel";
};
qenya.services.navidrome = {
enable = true;
domain = "music.qenya.tel";
dataDir = "/srv/music";
};
fountain.services.web-redirect = {
enable = true;
domains = {
"jellyfin.qenya.tel" = "tv.qenya.tel";
};
};
system.stateVersion = "24.05";
}

View file

@ -0,0 +1,93 @@
{ config, lib, pkgs, ... }:
{
# SSD on board
boot.initrd.luks.devices = {
"cryptroot".device = "/dev/disk/by-uuid/b414aaba-0a36-4135-a7e1-dc9489286acd";
};
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b";
fsType = "btrfs";
options = [ "subvol=@" "compress=zstd" ];
};
"/home" = {
device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b";
fsType = "btrfs";
options = [ "subvol=@home" "compress=zstd" ];
};
"/nix" = {
device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b";
fsType = "btrfs";
options = [ "subvol=@nix" "compress=zstd" "noatime" ];
};
"/swap" = {
device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b";
fsType = "btrfs";
options = [ "subvol=@swap" "noatime" ];
};
"/root" = {
device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b";
fsType = "btrfs";
options = [ "subvol=@root" "compress=zstd" ];
};
"/srv" = {
device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b";
fsType = "btrfs";
options = [ "subvol=@srv" "compress=zstd" ];
};
"/var/cache" = {
device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b";
fsType = "btrfs";
options = [ "subvol=@cache" "compress=zstd" "noatime" ];
};
"/var/tmp" = {
device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b";
fsType = "btrfs";
options = [ "subvol=@tmp" "compress=zstd" "noatime" ];
};
"/var/log" = {
device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b";
fsType = "btrfs";
options = [ "subvol=@log" "compress=zstd" "noatime" ];
};
"/boot" = {
device = "/dev/disk/by-uuid/9582-E78D";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
};
swapDevices = [{
device = "/swap/swapfile";
size = 32 * 1024;
}];
# HDD in bay
environment.etc.crypttab.text = ''
albion UUID=8a924f24-9b65-4f05-aeda-5b4080cc7aa1 /root/luks-albion.key
'';
randomcat.services.zfs.datasets = {
"rpool_albion/data" = { mountpoint = "none"; };
"rpool_albion/data/steam" = { mountpoint = "/home/qenya/.local/share/Steam"; };
"rpool_albion/state" = { mountpoint = "none"; };
"rpool_albion/state/audiobookshelf" = { mountpoint = "/var/lib/audiobookshelf"; };
"rpool_albion/state/jellyfin" = { mountpoint = "/var/lib/jellyfin"; };
"rpool_albion/state/navidrome" = { mountpoint = "/var/lib/navidrome"; };
"rpool_albion/srv" = { mountpoint = "none"; };
"rpool_albion/srv/audiobookshelf" = { mountpoint = "/srv/audiobookshelf"; };
"rpool_albion/srv/ftp" = { mountpoint = "/srv/ftp"; };
"rpool_albion/srv/jellyfin" = { mountpoint = "/srv/jellyfin"; };
"rpool_albion/srv/music" = { mountpoint = "/srv/music"; };
};
# Other
boot.supportedFilesystems = [ "ntfs" "zfs" ];
}

70
hosts/kilgharrah/ftp.nix Normal file
View file

@ -0,0 +1,70 @@
{ config, lib, pkgs, ... }:
{
age.secrets.ftp-userDb-qenya = {
# To update this, see the nixos docs for services.vsftpd.userDbPath. Note
# that the command it gives to create a userDb, if applied to an *existing*
# userDb, will *add* the entries from the source file, overwriting any
# entries with the same username but leaving other existing entries intact.
# Also note the database format does not salt hashes.
file = ../../secrets/ftp-userDb-qenya.age;
# we have to specify this manually because pam_userdb strips the extension
path = "/etc/vsftpd/userDb.db";
};
services.vsftpd = {
enable = true;
localUsers = true;
forceLocalLoginsSSL = true;
forceLocalDataSSL = true;
rsaCertFile = "${config.security.acme.certs."ftp.qenya.tel".directory}/fullchain.pem";
rsaKeyFile = "${config.security.acme.certs."ftp.qenya.tel".directory}/key.pem";
enableVirtualUsers = true;
userlistDeny = false; # turn userlist from a denylist into an allowlist
userlist = [ "qenya" ]; # this is just a list of the users in the userDb
userDbPath = "/etc/vsftpd/userDb";
localRoot = "/srv/ftp";
extraConfig = ''
# nothing in the default cipher suite is enabled in modern ssl clients!
ssl_ciphers=HIGH
# set this to something firewallable
pasv_min_port=51000
pasv_max_port=51099
# don't bother with upgrading to TLS, just listen on FTPS only
implicit_ssl=YES
listen_port=990
'';
};
services.nginx = {
enable = true;
virtualHosts = {
"ftp.qenya.tel" = {
forceSSL = true;
useACMEHost = "ftp.qenya.tel";
locations."/".return = "503";
};
};
};
security.acme.certs = {
"ftp.qenya.tel" = {
webroot = "/var/lib/acme/acme-challenge";
group = "acme_ftp.qenya.tel";
};
};
users.groups."acme_ftp.qenya.tel".members = [
"vsftpd" # not configurable in the vsftpd nixos module
config.services.nginx.group
];
networking.firewall.allowedTCPPorts = [ 990 80 443 ];
networking.firewall.allowedTCPPortRanges = [{ from = 51000; to = 51099; }];
}

View file

@ -0,0 +1,57 @@
{ config, lib, pkgs, ... }:
{
hardware.enableAllFirmware = true;
hardware.cpu.intel.updateMicrocode = true;
services.fwupd.enable = true;
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia.open = false;
nixpkgs.config.cudaSupport = true;
nix.settings = {
# Community cache with prebuilt packages with cudaSupport enabled
substituters = [ "https://cache.nixos-cuda.org" ];
trusted-public-keys = [ "cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M=" ];
};
# # Downgrade to driver version 535 as 550 has problems with Wayland
# hardware.nvidia.package =
# let
# rcu_patch = pkgs.fetchpatch {
# url = "https://github.com/gentoo/gentoo/raw/c64caf53/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch";
# hash = "sha256-eZiQQp2S/asE7MfGvfe6dA/kdCvek9SYa/FFGp24dVg=";
# };
# in
# config.boot.kernelPackages.nvidiaPackages.mkDriver {
# version = "535.154.05";
# sha256_64bit = "sha256-fpUGXKprgt6SYRDxSCemGXLrEsIA6GOinp+0eGbqqJg=";
# sha256_aarch64 = "sha256-G0/GiObf/BZMkzzET8HQjdIcvCSqB1uhsinro2HLK9k=";
# openSha256 = "sha256-wvRdHguGLxS0mR06P5Qi++pDJBCF8pJ8hr4T8O6TJIo=";
# settingsSha256 = "sha256-9wqoDEWY4I7weWW05F4igj1Gj9wjHsREFMztfEmqm10=";
# persistencedSha256 = "sha256-d0Q3Lk80JqkS1B54Mahu2yY/WocOqFFbZVBh+ToGhaE=";
# patches = [ rcu_patch ];
# };
services.printing.drivers = [ pkgs.hplip ];
# enable playing from bluray drive
boot.kernelModules = [ "sg" ];
environment.systemPackages = [
((pkgs.vlc.override {
libbluray = (pkgs.libbluray.override {
withJava = true;
withAACS = true;
withBDplus = true;
});
}).overrideAttrs (originalAttrs: {
buildInputs = originalAttrs.buildInputs ++ [ pkgs.libdvdcss ];
# TODO: nixpkgs bug: libbluray needs patching to look at the nix store path of jdk17 when searching for a jdk
# as a workaround, wrap vlc and set JAVA_HOME, which it uses instead of searching when specified
nativeBuildInputs = originalAttrs.nativeBuildInputs ++ [ pkgs.makeWrapper ];
postFixup = ''
${originalAttrs.postFixup or ""}
wrapProgram $out/bin/vlc --set JAVA_HOME ${pkgs.jdk17.home}
'';
}))
];
}

View file

@ -0,0 +1,15 @@
{ config, lib, pkgs, ... }:
{
systemd.network.enable = true;
networking.useDHCP = false;
systemd.network.networks."10-wan" = {
matchConfig.Name = "enp2s0";
networkConfig = {
DHCP = "ipv4";
IPv6AcceptRA = true;
};
linkConfig.RequiredForOnline = "routable";
};
}

109
hosts/kilgharrah/plasma.nix Normal file
View file

@ -0,0 +1,109 @@
{ config, lib, pkgs, inputs, ... }:
let
inherit (lib) mkForce;
in
{
services.displayManager.gdm.enable = mkForce false;
services.desktopManager.gnome.enable = mkForce false;
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6.enable = true;
environment.systemPackages = with pkgs; [
(catppuccin-kde.override {
flavour = [ "mocha" ];
accents = [ "mauve" ];
winDecStyles = [ "modern" ];
})
];
home-manager.users.qenya = { pkgs, ... }: {
imports = [
inputs.plasma-manager.homeManagerModules.plasma-manager
];
programs.plasma = {
enable = true;
overrideConfig = true;
workspace = {
lookAndFeel = "Catppuccin-Mocha-Mauve";
colorScheme = "CatppuccinMochaMauve";
splashScreen.engine = "KSplashQML";
splashScreen.theme = "Catppuccin-Mocha-Mauve";
windowDecorations.library = "org.kde.kwin.aurorae";
windowDecorations.theme = "__aurorae__svg__CatppuccinMocha-Modern";
};
# For the moment, this hosts some network-accessible services, so we want it on 24/7
powerdevil.AC.autoSuspend.action = "nothing";
panels = [
# Dock
{
height = 49; # 41 * 1.2
lengthMode = "fit";
location = "bottom";
alignment = "center";
hiding = "dodgewindows";
widgets = [{
name = "org.kde.plasma.icontasks";
config.General = {
fill = false;
iconSpacing = 2;
launchers = lib.concatStringsSep "," [
"applications:firefox.desktop"
"applications:codium.desktop"
"applications:steam.desktop"
"applications:discord.desktop"
"applications:com.obsproject.Studio.desktop"
"applications:org.kde.dolphin.desktop"
"applications:org.kde.konsole.desktop"
"applications:org.kde.plasma-systemmonitor.desktop"
];
maxStripes = 1;
showOnlyCurrentDesktop = false;
showOnlyCurrentScreen = false;
};
}];
screen = "all";
}
# Top bar
{
height = 29; # 24 * 1.2
location = "top";
alignment = "left";
floating = false;
widgets = [
{
name = "org.kde.plasma.kickoff";
config.General = {
lengthFirstMargin = 7;
};
}
{ name = "org.kde.plasma.panelspacer"; }
{
name = "org.kde.plasma.digitalclock";
config.Appearance = {
autoFontAndSize = false;
customDateFormat = "dddd, d MMM";
dateDisplayFormat = "BesideTime";
dateFormat = "custom";
fontFamily = "Inter";
fontStyleName = "Bold";
fontWeight = 700;
boldText = true;
showWeekNumbers = true;
};
}
{ name = "org.kde.plasma.panelspacer"; }
{ name = "org.kde.plasma.systemtray"; }
];
screen = "all";
}
];
};
};
}

69
hosts/orm/default.nix Normal file
View file

@ -0,0 +1,69 @@
{ config, lib, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
./networking.nix
];
nixpkgs.hostPlatform = "x86_64-linux";
networking.hostName = "orm";
networking.hostId = "00000000";
fountain.users.qenya.enable = true;
fountain.admins = [ "qenya" ];
qenya.base-server.enable = true;
qenya.services.distributed-builds = {
enable = true;
keyFile = "/etc/ssh/ssh_host_ed25519_key";
builders = [ "kilgharrah" ];
};
nix.settings.max-jobs = 0;
randomcat.services.zfs.datasets = {
"rpool_orm/state" = { mountpoint = "none"; };
"rpool_orm/state/actual" = { mountpoint = "/var/lib/private/actual"; };
"rpool_orm/state/postgresql" = { mountpoint = "/var/lib/postgresql"; };
};
services.sanoid.datasets."rpool_orm/state" = {
useTemplate = [ "production" ];
recursive = "zfs";
};
services.postgresql = {
enable = true;
package = pkgs.postgresql_17;
dataDir = "/var/lib/postgresql/17";
# managing imperatively instead of using ensureDatabases/ensureUsers
enableTCPIP = true;
settings = {
port = 5432;
# TODO: fix SSL
# ssl = true;
};
# only allow remote connections from within Tailscale
authentication = pkgs.lib.mkOverride 10 ''
#type database DBuser auth-method
local all all trust # used by nixos for local monitoring
host sameuser all 100.64.0.0/10 scram-sha-256
host sameuser all fd7a:115c:a1e0::/48 scram-sha-256
'';
};
networking.firewall.interfaces."tailscale0".allowedTCPPorts = [ 5432 ];
qenya.services.actual = {
enable = true;
domain = "actual.unspecified.systems";
};
fountain.services.web-redirect = {
enable = true;
domains = {
"actual.qenya.tel" = "actual.unspecified.systems";
};
};
system.stateVersion = "23.11";
}

View file

@ -0,0 +1,40 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "rpool_orm/root";
fsType = "zfs";
};
fileSystems."/nix" =
{ device = "rpool_orm/nix";
fsType = "zfs";
};
fileSystems."/var" =
{ device = "rpool_orm/var";
fsType = "zfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/3739-E8C1";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/a0ac8f60-25f9-4dec-af70-e3f4cd36c575"; }
];
}

6
hosts/orm/networking.nix Normal file
View file

@ -0,0 +1,6 @@
{ config, lib, pkgs, ... }:
{
networking.useNetworkd = true;
networking.interfaces.ens3.useDHCP = true;
}

11
hosts/shaw/home.nix Normal file
View file

@ -0,0 +1,11 @@
{ config, lib, pkgs, ... }:
{
services.syncthing = {
# enable = true;
extraOptions = [
"--gui-address=:8385"
"--home=/home/qenya/state/syncthing"
];
};
}

19
hosts/tehanu/default.nix Normal file
View file

@ -0,0 +1,19 @@
{ config, lib, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
./networking.nix
];
nixpkgs.hostPlatform = "aarch64-linux";
networking.hostName = "tehanu";
networking.hostId = "8e1185ab";
fountain.users.qenya.enable = true;
fountain.admins = [ "qenya" ];
qenya.base-server.enable = true;
system.stateVersion = "23.11";
}

View file

@ -0,0 +1,38 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_scsi" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "rpool_tehanu/root";
fsType = "zfs";
};
fileSystems."/nix" =
{ device = "rpool_tehanu/nix";
fsType = "zfs";
};
fileSystems."/var" =
{ device = "rpool_tehanu/var";
fsType = "zfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/629B-BA09";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
}

View file

@ -0,0 +1,6 @@
{ config, lib, pkgs, ... }:
{
networking.useNetworkd = true;
networking.interfaces.enp0s6.useDHCP = true;
}

View file

@ -1,90 +0,0 @@
{ config, lib, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.editor = false;
networking.hostName = "tohru";
networking.hostId = "31da19c1";
networking.networkmanager.enable = true;
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_GB.UTF-8";
console.keyMap = "uk";
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
services.xserver.xkb.layout = "gb";
services.printing.enable = true;
sound.enable = true;
hardware.pulseaudio.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.users.bluebird = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ];
packages = with pkgs; [
tor-browser-bundle-bin
firefox
tree
];
};
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
bitwarden
git
plocate
wget
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
nixpkgs.config.allowUnfree = true;
hardware.enableAllFirmware = true;
services.fwupd.enable = true;
services.fstrim.enable = true;
boot.initrd.luks.devices = {
"rpool".device = "/dev/nvme0n1p2";
};
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "23.11";
}

73
hosts/tohru/default.nix Normal file
View file

@ -0,0 +1,73 @@
{ config, lib, pkgs, inputs, ... }:
let
inherit (lib) mkIf mkForce;
in
{
imports = [
./filesystems.nix
./hardware.nix
./networking.nix
./syncthing.nix
];
nixpkgs.hostPlatform = "x86_64-linux";
networking.hostName = "tohru";
networking.hostId = "31da19c1";
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "rtsx_pci_sdmmc" ];
boot.kernelModules = [ "kvm-intel" ];
qenya.base-graphical.enable = true;
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_GB.UTF-8";
console.keyMap = "uk";
services.xserver.xkb.layout = "gb";
# tohru does not have the resources to run this under other load and is generally powered off when not in use.
# instead, just run `nix-store --optimise` every so often.
nix.optimise.automatic = mkForce false;
fountain.users.qenya.enable = true;
fountain.admins = [ "qenya" ];
age.secrets.user-password-tohru-qenya.file = ../../secrets/user-password-tohru-qenya.age;
users.users.qenya.hashedPasswordFile = config.age.secrets.user-password-tohru-qenya.path;
users.users.qenya.extraGroups = [
"networkmanager" # UI wifi configuration
"dialout" # access to serial ports
"docker"
];
nixpkgs.overlays = [ inputs.scoutshonour.overlays.default ];
home-manager.users.qenya = { pkgs, ... }: {
home.packages = with pkgs; [
keepassxc
apostrophe
foliate
nicotine-plus
tuba
# games
openttd
prismlauncher
scoutshonour.digital-a-love-story
scoutshonour.dont-take-it-personally-babe
];
services.podman.enable = true;
};
qenya.services.distributed-builds = {
enable = true;
keyFile = "/etc/ssh/ssh_host_ed25519_key";
builders = [ "kilgharrah" ];
};
programs.evolution.enable = true; # not in home-manager yet; not declaratively configurable yet
programs.steam.enable = true;
virtualisation.docker.enable = true;
system.stateVersion = "23.11";
}

View file

@ -0,0 +1,51 @@
{ config, lib, pkgs, ... }:
{
boot.initrd.luks.devices = {
"rpool".device = "/dev/nvme0n1p2";
};
boot.supportedFilesystems = [ "ntfs" ]; # for USB drives
fileSystems = {
"/" = {
device = "rpool/root";
fsType = "zfs";
};
"/nix" = {
device = "rpool/nix";
fsType = "zfs";
};
"/var" = {
device = "rpool/var";
fsType = "zfs";
};
"/config" = {
device = "rpool/config";
fsType = "zfs";
};
"/home" = {
device = "rpool/home";
fsType = "zfs";
};
"/data" = {
device = "rpool/data";
fsType = "zfs";
};
"/data/syncthing" = {
device = "rpool/data/syncthing";
fsType = "zfs";
};
"/data/steam" = {
device = "rpool/data/steam";
fsType = "zfs";
};
"/boot" = {
device = "/dev/disk/by-uuid/7DD4-487E";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
};
swapDevices = [{ device = "/dev/disk/by-uuid/a066313e-2467-4e07-ad0c-aeb7ff3f8d97"; }];
}

View file

@ -1,54 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "rpool/root";
fsType = "zfs";
};
fileSystems."/nix" =
{ device = "rpool/nix";
fsType = "zfs";
};
fileSystems."/var" =
{ device = "rpool/var";
fsType = "zfs";
};
fileSystems."/home" =
{ device = "rpool/home";
fsType = "zfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/7DD4-487E";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.eno2.useDHCP = lib.mkDefault true;
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

10
hosts/tohru/hardware.nix Normal file
View file

@ -0,0 +1,10 @@
{ config, lib, pkgs, ... }:
{
hardware.enableAllFirmware = true;
hardware.cpu.intel.updateMicrocode = true;
services.fwupd.enable = true;
services.printing.drivers = [ pkgs.hplip ];
}

View file

@ -0,0 +1,8 @@
{ config, lib, pkgs, ... }:
{
networking.useNetworkd = true;
systemd.network.wait-online.enable = false;
networking.networkmanager.enable = true;
}

53
hosts/tohru/syncthing.nix Normal file
View file

@ -0,0 +1,53 @@
{ config, lib, pkgs, ... }:
{
services.syncthing = {
# enable = true;
user = "qenya";
dataDir = "/data/syncthing";
openDefaultPorts = true;
overrideDevices = true;
overrideFolders = true;
settings = {
devices = {
"kilgharrah" = { id = "RDT7IGD-76FZ6LY-37PPB2W-DWPQRPR-LZ4AXF7-4GIIHYJ-RVXUUSG-ZXPN3AZ"; };
"latias" = { id = "EN4W2SB-LB4AAZQ-6AQIE7G-S3BSCSP-V2EUNMM-KAQEHW3-PPAPGBO-PXRPWAL"; };
"shaw" = { id = "NC7WMZS-GQETJYR-IAYGD65-GHTSTVP-VAAG43K-W7N3LO5-C5OQMZ2-DTK6YA7"; };
};
folders = {
"Sync" = {
id = "uln2v-zwzwj";
path = "~/Sync";
devices = [ "kilgharrah" "shaw" ];
};
"Documents" = {
id = "alp59-7gs9s";
path = "~/Documents";
devices = [ "kilgharrah" "shaw" ];
};
"Music" = {
id = "7xvkf-y62s7";
path = "~/Music";
devices = [ "kilgharrah" "shaw" ];
};
"Pictures" = {
id = "tbmhx-ep7wk";
path = "~/Pictures";
devices = [ "kilgharrah" "shaw" ];
};
"ES-DE" = {
id = "c1cbh-llw94";
path = "~/ES-DE";
devices = [ "kilgharrah" "latias" "shaw" ];
};
"ROMs" = {
id = "dcze4-v6act";
path = "~/ROMs";
devices = [ "kilgharrah" "latias" "shaw" ];
};
};
};
};
}

36
hosts/yevaud/default.nix Normal file
View file

@ -0,0 +1,36 @@
{ config, lib, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
./networking.nix
./experiments/pennykettle.nix
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
networking.hostName = "yevaud";
networking.hostId = "09673d65";
fountain.users.qenya.enable = true;
fountain.admins = [ "qenya" ];
qenya.base-server.enable = true;
qenya.services.distributed-builds = {
enable = true;
keyFile = "/etc/ssh/ssh_host_ed25519_key";
builders = [ "kilgharrah" ];
};
nix.settings.max-jobs = 0;
randomcat.services.zfs.datasets = {
"rpool/state" = { mountpoint = "none"; };
};
services.sanoid.datasets."rpool/state" = {
useTemplate = [ "production" ];
recursive = "zfs";
};
system.stateVersion = "23.11";
}

View file

@ -0,0 +1,66 @@
{ config, lib, pkgs, ... }:
{
networking.firewall.allowedUDPPorts = [ 51820 ];
networking.firewall.interfaces."tailscale0".allowedTCPPorts = config.networking.firewall.allowedTCPPorts ++ [ 1080 ];
environment.systemPackages = [ pkgs.wireguard-tools ];
networking.wireguard.interfaces."wg-protonvpn" = {
ips = [ "10.2.0.2/32" ];
peers = [{
allowedIPs = [ "0.0.0.0/0" "::/0" ];
endpoint = "217.138.216.162:51820";
publicKey = "C+u+eQw5yWI2APCfVJwW6Ovj3g4IrTOfe+tMZnNz43s=";
}];
privateKeyFile = config.age.secrets.protonvpn-pennykettle1.path;
listenPort = 51820;
table = "957851094"; # randomly generated
};
networking.localCommands = ''
ip rule add from 10.2.0.2/32 table 957851094
'';
networking.firewall.checkReversePath = "loose";
age.secrets.protonvpn-pennykettle1 = {
file = ../../../secrets/protonvpn-pennykettle1.age;
owner = "root";
group = "systemd-network";
mode = "640";
};
services.dante = {
enable = true;
config = ''
debug: 2
internal: tailscale0
external: wg-protonvpn
# auth/tls handled by tailscale
clientmethod: none
socksmethod: none
# allow connections from tailscale
# "0/0" matches any v4 or v6 address
client pass {
from: 100.64.0.0/10 to: 0/0
log: error connect disconnect
}
client pass {
from: fd7a:115c:a1e0::/48 to: 0/0
log: error connect disconnect
}
socks pass {
from: 0/0 to: 0/0
protocol: tcp udp
log: error connect disconnect iooperation
}
'';
};
systemd.services.dante = {
wants = [ "tailscaled-autoconnect.service" ];
after = [ "tailscaled-autoconnect.service" ];
};
}

View file

@ -0,0 +1,40 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "rpool/root";
fsType = "zfs";
};
fileSystems."/nix" =
{ device = "rpool/nix";
fsType = "zfs";
};
fileSystems."/var" =
{ device = "rpool/var";
fsType = "zfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/107D-5AB3";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/f8b6eb35-33ad-4e19-bf3d-cac5ec38a8dc"; }
];
}

View file

@ -0,0 +1,5 @@
{ config, lib, pkgs, ... }:
{
networking.interfaces.ens3.useDHCP = true;
}

35
keys.nix Normal file
View file

@ -0,0 +1,35 @@
{
machines = {
reese = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPd0qGxvcMLDwX1bqYpwOUL5c/CIgBllMFr+bGkwiwAn root@reese";
bear = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIZ9Kn1CIcDHaleKHf7zO6O30Rbxs/FwL0/Ie+mEjZJr root@bear";
shaw = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMC0AomCZZiUV/BCpImiV4p/vGvFaz5QNc+fJLXmS5p root@shaw";
groves = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPQNZ/Q+x7mDYfYXftpZpWkfPByyMBbYmVFobM4vSDW2 root@groves";
tohru = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOk8wuGzF0Y7SaH9aimo3SmCz99MTQwL+rEVhx0jsueU root@tohru";
yevaud = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICHUAgyQhl390yUObLUI+jEbuNrZ2U6+8px628DolD+T root@yevaud";
orm = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGc9rkcdOVWozBFj3kLVnSyUQQbyyH+UG+bLawanQkRQ root@orm";
kalessin = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOPt3iSSmgnlsv1/jafgZgI7o8UuXzcAL45hID2ThfS8 root@kalessin";
tehanu = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ1fNylfLo7Z8m/DroRlj7cHMLhYL7boP3r/upVrtMJQ root@tehanu";
kilgharrah = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOgGF3gzzlMbxxk3UAAgHJ7sDdjqtrw7UW16M1XhXtz2 root@kilgharrah";
elucredassa = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA+Y/vqGNc1wXUAg4XMAAcLupkggywj2LpYDwA16ONbH root@elucredassa";
carter = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEHHHYG6A995Po05+JXQsvB79ZoIiSOJnW6AiJgVYPic root@carter";
siberys = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICF9p2X9Mph+PYV1YZHuMXXBevJatecqx3yr/B8znQud root@vps-9fd2f351.vps.ovh.net";
};
users = {
qenya = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFjBuuxo+w3yED0aPnsNb8S90p/GgBqFEG9K4ETZ5Wkq qenya@kilgharrah"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJEmkV9arotms79lJPsLHkdzAac4eu3pYS08ym0sB/on qenya@tohru"
];
randomcat = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDHagOaeTR+/7FL9sErciMw30cmV/VW8HU7J3ZFU5nj9 janet@randomcat.org"
];
trungle = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAA57legzdIcYTVVri4Wc0CvgWefbRhmUqhu0F/5f8FB reuben@glenda-artix"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHAuYWPfYVKdjBY/gBMt2n11Seb+hMqjui1PQ6C4ph8i richard@tress"
];
gaelan = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDFbDvPKnPXe+58QgdgK8yZ3Ac9dkJdtHJ3pQwWhszM7McwCzCEO/b940K0orLjfeUruC+hGJZO8heIh0J6JwSK907aS2wpHofU9q7bMT0PYeuHrSb2iFrOFIkTIWpO8hnWad8TGKOlOdNTKEdB9zwxXEKTFb9QW1Z27Zql79W44jUvaOTb7gKUps37O77lHEJDModaRsXS2523pSbrTZKDwZ73+S0ECeNUwwzLUyOOUHfENEXnM18hWm8mV0iU7kxFcmS33z9rWlWPNiCXnBnSi5LPgBarYOAqQf56f9OisafKqvc3uX+yn0kGCDWglVGUkbhfSIP9+w+yv/h/NJWIJlJC92ndbktAqAQW4gb7lXYxpbdoWcmqEy97q0e2vyBdhcVXwZ+0q+U8I74m8trq36ieHDtLKYkiFBX6zvrLP4I5OZU+EecdV2HcMoU8HNa5u1mvG+oHaEgkR70a5cQtrPzWLS/OMLqvWL39vO7RNskzwWCSuWScxDGitr+BunRRbL4aKNkkPjdDlIqb/SfSrFikOo75f5Ku4I32nbM7SNpIjA4cHe50rx1UB8lT+RwHdxL99OdoxIPCe6OLA5uT8VGPXkvqd/ZIFOL2HaM+uPLaYbjwLrHlwSOLgGbehmsSD369EXv6NAc5wbzsSLJQhJ66d5unnzGjn4dRt9sbDw== gbs@canishe.com"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHId+2dJYiZK++p8lu9Bax0J29JjeuU4qcIBdLwEz3lm gbs@canishe.com"
];
};
}

18
secrets.nix Normal file
View file

@ -0,0 +1,18 @@
let
keys = import ./keys.nix;
secrets = with keys; {
ftp-userDb-qenya = [ machines.kilgharrah ] ++ keys.users.qenya;
user-password-kilgharrah-qenya = [ machines.kilgharrah ] ++ keys.users.qenya;
user-password-tohru-qenya = [ machines.tohru ] ++ keys.users.qenya;
protonvpn-pennykettle1 = [ machines.yevaud ] ++ keys.users.qenya;
};
in
builtins.listToAttrs (
map
(secretName: {
name = "secrets/${secretName}.age";
value.publicKeys = secrets."${secretName}";
})
(builtins.attrNames secrets)
)

Binary file not shown.

View file

@ -0,0 +1,9 @@
age-encryption.org/v1
-> ssh-ed25519 uJfgGw +h4WiWyMlQZ5iaMFTl/whUD0vJnIN0GYeqRbZ0MIH0o
eKio4DsSJlrvSAjmR0naDO/lmB78o7cy7QC9WZjHUa0
-> ssh-ed25519 seJ9Iw xov8WY0TxEj5/wkWg1T0kmrbpXsNhDLnZwqyIg0eExA
wu5QApQk6K8Fu5XMTrWY2veoYbJVuQmn3DJXewVB860
-> ssh-ed25519 900ILw N6RbpHr4Vwgm0BUCuMXzVo3VEgrl29NF8ZJU5Far7yk
KdA1dZXmcSF3cH9bVdmIbj7iZO3uuSY+isjswDzSu+Y
--- YtnS9FqXVat2hi9BLvX+71HEZDw3zcxIQ7Dp5+iao4c
¢¼ða'þš|<7C>‡N7N”†ÊT5]O¤0Säm<-1ë»ëª:d®„g¡^/ä†u7µïNû?XþMçûìÄì~Þs.9c¾C

Binary file not shown.

Binary file not shown.

11
services/default.nix Normal file
View file

@ -0,0 +1,11 @@
{
imports = [
./qenya
./randomcat
./distributed-builds.nix
./remote-builder.nix
./reverse-proxy.nix
./web-redirect.nix
];
}

View file

@ -0,0 +1,54 @@
{ config, lib, pkgs, ... }:
let
inherit (builtins) elem;
inherit (lib) mkIf mkEnableOption mkOption types optional;
cfg = config.qenya.services.distributed-builds;
in
{
options.qenya.services.distributed-builds = {
enable = mkEnableOption "distributed builds";
keyFile = mkOption {
type = types.path;
description = ''
Path to the OpenSSH private key to be used for distributed builds.
'';
};
builders = mkOption {
type = types.listOf types.str;
default = [ ];
description = ''
List of builders to attempt to use for distributed builds.
'';
example = [ "kalessin" ];
};
};
config = mkIf cfg.enable {
assertions = [{
assertion = cfg ? keyFile;
message = "must specify a private key to be used for distributed builds";
}];
nix.distributedBuilds = true;
nix.settings.builders-use-substitutes = true;
nix.buildMachines =
(optional (elem "kalessin" cfg.builders) {
hostName = "kalessin.birdsong.network";
sshUser = "remotebuild";
sshKey = cfg.keyFile;
systems = [ "aarch64-linux" ];
maxJobs = 2;
supportedFeatures = [ "big-parallel" ];
})
++ (optional (elem "kilgharrah" cfg.builders) {
hostName = "kilgharrah.birdsong.network";
sshUser = "remotebuild";
sshKey = cfg.keyFile;
systems = [ "x86_64-linux" ];
maxJobs = 12;
supportedFeatures = [ "big-parallel" ];
});
};
}

24
services/qenya/actual.nix Normal file
View file

@ -0,0 +1,24 @@
{ config, lib, pkgs, inputs, ... }:
let
inherit (lib) mkIf mkOption mkEnableOption types;
cfg = config.qenya.services.actual;
in
{
options.qenya.services.actual = {
enable = mkEnableOption "Actual Budget";
domain = mkOption {
type = types.str;
};
};
config = mkIf cfg.enable {
fountain.services.reverse-proxy.enable = true;
fountain.services.reverse-proxy.domains.${cfg.domain} = "http://127.0.0.1:5006/";
services.actual = {
enable = true;
settings.port = 5006;
};
};
}

View file

@ -0,0 +1,22 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.qenya.services.audiobookshelf;
in
{
options.qenya.services.audiobookshelf = {
enable = mkEnableOption "Audiobookshelf";
domain = mkOption {
type = types.str;
};
};
config = mkIf cfg.enable {
fountain.services.reverse-proxy.enable = true;
fountain.services.reverse-proxy.domains.${cfg.domain} = "http://127.0.0.1:8234/";
services.audiobookshelf.enable = true;
services.audiobookshelf.port = 8234;
};
}

View file

@ -0,0 +1,11 @@
{
imports = [
./actual.nix
./audiobookshelf.nix
./forgejo.nix
./headscale.nix
./jellyfin.nix
./navidrome.nix
./owncast.nix
];
}

View file

@ -0,0 +1,44 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.qenya.services.forgejo;
in
{
options.qenya.services.forgejo = {
enable = mkEnableOption "Forgejo";
domain = mkOption {
type = types.str;
};
};
config = mkIf cfg.enable {
fountain.services.reverse-proxy.enable = true;
fountain.services.reverse-proxy.domains.${cfg.domain} = "http://[::1]:3000/";
# TODO: email out
# TODO: interface customisation
services.forgejo = {
enable = true;
settings = {
DEFAULT.APP_NAME = cfg.domain;
cache = {
ADAPTER = "twoqueue";
HOST = ''{"size": 100, "recent_ratio": 0.25, "ghost_ratio": 0.5}'';
};
database = {
DB_TYPE = "sqlite3";
SQLITE_JOURNAL_MODE = "WAL";
};
security.LOGIN_REMEMBER_DAYS = 365;
server = {
DOMAIN = cfg.domain;
HTTP_PORT = 3000;
ROOT_URL = "https://${cfg.domain}/";
};
service.DISABLE_REGISTRATION = true;
};
};
};
}

View file

@ -0,0 +1,41 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkOption mkEnableOption types;
cfg = config.qenya.services.headscale;
in
{
options.qenya.services.headscale = {
enable = mkEnableOption "Headscale";
domain = mkOption {
type = types.str;
};
dataDir = mkOption {
type = types.str;
};
};
config = mkIf cfg.enable {
fountain.services.reverse-proxy.enable = true;
fountain.services.reverse-proxy.domains.${cfg.domain} = "http://127.0.0.1:32770/";
services.headscale = {
enable = true;
address = "0.0.0.0"; # required to disable built-in ACME client for some reason
port = 32770;
settings = {
server_url = "https://${cfg.domain}:443";
prefixes.allocation = "random";
dns = {
magic_dns = true;
base_domain = "birdsong.network";
override_local_dns = false;
};
# disable built-in ACME client
tls_cert_path = null;
tls_key_path = null;
};
};
};
}

View file

@ -0,0 +1,20 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.qenya.services.jellyfin;
in
{
options.qenya.services.jellyfin = {
enable = mkEnableOption "Jellyfin";
domain = mkOption {
type = types.str;
};
};
config = mkIf cfg.enable {
fountain.services.reverse-proxy.enable = true;
fountain.services.reverse-proxy.domains.${cfg.domain} = "http://127.0.0.1:8096/";
services.jellyfin.enable = true;
};
}

View file

@ -0,0 +1,28 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkOption mkEnableOption types;
cfg = config.qenya.services.navidrome;
in
{
options.qenya.services.navidrome = {
enable = mkEnableOption "Navidrome";
domain = mkOption {
type = types.str;
};
dataDir = mkOption {
type = types.str;
};
};
config = mkIf cfg.enable {
fountain.services.reverse-proxy.enable = true;
fountain.services.reverse-proxy.domains.${cfg.domain} = "http://127.0.0.1:4533/";
services.navidrome.enable = true;
services.navidrome.settings = {
MusicFolder = cfg.dataDir;
BaseUrl = "https://${cfg.domain}";
};
};
}

View file

@ -0,0 +1,28 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkOption mkEnableOption types;
cfg = config.qenya.services.owncast;
in
{
options.qenya.services.owncast = {
enable = mkEnableOption "Owncast";
domain = mkOption {
type = types.str;
};
dataDir = mkOption {
type = types.str;
};
};
config = mkIf cfg.enable {
fountain.services.reverse-proxy.enable = true;
fountain.services.reverse-proxy.domains.${cfg.domain} = "http://127.0.0.1:32769/";
networking.firewall.allowedTCPPorts = [ 1935 ]; # for rtmp
services.owncast.enable = true;
services.owncast.port = 32769;
services.owncast.dataDir = cfg.dataDir;
};
}

View file

@ -0,0 +1,7 @@
{ inputs, ... }:
{
imports = [
(builtins.toPath "${inputs.randomcat}/services/default.nix")
];
}

View file

@ -0,0 +1,44 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkOption mkEnableOption types;
cfg = config.qenya.services.remote-builder;
in
{
options.qenya.services.remote-builder = {
enable = mkEnableOption "remote builder";
authorizedKeys = {
keys = mkOption {
type = types.listOf types.singleLineStr;
default = [ ];
description = ''
A list of verbatim OpenSSH public keys that should be authorized to
use this remote builder. See
`users.users.<name>.openssh.authorizedKeys.keys`.
'';
};
keyFiles = mkOption {
type = types.listOf types.path;
default = [ ];
description = ''
A list of files each containing one OpenSSH public key that should be
authorized to use this remote builder. See
`users.users.<name>.openssh.authorizedKeys.keyFiles`.
'';
};
};
};
config = mkIf cfg.enable {
users.users.remotebuild = {
isSystemUser = true;
group = "nogroup";
shell = "/bin/sh";
openssh.authorizedKeys.keys = cfg.authorizedKeys.keys;
openssh.authorizedKeys.keyFiles = cfg.authorizedKeys.keyFiles;
};
nix.nrBuildUsers = 64;
nix.settings.trusted-users = [ "remotebuild" ];
};
}

Some files were not shown because too many files have changed in this diff Show more