195 lines · 6.1 KB
#!/usr/bin/env bash

# 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'
    PS1='[\u@\h \W]\$ '

    # Fixes for various things on demand
    alias make-firefox-default="xdg-settings set default-web-browser firefox.desktop"
    alias fix-display='xrandr --output DP-0 --mode 2560x2880 --pos 0x0 --output DP-2 --mode 2560x2880 --pos 2560x0'
    alias set-wallpaper='[ -f "$HOME/.wallpaper" ] && feh --bg-scale "$HOME/.wallpaper"'
    alias start-picom='systemctl --user start picom.service'
    alias stop-picom='systemctl --user stop picom.service'
    alias restart-picom='systemctl --user restart picom.service'
    ;;

debian)
    # shellcheck disable=1091
    if ! shopt -oq posix; then
        if [ -f /usr/share/bash-completion/bash_completion ]; then
            . /usr/share/bash-completion/bash_completion
        elif [ -f /etc/bash_completion ]; then
            . /etc/bash_completion
        fi
    fi
    ;;

darwin)
    # Brew on Apple Silicon lives in /opt/homebrew and needs to initialize
    # in the shell with a script.
    bash_bin_arm="/opt/homebrew/bin/brew"
    if [[ $(uname -m) == "arm64" && -f $bash_bin_arm ]]; then
        eval "$("$bash_bin_arm" shellenv)"
    fi