{ inputs = { disko.url = "github:nix-community/disko"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ self, nixpkgs, nix, nixos-hardware, home-manager, ... }: { nixosConfigurations = let workstation = { system = "x86_64-linux"; modules = [ ./workstation inputs.home-manager.nixosModules.home-manager ./home ./home/gui ./wm/sway ]; }; server = { system = "x86_64-linux"; modules = [ ./server inputs.home-manager.nixosModules.home-manager ./home ]; }; in { fred = inputs.nixpkgs.lib.nixosSystem { modules = server.modules ++ [ { networking.hostName = "fred"; } ./hosts/fred ]; }; loki = inputs.nixpkgs.lib.nixosSystem { modules = workstation.modules ++ [ { networking.hostName = "loki"; } ./hosts/loki inputs.nixos-hardware.nixosModules.dell-xps-13-9310 ]; }; smaug = inputs.nixpkgs.lib.nixosSystem { modules = workstation.modules ++ [ { networking.hostName = "smaug"; } ./hosts/smaug ./hosts/smaug/podman.nix inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260 ]; }; pocket2 = inputs.nixpkgs.lib.nixosSystem { modules = workstation.modules ++ [ { networking.hostName = "pocket2"; } ./hosts/pocket2 inputs.nixos-hardware.nixosModules.common-cpu-intel inputs.nixos-hardware.nixosModules.common-gpu-intel inputs.nixos-hardware.nixosModules.common-pc-laptop inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd ]; }; dragon = inputs.nixpkgs.lib.nixosSystem { modules = workstation.modules ++ [ { networking.hostName = "dragon"; } ./hosts/dragon inputs.nixos-hardware.nixosModules.common-cpu-intel inputs.nixos-hardware.nixosModules.common-gpu-intel inputs.nixos-hardware.nixosModules.common-pc-laptop inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd ]; }; eve = inputs.nixpkgs.lib.nixosSystem { modules = workstation.modules ++ [ { networking.hostName = "eve"; } ./hosts/eve inputs.nixos-hardware.nixosModules.google-pixelbook ]; }; vm2 = inputs.nixpkgs.lib.nixosSystem { modules = workstation.modules ++ [ { services.getty.autologinUser = "don"; networking.hostName = "vm2"; } ./hosts/vm1 ]; }; }; }; }