diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..f4054ad --- /dev/null +++ b/flake.nix @@ -0,0 +1,45 @@ +{ + description = "Jon's NixOS configuration"; + + inputs = { + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.05"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + + nurpkgs.url = "github:nix-community/NUR"; + }; + + outputs = { self, nixpkgs, nixos-hardware, home-manager, ... }@inputs: + let + inherit (self) outputs; + stateVersion = "23.05"; + + overlays = [ + inputs.nurpkgs.overlay + ]; + + housemaker = import ./housemaker.nix { inherit inputs outputs stateVersion overlays; }; + in { + nixosConfigurations = { + jontest = housemaker.newhost { nixpkgs = nixpkgs; overlays = overlays; hostname = "jontest"; username = "jon"; }; + }; + nixosConfigurations = { + jontop = housemaker.newhost { nixpkgs = nixpkgs; overlays = overlays; hostname = "jontop"; username = "jon"; }; + }; + nixosConfigurations = { + jonbox = housemaker.newhost { nixpkgs = nixpkgs; overlays = overlays; hostname = "jonbox"; username = "jon"; }; + }; + + homeConfigurations = { + "jon@jontest" = housemaker.newhome { nixpkgs = nixpkgs; overlays = overlays; hostname = "jontest"; username = "jon"; platform = "x86_64-linux"; }; + "jon@jontop" = housemaker.newhome { nixpkgs = nixpkgs; overlays = overlays; hostname = "jontop"; username = "jon"; platform = "x86_64-linux"; }; + "jon@jonbox" = housemaker.newhome { nixpkgs = nixpkgs; overlays = overlays; hostname = "jonbox"; username = "jon"; platform = "x86_64-linux"; }; + }; + }; +} |