Personal "dotfile" configurations, managed with Nix. Supports NixOS and Darwin (macOS).
git clone [email protected]:tymbalodeon/.dotfiles.git ~/.dotfiles
NixOS:
(Available hosts can be found in /configuration/systems/nixos/hosts.)
sudo nixos-rebuild switch --flake ~/.dotfiles#<HOST>
# For example:
# sudo nixos-rebuild switch --flake ~/.dotfiles#ruzia
Darwin:
Install Nix using the Determinate Systems Nix Installer.
nix run "nix-darwin/master#darwin-rebuild" -- switch --flake ~/.dotfiles/configuration#benrosen
Subsequent builds can be handled with a just
recipe from the included Justfile
:
just rebuild # <HOST>
# For example:
# just rebuild
# just rebuild ruzia
# To see available hosts on the current system:
just hosts
Assuming you already have direnv, just, and nushell installed (which you will after installing the configuration), a development environment can be activated using environments by running:
just env activate
Run just
to see available "recipes," and just <recipe> --help/-h
to get more
information about a particular recipe.
Available recipes:
check *args # Check flake and run pre-commit hooks
dependencies *args # List dependencies [alias: deps]
environment *args # Manage environments [alias: env]
find-recipe *search_term # Search available `just` recipes [alias: find]
help *recipe # View help text
history *args # View project history
issue *args # View issues
release *preview # Create a new release
remote *web # View remote repository
stats *help # View repository analytics
test *args # Run tests
view-source *recipe # View the source code for a recipe [alias: src]
dotfiles:
check *help # Check configuration flake
clean *all # Run `prune` and `optimise`
diff *args # View the diff between hosts
files *configuration # List configuration files
generations *help # View generations
help *recipe # View help text
hosts *help # List available hosts
inputs *help # List flake inputs
optimise *help # Replace identical files in the Nix store by hard links
prune *args # Collect garbage and remove old generations
rebuild *args # Rebuild and switch to (or --test) a configuration
shell *host # Open Nix REPL with flake loaded
update *help # Update dependencies