diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 78 |
1 files changed, 47 insertions, 31 deletions
@@ -9,6 +9,8 @@ #url = "/home/cynerd/projects/nixturris"; inputs.nixpkgs.follows = "nixpkgs"; }; + #vpsadminos.url = "github:vpsfreecz/vpsadminos"; + vpsadminos.url = "github:Cynerd/vpsadminos/nix-flake"; sterm.url = "github:wentasah/sterm"; }; @@ -16,6 +18,7 @@ outputs = { self , nixpkgs, flake-utils, nixos-hardware , shellrc, nixturris, personal-secret + , vpsadminos , sterm }: with flake-utils.lib; @@ -39,37 +42,50 @@ } ]; - genericSystem = {system, extra_modules ? []}: hostname: { - ${hostname} = nixpkgs.lib.nixosSystem { - system = system; - modules = (modules hostname) ++ extra_modules; + 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.default ]; + }; + raspi2System = genericSystem { + system = "armv7l-linux"; + extra_modules = [ + nixos-hardware.nixosModules.raspberry-pi-2 + nixturris.nixosModules.turris-crossbuild + nixturris.nixosModules.armv7l-overlay + { boot.loader.systemd-boot.enable = false; } + { nixpkgs.overlays = [ (final: super: { + makeModulesClosure = x: + super.makeModulesClosure (x // { allowMissing = true; }); + })]; } + ]; + }; + raspi3System = genericSystem { + system = "aarch64-linux"; + extra_modules = [ + nixturris.nixosModules.turris-crossbuild + ({pkgs, ...}: { + boot.loader.systemd-boot.enable = false; + boot.loader.grub.enable = false; + boot.loader.generic-extlinux-compatible.enable = true; + #boot.kernelPackages = pkgs.linuxKernel.packages.linux_rpi3; + }) + ]; + }; + beagleboneSystem = genericSystem { + system = "armv7l-linux"; + extra_modules = [ + nixturris.nixosModules.turris-crossbuild + nixturris.nixosModules.armv7l-overlay + # TODO + ]; }; - amd64System = genericSystem {system = "x86_64-linux";}; - raspi2System = genericSystem {system = "armv7l-linux"; extra_modules = [ - nixos-hardware.nixosModules.raspberry-pi-2 - nixturris.nixosModules.turris-crossbuild - nixturris.nixosModules.armv7l-overlay - { boot.loader.systemd-boot.enable = false; } - { nixpkgs.overlays = [ (final: super: { - makeModulesClosure = x: - super.makeModulesClosure (x // { allowMissing = true; }); - })]; } - ];}; - raspi3System = genericSystem {system = "aarch64-linux"; extra_modules = [ - nixturris.nixosModules.turris-crossbuild - ({pkgs, ...}: { - boot.loader.systemd-boot.enable = false; - boot.loader.grub.enable = false; - boot.loader.generic-extlinux-compatible.enable = true; - #boot.kernelPackages = pkgs.linuxKernel.packages.linux_rpi3; - }) - ];}; - beagleboneSystem = genericSystem {system = "armv7l-linux"; extra_modules = [ - nixturris.nixosModules.turris-crossbuild - nixturris.nixosModules.armv7l-overlay - # TODO - ];}; turrisSystem = board: hostname: { ${hostname} = nixturris.lib.nixturrisSystem { @@ -85,10 +101,10 @@ amd64System "albert" // amd64System "binky" // amd64System "errol" // - amd64System "lipwig" // amd64System "ridcully" // amd64System "susan" // - amd64System "mrpump" // + vpsSystem "lipwig" // + vpsSystem "mrpump" // raspi2System "spt-mpd" // raspi3System "adm-mpd" // beagleboneSystem "gaspode" // |