athens/nix/nixos.nix

30 lines
1000 B
Nix
Raw Normal View History

{ self, dotfiles, nixpkgs, home-manager, nixos-hardware, 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;
2023-07-27 15:51:15 -04:00
nixpkgs.overlays = [ self.overlays.default ];
nixpkgs.config.allowUnfree = true;
})
] ++ modules;
specialArgs = { inherit dotfiles nixos-hardware 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 ];
}