From 9c6072e87d7afe519c2f92c82a9e8b4bd3825193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Sun, 4 Dec 2022 21:40:42 +0100 Subject: nixos: move configurations from top level flake file --- nixos/configurations.nix | 100 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 nixos/configurations.nix (limited to 'nixos/configurations.nix') diff --git a/nixos/configurations.nix b/nixos/configurations.nix new file mode 100644 index 0000000..8977c7c --- /dev/null +++ b/nixos/configurations.nix @@ -0,0 +1,100 @@ +self: +with self.inputs; +let + + modules = hostname: [ + self.nixosModules.default + self.nixosModules."machine-${hostname}" + shellrc.nixosModules.default + usbkey.nixosModules.default + (personal-secret.lib.personalSecrets hostname) + { + networking.hostName = hostname; + nixpkgs.overlays = [ + self.overlays.default + sterm.overlay + ]; + } + ]; + + genericSystem = {system ? "x86_64-linux", extra_modules ? []}: + hostname: { + ${hostname} = nixpkgs.lib.nixosSystem { + system = system; + modules = (modules hostname) ++ extra_modules; + }; + }; + amd64System = genericSystem { }; + vpsSystem = genericSystem { + extra_modules = [ + vpsadminos.nixosConfigurations.container + { boot.loader.systemd-boot.enable = false; } + ]; + }; + raspi2System = genericSystem { + system = "armv7l-linux"; + extra_modules = [ + nixos-hardware.nixosModules.raspberry-pi-2 + nixturris.nixosModules.turris-crossbuild + nixturris.nixosModules.armv7l-overlay + ({pkgs, ...}: { + boot.loader.systemd-boot.enable = false; + boot.initrd.includeDefaultModules = false; + }) + ]; + }; + raspi3System = genericSystem { + system = "aarch64-linux"; + extra_modules = [ + nixturris.nixosModules.turris-crossbuild + ({pkgs, ...}: { + boot.kernelPackages = pkgs.linuxPackages_rpi3; + boot.initrd.includeDefaultModules = false; + boot.loader.grub.enable = false; + boot.loader.systemd-boot.enable = false; + boot.loader.raspberryPi = { + enable = true; version = 3; + }; + }) + ]; + }; + beagleboneSystem = genericSystem { + system = "armv7l-linux"; + extra_modules = [ + nixturris.nixosModules.turris-crossbuild + nixturris.nixosModules.armv7l-overlay + { + boot.loader.grub.enable = false; + boot.loader.systemd-boot.enable = false; + boot.loader.generic-extlinux-compatible.enable = true; + } + ]; + }; + + turrisSystem = board: hostname: { + ${hostname} = nixturris.lib.nixturrisSystem { + nixpkgs = nixpkgs; + board = board; + modules = modules hostname; + }; + }; + turrisMoxSystem = turrisSystem "mox"; + turrisOmniaSystem = turrisSystem "omnia"; + +in + amd64System "albert" // + amd64System "binky" // + amd64System "errol" // + amd64System "ridcully" // + amd64System "susan" // + vpsSystem "lipwig" // + vpsSystem "mrpump" // + raspi2System "spt-mpd" // + raspi3System "adm-mpd" // + beagleboneSystem "gaspode" // + turrisMoxSystem "dean" // + turrisOmniaSystem "spt-omnia" // + turrisMoxSystem "spt-mox" // + turrisMoxSystem "spt-mox2" // + turrisOmniaSystem "adm-omnia" // + turrisOmniaSystem "adm-omnia2" -- cgit v1.2.3