{ inputs, config, pkgs, lib, osConfig, ... }: let inherit (pkgs) fd fzf; inherit (inputs.jawz-scripts.packages.x86_64-linux) pokemon-colorscripts; shellType = osConfig.my.shell.type; commonInit = '' ${pokemon-colorscripts}/bin/pokemon-colorscripts -r --no-title export command_timeout=60 ''; commonAliases = { cp = "cp -i"; mv = "mv -i"; mkdir = "mkdir -p"; mkcd = "(){ mkdir -p \"$1\" && cd \"$1\" }"; copy = "xclip -selection clipboard"; cdp = "pwd | copy"; cfp = "(){ readlink -f \"$1\" | copy }"; ".." = "cd .."; "..." = "cd ../.."; ".3" = "cd ../../.."; ".4" = "cd ../../../.."; ".5" = "cd ../../../../.."; c = "cat"; sc = "systemctl --user"; jc = "journalctl --user -xefu"; }; in { home.stateVersion = "23.05"; programs = { direnv = { enable = true; enableBashIntegration = shellType == "bash"; enableZshIntegration = shellType == "zsh"; nix-direnv.enable = true; }; git = { enable = true; userName = "Danilo Reyes"; userEmail = "CaptainJawZ@protonmail.com"; }; bash = lib.mkIf (shellType == "bash") { enable = true; historyFile = "\${XDG_STATE_HOME}/bash/history"; shellAliases = commonAliases; enableVteIntegration = true; initExtra = commonInit; historyControl = [ "erasedups" "ignorespace" "ignoredups" ]; }; zsh = lib.mkIf (shellType == "zsh") { enable = true; dotDir = ".config/zsh"; shellAliases = commonAliases; initContent = commonInit; history = { path = "\${XDG_STATE_HOME}/zsh/history"; expireDuplicatesFirst = true; ignoreSpace = true; ignoreAllDups = true; }; }; }; xdg = { enable = true; userDirs = { enable = true; createDirectories = false; desktop = "${config.home.homeDirectory}"; documents = "${config.home.homeDirectory}/Documents"; download = "${config.home.homeDirectory}/Downloads"; music = "${config.home.homeDirectory}/Music"; pictures = "${config.home.homeDirectory}/Pictures"; templates = "${config.xdg.dataHome}/Templates"; videos = "${config.home.homeDirectory}/Videos"; }; configFile.wgetrc.text = "hsts-file=\${XDG_CACHE_HOME}/wget-hsts"; }; }