depot/ops/nixos/lib/home-manager/common.nix

55 lines
1.5 KiB
Nix

{ depot, pkgs, ... }:
{
programs.home-manager.enable = true;
home.username = "lukegb";
home.homeDirectory = "/home/lukegb";
home.file = {
".hgrc".source = ./hgrc;
};
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";
}