Clone the repository:
$ git clone git@git.sr.ht:~sirn/dotfiles ~/.dotfiles
Install Nix:
$ sh <(curl -L https://nixos.org/nix/install) --daemon
Configure nix, edit ~/.config/nix/nix.conf
:
experimental-features = nix-command flakes
Setup home directory with Home Manager:
$ HM_PROFILE=$(hostname -s)
$ nix build --no-link .#homeConfigurations.$HM_PROFILE.activationPackage
$ $(nix path-info .#homeConfigurations.$HM_PROFILE.activationPackage)/activate
On subsequent updates, use:
$ home-manager switch --flake .#$HM_PROFILE
Create a file named local.nix
to have a machine-specific configuration that is not committed a machine profile.
{
import = [
./modules/programs/bitwarden.nix
./modules/services/languagetool.nix
];
# Prevent installation of nix packages that are known to be problematic
# on a non-NixOS (e.g. depending on GL libraries).
machine.isNixOS = false;
}