My dotfiles and explanations/documentation for myself.
I use yadm because it is essentially a bare git repo, with some nice additional features.
Requirements (just approximate):
- git >= 2.34.1
- zsh >= 5.1
- vim >= 8.2 (much newer for everything)
bash <(curl -sS https://raw.githubusercontent.com/ferdinandyb/dotfiles/master/.config/yadm/minimalbootstrap)
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
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
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>
Regolith 3. Most notable customizations from base Regolith:
- switched back to
rofi
fromilia
as it is more generic, with more community support; flameshot
instead ofgnome-screenshot
with more useful bindings than Ubuntu/Regolith defaultsranger
set up as default filebrowser: makes more sense for me to use the same as I would in the terminal
kitty
although now looking atcontour
andwezterm
zsh
: took a long time to switch from bash, but the fastpowerlevel10k
prompt (vsstarship.rs
which 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
fzf
,fd-find
,ripgrep
, and ugrep wherever they make sensezoxide
for navigation: also integrates withranger
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
See here.