Preferrable way:
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply senz
Devcontainer entrypoint:
./install
See manual checklist below.
Manage config
chezmoi add <file>
--encrypt
to encrypt file
Edit managed file
chezmoi edit <file> --watch
List managed files
chezmoi managed
Update managed files
chezmoi update --apply
Removes state, cache and config. Leaves the target files.
Useful for testing install.
chezmoi purge
- Import gpg key stubs
- Authorize syncthing
- Sync Brave settings/extensions...
- Install CA
- Install VSCode Sync Settings extension and
download
- (Linux) nitropy and companion udev rules
- (Linux) btrbk systemd timer, config
- (Linux) vial udev rules
- (Linux)
sudo systemctl enable zerotier-one.service && sudo systemctl start zerotier-one.service
- (Linux)
sudo bash -c 'grep -E '^dialout:' /usr/lib/group >> /etc/group' && sudo usermod -a -G dialout $USER
Sync settings.yml
hostname: "<hostname>"
profile: <chosen profile>
repository:
type: git
url: https://github.com/senz/vscode-settings.git
branch: main
I have 'invented' several package spec files in order to manage packages in a declarative way. I only support 'additive' package management, meaning that I only add packages, never remove them. This is generally non error-prone, and I can always remove packages manually. There is certain risk of having packages installed and not added to the spec file. This is a tradeoff I am willing to take.
Files suffixed with .pers.asc
are encrypted protions of main files. They are decrypted and merged into the main file during chezmoi apply.
- Pakfile – flatpak packages
- Rpmfile – rpm packages used in Fedora, and specifically in ostree package layering
- Appfile – appimage packages
Package specs:
- comparing installed packages with package manifest, reporting differences
- formal specifications and JSON schemas for spec files, plus autogenerated docs
- move to chezmoidata
AppImage auto update handling. topgrade?
Use password manager for secrets. here1 and here2
- zero-sh – I started with this, liked its simplicity, but quickly hit its limitations.
- it's unmaintained
- no encryption support
- multiple workspaces and inheritance creates confusion
- MacOS specific
- Unofficial guide to dotfiles on GitHub. Look into utilities section as well as inspirations
- chezmoi – Im currently using this. It's more complex, because of heavy reliance on templating (like helm for configs), but have everything I need. Its well maintened, and you dont have to use templates if you dont want to.
- politician/dotfiles (chezmoi) very good example of chezmoi usage, simple and clean
- msanders/setup (zero-sh)
- felipecrs/dotfiles (chezmoi) – extensive usage of chezmoi features. High class. Dotfiles we all dream about :)
- burningalchemist/dotfiles
- danpker/dotfiles