Hi! [Stow - GNU Project - Free Software Foundation](https://www.gnu.org/software/stow/) [General-purpose dotfiles utilities](https://dotfiles.github.io/utilities/) [Inspiration](https://dotfiles.github.io/inspiration/) - [mathiasbynens/dotfiles:](https://github.com/mathiasbynens/dotfiles) - [xero/dotfiles](https://github.com/xero/dotfiles) --- # YO Yes. Start small. No grand cathedral yet, just pour the slab. 🧱 ## Step 1: Make the repo ```bash mkdir -p ~/GitHub/dotfiles cd ~/GitHub/dotfiles git init ``` Add a README: ```bash nano README.md ``` Put something simple: ```md # dotfiles My Linux Mint configuration files, scripts, services, and workstation setup notes. ``` Then: ```bash git add README.md git commit -m "Initial dotfiles repo" ``` --- ## Step 2: Install GNU Stow ```bash sudo apt update sudo apt install stow ``` Stow is the little goblin that creates symlinks for you. --- ## Step 3: Start with something low-risk Do **not** begin with your whole `.config` folder. That’s how chaos gets a tiny crown. Start with your Git config or bash config. Example for `.bashrc`: ```bash mkdir bash cp ~/.bashrc bash/.bashrc ``` Your repo now has: ```text ~/GitHub/dotfiles/bash/.bashrc ``` Before linking it, back up the original: ```bash mv ~/.bashrc ~/.bashrc.backup ``` Now from inside the repo: ```bash stow bash ``` Check: ```bash ls -l ~/.bashrc ``` You should see it pointing to your repo. --- ## Step 4: Commit it ```bash git status git add bash/.bashrc git commit -m "Add bash config" ``` Now your first real dotfile is under version control. Tiny wizard door unlocked. --- ## Step 5: Add one config folder at a time Good first candidates for you: ```text git/ mpv/ micro/ systemd/ local-bin/ applications/ ``` For example, MPV: ```bash mkdir -p mpv/.config cp -r ~/.config/mpv mpv/.config/ ``` Then: ```bash mv ~/.config/mpv ~/.config/mpv.backup stow mpv ``` Check: ```bash ls -l ~/.config/mpv ``` Commit: ```bash git add mpv git commit -m "Add mpv config" ``` --- ## Step 6: Add your scripts Your scripts should probably live in: ```bash ~/.local/bin ``` In the repo: ```bash mkdir -p local-bin/.local/bin cp ~/.local/bin/* local-bin/.local/bin/ ``` Then later: ```bash stow local-bin ``` But only do this once you’ve looked through the scripts and confirmed there’s no private stuff inside. --- ## Step 7: Make a package list This is hugely useful: ```bash mkdir packages apt-mark showmanual > packages/apt-manual.txt ``` Commit it: ```bash git add packages/apt-manual.txt git commit -m "Add manual apt package list" ``` --- ## Step 8: Add a restore notes file ```bash nano INSTALL.md ``` Add: ````md # Install Notes ## First steps ```bash sudo apt update sudo apt install git stow ```` ## Clone repo ```bash git clone https://github.com/wmprkr/dotfiles ~/GitHub/dotfiles cd ~/GitHub/dotfiles ``` ## Link configs ```bash stow bash stow mpv stow micro ``` ```` Commit: ```bash git add INSTALL.md git commit -m "Add install notes" ```` --- ## I would start in this order ```text 1. README.md 2. INSTALL.md 3. bash/.bashrc 4. git/.gitconfig 5. mpv/.config/mpv/ 6. micro/.config/micro/ 7. systemd/.config/systemd/user/ 8. local-bin/.local/bin/ 9. applications/.local/share/applications/ 10. packages/apt-manual.txt ``` Do **one package at a time**. Test after each one. Commit after each one. That keeps the goblin civilized. ## tl;dr - Create `~/GitHub/dotfiles` - Install `stow` - Start with `.bashrc` - Back up the original file before linking - Use `stow bash` - Commit every small step - Add configs one at a time, not all at once