{ description = "ZaneyOS"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager.url = "github:nix-community/home-manager/master"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; nix-colors.url = "github:misterio77/nix-colors"; hyprland.url = "github:hyprwm/Hyprland"; hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; }; nixvim = { url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; }; impermanence.url = "github:nix-community/impermanence"; }; outputs = inputs@{ nixpkgs, home-manager, impermanence, ... }: let system = "x86_64-linux"; inherit (import ./options.nix) username hostname; pkgs = import nixpkgs { inherit system; config = { allowUnfree = true; }; }; in { nixosConfigurations = { "${hostname}" = nixpkgs.lib.nixosSystem { specialArgs = { inherit system; inherit inputs; inherit username; inherit hostname; }; modules = [ ./system.nix impermanence.nixosModules.impermanence home-manager.nixosModules.home-manager { home-manager.extraSpecialArgs = { inherit username; inherit inputs; inherit (inputs.nix-colors.lib-contrib {inherit pkgs;}) gtkThemeFromScheme; }; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.backupFileExtension = "backup"; home-manager.users.${username} = import ./home.nix; } ]; }; }; }; }