β οΈ Personal Setup Warning: This repository is my personal dotfiles configuration, tailored specifically for my workflow and environment. It's not designed to be used by others as-is and will likely break things if you try to apply it directly to your system.However, you're absolutely welcome to browse through, steal ideas, copy snippets, or adapt anything you find useful! That's what open source is all about. π
This is a GNU Stow-based dotfiles setup that manages configurations for various tools and environments I use daily.
- Bash (
bash/): Complete bash setup with aliases, functions, and a comprehensive.bashrc - Zsh (
zsh/): Zsh configuration with aliases and custom functions - Oh-My-Posh (
omp/): Beautiful terminal prompts with custom themes
- Neovim (
nvim/): Modern Vim configuration with LazyVim setup for a powerful development environment - Emacs (
emacs/): My Emacs configuration for when I want that classic editor experience - Neomutt (
neomutt/): Email client configuration - Newsboat (
newsboat/): RSS feed reader setup
- Yazi (
yazi/): Terminal file manager with custom keybindings and configuration
- Git (
git/): Git configuration with GPG signing and user settings - Secrets (
secrets/): Environment variables and SSH aliases (β οΈ private repository submodule)
A collection of utility scripts that make my life easier:
choose-omp-theme: Interactive Oh-My-Posh theme selectordc-respawn: Docker Compose service restart helpermyip: Show local and external IP addressesrepeatcmd: Run commands at intervalsextract: Universal archive extractornagios: Nagios monitoring script launcherfind-file: File search utilitymanager: System management helperefficient: System efficiency toolstrim: Text trimming utilityvipe: Edit pipe data with your editor, credit to @juliangruber- Plus binary tools like
nvimandlazydocker
An automated setup script that:
- Detects your environment (WSL, Arch Linux, or Debian/Ubuntu server)
- Installs necessary packages
- Clones this repo and sets up symlinks with Stow
- Backs up existing dotfiles before replacing them
The bootstrap script supports three main environments:
- WSL (Windows Subsystem for Linux)
- Arch Linux
- Debian/Ubuntu Server
Each gets its own package set and configuration tweaks.
This setup uses GNU Stow to manage symlinks. Each directory (like bash/, zsh/, bin/) is a "stow package" that gets symlinked into your home directory.
For example:
bash/.bashrcβ~/.bashrcbin/bin/myipβ~/bin/myipemacs/.emacs.d/init.elβ~/.emacs.d/init.el
# Clone the repo
git clone https://github.com/LordHerdier/dotfiles.git ~/dotfiles
cd ~/dotfiles
# Run the bootstrap script
./scripts/.scripts/bootstrap.sh --autoBut seriously, don't do this unless you want to potentially mess up your existing setup. The script does create backups, but still...
Here are some potentially useful bits you might want to adapt:
please(): Re-run the last command with sudomkcd(): Create directory and cd into itomp-theme(): Switch Oh-My-Posh themes on the fly
- Docker Compose shortcuts (
dc,dcu,dcd, etc.) - Git helpers (
gcb,gco,gpo) - System navigation shortcuts
bin/myip: Python script to show local and external IPsbin/repeatcmd: Bash script to repeat commands at intervalsbin/extract: Universal archive extraction script
- Environment detection logic
- Stow-based dotfile management
- Backup system for existing files
The setup expects these tools to be available:
git,curl,stow(essential)exa(betterls)zoxide(bettercd)oh-my-posh(pretty prompts)- Various others depending on what you use
This is my personal setup, so I'm not really looking for contributions. But if you spot a bug or have a suggestion, feel free to open an issue!
Do whatever you want with this code. Take it, adapt it, improve it, break it - I don't care. Just don't blame me if it breaks your system. π
Remember: These are my dotfiles. They work for my workflow on my systems. Your mileage may vary dramatically. You've been warned! π¨