persist.nix 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. {
  2. config,
  3. lib,
  4. inputs,
  5. ...
  6. }:
  7. {
  8. imports = [ inputs.impermanence.nixosModules.impermanence ];
  9. environment.persistence."/persist" = {
  10. hideMounts = true;
  11. directories =
  12. [
  13. "/etc/NetworkManager/system-connections"
  14. "/etc/nix"
  15. "/etc/secureboot"
  16. "/var/lib/bluetooth"
  17. "/var/lib/libvirt"
  18. "/var/lib/nixos"
  19. "/var/lib/pipewire"
  20. "/var/lib/systemd/coredump"
  21. ]
  22. ++ lib.optionals config.virtualisation.docker.enable [ "/var/lib/docker" ]
  23. ++ lib.optionals config.mine.dnscrypt.enable [ "/var/lib/dnscrypt-proxy2" ]
  24. ++ lib.optionals config.services.jellyfin.enable [ "/var/lib/jellyfin" ]
  25. ++ lib.optionals config.mine.greetd.enable [ "/var/cache/regreet" ];
  26. files = [ "/etc/machine-id" ];
  27. };
  28. systemd.tmpfiles.rules = [
  29. # https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html
  30. "L /var/lib/NetworkManager/secret_key - - - - /persist/var/lib/NetworkManager/secret_key"
  31. "L /var/lib/NetworkManager/seen-bssids - - - - /persist/var/lib/NetworkManager/seen-bssids"
  32. "L /var/lib/NetworkManager/timestamps - - - - /persist/var/lib/NetworkManager/timestamps"
  33. ];
  34. }