Files
infrastructure/machines/configuration.nix
2023-05-04 12:31:10 +02:00

76 lines
1.5 KiB
Nix

{ self
, nixpkgs-unstable
, nixpkgs
, sops-nix
, inputs
, nixos-hardware
, home-manager
, ...
}:
let
nixosSystem = nixpkgs.lib.makeOverridable nixpkgs.lib.nixosSystem;
nixosSystemUnstable = nixpkgs-unstable.lib.makeOverridable nixpkgs-unstable.lib.nixosSystem;
baseModules = [
# make flake inputs accessiable in NixOS
{ _module.args.inputs = inputs; }
{
imports = [
({ pkgs, ... }: {
nix.extraOptions = ''
experimental-features = nix-command flakes
'';
})
sops-nix.nixosModules.sops
];
}
];
defaultModules = baseModules;
in
{
moderatio = nixosSystem {
system = "x86_64-linux";
specialArgs.inputs = inputs;
modules = defaultModules ++ [
./moderatio/configuration.nix
];
};
durruti = nixosSystem {
system = "x86_64-linux";
specialArgs.inputs = inputs;
modules = [
./durruti/configuration.nix
];
};
lucia = nixosSystem {
system = "aarch64-linux";
specialArgs.inputs = inputs;
modules = [
./lucia/configuration.nix
];
};
rpi1_base_image = nixosSystem {
system = "aarch64-linux";
modules = [
"${nixpkgs}/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix"
./modules/sshd.nix
{
nixpkgs.config.allowUnsupportedSystem = true;
nixpkgs.crossSystem.system = "aarch64-linux";
networking.hostName = "rp1_base_image";
networking.networkmanager.enable = true;
system.stateVersion = "22.11";
}
];
};
}