Struct ::settings::Settings

Configuration of how konfigkoll should behave.

Methods

Set a package manager as the data source and target for file system checks.

Unlike package manager backends, there can only be one of these (otherwise the semantics would get confusing regarding which files are managed by which tool).

Valid values are:

  • "pacman" (Arch Linux and derivatives)
  • "apt" (Debian and derivatives)

This will return an error on other values.

Enable a package manager or other backend as a data source and target for package operations.

Multiple ones can be enabled at the same time (typically flatpak + native package manager).

Valid values are:

  • "pacman" (Arch Linux and derivatives)
  • "apt" (Debian and derivatives)
  • "flatpak" (Flatpak)

This will return an error on other values.

fn early_config(self, path: String) -> Tuple

Add a configuration file that should be applied early (before package installation). This is useful for files like /etc/passwd to assign the same IDs instead of auto assignment at package installation.

By default, /etc/passwd, /etc/group, /etc/shadow, and /etc/gshadow are already added.

The parameter is interpeted as a glob.

Set a configuration as sensitive, this will not be saved with save.

This is intended for things like /etc/shadow and /etc/gshadow (those are sensitive by default) to prevent accidental leaks.

You can add more such files with this function.

The parameter is interpeted as a glob.

fn set_diff(self, cmd: Vec) -> Tuple

Set the diff tool to use for comparing files.

Default is diff.

fn set_pager(self, cmd: Vec) -> Tuple

Set the pager to use for viewing files.

Default is to use $PAGER and fall back to less.

fn set_save_prefix(self, prefix: String) -> Tuple

Set the prefix for writing out lines in unsorted.rn.

This is useful if you wrap cmds with a context object of your own.