38 lines
995 B
Nix
38 lines
995 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 ];
|
|
}
|