{ description = "A simple NixOS flake"; inputs = { # NixOS official package source, using the nixos-23.11 branch here nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-23.11"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; hardware.url = "github:nixos/nixos-hardware"; # Declarative dotfile management home-manager = { url = "github:nix-community/home-manager/"; 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, home-manager, ... }@inputs: let inherit (self) outputs; forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" ]; inherit (nixpkgs) lib; configVars = import ./vars { inherit inputs lib; }; specialArgs = { inherit inputs outputs configVars nixpkgs; }; in { # Please replace my-nixos with your hostname nixosConfigurations = { Lenni = lib.nixosSystem { inherit specialArgs; modules = [ home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; #home-manager.users.willifan = import ./users/willifan/home; # Optionally, use home-manager.extraSpecialArgs to pass arguments to home.nix } ./hosts ./users/willifan ]; }; }; }; }