{ description = "My NixOS desktop and server configs"; inputs = { # NixOS official package source, using the nixos-23.11 branch here nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixos-hardware.url = "github:nixos/nixos-hardware"; # Declarative dotfile management home-manager = { url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; }; # Declarative partitioning and formatting disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; # # Secrets management. See ./docs/secretsmgmt.md # sops-nix = { # url = "github:mic92/sops-nix"; # inputs.nixpkgs.follows = "nixpkgs"; # }; }; outputs = { self, nixpkgs, nixpkgs-unstable, ... }@attrs: let supportedSystems = [ "x86_64-linux" ]; forAllSystems = nixpkgs.lib.genAttrs supportedSystems; forAllSystemsUnstable = nixpkgs-unstable.lib.genAttrs supportedSystems; pkgs = forAllSystems (system: import nixpkgs { inherit system; }); pkgs-unstable = forAllSystemsUnstable (system: import nixpkgs-unstable { inherit system; }); in { nixosConfigurations = { Lenni = let system = "x86_64-linux"; in nixpkgs.lib.nixosSystem { specialArgs = { hostname = "Lenni"; inherit system; }; modules = [ attrs.home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; } attrs.disko.nixosModules.disko attrs.nixos-hardware.nixosModules.framework-12th-gen-intel ./hosts ./users/willifan ]; }; Puenktchen = let system = "x86_64-linux"; in nixpkgs.lib.nixosSystem { specialArgs = { hostname = "Puenktchen"; inherit system; }; modules = [ attrs.home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; } attrs.disko.nixosModules.disko attrs.nixos-hardware.nixosModules.common-cpu-amd attrs.nixos-hardware.nixosModules.common-cpu-amd-pstate attrs.nixos-hardware.nixosModules.common-cpu-amd-zenpower attrs.nixos-hardware.nixosModules.common-gpu-amd ./hosts ./users/willifan ]; }; }; }; }