30 lines
979 B
Nix
30 lines
979 B
Nix
{ self, nixpkgs, home-manager, raspberry-pi-nix, sops-nix, ... }:
|
|
let
|
|
mkSystem = hostName: modules:
|
|
let
|
|
hostSystem = self.hosts.${hostName}.system;
|
|
in
|
|
nixpkgs.lib.nixosSystem {
|
|
system = hostSystem;
|
|
modules = [
|
|
home-manager.nixosModules.home-manager
|
|
(_: {
|
|
networking.hostName = hostName;
|
|
nixpkgs.overlays = [ self.overlays.default ];
|
|
nixpkgs.config.allowUnfree = true;
|
|
})
|
|
] ++ modules;
|
|
specialArgs = { inherit raspberry-pi-nix sops-nix; };
|
|
};
|
|
in
|
|
{
|
|
# Aristotle
|
|
agent = mkSystem "agent" [ ./hosts/aristotle/configuration.nix ];
|
|
form = mkSystem "form" [ ./hosts/aristotle/configuration.nix ];
|
|
matter = mkSystem "matter" [ ./hosts/aristotle/configuration.nix ];
|
|
purpose = mkSystem "purpose" [ ./hosts/aristotle/configuration.nix ];
|
|
|
|
plato = mkSystem "plato" [ ./hosts/plato/configuration.nix ];
|
|
socrates = mkSystem "socrates" [ ./hosts/socrates/configuration.nix ];
|
|
}
|