I manage my dotfiles with dotter.
My primary package management tool is Nix, more specifically Nix flakes, which I've used as a way
to deterministically declare and pin some of my main used tools with the flake.nix
and flake.lock
in
this repo's root.
- OS: Fedora Workstation.
- Package manager:
nix
, Flatpak. Os-specific package managers are used when necessary. - Editor: Neovim.
... And several tools that can be found in ./flake.nix
- Fork + clone this repository, or just clone without forking!
git clone https://github.com/ditsuke/dotfiles
- Run a bootstrap script --
setup-fedora.ps1
for Fedora,./common.sh
for any distro. I'll add in finer control for bootstrapping at a later point.
- Select a dotter configuration from the the
.dotter
directory --default-<os>-local.toml
, thencp .dotter/<file.toml> .dotter/local.toml
- Apply dotfiles with
dotter
. The bootstrap scripts install dotter with Nix, but if you skip that dotter can be installed independently with Cargo or from GitHub releases.
just update-flake && just update
will update all packages. Anything not managed by
Nix is upgraded with topgrade
.
If you add a new package to flake.nix
, use just install-flake
to build and install it.