aboutsummaryrefslogtreecommitdiff
path: root/nixos/configurations.nix
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2022-12-04 21:40:42 +0100
committerKarel Kočí <cynerd@email.cz>2022-12-04 21:40:42 +0100
commit9c6072e87d7afe519c2f92c82a9e8b4bd3825193 (patch)
tree6fff4f9c4fa3a4c0c7f5b7a59ae528b357e46831 /nixos/configurations.nix
parent9996cca17aeb63ed0d51d59d4572dced0b050aee (diff)
downloadnixos-personal-9c6072e87d7afe519c2f92c82a9e8b4bd3825193.tar.gz
nixos-personal-9c6072e87d7afe519c2f92c82a9e8b4bd3825193.tar.bz2
nixos-personal-9c6072e87d7afe519c2f92c82a9e8b4bd3825193.zip
nixos: move configurations from top level flake file
Diffstat (limited to 'nixos/configurations.nix')
-rw-r--r--nixos/configurations.nix100
1 files changed, 100 insertions, 0 deletions
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"