{
  lib,
  config,
  ...
}:
{
  # Common impermanence configuration shared by both btrfs and tmpfs variants
  # This module should be imported by impermanence.nix or impermanence-tmpfs.nix
  # The option custom.impermanence.persistPath is defined in common/global/impermanence-options.nix

  environment.persistence.${config.custom.impermanence.persistPath} = {
    directories = [
      "/var/lib/nixos"
      "/home"
    ];
    files = [
      "/etc/machine-id"
      "/etc/ssh/ssh_host_ed25519_key"
      "/etc/ssh/ssh_host_ed25519_key.pub"
      "/etc/ssh/ssh_host_rsa_key"
      "/etc/ssh/ssh_host_rsa_key.pub"
    ];
  };

  users.mutableUsers = false;

  security.sudo.extraConfig = ''
    Defaults lecture = never
  '';
}
