{ inputs, outputs, lib, config, pkgs, ... }: { imports = [ ../features/cli ] ++ (builtins.attrValues outputs.homeManagerModules); nixpkgs = { overlays = builtins.attrValues outputs.overlays; config = { allowUnfree = true; allowUnfreePredicate = (_: true); # until Obsidian gets a newer version of Electron... permittedInsecurePackages = lib.optional (pkgs.obsidian.version == "1.4.16") "electron-25.9.0"; }; }; nix = { package = lib.mkDefault pkgs.nix; settings = { experimental-features = ["nix-command" "flakes" "repl-flake" ]; warn-dirty = false; }; }; home = { username = lib.mkDefault "john"; homeDirectory = lib.mkDefault "/home/${config.home.username}"; stateVersion = lib.mkDefault "23.05"; sessionVariables = { EDITOR = "vim"; }; }; programs = { home-manager.enable = true; }; targets.genericLinux.enable = true; }