{ description = "Stationette nix config"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; impermanence = { url = "github:nix-community/impermanence"; inputs.nixpkgs.follows = ""; inputs.home-manager.follows = ""; }; home-manager.url = "github:nix-community/home-manager/release-25.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; disko.url = "github:nix-community/disko/latest"; disko.inputs.nixpkgs.follows = "nixpkgs-unstable"; #firefox-addons = { # url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; # inputs.nixpkgs.follows = "nixpkgs"; #}; }; outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, impermanence, disko, ... } @ inputs: let lib = nixpkgs.lib; # Supported systems for your flake packages, shell, etc. # "aarch64-linux" # "i686-linux" # "x86_64-linux" # "aarch64-darwin" # "x86_64-darwin" system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; pkgs-unstable = nixpkgs-unstable.legacyPackages.${system}; in { # NixOS configuration entrypoint # Available through 'nixos-rebuild --flake .#stationette' nixosConfigurations = { stationette = nixpkgs.lib.nixosSystem { modules = [ ./system/configuration.nix disko.nixModules.disko import ./system/disko.nix { imports = [ impermanence.nixModules.impermanence home-manager.nixModules.home-manager ]; home-manager = { users.chris = import ./home; extraSpecialArgs = { inherit pkgs-unstable; inherit inputs; }; }; } ]; }; }; # Standalone home-manager configuration entrypoint homeConfigurations = { chris = home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = { inherit pkgs-unstable; inherit inputs; }; modules = [ ./home ]; }; }; }; }