Dotfiles
.files
Install / Use
/learn @ferdinandyb/DotfilesREADME
.files
My dotfiles and explanations/documentation for myself.
dotfile management
I use yadm because it is essentially a bare git repo, with some nice additional features.
getting started
Requirements (just approximate):
- git >= 2.34.1
- zsh >= 5.1
- vim >= 8.2 (much newer for everything)
minimal quickstart
bash <(curl -sS https://raw.githubusercontent.com/ferdinandyb/dotfiles/master/.config/yadm/minimalbootstrap)
manual
Install yadm:
curl -fLo ~/.local/bin/yadm https://github.com/TheLocehiliosan/yadm/raw/master/yadm && chmod a+x ~/.local/bin/yadm
Clone the repo:
yadm clone https://github.com/ferdinandyb/dotfiles.git
Or if you have a key on the machine:
yadm clone git@github.com:ferdinandyb/dotfiles.git
Run yadm decrypt for encrypted files.
sparse-checkout and alternates
Way to set the classes (currently all alternates are based on this):
yadm config --add local.class imap
Current existing classes:
- imap: set aerc to use imap instead of maildir
- minimal: sparse-checkout
- org: sparse-checkout
To use sparse-checkout after cloning set the appropriate classes then run:
yadm sparse-checkout reapply
set up decrypt/encrypt
yadm config yadm.gpg-recipient 207C0A2055199A65
usage
The below function sets up vim so that fugitive works properly with yadm and my editing history is preserved.
function confed(){
env GIT_DIR=$HOME/.local/share/yadm/repo.git GIT_WORK_TREE=$HOME \
vim -c "cd ~" \
-c "let g:rooter_change_directory_for_non_project_files = 'home'" \
-c "silent AutoSaveToggle" \
-S ~/.local/share/yadm/Session.vim
}
And the below vim setup allows for fzf search among my dotfiles.
command! -bang -nargs=? -complete=dir FYadm
\ call fzf#run(fzf#wrap('yadm',
\ fzf#vim#with_preview(
\ { 'dir': <q-args>,
\ 'source': 'yadm list -a' }), <bang>0))
nmap <leader>y :FYadm!<CR>
Desktop
I currently run CachyOS with i3, which is mostly a port of my old Regolith 3 config (a complete port of Regolith 3 to CachyOS later down the line is not out of question).
Terminal stuff
- contour and ghostty
zsh: took a long time to switch from bash, but the fastpowerlevel10kprompt (vsstarship.rswhich lagged) was the final nail in the coffin, although I still have bash set up withble.sh, which is pretty great (probably a bit better than what zsh provides through the vim-mode and syntax highlight plugins)- tmux: setup description
fzf,fd-find,ripgrep, and ugrep wherever they make sensezoxidefor navigation or sometimesyazi
airline themes for tmux
If you change the airline theme in vim, to have matching themes in tmux, open vim inside a tmux session and execute:
:Tmuxline airline full
:TmuxlineSnapshot ~/.tmux/tmuxline_theme.sh
I wrote a tutorial which basically covers my setup.
Deduplication of emails:
for i in {2007..2022}; do mdedup $i -i maildir -s discard-all-but-one -a delete-discarded; done
WSL
See here.
Related Skills
node-connect
340.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
340.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.2kCommit, push, and open a PR
