System options

Snap supports a set of system-wide options that allow you to customise your snap environment.

As with Configuration in snaps, these options are changed with the set and get commands, but with a target of system instead of a specific snap:

$ snap set system some.option="some value"
$ snap get system some.option

Configuration options can be unset by either passing their names to the unset command or by
adding an exclamation mark (!) to the end of an option name: (from snapd 2.41+):

$ snap unset system some.option
$ # or
$ snap set system some.option!

With snapd versions prior to 2.32.5, the system target needs to be replaced with core.

Supported options:

pi-config

On a Raspberry Pi, the following options set corresponding values in the config.txt system configuration file:

  • pi-config.disable-overscan
  • pi-config.framebuffer-width
  • pi-config.framebuffer-height
  • pi-config.framebuffer-depth
  • pi-config.framebuffer-ignore_alpha
  • pi-config.overscan-left
  • pi-config.overscan-right
  • pi-config.overscan-top
  • pi-config.overscan-bottom
  • pi-config.overscan-scale
  • pi-config.display-rotate
  • pi-config.hdmi-group
  • pi-config.hdmi-mode
  • pi-config.hdmi-drive
  • pi-config.avoid-warnings
  • pi-config.gpu-mem-256
  • pi-config.gpu-mem-512
  • pi-config.gpu-mem

Further details on the above, see the official Raspberry Pi documentation.

proxy.{http,https,ftp}

These options may be set to change the proxies to be used by the system when communicating with external sites that speak the respective protocols.

Available since snapd 2.28.

refresh

There are four system-wide options that are used to manage how updates are handed:

  • refresh.timer: defines the refresh frequency and schedule
  • refresh.hold: delays the next refresh until the defined time and date
  • refresh.metered: pauses refresh updates when network connection is metered
  • refresh.retain: sets how many revisions of a snap are stored on the system

See Controlling updates for further details on how the above options are used.

service.ssh.disable

May be set to true for disabling the SSH service at startup.

Available since snapd 2.22.

snapshots.automatic.retention

Automatic snapshot retention time is configured with the snapshots.automatic.retention system option. The default value is 31 days, and the value needs to be greater than 24 hours:

$ snap set system snapshots.automatic.retention=30h

To disable automatic snapshots, set the retention time to no:

$ snap set system snapshots.automatic.retention=no

Disabling automatic snapshots will not affect preexisting, automatically generated snapshots, but only those generated by subsequent snap removals.

Automatic snapshots require snap version 2.39+.

store-certs

A custom SSL certificate can be added to snapd’d trusted certificates pool for the store communication with the store-certs.<name>=<value> system option.

To add a certificate, enter the following:

$ snap set system store-certs.cert1="$(cat /path/to/mycert)"

A certificate can be removed with unset:

$ snap unset system store-certs.cert1

Available since snapd 2.45

system.power-key-action

Defines the behaviour of the system when the power key is pressed.

May be set to one of:

  • ignore
  • poweroff
  • reboot
  • halt
  • kexec
  • suspend
  • hibernate
  • hybrid-sleep
  • lock

Available since snapd 2.23.

Last updated 23 days ago. Help improve this document in the forum.