Personal "dotfile" configurations, managed with Nix. Supports NixOS and Darwin (macOS).
git clone [email protected]:tymbalodeon/.dotfiles.git ~/.dotfilesNixOS:
(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#ruziaDarwin:
Install Nix using the Determinate Systems Nix Installer.
nix run "nix-darwin/master#darwin-rebuild" -- switch --flake ~/.dotfiles/configuration#benrosenSubsequent 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 hostsAssuming 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 activateRun 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
environment *args # Manage environments [alias: env]
help *args # View full help text, or for a specific recipe
history *args # View project history
issue *args # View issues
readme *args # View README file
recipe *args # View or open recipes
remote *args # View remote repository
replace *args # Find/replace
stats *args # View repository analytics
theme *args # Set helix theme
todo *args # List TODO-style comments [alias: todos]
dotfiles: [alias: dot]
check *args # Check configuration flake
clean *args # Run `prune` and `optimise` [main alias]
configurations *args # List available configurations [alias: configs] [main alias]
diff *args # View the diff between hosts [main alias]
files *args # List configuration files [main alias]
generations *help # View generations [main alias]
help *args # View help text
inputs *help # List flake inputs [main alias]
optimise *help # Replace identical files in the Nix store by hard links [main alias]
prune *args # Collect garbage and remove old generations [main alias]
rebuild *args # Rebuild and switch to (or --test) a configuration [main alias]
shell *help # Open Nix REPL with flake loaded
update *inputs # Update dependencies [main alias]
haskell: [alias: hs]
help # View help text
nix:
help *args # View help text
shell *args # Open an interactive nix shell [alias: sh]