Personal configuration files for a Linux shell environment. Managed with plain bash — no stow, no framework.
Works on Ubuntu, Fedora, and derivatives. WSL2-friendly.
| File | Purpose |
|---|---|
bashrc |
Bash config — aliases, functions, XDG paths, history, editor |
gitconfig |
Git aliases, rebase-by-default, VSCode diff/merge tools |
starship.toml |
Starship prompt configuration |
nvim/ |
Neovim config — see nvim/README.md |
setup.sh |
Symlinks everything into place |
git clone https://github.com/Deep7k/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./setup.shThe setup script:
- detects your distro (Ubuntu/Debian or Fedora/RHEL)
- symlinks all config files to their correct XDG locations
- resolves the git credential helper path per distro
- checks that required tools are present and warns if they're missing
- backs up any existing files before overwriting
The clone location does not have to be ~/.dotfiles — the script resolves paths relative to itself.
Required:
gitnvim(0.10+)curl
Optional but expected:
The bash config sets up:
- XDG base directories (
~/.config,~/.local/share, etc.) - History deduplication, append-only, 10 000 line limit
- Clipboard aliases:
clcpauto-selectswl-copy(Wayland) orxclip(X11) - Editor:
nvim, withnanoandvimas fallbacks openportsusesss(iproute2) with anetstatfallback- Starship prompt initialized if installed
- Add aliases and functions to
bashrc - Add git aliases to
gitconfig - See nvim/docs/keybindings.md for editor keybindings
- Chris Titus Tech for the original bash config inspiration
- Starship for the prompt
- ryanoasis for Nerd Fonts
MIT — see LICENSE.