init
This commit is contained in:
72
hm_programs/bash.nix
Normal file
72
hm_programs/bash.nix
Normal file
@@ -0,0 +1,72 @@
|
||||
{ config, hostCfg, ... }:
|
||||
let
|
||||
gitPrompt = builtins.fetchurl {
|
||||
url =
|
||||
"https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh";
|
||||
sha256 = "7ff718f4a06fd0a0be7edfef926abb41b1353c48c1515ad312d226965b74943a";
|
||||
};
|
||||
PROJECT_ROOT = ./.;
|
||||
in {
|
||||
programs = {
|
||||
bash = {
|
||||
enable = true;
|
||||
profileExtra = ''
|
||||
# if running bash
|
||||
if [ -n "$BASH_VERSION" ]; then
|
||||
# include .bashrc if it exists
|
||||
if [ -f "$HOME/.bashrc" ]; then
|
||||
. "$HOME/.bashrc"
|
||||
fi
|
||||
fi
|
||||
|
||||
# set PATH so it includes user's private bin if it exists
|
||||
if [ -d "$HOME/bin" ] ; then
|
||||
PATH="$HOME/bin:$PATH"
|
||||
fi
|
||||
|
||||
# set PATH so it includes user's private bin if it exists
|
||||
if [ -d "$HOME/.local/bin" ] ; then
|
||||
PATH="$HOME/.local/bin:$PATH"
|
||||
fi
|
||||
'';
|
||||
initExtra = ''
|
||||
# some more ls aliases
|
||||
alias ll='ls -alF'
|
||||
alias la='ls -A'
|
||||
alias l='ls -CF'
|
||||
alias sudonix='sudo env PATH=$PATH'
|
||||
alias k='kubectl'
|
||||
alias rm="trash-put"
|
||||
|
||||
# export BASH_COMPLETION_USER_DIR=$HOME/.nix-profile/share/bash-completion.d/
|
||||
|
||||
# Eternal bash history.
|
||||
# ---------------------
|
||||
# Undocumented feature which sets the size to "unlimited".
|
||||
# http://stackoverflow.com/questions/9457233/unlimited-bash-history
|
||||
export HISTFILESIZE=
|
||||
export HISTSIZE=
|
||||
# export HISTTIMEFORMAT="[%F %T] "
|
||||
# Change the file location because certain bash sessions truncate .bash_history file upon close.
|
||||
# http://superuser.com/questions/575479/bash-history-truncated-to-500-lines-on-each-login
|
||||
export HISTFILE=~/.bash_eternal_history
|
||||
# Force prompt to write history after every command.
|
||||
# PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
|
||||
PROMPT_COMMAND="history -a '$HISTFILE'; $PROMPT_COMMAND"
|
||||
|
||||
# Source custom configuration
|
||||
if [ -f "$HOME/.bashrc.zs00lt" ]; then
|
||||
. "${PROJECT_ROOT}/config-files/bashrc.zs00lt"
|
||||
fi
|
||||
|
||||
# source <(kubectl completion bash)
|
||||
# source <(helm completion bash)
|
||||
# source <(rclone completion bash)
|
||||
|
||||
source ${gitPrompt}
|
||||
eval "$(starship init bash)"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user