Persistent Storage

Hier sollte dringend mehr Text stehen!

Options

teenix.persist.enable

A wrapper arround impermanence and btrbk. Expects a btrfs filesystem with the following layout:

  • /root <- The actual root mounted at /
  • /nix <- The root for all things nix. Mounted at /nix
  • /persist <- The root of all other persistent storage, mounted at /persist

Note: For systems that use more than one (logical) drive, simply mount more

Type: boolean

Default: false

Example: true

teenix.persist.path

The root directory for all of non generated persistent storage, except /nix and /boot.

Type: non-empty string

Default: "/persist"

teenix.persist.subvolumes

Subvolumes that should be persistent.

Type: attribute set of (submodule)

Default: { }

teenix.persist.subvolumes.<name>.backup

Whether to enable automatic snapshotting of this subvolume.

Type: boolean

Default: true

Example: true

teenix.persist.subvolumes.<name>.backupUnitTriggers

List of unit names. If any of these units get started or restarted during activation, backup this subvolume.

Type: list of string matching the pattern [a-zA-Z0-9@%:_.\-]+[.](service|socket|device|mount|automount|swap|target|path|timer|scope|slice)

Default: [ ]

teenix.persist.subvolumes.<name>.bindMountDirectories

Whether all directories inside this subvolume should be bind-mounted to their respective paths in / (according to their name).

Type: boolean

Default: false

Example: true

teenix.persist.subvolumes.<name>.directories

Directories that should be created per default inside the subvolume

Type: attribute set of (submodule)

Default: { }

teenix.persist.subvolumes.<name>.directories.<name>.group

Group for this directory. If set to null, the group will not be enforced

Type: null or signed integer or non-empty string

Default: "root"

teenix.persist.subvolumes.<name>.directories.<name>.mode

Mode for this directory. If set to null, the mode will not be enforced

Type: null or non-empty string

Default: "0755"

teenix.persist.subvolumes.<name>.directories.<name>.owner

Owner for this directory. If set to null, the owner will not be enforced

Type: null or signed integer or non-empty string

Default: "root"

teenix.persist.subvolumes.<name>.group

The group of the subvolume. If set to null, the group will not be enforced

Type: null or signed integer or non-empty string

Default: "root"

teenix.persist.subvolumes.<name>.mode

The mode of the subvolume. If set to null, the mode will not be enforced

Type: null or non-empty string

Default: "0755"

teenix.persist.subvolumes.<name>.owner

The owner of the subvolume. If set to null, the owner will not be enforced

Type: null or signed integer or non-empty string

Default: "root"

teenix.persist.subvolumes.<name>.path

Path this subvolume will be mounted at

Type: non-empty string (read only)

Default: "/persist/‹name›"