summaryrefslogblamecommitdiffstats
path: root/flake.nix
blob: f4054ad2cb5ad0b1d30c54d56cf047514899b3d5 (plain) (tree)












































                                                                                                                                                        
{
  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"; };
    };
  };
}