#+title: My dotfiles

My dotfiles for which I am using =nix=.
The structure is managed by [[https://snowfall.org/guides/lib/quickstart/][Snowfall lib]]

* Machine selection
=home-manager= automatically searches for =user= or =user@hostname= config in the flake, so specify one of those or you will have to manually specify them:
=home-manager switch --flake .#user@hostname=

* Manual symlinks
[[file:laptop-nix.conf]] was manually symlinked to file:/etc/nix/nix.conf
and [[file:flake.nix]] was symlinked to file:~/.config/home-manager/flake.nix

For deployment!!

* Secrets management with sops
Full documentation here: https://github.com/Mic92/sops-nix

** Edit secrets
#+begin_src sh
sops edit secrets/secrets.yaml
#+end_src

** Authorize new device
- Generate public key from ssh -> Private age key generation not needed
#+begin_src sh
ssh-to-age < /etc/ssh/ssh_host_ed25519_key
#+end_src
- Add age public key to file:.sops.yaml
- Update keys
#+begin_src sh
sops updatekeys secrets/*
#+end_src