5.6 KiB
5.6 KiB
bashrc
bashrc is a collection of dotfiles dedicated to environment setup for Debian based server/desktop systems.
-
I use these files on my personnal desktops and most semi-professional projects.
-
The most powerful features are related to my own setup for tmux, ssh, nfty or keepassxc.
-
It alse contains many aliases and functions of interest.
Features
- Include Liquid Prompt. (An intelligent and non-intrusive prompt for Bash and zsh)
- Ready for FZF bindings.
- Full TMUX experience, even surviving desktop user reconnexions.
- Ready to use KeePassXC as ssh-agent and keyring.
- Command notifications with NTFY.
- And many more aliases and functions to discover ...
Requirements
- debian 9+ based distro
Recommended
- bash 5+
- bash_completion
- systemd, systemd-container
- vim
- ncdu
- fzf (get the latest release)
- pipx
- keepassxc
- keyring (python)
- tmux (get the latest release)
- fzf-tmux
- exa (get the latest release)
- fd
- xclip
- MOTDfetch
- curl
- bat (get the latest release)
- dunstify
- wget2
- emoji-fzf (python)
- ssh
- ...
Installation
Current user
# backup current files
mkdir -p $HOME/.backups
cp -r --backup=t {"$HOME"/.bashrc,"$HOME"/.bashrc.d,"$HOME"/.bash_logout,"$HOME"/.bash_profile,"$HOME"/.profile} $HOME/.backups/
# download new files from repository
wget -c -nv https://git.tkapias.net/tkapias/bashrc/archive/master.tar.gz -O - \
| tar -xzv --strip-components=1 -C $HOME/ \
bashrc/.bash_logout \
bashrc/.bash_profile \
bashrc/.bashrc \
bashrc/.bashrc.d/ \
bashrc/.profile
chmod 700 ~/.bashrc.d
chmod 600 ~/.bashrc ~/.bashrc.d/* ~/.bash_logout ~/.bash_profile ~/.profile
# check if you need to customize the secrets file
cat ~/.bashrc.d/02-secrets.bashrc
SKEL
If you want to get the same base for every new user on the system.
- Execute as root:
# backup current files
mkdir -p /root/.backups/skel
cp -r --backup=t /etc/skel $HOME/.backups/
# download new files from repository
wget -c -nv https://git.tkapias.net/tkapias/bashrc/archive/master.tar.gz -O - \
| tar -xzv --strip-components=1 -C /etc/skel/ \
bashrc/.bash_logout \
bashrc/.bash_profile \
bashrc/.bashrc \
bashrc/.bashrc.d/ \
bashrc/.profile
chmod 700 /etc/skel/.bashrc.d
chmod 600 /etc/skel/.bashrc /etc/skel/.bashrc.d/* /etc/skel/.bash_logout /etc/skel/.bash_profile /etc/skel/.profile
# check if you need to customize the secrets file
cat /etc/skel/.bashrc.d/02-secrets.bashrc