{ depot, pkgs, ... }: { programs.home-manager.enable = true; home.username = "lukegb"; home.homeDirectory = "/home/lukegb"; home.file = { ".hgrc".source = ./hgrc; }; home.sessionVariables = { EDITOR = "vim"; VISUAL = "vim"; }; programs.bash = { enable = true; enableVteIntegration = true; initExtra = '' function join_by { local IFS="$1"; shift; echo "$*"; } if [[ -z "$LAUNCH_SHLVL" ]]; then export LAUNCH_SHLVL="$SHLVL" fi export LAUNCH_DEPTH="$(expr $SHLVL - $LAUNCH_SHLVL)" export LAUNCH_DEPTH_STR="" if [[ "$LAUNCH_DEPTH" > 0 ]]; then if [[ "$PATH" == /nix/store/* ]]; then declare -a RECENT_PKGS while read -rd: pathseg; do if [[ "$pathseg" != /nix/store/* ]]; then break fi RECENT_PKGS+=("$(echo "$pathseg" | sed -E -e 's,^/nix/store/[a-z0-9]+-,,' -e 's,/.*$,,' -e 's,-[0-9.]+$,,')") done <<< $PATH RECENT_PKG="$(join_by ":" "''${RECENT_PKGS[@]}")" if [[ "''${#RECENT_PKG}" > 32 ]]; then RECENT_PKGS="''${RECENT_PKGS[0]}" fi if [[ ! -z "$RECENT_PKG" ]]; then LAUNCH_DEPTH_STR="[$RECENT_PKG] " fi fi if [[ -z "$LAUNCH_DEPTH_STR" ]]; then LAUNCH_DEPTH_STR="[$LAUNCH_DEPTH] " fi fi export PS1="\n\[\033[1;32m\]$LAUNCH_DEPTH_STR[\[\e]0;\u@\h: \w\a\]\u@\h:\w]\$ \[\033[0m\]" ''; }; programs.vim.enable = true; home.packages = (with pkgs; [ ripgrep whois ]); home.stateVersion = "20.09"; }