The different hosts are in different folders, each with their own lockfile (so don’t need to update all at once). The flake inputs are not automatically updated by Home Manager. You need to use the standard ‘nix flake update’ command for that.
Note you can use
nix flake lock --update-input nixpkgs
to update selectively the UNSTABLE, while leaving the stable the same.
To update based on the above and changes to configuration files (which must be at least tracked by git if not up to date):
# Home-manager environment on mac.
home-manager switch --flake ~/.dotfiles/hosts/mac#felix
# Home-manager environment on cimarron.
home-manager switch --flake ~/.dotfiles/hosts/cimarron#felix
# Nixos overall on cimarron.
sudo nixos-rebuild switch --flake /home/felix/.dotfiles/hosts/cimarron#cimarron
xcode-select --install # mac only
sh <(curl -L https://nixos.org/nix/install) --daemon # restart after to get into path.
git clone https://github.com/biggs/dotfiles ~/.dotfiles
# Make sure flakes are enabled: add to nix config
mkdir ~/.config/nix
echo "experimental-features = nix-command flakes" > ~/.config/nix/nix.conf
# Install Home-Manager and get packages
nix run home-manager/master -- init --switch ~/.dotfiles/hosts/mac # or e.g. other host
Install
- vscode
- obsidian; use sync to get settings
- karabiner-elements; turn on macos permissions, settings should be linked already via home-manager
- iterm2; switch to fish and turn on powerline-fonts setting
- spotify
git clone https://github.com/biggs/dotfiles ~/.dotfiles
sudo nixos-rebuild switch --flake ~/.dotfiles/hosts/cimarron#cimarron
nix run home-manager/master -- init --switch ~/.dotfiles/hosts/cimarron#felix
# Imperatively install Source Code Pro font (better, nix-management at https://nixos.wiki/wiki/fonts) ?
font=$(nix-build --no-out-link '<nixpkgs>' -A source-code-pro)/share/fonts/opentype/SourceCodePro-Regular.otf
cp $font ~/.local/share/fonts
fc-cache
git clone https://github.com/hlissner/doom-emacs ~/.emacs.d
~/.emacs.d/bin/doom install
ln -s $HOME/.nix-profile/Applications/Emacs.app /Applications/Emacs.app # mac only (after install?)