https://github.com/bryanhad/dotfiles
Custom Linux terminal dotfiles: bash, tmux, Fastfetch, Starship, and zoxide. Automated install, backups, and GNU Stow integration.
https://github.com/bryanhad/dotfiles
bash dotfiles gnustow ricing setup-script terminal
Last synced: about 2 months ago
JSON representation
Custom Linux terminal dotfiles: bash, tmux, Fastfetch, Starship, and zoxide. Automated install, backups, and GNU Stow integration.
- Host: GitHub
- URL: https://github.com/bryanhad/dotfiles
- Owner: bryanhad
- Created: 2025-09-26T08:06:52.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-29T10:31:32.000Z (9 months ago)
- Last Synced: 2025-09-29T11:30:56.341Z (9 months ago)
- Topics: bash, dotfiles, gnustow, ricing, setup-script, terminal
- Language: Shell
- Homepage:
- Size: 19.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 💻 My Dotfiles Setup
My custom setup for `bash`, `tmux`, `Fastfetch`, and `Starship` using `GNU Stow`.
## 🚀 Quick Start
```bash
git clone ~/dotfiles-repo
cd ~/dotfiles-repo
./setup.sh
```
The script will:
- Install missing packages: stow, fzf, tmux, fastfetch, starship, zoxide.
- fastfetch → installed via `.deb` (apt-compatible)
- starship → installed via curl (binary to `~/.local/bin`)
- zoxide → installed via curl (binary to `~/.local/bin`)
- Backup existing dotfiles (`.bashrc`, `.tmux.conf`, `Fastfetch` & `Starship` configs).
- Symlink dotfiles into your home directory via GNU Stow.
- Adds Fastfetch ASCII art to `~/ascii`.
- Update your `.bashrc` with:
- `PATH="$HOME/.local/bin:$PATH"` so local binaries are picked up
- Initialization of Starship + Zoxide
- Conditional Fastfetch + tmux auto-start
### tmux Customizations
- Changed default prefix key from `Ctrl+b` to `` ` `` (backtick).
- Mouse support enabled for sanity.
- Scrollback increased to 10,000 lines (default 2,000).
- Vim key bindings enabled in scrollmode
- Pane borders customized (cool looking).
- 1-based indexing for windows and panes (default starts at 0).
- Minimalist status bar (cool looking).
## 🔄️ Undo Setup
To completely revert changes:
```bash
./undo.sh
```
The script will:
- Remove symlinks created by Stow.
- Restore backed-up configs (`.bashrc`, `.tmux.conf`, `Starship` & `Fastfetch` configs).
- Uninstall packages (unless you keep them):
- Removes `fastfetch`, `tmux`, and `stow` via apt remove --purge.
- Removes starship binary from `~/.local/bin`.
- Removes zoxide binary from `~/.local/bin` and its manpages if present.
- Restart your shell (`exec bash`) so the clean `.bashrc` is loaded immediately.
### Keeping Installed Packages
If you only want to undo the symlinks and restore backups but keep installed packages, run:
```bash
./undo.sh --keep-installed-packages
# or the shorter alias
./undo.sh --keep-pkgs
```
This will:
- Restore backups and remove symlinks.
- Skip uninstalling apt packages, Starship, and Zoxide.
- Still restart your shell for a clean environment.
## 📝 Notes
1. Starship and Zoxide are installed locally (`~/.local/bin`). If you want system-wide install, you can adjust the setup script.
2. If you run into `stow` warnings like:
```bash
BUG in find_stowed_path? Absolute/relative mismatch ...
```
it usually means Stow is crossing into Windows-mounted directories under WSL. This can be safely ignored if your dotfiles are working as expected.