My personal dotfiles. Linux desktop + Hetzner servers. Bash, tmux, vim, git, claude-workflow.
Nothing fancy. Pragmatic over clever. Comments where it matters.
git clone https://github.com/danielwesseling/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./install.shThe installer creates symlinks from ~/ to the files in this repo. Existing files get backed up to ~/.dotfiles-backup-<timestamp>/.
.
├── bash/ — .bashrc, aliases, prompt
├── git/ — .gitconfig, commit template
├── tmux/ — .tmux.conf
├── vim/ — .vimrc (minimal, no plugins)
├── claude/ — Claude/AI agent workflow conventions
├── scripts/ — useful one-off shell scripts
└── install.sh — symlink installer
alias ll='ls -lah --color=auto'
alias gst='git status -sb'
alias gco='git checkout'
alias gd='git diff'
alias serve='python3 -m http.server 8000'
alias myip='curl -4 ifconfig.me; echo'
alias ports='ss -tulpn'Full list in bash/aliases.sh.
I use a small set of prefixes for commit messages — kept in git/commit-template:
Fix: bug fix or production incident resolution
Feat: new feature for the user (or AI agent)
Refactor: code change without behavior change
Style: formatting, whitespace, no logic change
Docs: README, comments, inline documentation
Content: copy/text changes on a website
Deploy: release-only changes (config, env, secrets template)
Config: tool/env config (CI, linter, gitignore)
Activated via git config --global commit.template git/commit-template.
Ctrl-a is easier to hit than the default Ctrl-b, and matches GNU screen. Plus mouse support and a 10000-line scrollback. See tmux/.tmux.conf.
vim/.vimrc is 60 lines, no plugin manager, no LSP. For real coding I use VS Code or my IDE — vim is for quick edits on remote servers where I refuse to install anything.
How I structure work with AI coding agents (Claude, Codex, Cursor). See the dedicated repo danielwesseling/ai-agent-conventions for the full pattern.
The claude/ folder here is just the minimum needed at the dotfile level:
claude/.clauderc— environment defaultsclaude/aliases.sh— shortcuts for common Claude API calls
Tested on:
- Ubuntu 24.04 (server + desktop)
- macOS (with brew + GNU coreutils — some aliases assume
ls --color)
Unlicense — public domain. Take what you want, no attribution needed.
Daniel Wesseling — IT-Manufaktur in Gronau (Westfalen), Germany.