From 8730a7f963344dfde89ff2a104b3ae51708ba58e Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Mon, 25 Nov 2024 13:56:52 -0600 Subject: [PATCH] Make Isaiah a Proxmox node --- flake.lock | 326 +++++++++++++++++++++++++++------------ flake.nix | 1 + hosts/default.nix | 3 +- hosts/isaiah/default.nix | 104 ++++++++----- vms/default.nix | 4 +- 5 files changed, 301 insertions(+), 137 deletions(-) diff --git a/flake.lock b/flake.lock index cd4c9ce..3d3138a 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1712079060, - "narHash": "sha256-/JdiT9t+zzjChc5qQiF+jhrVhRt8figYH29rZO7pFe4=", + "lastModified": 1723293904, + "narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=", "owner": "ryantm", "repo": "agenix", - "rev": "1381a759b205dff7a6818733118d02253340fd5e", + "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41", "type": "github" }, "original": { @@ -31,11 +31,11 @@ "nixpkgs-unstable": "nixpkgs-unstable" }, "locked": { - "lastModified": 1723533469, - "narHash": "sha256-8gSsZpYmOzwFRaLIX0OMBvV/+SATmu/O9QXkDgsZlIg=", + "lastModified": 1731769069, + "narHash": "sha256-c1I6gTF8hahY1/y2DdtL7zqoGMGQcs7Qya0N+weeCZI=", "owner": "fort-nix", "repo": "nix-bitcoin", - "rev": "6e208d6a7b554be592167f6ecad9b16c0abf96d7", + "rev": "c0994bfc7bc866a8c67b6433a33a49a53b2fc546", "type": "github" }, "original": { @@ -45,6 +45,25 @@ "type": "github" } }, + "crane": { + "inputs": { + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1717383740, + "narHash": "sha256-559HbY4uhNeoYvK3H6AMZAtVfmR3y8plXZ1x6ON/cWU=", + "owner": "ipetkov", + "repo": "crane", + "rev": "b65673fce97d277934488a451724be94cc62499a", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "ref": "v0.17.3", + "repo": "crane", + "type": "github" + } + }, "darwin": { "inputs": { "nixpkgs": [ @@ -74,11 +93,11 @@ ] }, "locked": { - "lastModified": 1717976995, - "narHash": "sha256-u3HBinyIyUvL1+N816bODpJmSQdgn0Mbb8BprFw7kqo=", + "lastModified": 1732420287, + "narHash": "sha256-CzvYF4x6jUh/+NEEIFrIY5t1W/N3IA2bNZJiMXu9GTo=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "315aa649ba307704db0b16c92f097a08a65ec955", + "rev": "3c52583b99666a349a6219dc1f0dd07d75c82d6a", "type": "github" }, "original": { @@ -165,7 +184,6 @@ } }, "flake-compat_3": { - "flake": false, "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", @@ -196,16 +214,32 @@ "type": "github" } }, + "flake-compat_5": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", "type": "github" }, "original": { @@ -239,24 +273,6 @@ "inputs": { "systems": "systems_2" }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_3" - }, "locked": { "lastModified": 1726560853, "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", @@ -271,9 +287,27 @@ "type": "github" } }, + "flake-utils_2": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flake-utils_3": { "inputs": { - "systems": "systems_4" + "systems": "systems_5" }, "locked": { "lastModified": 1710146030, @@ -291,7 +325,7 @@ }, "flake-utils_4": { "inputs": { - "systems": "systems_5" + "systems": "systems_6" }, "locked": { "lastModified": 1726560853, @@ -324,11 +358,11 @@ ] }, "locked": { - "lastModified": 1730814269, - "narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=", + "lastModified": 1732021966, + "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "d70155fdc00df4628446352fc58adc640cd705c2", + "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", "type": "github" }, "original": { @@ -387,11 +421,11 @@ ] }, "locked": { - "lastModified": 1731535640, - "narHash": "sha256-2EckCJn4wxran/TsRiCOFcmVpep2m9EBKl99NBh2GnM=", + "lastModified": 1732482255, + "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=", "owner": "nix-community", "repo": "home-manager", - "rev": "35b055009afd0107b69c286fca34d2ad98940d57", + "rev": "a9953635d7f34e7358d5189751110f87e3ac17da", "type": "github" }, "original": { @@ -430,11 +464,11 @@ ] }, "locked": { - "lastModified": 1731235328, - "narHash": "sha256-NjavpgE9/bMe/ABvZpyHIUeYF1mqR5lhaep3wB79ucs=", + "lastModified": 1732303962, + "narHash": "sha256-5Umjb5AdtxV5jSJd5jxoCckh5mlg+FBQDsyAilu637g=", "owner": "nix-community", "repo": "home-manager", - "rev": "60bb110917844d354f3c18e05450606a435d2d10", + "rev": "8cf9cb2ee78aa129e5b8220135a511a2be254c0c", "type": "github" }, "original": { @@ -451,11 +485,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1727854478, - "narHash": "sha256-/odH2nUMAwkMgOS2nG2z0exLQNJS4S2LfMW0teqU7co=", + "lastModified": 1732021966, + "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "5f58871c9657b5fc0a7f65670fe2ba99c26c1d79", + "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", "type": "github" }, "original": { @@ -500,11 +534,11 @@ ] }, "locked": { - "lastModified": 1731153869, - "narHash": "sha256-3Ftf9oqOypcEyyrWJ0baVkRpvQqroK/SVBFLvU3nPuc=", + "lastModified": 1732324260, + "narHash": "sha256-0xzQvoId/P008QkTSAdFVv465P9rL9nYkIOWXL5pdsY=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "5c74ab862c8070cbf6400128a1b56abb213656da", + "rev": "698a62c628c2ec423aa770d8ec0e1d0bcf4fca1a", "type": "github" }, "original": { @@ -567,11 +601,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1723282977, - "narHash": "sha256-oTK91aOlA/4IsjNAZGMEBz7Sq1zBS0Ltu4/nIQdYDOg=", + "lastModified": 1730137625, + "narHash": "sha256-9z8oOgFZiaguj+bbi3k4QhAD6JabWrnv7fscC/mt0KE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a781ff33ae258bbcfd4ed6e673860c3e923bf2cc", + "rev": "64b80bfb316b57cdb8919a9110ef63393d74382a", "type": "github" }, "original": { @@ -583,23 +617,23 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1727825735, - "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", + "lastModified": 1730504152, + "narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1720386169, - "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", "type": "github" }, "original": { @@ -609,13 +643,28 @@ "type": "github" } }, - "nixpkgs-unstable": { + "nixpkgs-stable_2": { "locked": { - "lastModified": 1723221148, - "narHash": "sha256-7pjpeQlZUNQ4eeVntytU3jkw9dFK3k1Htgk2iuXjaD8=", + "lastModified": 1723556749, + "narHash": "sha256-+CHVZnTnIYRLYsARInHYoWkujzcRkLY/gXm3s5bE52o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "154bcb95ad51bc257c2ce4043a725de6ca700ef6", + "rev": "4a92571f9207810b559c9eac203d1f4d79830073", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-24.05", + "type": "indirect" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1730170245, + "narHash": "sha256-PRq4vJjDa+m1mNwkV9H7zVzMhuMqsHJrTGx0iJZ0e0w=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "30c9efeef01e2ad4880bff6a01a61dd99536b3c9", "type": "github" }, "original": { @@ -625,13 +674,28 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs-unstable_2": { "locked": { - "lastModified": 1719082008, - "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", + "lastModified": 1723637854, + "narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9693852a2070b398ee123a329e68f0dab5526681", + "rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-unstable", + "type": "indirect" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1730768919, + "narHash": "sha256-8AKquNnnSaJRXZxc5YmF/WfmxiHX6MMZZasRP6RRQkE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a04d33c0c3f1a59a2c1cb0c6e34cd24500e5a1dc", "type": "github" }, "original": { @@ -643,11 +707,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1731139594, - "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", + "lastModified": 1732014248, + "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", "type": "github" }, "original": { @@ -658,6 +722,22 @@ } }, "nixpkgs_4": { + "locked": { + "lastModified": 1714656196, + "narHash": "sha256-kjQkA98lMcsom6Gbhw8SYzmwrSo+2nruiTcTZp5jK7o=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "94035b482d181af0a0f8f77823a790b256b7c3cc", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { "locked": { "lastModified": 1713805509, "narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=", @@ -675,11 +755,11 @@ }, "nixunstable": { "locked": { - "lastModified": 1731139594, - "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", + "lastModified": 1732014248, + "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", "type": "github" }, "original": { @@ -702,11 +782,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1731527733, - "narHash": "sha256-12OpSgbLDiKmxvBXwVracIfGI9FpjFyHpa1r0Ho+NFA=", + "lastModified": 1732478249, + "narHash": "sha256-ka41KXN5B5C6yxJeIpFw5ytXFjd6vXJldw/5sN6y0CA=", "owner": "nix-community", "repo": "nixvim", - "rev": "f11a877bcc1d66cc8bd7990c704f91c1e99c7d08", + "rev": "a81a03a3f5dcdcdee5cbe831a9f2e81895e92875", "type": "github" }, "original": { @@ -718,11 +798,11 @@ }, "nurpkgs": { "locked": { - "lastModified": 1731561145, - "narHash": "sha256-OC9Tx1y7m/vs+i4TnvWfkgAR36z4ax5SV5pygm5roG8=", + "lastModified": 1732480006, + "narHash": "sha256-QscOabzgJq4vJm2joaJrmYneyvt1GWh+4JB+EEErm9Q=", "owner": "nix-community", "repo": "NUR", - "rev": "079b8eda3a720dce65c8af244fb70bb88675ab5e", + "rev": "47c654b6d4c461da43e1bdab4072af74da82529e", "type": "github" }, "original": { @@ -741,11 +821,11 @@ ] }, "locked": { - "lastModified": 1731060242, - "narHash": "sha256-43yLsOm/wxBbfYSNDWVJeVv5Ij+23X3BIjFUfsdx/6M=", + "lastModified": 1731936508, + "narHash": "sha256-z0BSSf78LkxIrrFXZYmCoRRAxAmxMUKpK7CyxQRvkZI=", "owner": "NuschtOS", "repo": "search", - "rev": "ef493352f9e1f051e01a55c062731503a6b36b4e", + "rev": "fe07070f811b717a4626d01fab714a87d422a9e1", "type": "github" }, "original": { @@ -754,6 +834,28 @@ "type": "github" } }, + "proxmox": { + "inputs": { + "crane": "crane", + "flake-compat": "flake-compat_3", + "nixpkgs-stable": "nixpkgs-stable_2", + "nixpkgs-unstable": "nixpkgs-unstable_2", + "utils": "utils" + }, + "locked": { + "lastModified": 1732473775, + "narHash": "sha256-WnckT473A+DcYYdzLFWgP4RSAvBNaSRw7fJuKySX+Og=", + "owner": "SaumonNet", + "repo": "proxmox-nixos", + "rev": "06fbc351ff461d26a8276f44088450c965195e10", + "type": "github" + }, + "original": { + "owner": "SaumonNet", + "repo": "proxmox-nixos", + "type": "github" + } + }, "root": { "inputs": { "agenix": "agenix", @@ -767,6 +869,7 @@ "nixunstable": "nixunstable", "nixvimunstable": "nixvimunstable", "nurpkgs": "nurpkgs", + "proxmox": "proxmox", "vsext": "vsext", "wsl": "wsl" } @@ -846,6 +949,21 @@ "type": "github" } }, + "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -854,11 +972,11 @@ ] }, "locked": { - "lastModified": 1730321837, - "narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=", + "lastModified": 1732292307, + "narHash": "sha256-5WSng844vXt8uytT5djmqBCkopyle6ciFgteuA9bJpw=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "746901bb8dba96d154b66492a29f5db0693dbfcc", + "rev": "705df92694af7093dfbb27109ce16d828a79155f", "type": "github" }, "original": { @@ -867,18 +985,36 @@ "type": "github" } }, - "vsext": { + "utils": { "inputs": { - "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_4" + "systems": "systems_4" }, "locked": { - "lastModified": 1731548914, - "narHash": "sha256-UtYkHq8OdZcz2Q/r7gh+3HFGVgX9AFfYDrMjAVO6sj4=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "vsext": { + "inputs": { + "flake-compat": "flake-compat_4", + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1732413494, + "narHash": "sha256-KcKOpa6da8/9MfGYRqUJhwK9Q2rNrLXxqZMQoojJTvA=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "00e11784c89ecd236ff045acd7a447e0fe5b80df", + "rev": "aa61c826513046837049bca77493ad06dda37012", "type": "github" }, "original": { @@ -889,18 +1025,18 @@ }, "wsl": { "inputs": { - "flake-compat": "flake-compat_4", + "flake-compat": "flake-compat_5", "flake-utils": "flake-utils_4", "nixpkgs": [ "nixunstable" ] }, "locked": { - "lastModified": 1730453870, - "narHash": "sha256-d+kIgz4BvTXb7emjSFV3zjNydGmLUmuluQjdBb51R9o=", + "lastModified": 1731682434, + "narHash": "sha256-HnZFPB7akVIy0KuPq/tEkiB+Brt1qi0DUIDzR8z25qI=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "adb6bc4b661a43328752b4575be4968a4990c033", + "rev": "a6b9cf0b7805e2c50829020a73e7bde683fd36dd", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f5b8e4b..4008fc1 100644 --- a/flake.nix +++ b/flake.nix @@ -33,6 +33,7 @@ url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixunstable"; }; + proxmox.url = "github:SaumonNet/proxmox-nixos"; nixos-generators = { url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixunstable"; diff --git a/hosts/default.nix b/hosts/default.nix index 19c1274..dd7e8f0 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -1,4 +1,4 @@ -{ top, overlays, ... }: +{ top, ... }@all: let vm = args: (unstable (args // { extraMods = [ top.nixos-generators.nixosModules.all-formats ]; })); wsl = args: (unstable (args // { extraMods = [ top.wsl.nixosModules.wsl ]; })); @@ -23,6 +23,7 @@ let }: let nixpkgs = import channel { inherit system; }; + overlays = all.overlays ++ [ top.proxmox.overlays.${system} ]; in channel.lib.nixosSystem { inherit system; diff --git a/hosts/isaiah/default.nix b/hosts/isaiah/default.nix index 828c047..4673b53 100644 --- a/hosts/isaiah/default.nix +++ b/hosts/isaiah/default.nix @@ -1,8 +1,39 @@ -{ lib, ... }: +{ + lib, + pkgs, + top, + ... +}: { imports = [ ./hardware-configuration.nix ./git.nix + top.proxmox.nixosModules.proxmox-ve + ]; + + boot = { + binfmt.emulatedSystems = [ "aarch64-linux" ]; + extraModprobeConfig = "options kvm_amd nested=1"; + kernel.sysctl = { + "net.bridge.bridge-nf-call-ip6tables" = 0; + "net.bridge.bridge-nf-call-iptables" = 0; + "net.bridge.bridge-nf-call-arptables" = 0; + }; + loader = { + efi = { + canTouchEfiVariables = true; + efiSysMountPoint = "/boot"; + }; + systemd-boot = { + enable = true; + configurationLimit = 10; + }; + }; + supportedFilesystems = [ "ntfs" ]; + }; + + environment.systemPackages = with pkgs; [ + zstd ]; greg = { @@ -10,22 +41,14 @@ remote-builder.enable = true; }; - virtualisation.libvirtd = { - enable = true; - allowedBridges = [ - "br0" - "virbr0" - ]; - onBoot = "ignore"; # only restart VMs labeled 'autostart' - qemu.ovmf.enable = true; - }; - - services = { - openssh = { - enable = true; - settings.PermitRootLogin = "yes"; + fileSystems = { + "/media/proxmox" = { + device = "10.42.1.4:/volume1/proxmox"; + fsType = "nfs"; + options = [ "noatime" ]; }; }; + networking = { hostName = "isaiah"; useDHCP = false; @@ -49,6 +72,24 @@ nameservers = [ "10.42.1.5" ]; firewall.checkReversePath = lib.mkForce false; }; + + nixpkgs = { + config = { + allowUnfree = true; + permittedInsecurePackages = [ "nodejs-16.20.2" ]; + }; + }; + + services = { + openssh = { + enable = true; + settings.PermitRootLogin = "yes"; + }; + proxmox-ve.enable = true; + }; + + system.stateVersion = lib.mkForce "24.05"; + users = { users = { greg = { @@ -62,29 +103,14 @@ }; }; }; - system.stateVersion = lib.mkForce "24.05"; - boot = { - binfmt.emulatedSystems = [ "aarch64-linux" ]; - extraModprobeConfig = "options kvm_amd nested=1"; - kernel.sysctl = { - "net.bridge.bridge-nf-call-ip6tables" = 0; - "net.bridge.bridge-nf-call-iptables" = 0; - "net.bridge.bridge-nf-call-arptables" = 0; - }; - loader = { - efi = { - canTouchEfiVariables = true; - efiSysMountPoint = "/boot"; - }; - systemd-boot = { - enable = true; - configurationLimit = 10; - }; - }; - supportedFilesystems = [ "ntfs" ]; - }; - nixpkgs.config = { - allowUnfree = true; - permittedInsecurePackages = [ "nodejs-16.20.2" ]; + + virtualisation.libvirtd = { + enable = true; + allowedBridges = [ + "br0" + "virbr0" + ]; + onBoot = "ignore"; # only restart VMs labeled 'autostart' + qemu.ovmf.enable = true; }; } diff --git a/vms/default.nix b/vms/default.nix index 9adeb1b..e21717b 100644 --- a/vms/default.nix +++ b/vms/default.nix @@ -1,6 +1,6 @@ { top, ... }: with top.self.nixosConfigurations; { - jellyfin = vm-jellyfin.config.formats.qcow; - matrix = vm-matrix.config.formats.qcow; + jellyfin = vm-jellyfin.config.formats.proxmox; + matrix = vm-matrix.config.formats.proxmox; }