All my nix stuff, in a single flake
Flake lock file updates:
• Updated input 'deploy-rs':
'github:serokell/deploy-rs/9c870f63e28ec1e83305f7f6cb73c941e699f74f?narHash=sha256-9I2H9x5We6Pl%2BDBYHjR1s3UT8wgwcpAH03kn9CqtdQc%3D' (2025-11-04)
→ 'github:serokell/deploy-rs/d5eff7f948535b9c723d60cd8239f8f11ddc90fa?narHash=sha256-znKOwPXQnt3o7lDb3hdf19oDo0BLP4MfBOYiWkEHoik%3D' (2025-12-18)
• Updated input 'disko':
'github:nix-community/disko/be1a6b8a05afdd5d5fa69fcaf3c4ead7014c9fd8?narHash=sha256-MjrytR2kiHYUnzX11cXaD31tS7kKdhM1KFaac0%2BKAig%3D' (2025-12-14)
→ 'github:nix-community/disko/916506443ecd0d0b4a0f4cf9d40a3c22ce39b378?narHash=sha256-P0kM%2B5o%2BDKnB6raXgFEk3azw8Wqg5FL6wyl9jD%2BG5a4%3D' (2025-12-19)
• Updated input 'flake-parts':
'github:hercules-ci/flake-parts/5635c32d666a59ec9a55cab87e898889869f7b71?narHash=sha256-MhA7wmo/7uogLxiewwRRmIax70g6q1U/YemqTGoFHlM%3D' (2025-12-11)
→ 'github:hercules-ci/flake-parts/250481aafeb741edfe23d29195671c19b36b6dca?narHash=sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY%3D' (2026-01-05)
• Updated input 'flake-parts/nixpkgs-lib':
'github:nix-community/nixpkgs.lib/719359f4562934ae99f5443f20aa06c2ffff91fc?narHash=sha256-b0yj6kfvO8ApcSE%2BQmA6mUfu8IYG6/uU28OFn4PaC8M%3D' (2025-10-29)
→ 'github:nix-community/nixpkgs.lib/2075416fcb47225d9b68ac469a5c4801a9c4dd85?narHash=sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo%3D' (2025-12-14)
• Updated input 'home-manager':
'github:nix-community/home-manager/58bf3ecb2d0bba7bdf363fc8a6c4d49b4d509d03?narHash=sha256-yeCxFV/905Wr91yKt5zrVvK6O2CVXWRMSrxqlAZnLp0%3D' (2025-12-14)
→ 'github:nix-community/home-manager/92394f9deafa80b9de95d7e0f10de78d39ff0564?narHash=sha256-clGZcCXX4VLLdzFDu2YRflI%2BoKWbv41x0w0G06h88L0%3D' (2026-01-08)
• Updated input 'impermanence':
'github:nix-community/impermanence/4b3e914cdf97a5b536a889e939fb2fd2b043a170?narHash=sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI%3D' (2025-01-25)
→ 'github:nix-community/impermanence/82e5bc4508cab9e8d5a136626276eb5bbce5e9c5?narHash=sha256-iyrn9AcPZCoyxX4OT8eMkBsjG7SRUQXXS/V1JzxS7rA%3D' (2026-01-07)
• Added input 'impermanence/home-manager':
'github:nix-community/home-manager/7419250703fd5eb50e99bdfb07a86671939103ea?narHash=sha256-pQQnbxWpY3IiZqgelXHIe/OAE/Yv4NSQq7fch7M6nXQ%3D' (2025-05-23)
• Added input 'impermanence/home-manager/nixpkgs':
follows 'impermanence/nixpkgs'
• Added input 'impermanence/nixpkgs':
'github:nixos/nixpkgs/063f43f2dbdef86376cc29ad646c45c46e93234c?narHash=sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o%3D' (2025-05-23)
• Updated input 'niri-flake':
'github:sodiboo/niri-flake/ded1462ebc03ed723f0f9f5514e72469da687817?narHash=sha256-P9kQIIPSCqmKyHD/9wFZ4ezlqofnAzYBmolSF1f5xog%3D' (2025-12-14)
→ 'github:sodiboo/niri-flake/a789aa1512a9157d5d3392b27e60621fd0d83438?narHash=sha256-HLr9k8g1Geq40PLsNw7I5N8TZkBYtQVjkgDPV/Kehxk%3D' (2026-01-08)
• Updated input 'niri-flake/niri-unstable':
'github:YaLTeR/niri/7c0898570ca5bd3f10fbf4cf2f8a00edc48d787b?narHash=sha256-Erk%2BypR8N%2BrCvjMdUB1N/v4jtm4QRH9k7r/9zh2HyC8%3D' (2025-12-14)
→ 'github:YaLTeR/niri/10df9f4717cbd4efd20ae796eb6b0aa400127bdc?narHash=sha256-qS4tdG2iUQwSld9dTH1gk8GcIOrRi9umMgPv8MGDIA0%3D' (2026-01-07)
• Updated input 'niri-flake/nixpkgs':
'github:NixOS/nixpkgs/2fbfb1d73d239d2402a8fe03963e37aab15abe8b?narHash=sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0%3D' (2025-12-11)
→ 'github:NixOS/nixpkgs/5912c1772a44e31bf1c63c0390b90501e5026886?narHash=sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4%3D' (2026-01-07)
• Updated input 'niri-flake/nixpkgs-stable':
'github:NixOS/nixpkgs/28bb483c11a1214a73f9fd2d9928a6e2ea86ec71?narHash=sha256-9Wx53UK0z8Di5iesJID0tS1dRKwGxI4i7tsSanOHhF0%3D' (2025-12-13)
→ 'github:NixOS/nixpkgs/d351d0653aeb7877273920cd3e823994e7579b0b?narHash=sha256-r4GVX%2BFToWVE2My8VVZH4V0pTIpnu2ZE8/Z4uxGEMBE%3D' (2026-01-07)
• Updated input 'niri-flake/xwayland-satellite-unstable':
'github:Supreeeme/xwayland-satellite/f0ad674b7009a6afd80cea59d4fbf975dd68ee95?narHash=sha256-HtTPbV6z6AJPg2d0bHaJKFrnNha%2BSEbHvbJafKAQ614%3D' (2025-12-10)
→ 'github:Supreeeme/xwayland-satellite/74cf1a95a35fd7aec76432bc2cd9b310e0d908c5?narHash=sha256-0PgS7M1SV6JCN3MugFZPaP8J%2BMr2o7lSDFTPVYZSIAY%3D' (2026-01-07)
• Updated input 'nix-ai-tools':
'github:numtide/llm-agents.nix/9ee377d02d7e50e2903d9c7fa53138aebd9ae944?narHash=sha256-yrECdmBoMhUAA8FqUJ1LbtDjuwn%2B38OkFgRrwbEq/DU%3D' (2025-12-16)
→ 'github:numtide/llm-agents.nix/1e0eaa265ba27a04f89b3265583bdf7da54a3972?narHash=sha256-Wo1jRV29yb3NwWf1hG80rmhrTC5x3F%2Bbvj5u/fvxMW4%3D' (2026-01-08)
• Updated input 'nix-ai-tools/blueprint':
'github:numtide/blueprint/5a9bba070f801d63e2af3c9ef00b86b212429f4f?narHash=sha256-O9Y%2BWer8wOh%2BN%2B4kcCK5p/VLrXyX%2Bktk0/s3HdZvJzk%3D' (2025-11-16)
→ 'github:numtide/blueprint/0ed984d51a3031065925ab08812a5434f40b93d4?narHash=sha256-BJDu7dIMauO2nYRSL4aI8wDNtEm2KOb7lDKP3hxdrpo%3D' (2026-01-02)
• Updated input 'nix-ai-tools/nixpkgs':
'github:NixOS/nixpkgs/09b8fda8959d761445f12b55f380d90375a1d6bb?narHash=sha256-aq%2BdQoaPONOSjtFIBnAXseDm9TUhIbe215TPmkfMYww%3D' (2025-12-15)
→ 'github:NixOS/nixpkgs/16c7794d0a28b5a37904d55bcca36003b9109aaa?narHash=sha256-fFUnEYMla8b7UKjijLnMe%2BoVFOz6HjijGGNS1l7dYaQ%3D' (2026-01-02)
• Updated input 'nix-ai-tools/treefmt-nix':
'github:numtide/treefmt-nix/5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4?narHash=sha256-AlEObg0syDl%2BSpi4LsZIBrjw%2BsnSVU4T8MOeuZJUJjM%3D' (2025-11-12)
→ 'github:numtide/treefmt-nix/778a1d691f1ef45dd68c661715c5bf8cbf131c80?narHash=sha256-QfX6g3Wj2vQe7oBJEbTf0npvC6sJoDbF9hb2%2BgM5tf8%3D' (2026-01-07)
• Updated input 'nixos-cli':
'github:nix-community/nixos-cli/a2019789319c1678be8dc68ecf34c83f948e7475?narHash=sha256-ToKVLDYAzKyStJgCA7W%2BRZObvwABK9fQ8i1wLUUOdLM%3D' (2025-12-11)
→ 'github:nix-community/nixos-cli/b68f36728504f1017591a9e296237a867e52156d?narHash=sha256-V/4vkr/tTJ50dh57GEKZbEikex%2BGqOVVF2SVYwLcSmQ%3D' (2026-01-02)
• Updated input 'nixos-cli/flake-compat':
'github:edolstra/flake-compat/f387cd2afec9419c8ee37694406ca490c3f34ee5?narHash=sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4%3D' (2025-10-27)
→ 'github:edolstra/flake-compat/5edf11c44bc78a0d334f6334cdaf7d60d732daab?narHash=sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns%3D' (2025-12-29)
• Updated input 'nixos-cli/flake-parts':
'github:hercules-ci/flake-parts/2cccadc7357c0ba201788ae99c4dfa90728ef5e0?narHash=sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q%3D' (2025-11-21)
→ 'github:hercules-ci/flake-parts/a34fae9c08a15ad73f295041fec82323541400a9?narHash=sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw%3D' (2025-12-15)
• Updated input 'nixos-cli/flake-parts/nixpkgs-lib':
'github:nix-community/nixpkgs.lib/719359f4562934ae99f5443f20aa06c2ffff91fc?narHash=sha256-b0yj6kfvO8ApcSE%2BQmA6mUfu8IYG6/uU28OFn4PaC8M%3D' (2025-10-29)
→ 'github:nix-community/nixpkgs.lib/2075416fcb47225d9b68ac469a5c4801a9c4dd85?narHash=sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo%3D' (2025-12-14)
• Removed input 'nixos-cli/nix-options-doc'
• Removed input 'nixos-cli/nix-options-doc/flake-utils'
• Removed input 'nixos-cli/nix-options-doc/flake-utils/systems'
• Removed input 'nixos-cli/nix-options-doc/nixpkgs'
• Removed input 'nixos-cli/nix-options-doc/rust-overlay'
• Removed input 'nixos-cli/nix-options-doc/rust-overlay/nixpkgs'
• Updated input 'nixos-cli/nixpkgs':
'github:NixOS/nixpkgs/23258e03aaa49b3a68597e3e50eb0cbce7e42e9d?narHash=sha256-nA5ywiGKl76atrbdZ5Aucd8SjF/v8ew9b9QsC%2BMKL14%3D' (2025-11-30)
→ 'github:NixOS/nixpkgs/f665af0cdb70ed27e1bd8f9fdfecaf451260fc55?narHash=sha256-ujL2AoYBnJBN262HD95yer7QYUmYp5kFZGYbyCCKxq8%3D' (2025-12-31)
• Added input 'nixos-cli/optnix':
'github:water-sucks/optnix/01facc3de860bf479723bf19535586564e59fe73?narHash=sha256-33VCCXiEnEL9N2wVxo9FHLwL8KWH6qk%2BMNRcSThOPWs%3D' (2025-12-11)
• Added input 'nixos-cli/optnix/flake-compat':
'github:edolstra/flake-compat/9100a0f413b0c601e0533d1d94ffd501ce2e7885?narHash=sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX%2BfjA8Xf8PUmqCY%3D' (2025-05-12)
• Added input 'nixos-cli/optnix/nixpkgs':
'github:NixOS/nixpkgs/647e5c14cbd5067f44ac86b74f014962df460840?narHash=sha256-JVZl8NaVRYb0%2B381nl7LvPE%2BA774/dRpif01FKLrYFQ%3D' (2025-09-28)
• Updated input 'nixpkgs':
'github:nixos/nixpkgs/2fbfb1d73d239d2402a8fe03963e37aab15abe8b?narHash=sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0%3D' (2025-12-11)
→ 'github:nixos/nixpkgs/5912c1772a44e31bf1c63c0390b90501e5026886?narHash=sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4%3D' (2026-01-07)
• Updated input 'nixpkgs-stable':
'github:nixos/nixpkgs/28bb483c11a1214a73f9fd2d9928a6e2ea86ec71?narHash=sha256-9Wx53UK0z8Di5iesJID0tS1dRKwGxI4i7tsSanOHhF0%3D' (2025-12-13)
→ 'github:nixos/nixpkgs/d351d0653aeb7877273920cd3e823994e7579b0b?narHash=sha256-r4GVX%2BFToWVE2My8VVZH4V0pTIpnu2ZE8/Z4uxGEMBE%3D' (2026-01-07)
• Updated input 'noctalia':
'github:noctalia-dev/noctalia-shell/04852ccdc10ab7e289a4bd6f5987972196744e9d?narHash=sha256-4CUoczVKiEEGCVl4qw3jo9YRCpX6d53hw0KMptdaFCQ%3D' (2025-12-14)
→ 'github:noctalia-dev/noctalia-shell/6a61bf185c1b9a508377bde924db58ff53ef2d93?narHash=sha256-/fDWzjo%2BukaTCBzxycwyR5xB10/4N%2Bi9wBfTOFNfYHQ%3D' (2026-01-08)
• Updated input 'stylix':
'github:danth/stylix/dd14de4432a94e93e10d0159f1d411487e435e1e?narHash=sha256-sDG%2Bc73xEnIw1pFNRWffKDnTWiTuyZiEP%2BIub0D3mWA%3D' (2025-12-11)
→ 'github:danth/stylix/a525e4774f2576e0f10b8b183c2dfaf7d165c052?narHash=sha256-5/hrrHMZuwwJXqLb86MBElPKS61Efe%2BhgGkVvpbzJM4%3D' (2026-01-08)
• Updated input 'stylix/base16-fish':
'github:tomyun/base16-fish/23ae20a0093dca0d7b39d76ba2401af0ccf9c561?narHash=sha256-l9xHIy%2B85FN%2BbEo6yquq2IjD1rSg9fjfjpyGP1W8YXo%3D' (2025-08-05)
→ 'github:tomyun/base16-fish/86cbea4dca62e08fb7fd83a70e96472f92574782?narHash=sha256-XCUQLoLfBJ8saWms2HCIj4NEN%2BxNsWBlU1NrEPcQG4s%3D' (2025-12-15)
• Updated input 'stylix/firefox-gnome-theme':
'github:rafaelmardojai/firefox-gnome-theme/66b7c635763d8e6eb86bd766de5a1e1fbfcc1047?narHash=sha256-OkFLrD3pFR952TrjQi1%2BVdj604KLcMnkpa7lkW7XskI%3D' (2025-12-03)
→ 'github:rafaelmardojai/firefox-gnome-theme/f7ffd917ac0d253dbd6a3bf3da06888f57c69f92?narHash=sha256-1XPewtGMi%2B9wN9Ispoluxunw/RwozuTRVuuQOmxzt%2BA%3D' (2025-12-04)
• Updated input 'stylix/flake-parts':
'github:hercules-ci/flake-parts/2cccadc7357c0ba201788ae99c4dfa90728ef5e0?narHash=sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q%3D' (2025-11-21)
→ 'github:hercules-ci/flake-parts/250481aafeb741edfe23d29195671c19b36b6dca?narHash=sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY%3D' (2026-01-05)
• Updated input 'stylix/gnome-shell':
'gitlab:GNOME/gnome-shell/c0e1ad9f0f703fd0519033b8f46c3267aab51a22?host=gitlab.gnome.org&narHash=sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk%3D' (2025-11-30)
→ 'gitlab:GNOME/gnome-shell/ef02db02bf0ff342734d525b5767814770d85b49?host=gitlab.gnome.org&narHash=sha256-eFujfIUQDgWnSJBablOuG%2B32hCai192yRdrNHTv0a%2Bs%3D' (2026-01-06)
• Updated input 'stylix/nixpkgs':
'github:NixOS/nixpkgs/2d293cbfa5a793b4c50d17c05ef9e385b90edf6c?narHash=sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4%3D' (2025-11-30)
→ 'github:NixOS/nixpkgs/5912c1772a44e31bf1c63c0390b90501e5026886?narHash=sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4%3D' (2026-01-07)
• Updated input 'stylix/nur':
'github:nix-community/NUR/1d9616689e98beded059ad0384b9951e967a17fa?narHash=sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU%3D' (2025-12-03)
→ 'github:nix-community/NUR/dead29c804adc928d3a69dfe7f9f12d0eec1f1a4?narHash=sha256-ZKqhk772%2Bv/bujjhla9VABwcvz%2BhB2IaRyeLT6CFnT0%3D' (2026-01-07)
• Updated input 'stylix/tinted-schemes':
'github:tinted-theming/schemes/0f6be815d258e435c9b137befe5ef4ff24bea32c?narHash=sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw%3D' (2025-11-23)
→ 'github:tinted-theming/schemes/2800e2b8ac90f678d7e4acebe4fa253f602e05b2?narHash=sha256-%2BW1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI%2Bdes%3D' (2026-01-06)
• Updated input 'stylix/tinted-tmux':
'github:tinted-theming/tinted-tmux/edf89a780e239263cc691a987721f786ddc4f6aa?narHash=sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE%3D' (2025-11-30)
→ 'github:tinted-theming/tinted-tmux/3c32729ccae99be44fe8a125d20be06f8d7d8184?narHash=sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU%3D' (2026-01-04)
• Updated input 'stylix/tinted-zed':
'github:tinted-theming/base16-zed/907dbba5fb8cf69ebfd90b00813418a412d0a29a?narHash=sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg%3D' (2025-11-30)
→ 'github:tinted-theming/base16-zed/11abb0b282ad3786a2aae088d3a01c60916f2e40?narHash=sha256-wVOj0qyil8m%2BouSsVZcNjl5ZR%2B1GdOOAooAatQXHbuU%3D' (2026-01-04)
• Updated input 'vicinae':
'github:vicinaehq/vicinae/32cf6b1f82e007cddba9c9ae037eff670219cd55?narHash=sha256-etv2HJA9OWvTkjnrjaNSqvebu9gWLIGPYb9PWr4qkfM%3D' (2025-12-09)
→ 'github:vicinaehq/vicinae/aab965dcf29529c5fab67b9c2fb5f8168f76fa1b?narHash=sha256-OPBgcM2ZzbVEUS6lwRpJo2JBfiRK8TmYVSmZImEW2gA%3D' (2026-01-07)
• Updated input 'zen-browser':
'github:0xc000022070/zen-browser-flake/463d3f091ad2b0ba2a4982f4181d22e452b2659d?narHash=sha256-rAWVEEbfWZKTaiqBA/ogkeHvbzlkDHZjZPHbjWUnpw8%3D' (2025-12-14)
→ 'github:0xc000022070/zen-browser-flake/8b2302d8c10369c9135552cc892da75cff5ddb03?narHash=sha256-5ysv8EuVAgDoYmNuXEUNf7vBzdeRaFxeIlIndv5HMvs%3D' (2026-01-07)
• Updated input 'zen-browser/home-manager':
'github:nix-community/home-manager/827f2a23373a774a8805f84ca5344654c31f354b?narHash=sha256-RYHN8O/Aja59XDji6WSJZPkJpYVUfpSkyH%2BPEupBJqM%3D' (2025-11-12)
→ 'github:nix-community/home-manager/e4e78a2cbeaddd07ab7238971b16468cc1d14daf?narHash=sha256-GKgwu5//R%2BcLdKysZjGqvUEEOGXXLdt93sNXeb2M/Lk%3D' (2025-12-30)
• Updated input 'zen-browser/nixpkgs':
'github:nixos/nixpkgs/c5ae371f1a6a7fd27823bc500d9390b38c05fa55?narHash=sha256-4PqRErxfe%2B2toFJFgcRKZ0UI9NSIOJa%2B7RXVtBhy4KE%3D' (2025-11-12)
→ 'github:nixos/nixpkgs/c0b0e0fddf73fd517c3471e546c0df87a42d53f4?narHash=sha256-coBu0ONtFzlwwVBzmjacUQwj3G%2BlybcZ1oeNSQkgC0M%3D' (2025-12-28)
|
||
|---|---|---|
| hosts | ||
| modules | ||
| packages | ||
| secrets | ||
| shared | ||
| terranix | ||
| users | ||
| .envrc | ||
| .gitignore | ||
| deploy.nix | ||
| devShells.nix | ||
| flake.lock | ||
| flake.nix | ||
| homeConfigurations.nix | ||
| nixosConfigurations.nix | ||
| nixosModules.nix | ||
| overlays.nix | ||
| packages.nix | ||
| readme.md | ||
| terranixConfigurations.nix | ||
| utils.nix | ||
Nix Configuration
My personal Nix configuration for multiple NixOS hosts, home-manager users, miscellaneous resources... too many things to list. If I could put my life in a flake I would.
Hosts
Desktop Systems
-
rotterdam - Main desktop workstation (x86_64)
- Features: Desktop, AI tools, Bluetooth, Dev environment, Gaming, Virtualization (libvirtd), Podman
- Storage: Ephemeral root with LUKS encryption
-
io - Laptop workstation (x86_64)
- Features: Desktop, AI tools, Bluetooth, Dev environment, Podman
- Storage: Ephemeral root with LUKS encryption
Servers
-
alexandria - Home server (x86_64)
- Hosts: Nextcloud, Vaultwarden, Jellyfin, Kanidm
-
trantor - Cloud server (aarch64)
- Hosts: Forgejo
- Cloud provider: Oracle Cloud Infrastructure
- Storage: Ephemeral root with btrfs
Home Manager Configurations
- user@rotterdam - Full desktop setup with gaming, OBS, and complete development environment
- user@io - Lightweight desktop setup
Both configurations include:
- btop, direnv, helix, starship, tmux
- Stylix theme management
- Fish shell with custom configurations
Terranix Configurations
Infrastructure as code using Terranix (NixOS + Terraform/OpenTofu):
- oci-trantor - Oracle Cloud Infrastructure provisioning for Trantor server
- cloudflare-baduhaidev - DNS and CDN configuration for baduhai.dev domain
- tailscale-tailnet - Tailscale network ACL and device management
Services
All services are accessible via custom domains under baduhai.dev:
- Kanidm (auth.baduhai.dev) - Identity and access management
- Vaultwarden (pass.baduhai.dev) - Password manager
- Forgejo (git.baduhai.dev) - Git forge (publicly accessible)
- Nextcloud (cloud.baduhai.dev) - File sync and collaboration
- Jellyfin (jellyfin.baduhai.dev) - Media server
Services are accessible via:
- LAN for alexandria-hosted services
- Tailscale VPN for all services
- Public internet for Forgejo only
Notable Features
Ephemeral Root
Rotterdam, io, and trantor use an ephemeral root filesystem that resets on every boot:
- Root filesystem is automatically rolled back using btrfs snapshots
- Old snapshots retained for 30 days
- Persistent data stored in dedicated subvolumes
- Implements truly stateless systems
Custom DNS Architecture
- Unbound DNS servers on both alexandria and trantor
- Service routing based on visibility flags (public/LAN/Tailscale)
- Split-horizon DNS for optimal access paths
Security
- LUKS full-disk encryption on desktop systems
- Fail2ban on public-facing servers
- agenix for secrets management
- Tailscale for secure remote access
Desktop Environment
- Custom Niri window manager (Wayland compositor)
- Using forked version with auto-centering feature
- Stylix for consistent theming
Development Setup
- Nix flakes for reproducible builds
- deploy-rs for automated deployments
- Podman for containerization
- Complete AI tooling integration