This is my personal .dot-files repository, where all my custom dotfiles and installation scripts go.
To use it, clone the repo directly into the home directory.
# uses current username and hostname by default
home-manager switch --flake .
- Download/clone this repository
- Have nix installed and flakes enabled
- Use
nix develop
to enter a shell with all requirements - Use
dot-*
commands to build, apply, or update the contained configurations
To download and build this repository, you need git (because nix flakes depends on it).
However, activating a home-manager configuration including git conflicts with a possible git installed via nix-env -iA nixos.git
.
To solve this, you need to split building and activating the home-manager configuration into two steps, uninstalling the nix-env
git in-between:
nix-env -iA git # in case you haven't already
git clone ... # clone this repository using git
nix --extra-experimental-features "nix-command flakes" develop # enter a nix shell (enabling required experimental nix features)
dot-build-home # build the home-manager configuration
nix-env -e git-minimal # remove the nix-env git again
./result/activate # activate the home-manager installation that includes git
The .config
and old-nix-structure
folders are left-over from the old way I managed my dotfiles, which assumed this directory to be cloned into ~
directly.
I am slowly working through everything, starting by moving everything inside .config
into modules/home-manager/
. That is the last thing required before ~
does not have to be a home directory anymore.
Afterwards, everything inside old-nix-structure
needs to be moved into modules/
and collections/
, as well as some other folders, most likely.