Michael's dotfiles
Manage with
chezmoi(github | documentation)
My Windows, Linux (via WSL) and Android (via Termux) setup. Focus on:
- Consistency: The experience should be as close as possible, whether I'm on linux or windows, work or home, vscode or neovim. Especially the UX (keybindings, commands, aliases, ...), the UI (colorscheme and themes) doesn't have to be. A list of keybindings is define to ensure this.
- Minimalism: Try not to stray too far from the default, especially on the work machine.
Prioritize app that can easily be install with the OS's default package manager (
wingetfor Windows,aptfor Ubuntu andpkgfor Termux) - Stability: Minimize breaking changes between update and between machines. Don't assume the machine has the require application or net work connection.
Tested on Windows 11, Debian Sid, Ubuntu Noble and Termux (without chroot)
sudo apt install git curl
curl -Lo chezmoi_linux_amd64.deb https://github.com/twpayne/chezmoi/releases/download/v2.67.0/chezmoi_2.67.0_linux_amd64.deb
sudo dpkg -i chezmoi_linux_amd64.deb
rm chezmoi_linux_amd64.debOr using snap:
sudo apt install snapd
sudo snap install chezmoi --classicwinget install chezmoipkg install chezmoisudo apt install curl
sh -c "$(curl -fsLS get.chezmoi.io)"chezmoi init canh25xpAdd GIT_LFS_SKIP_SMUDGE if you want skip download git-lfs files (mostly my wallpapers) and specify --depth to shallow clone only.
GIT_LFS_SKIP_SMUDGE=1 chezmoi init canh25xp --depth 1chezmoi age decrypt -p -o ~/.config/chezmoi/key.txt ~/.local/share/chezmoi/.key.txt.agegh auth loginbat cache --buildnvm install latest
nvm use latestecho "deb http://deb.debian.org/debian bookworm contrib non-free" > /etc/apt/sources.list.d/contrib.list
sudo apt install ttf-mscorefonts-installer
fc-list | grep "Times_New_Roman"First open mingw64 shell: C:/msys64/msys2_shell.cmd -defterm -here -no-start -ucrt64
(Either ucrt64 or mingw64)
pacman -S mingw-w64-ucrt-x86_64-gcc
pacman -S mingw-w64-ucrt-x86_64-tree-sitter
pacman -S mingw-w64-ucrt-x86_64-cmake
pacman -S mingw-w64-ucrt-x86_64-neocmakelsp
pacman -S mingw-w64-ucrt-x86_64-ninjaOr install all
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchainAdd C:/msys64/mingw64/bin to your PATH environment variable
git config --global --add safe.directory '*'sudo dpkg-reconfigure locales
# Select the following number
97
3chezmoi state delete-bucket --bucket=entryStatechezmoi state delete-bucket --bucket=scriptStateWarning
Might as well just create a new keys and re-encrypt every (encrypted) files
chezmoi age encrypt -p -o ~/.local/share/chezmoi/.key.txt.age ~/.config/chezmoi/key.txtchezmoi apply --include externals -R# whole project
git config commit.gpgsign true
# per commit
git commit -S
# check signature last commit
git log -1 --show-signature