diff --git a/README.md b/README.md new file mode 100644 index 0000000..46fadb0 --- /dev/null +++ b/README.md @@ -0,0 +1,119 @@ +# [bashrc][bashrc_repo] + +![Bash](https://img.shields.io/badge/bash-1f425f.svg?style=for-the-badge&logo=image%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw%2FeHBhY2tldCBiZWdpbj0i77u%2FIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2BIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE3MDg2QTAyQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3MDg2QTAzQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTcwODZBMDBBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTcwODZBMDFBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciLz4gPC9yZGY6RGVzY3JpcHRpb24%2BIDwvcmRmOlJERj4gPC94OnhtcG1ldGE%2BIDw%2FeHBhY2tldCBlbmQ9InIiPz6lm45hAAADkklEQVR42qyVa0yTVxzGn7d9Wy03MS2ii8s%2BeokYNQSVhCzOjXZOFNF4jx%2BMRmPUMEUEqVG36jo2thizLSQSMd4N8ZoQ8RKjJtooaCpK6ZoCtRXKpRempbTv5ey83bhkAUphz8fznvP8znn%2B%2F3NeEEJgNBoRRSmz0ub%2FfuxEacBg%2FDmYtiCjgo5NG2mBXq%2BH5I1ogMRk9Zbd%2BQU2e1ML6VPLOyf5tvBQ8yT1lG10imxsABm7SLs898GTpyYynEzP60hO3trHDKvMigUwdeaceacqzp7nOI4n0SSIIjl36ao4Z356OV07fSQAk6xJ3XGg%2BLCr1d1OYlVHp4eUHPnerU79ZA%2F1kuv1JQMAg%2BE4O2P23EumF3VkvHprsZKMzKwbRUXFEyTvSIEmTVbrysp%2BWr8wfQHGK6WChVa3bKUmdWou%2BjpArdGkzZ41c1zG%2Fu5uGH4swzd561F%2BuhIT4%2BLnSuPsv9%2BJKIpjNr9dXYOyk7%2FBZrcjIT4eCnoKgedJP4BEqhG77E3NKP31FO7cfQA5K0dSYuLgz2TwCWJSOBzG6crzKK%2BohNfni%2Bx6OMUMMNe%2Fgf7ocbw0v0acKg6J8Ql0q%2BT%2FAXR5PNi5dz9c71upuQqCKFAD%2BYhrZLEAmpodaHO3Qy6TI3NhBpbrshGtOWKOSMYwYGQM8nJzoFJNxP2HjyIQho4PewK6hBktoDcUwtIln4PjOWzflQ%2Be5yl0yCCYgYikTclGlxadio%2BBQCSiW1UXoVGrKYwH4RgMrjU1HAB4vR6LzWYfFUCKxfS8Ftk5qxHoCUQAUkRJaSEokkV6Y%2F%2BJUOC4hn6A39NVXVBYeNP8piH6HeA4fPbpdBQV5KOx0QaL1YppX3Jgk0TwH2Vg6S3u%2BdB91%2B%2FpuNYPYFl5uP5V7ZqvsrX7jxqMXR6ff3gCQSTzFI0a1TX3wIs8ul%2Bq4HuWAAiM39vhOuR1O1fQ2gT%2F26Z8Z5vrl2OHi9OXZn995nLV9aFfS6UC9JeJPfuK0NBohWpCHMSAAsFe74WWP%2BvT25wtP9Bpob6uGqqyDnOtaeumjRu%2ByFu36VntK%2FPA5umTJeUtPWZSU9BCgud661odVp3DZtkc7AnYR33RRC708PrVi1larW7XwZIjLnd7R6SgSqWSNjU1B3F72pz5TZbXmX5vV81Yb7Lg7XT%2FUXriu8XLVqw6c6XqWnBKiiYU%2BMt3wWF7u7i91XlSEITwSAZ%2FCzAAHsJVbwXYFFEAAAAASUVORK5CYII%3D) +![Debian](https://img.shields.io/badge/Debian-D70A53?style=for-the-badge&logo=debian&logoColor=white) +![Ubuntu](https://img.shields.io/badge/Ubuntu-E95420?style=for-the-badge&logo=ubuntu&logoColor=white) + +**bashrc** is a collection of dotfiles dedicated to environment setup for Debian/Ubuntu (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 contain also many aliases and functions of interest. + +--- + +>###### Table of contents +>**[FEATURES](#features)** +>**[INSTALLATION](#installation)** + +--- + +## Features + +- Include [Liquid Prompt][liquidprompt_repo] (An intelligent and non-intrusive prompt for Bash and zsh) +- FZF bindings ready +- Full TMUX experience +- Use [KeePassXC][KeePassXC_website] as ssh-agent and keyring +- Execution notifications with [NTFY][NTFY_repo] +- And many more aliases and functions to discover ... + +## Requirements + +- debian 9+ based distro + +### Recommended + +- bash 5+ +- bash_completion +- systemd, systemd-container +- vim +- ncdu +- fzf +- pipx +- keepassxc +- keyring +- tmux +- fzf-tmux +- exa +- fd +- xclip +- MOTDFetch +- curl +- bat +- dunstify +- wget +- emoji-fzf +- ssh +- ... + +## Installation + +### Current user + +```bash +# 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: + +```bash +# 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 +``` + +--- + +[//]: # (LINKS) +[bashrc_repo]: https://git.tkapias.net/tkapias/bashrc +[liquidprompt_repo]: https://github.com/nojhan/liquidprompt +[KeePassXC_website]: https://keepassxc.org +[NTFY_repo]: https://github.com/binwiederhier/ntfy