211 lines · 5.3 KB
#!/usr/bin/env bash

# Commands that should be applied only for interactive shells.
[[ $- == *i* ]] || return

shopt -s globstar
shopt -s histappend

# shellcheck disable=SC1091
source "$XDG_DATA_HOME/meowgorithm/bash_funcs"

env="$XDG_DATA_HOME/meowgorithm/env.asc"
# shellcheck disable=SC1090
[ -f "$env" ] && source <(gpg --decrypt "$env" 2>/dev/null)

export HISTCONTROL=ignorespace:ignoredups:erasedups
export HISTFILESIZE=100000
export HISTSIZE=10000
export HISTIGNORE="ls:cd:pwd:clear:exit:history:shutdown:reboot"
export PROMPT_DIRTRIM=2
export CLICOLOR=1

# Where our dotfiles repo lives
export DOTFILES="$HOME/.dotfiles"

os="$(which_os)"

# OS/Distro specific stuff
case "$os" in
nixos)
    alias ls='ls --color=auto'
    alias zzz="sudo systemctl suspend"

    # Git prompt on NixOS
    # shellcheck disable=1090
    for f in /nix/store/*-git-*/share/git/contrib/completion/git-prompt.sh; do
        [[ -f "$f" ]] && source "$f" && break
    done
    ;;