|
|
|
dotfiles
|
|
|
|
========
|
|
|
|
|
|
|
|
## Features
|
|
|
|
|
|
|
|
* A wealth of bash and git aliases scoured from the internet
|
|
|
|
* Beautiful terminal `PS1` and message-of-the-day-style prompt at start of session
|
|
|
|
* Sane defaults for shell options and builtins (`rm -I --preserve-root`, `mkdir -pv`, `grep --color=auto`, etc.)
|
|
|
|
* Config files and settings for [vim](https://www.vim.org/), [ripgrep](https://github.com/BurntSushi/ripgrep),
|
|
|
|
[abcde](http://lly.org/~rcw/abcde/page/), and [shellcheck](https://www.shellcheck.net/)
|
|
|
|
|
|
|
|
## Setup
|
|
|
|
|
|
|
|
1. Clone this repository into a directory of your choice. I recommend using the [`XDG_CONFIG_HOME`
|
|
|
|
directory](https://wiki.archlinux.org/title/XDG_Base_Directory#User_directories). (`$HOME/.config`)
|
|
|
|
|
|
|
|
```sh
|
|
|
|
cd "${XDG_CONFIG_HOME:-$HOME/.config}"
|
|
|
|
git clone https://git.nightfirec.at/nightfirecat/dotfiles.git
|
|
|
|
```
|
|
|
|
|
|
|
|
2. Run `setup.sh`
|
|
|
|
|
|
|
|
```sh
|
|
|
|
"${XDG_CONFIG_HOME:-$HOME/.config}"/dotfiles/setup.sh
|
|
|
|
```
|
|
|
|
|
|
|
|
Once completed, all necessary symlinks will be created for environment setup. Restart your login for the `.bash_profile`
|
|
|
|
to take effect.
|
|
|
|
|
|
|
|
## Post-setup
|
|
|
|
|
|
|
|
There are a few optional files which can be created in the home directory after setup is complete which can aid in
|
|
|
|
environment setup:
|
|
|
|
|
|
|
|
* **`.user.gitconfig`**: This is primarily used as a way to set up GPG commit signing [(as shown in
|
|
|
|
`.user.gitconfig.dist`)](./.user.gitconfig.dist), but can also be used to change the git user name or email on systems
|
|
|
|
which should use something besides your personal details. (eg. work email on a work machine)
|
|
|
|
* **`.bash_profile.after`** and **`.bashrc.after`**: These files can be created to run following completion of
|
|
|
|
`.bash_profile` and `.bashrc`, respectively. This is primarily useful for overriding environment variables pointing to
|
|
|
|
paths of binaries, or adjust aliases which don't work in environments with varying coreutils support for convenience
|
|
|
|
flags.
|
|
|
|
|
|
|
|
## Uninstall
|
|
|
|
|
|
|
|
Run `setup.sh --remove` to clear any symlinks created by the setup process.
|