{ inputs, lib, pkgs, config, outputs, ... }: let inherit (inputs.nix-colors) colorSchemes; inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) colorschemeFromPicture nixWallpaperFromScheme; in { imports = [ inputs.impermanence.nixosModules.home-manager.impermanence inputs.nix-colors.homeManagerModule ../features/cli ../features/nvim ../features/helix ] ++ (builtins.attrValues outputs.homeManagerModules); nixpkgs = { overlays = builtins.attrValues outputs.overlays; config = { allowUnfree = true; allowUnfreePredicate = (_: true); }; }; nix = { package = lib.mkDefault pkgs.nix; settings = { experimental-features = [ "nix-command" "flakes" "repl-flake" ]; warn-dirty = false; }; }; programs = { home-manager.enable = true; git.enable = true; }; home = { homeDirectory = lib.mkDefault "/home/${config.home.username}"; stateVersion = lib.mkDefault "22.05"; sessionPath = [ "$HOME/.local/bin" ]; persistence = { "/persist/home/${config.home.username}" = { directories = [ "Documents" "Downloads" "Pictures" "Videos" ".local/bin" ]; allowOther = true; }; }; }; colorscheme = lib.mkDefault colorSchemes.dracula; home.file.".colorscheme".text = config.colorscheme.slug; }