Every developer has their little rituals — the way they arrange their windows, the shortcuts they swear by, the terminal theme that somehow makes debugging less painful. For me, those habits live inside my dotfiles.
Over time, they’ve become more than just configs. They’re like a memory of how I prefer to work. And whenever I set up a new machine, applying my dotfiles feels like unpacking my own desk: suddenly everything is familiar again.
So here’s a human-friendly walkthrough of the things I actually use from my dotfiles repo:
https://github.com/rubiin/dotfiles
🛠️ Chezmoi: My quiet helper
Before I used chezmoi, setting up my environment after a fresh install felt like trying to remember a dream — “What alias did I use again? Where did that plugin live?”
Now I just run:
chezmoi init rubiin --apply
And in a few minutes, my system feels like mine again.
Chezmoi quietly handles:
putting files where they belong
keeping secrets private
letting me customize things per machine
It’s one of those tools you barely notice once it’s in place — which is exactly the point.
🐚 Zsh: My shell, but friendlier
I spend a lot of time in the terminal, so I want it to feel welcoming — like a workspace, not a punishment.
In my dotfiles, zsh is tuned with just the right amount of comfort:
Autosuggestions that complete my half-remembered commands
Syntax highlighting that catches typos before I hit enter
Powerlevel10k prompt that shows useful info without feeling noisy
Sheldon to manage shell plugins smoothly
The goal isn’t to make the terminal flashy — just pleasant enough that I don’t dread spending hours in it.
💻 WezTerm: A terminal I actually enjoy looking at
Wezterm is the best mix I’ve found of speed, simplicity, and polish. It renders fonts beautifully and makes everything feel… smooth.
I use:
MonoLisa because it’s crisp and calm
Nerd Fonts for icons (because I like pretty directories, okay)
The result: every time I open a new window, I get this tiny hit of “ah, nice.”
📘 Browsing & Research
Zen Browser — Focused, Clean, Minimal
A Firefox-based browser that removes noise, adds smart features, and feels incredibly polished. It’s now my default for coding, documentation, and deep work.
📝 Neovim: The room where I spend my day
I’ve probably spent more time tweaking Neovim than any other tool I use — and I regret none of it.
My config is built around a few ideas:
don’t fight the editor
be able to find anything in seconds
keep plugins that genuinely help, not just for vibes
So I have Treesitter for highlighting, Telescope for jumping around, LSP for coding, and themes like Catppuccin that make writing code feel cozy.
Neovim is where ideas turn into code, so I try to make it a place I enjoy being in.
🧱 Tmux: For when one window is never enough
I use tmux like someone who always has too many thoughts open at once:
Left pane: server
Right pane: logs
Bottom pane: quick commands
Detached sessions: abandoned experiments I might return to (or not)
My tmux config doesn’t do anything magical — it just makes switching, splitting, and resuming sessions painless. And honestly, painless is all I need.
🪟 Hyprland: My desktop, flowing instead of fighting
I like a lightweight, keyboard-first environment. Hyperland gives me that, plus beautiful animations that don’t get in the way.
With:
Rofi to launch things
Tsumiki for a clean status bar
The whole setup feels peaceful — minimal but intentional.
This part of my dotfiles is less about productivity and more about creating a space that feels uncluttered.
🔧 Little CLI tools that make a big difference
Some of my favorite tools are also the simplest:
bat: syntax-highlighted cat
eza: a nicer ls
fzf: fuzzy-find basically anything
ripgrep: the search tool I can’t live without
btop: my go-to system monitor
atuin: my command history without the amnesia
mise: manages dev tools like node, python, cmake, terraform, and hundreds more.
topgrade: upgrade all the things
These aren’t flashy, but they add up to smoother, calmer days.
⚙️ Automation Scripts
My dotfiles include scripts that automate setup and daily workflows:
Useful Scripts
base-install.sh
Installs essentials on a new system.run_onchange_chores.sh
Helper script for running tasks when files change.system maintenance scripts
Updates, cleanup, backups, symlink checks, etc.
These small automations save me hours every year.
🧠 Philosophy Behind My Dotfiles
After years of iteration, here are the core principles guiding my setup:
- 🎯 Modularity
Every tool has its own folder and config.
- 🔄 Reproducibility
Any machine can become “my machine” in minutes.
- 🛡️ Security
Secrets are encrypted or excluded.
- 📦 Minimal yet Powerful
If it doesn’t directly boost productivity, it’s out.
- 🧹 Maintainability
I prefer fewer plugins, fewer scripts, fewer hacks — just enough to stay efficient.
Final Thoughts: Why This Matters
My dotfiles aren’t just configuration files —
they’re years of habits, preferences, and workflow optimizations encoded into reproducible form.
When everything works the moment I start a fresh system, it feels like magic.
If you’re interested in building your own dotfiles, or borrowing parts of mine, feel free to explore:
👉 https://github.com/rubiin/dotfiles
Top comments (0)