# ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples # If not running interactively, don't do anything [[ $- != *i* ]] && return # don't put duplicate lines or lines starting with space in the history. # See bash(1) for more options HISTCONTROL=ignoreboth # append to the history file, don't overwrite it shopt -s histappend # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) HISTSIZE=-1 # check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize # If set, the pattern "**" used in a pathname expansion context will # match all files and zero or more directories and subdirectories. shopt -s globstar export NIX_SHELL_PRESERVE_PROMPT=1 export PS1='\n\[\033[1;32m\]\u@\h${IN_NIX_SHELL:+-shell} \[\033[01;34m\]\w\[\033[00m\]\$ ' # make less more friendly for non-text input files, see lesspipe(1) [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" # some more ls aliases alias ll='exa -l' alias la='exa -a' # Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. alias l='$(fc -ln -1) | less -r' alias r=ranger alias grep='grep -P' alias bat='bat -p --color=always --italic-text=always' alias gcc='gcc -Wall -Wextra -pedantic -O2 -lm' alias g++='g++ -Wall -Wextra -pedantic -O2 -lm' alias x='cd $HOME && startx && cd -' # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). 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 stty -ixon # emacs input set -o emacs export EDITOR=vim export PAGER='less -r' export BAT_THEME=ansi