Skip to content

nixos

A set of packages to install in the garden environment.

Type: lazy attribute set of package

Default:

{ }

Declared by:

Whether to enable bluetooth support.

Type: boolean

Default:

true

Example:

true

Declared by:

Whether the system has tpm support

Type: boolean

Default:

false

Declared by:

Whether to enable yubikey support.

Type: boolean

Default:

false

Example:

true

Declared by:

The manufacturer of the primary system cpu

Type: null or one of “intel”, “vm-intel”, “amd”, “vm-amd”

Default:

null

Declared by:

The manufacturer of the primary system gpu

Type: null or one of “amd”, “intel”, “nvidia”

Default:

null

Declared by:

the keyboard layout to use for a given system

Type: one of “us”, “gb”

Default:

"gb"

Declared by:

this does not affect any drivers and such, it is only necessary for declaring things like monitors in window manager configurations you can avoid declaring this, but I’d rather if you did declare

Type: attribute set of (submodule)

Declared by:

the height of the monitor in pixels

Type: signed integer

Default:

1080

Example:

1024

Declared by:

the name of the monitor

Type: string

Default:

"‹name›"

Example:

"HDMI-1"

Declared by:

garden.device.monitors.<name>.refresh-rate

Section titled “garden.device.monitors.<name>.refresh-rate”

the refresh rate of the monitor in Hz

Type: signed integer

Default:

60

Example:

120

Declared by:

the scale factor for the monitor

Type: floating point number

Default:

1.0

Example:

1.5

Declared by:

the width of the monitor in pixels

Type: signed integer

Default:

1920

Example:

1080

Declared by:

The path to the configuration

Type: string

Default:

"/Users/isabel/.config/flake"

Declared by:

Whether to enable Graphical interface.

Type: boolean

Default:

false

Example:

true

Declared by:

Whether to enable Headless.

Type: boolean

Default:

false

Example:

true

Declared by:

Whether to enable Hetzner Cloud profile.

Type: boolean

Default:

false

Example:

true

Declared by:

The IPv4 address to assign to the server. This should be a single IP address, not a range.

Type: string

Declared by:

The IPv6 address to assign to the server. This should be a single IP address, not a range.

Type: string

Declared by:

Whether to enable Laptop.

Type: boolean

Default:

false

Example:

true

Declared by:

Whether to enable Oracle Cloud profile.

Type: boolean

Default:

false

Example:

true

Declared by:

Whether to enable Server.

Type: boolean

Default:

false

Example:

true

Declared by:

Whether to enable UpCloud profile.

Type: boolean

Default:

false

Example:

true

Declared by:

Whether to enable Workstation.

Type: boolean

Default:

false

Example:

true

Declared by:

Whether to enable Enable the akkoma service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the akkoma service

Type: string

Default:

"networking.domain"

Declared by:

The host for akkoma service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for akkoma service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

0

Declared by:

Whether to enable Enable the anubis service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the anubis service

Type: string

Default:

"networking.domain"

Declared by:

The host for anubis service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for anubis service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

0

Declared by:

Whether to enable arr services.

Type: boolean

Default:

false

Example:

true

Declared by:

Directory for storing application data for arr services

Type: string

Default:

"\${cfg.mediaDir}/content"

Declared by:

Directory for storing media files managed by arr services

Type: string

Default:

"/media"

Declared by:

Group that owns the media and content directories

Type: string

Default:

"media"

Declared by:

User that owns the media and content directories

Type: string

Default:

"root"

Declared by:

Whether to enable open the firewall for the arr services.

Type: boolean

Default:

"true"

Example:

true

Declared by:

Whether to enable Enable the attic service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the attic service

Type: string

Default:

"networking.domain"

Declared by:

The host for attic service

Type: string

Default:

"[::]"

Declared by:

The port for attic service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3003

Declared by:

Whether to enable Enable the atuin service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the atuin service

Type: string

Default:

"networking.domain"

Declared by:

The host for atuin service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for atuin service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3004

Declared by:

Whether to enable Enable the blahaj service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the blahaj service

Type: string

Default:

"networking.domain"

Declared by:

The host for blahaj service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for blahaj service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

0

Declared by:

Whether to enable Enable the borgbackup service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the borgbackup service

Type: string

Default:

"networking.domain"

Declared by:

The host for borgbackup service

Type: string

Default:

"127.0.0.1"

Declared by:

Define borg backup jobs.

Type: attribute set of (submodule)

Default:

{ }

Declared by:

garden.services.borgbackup.jobs.<name>.enable

Section titled “garden.services.borgbackup.jobs.<name>.enable”

Whether to enable borgbackup job.

Type: boolean

Default:

"true"

Example:

true

Declared by:

garden.services.borgbackup.jobs.<name>.exclude

Section titled “garden.services.borgbackup.jobs.<name>.exclude”

List of glob patterns to exclude from the backup.

Type: list of string

Default:

[ ]

Example:

[
"*.cache"
"*.tmp"
]

Declared by:

garden.services.borgbackup.jobs.<name>.passkeyFile

Section titled “garden.services.borgbackup.jobs.<name>.passkeyFile”

Path to the file containing the Borg repository passkey.

Type: absolute path

Example:

"/run/secrets/borg-passkey"

Declared by:

garden.services.borgbackup.jobs.<name>.paths

Section titled “garden.services.borgbackup.jobs.<name>.paths”

List of paths to back up.

Type: list of absolute path

Default:

[ ]

Example:

[
"/home/user/Documents"
"/etc"
]

Declared by:

garden.services.borgbackup.jobs.<name>.repo

Section titled “garden.services.borgbackup.jobs.<name>.repo”

The Borg repository location.

Type: string

Example:

"repo"

Declared by:

The port for borgbackup service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

0

Declared by:

Whether to enable Enable the cloudflared service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the cloudflared service

Type: string

Default:

"networking.domain"

Declared by:

The host for cloudflared service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for cloudflared service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

0

Declared by:

Whether to enable Enable the forgejo service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the forgejo service

Type: string

Default:

"networking.domain"

Declared by:

The host for forgejo service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for forgejo service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3011

Declared by:

Whether to enable Enable the immich service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the immich service

Type: string

Default:

"networking.domain"

Declared by:

The host for immich service

Type: string

Default:

"0.0.0.0"

Declared by:

The port for immich service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3007

Declared by:

garden.services.isabelroses-website.enable

Section titled “garden.services.isabelroses-website.enable”

Whether to enable Enable the isabelroses-website service.

Type: boolean

Default:

false

Example:

true

Declared by:

garden.services.isabelroses-website.domain

Section titled “garden.services.isabelroses-website.domain”

Domain name for the isabelroses-website service

Type: string

Default:

"networking.domain"

Declared by:

The host for isabelroses-website service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for isabelroses-website service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

0

Declared by:

Whether to enable Enable the jellyfin service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the jellyfin service

Type: string

Default:

"networking.domain"

Declared by:

The host for jellyfin service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for jellyfin service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

8096

Declared by:

Whether to enable Enable the kanidm service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the kanidm service

Type: string

Default:

"networking.domain"

Declared by:

The host for kanidm service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for kanidm service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3010

Declared by:

Whether to enable Enable the mailserver service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the mailserver service

Type: string

Default:

"networking.domain"

Declared by:

The host for mailserver service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for mailserver service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

0

Declared by:

Whether to enable Enable the matrix service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the matrix service

Type: string

Default:

"networking.domain"

Declared by:

The host for matrix service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for matrix service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3012

Declared by:

Whether to enable Enable the nginx service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the nginx service

Type: string

Default:

"networking.domain"

Declared by:

The host for nginx service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for nginx service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

0

Declared by:

Whether to enable Enable the nixpkgs-prs-bot service.

Type: boolean

Default:

false

Example:

true

Declared by:

garden.services.nixpkgs-prs-bot.bsky.enable

Section titled “garden.services.nixpkgs-prs-bot.bsky.enable”

Whether to enable bsky.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the nixpkgs-prs-bot service

Type: string

Default:

"networking.domain"

Declared by:

garden.services.nixpkgs-prs-bot.fedi.enable

Section titled “garden.services.nixpkgs-prs-bot.fedi.enable”

Whether to enable fedi.

Type: boolean

Default:

false

Example:

true

Declared by:

The host for nixpkgs-prs-bot service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for nixpkgs-prs-bot service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

0

Declared by:

Whether to enable Enable the pds service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the pds service

Type: string

Default:

"networking.domain"

Declared by:

The host for pds service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for pds service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3001

Declared by:

Whether to enable Enable the pds-dash service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the pds-dash service

Type: string

Default:

"networking.domain"

Declared by:

The host for pds-dash service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for pds-dash service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3014

Declared by:

Whether to enable Enable the pds-gatekeeper service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the pds-gatekeeper service

Type: string

Default:

"networking.domain"

Declared by:

The host for pds-gatekeeper service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for pds-gatekeeper service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3002

Declared by:

Whether to enable Enable the piper service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the piper service

Type: string

Default:

"networking.domain"

Declared by:

The host for piper service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for piper service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3015

Declared by:

Whether to enable Enable the postgresql service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the postgresql service

Type: string

Default:

"networking.domain"

Declared by:

The host for postgresql service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for postgresql service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

0

Declared by:

Whether to enable Enable the prowlarr service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the prowlarr service

Type: string

Default:

"networking.domain"

Declared by:

The host for prowlarr service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for prowlarr service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3022

Declared by:

Whether to enable Enable the qbittorrent service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the qbittorrent service

Type: string

Default:

"networking.domain"

Declared by:

The host for qbittorrent service

Type: string

Default:

"0.0.0.0"

Declared by:

The port for qbittorrent service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3019

Declared by:

Whether to enable Enable the radarr service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the radarr service

Type: string

Default:

"networking.domain"

Declared by:

The host for radarr service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for radarr service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3021

Declared by:

Whether to enable Enable the redis service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the redis service

Type: string

Default:

"networking.domain"

Declared by:

The host for redis service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for redis service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

0

Declared by:

Whether to enable Enable the sonarr service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the sonarr service

Type: string

Default:

"networking.domain"

Declared by:

The host for sonarr service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for sonarr service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3020

Declared by:

Whether to enable Enable the tranquil service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the tranquil service

Type: string

Default:

"networking.domain"

Declared by:

The host for tranquil service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for tranquil service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3032

Declared by:

Whether to enable Enable the uptime-kuma service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the uptime-kuma service

Type: string

Default:

"networking.domain"

Declared by:

The host for uptime-kuma service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for uptime-kuma service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3008

Declared by:

Whether to enable Enable the vaultwarden service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the vaultwarden service

Type: string

Default:

"networking.domain"

Declared by:

The host for vaultwarden service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for vaultwarden service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3013

Declared by:

Whether to enable Enable the wakapi service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the wakapi service

Type: string

Default:

"networking.domain"

Declared by:

The host for wakapi service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for wakapi service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

3006

Declared by:

Whether to enable Enable the xmrig service.

Type: boolean

Default:

false

Example:

true

Declared by:

Domain name for the xmrig service

Type: string

Default:

"networking.domain"

Declared by:

The host for xmrig service

Type: string

Default:

"127.0.0.1"

Declared by:

The port for xmrig service

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default:

0

Declared by:

Whether to enable loading bluetooth drivers and enable blueman.

Type: boolean

Default:

false

Example:

true

Declared by:

The device to install the bootloader to.

Type: null or string

Default:

"nodev"

Declared by:

garden.system.boot.initrd.optimizeCompressor

Section titled “garden.system.boot.initrd.optimizeCompressor”

Whether to enable initrd compression algorithm optimizations for size. Enabling this option will force initrd to use zstd (default) with level 19 and -T0 (STDIN). This will reduce thee initrd size greatly at the cost of compression speed. Not recommended for low-end hardware. .

Type: boolean

Default:

"config.garden.profiles.workstation.enable"

Example:

true

Declared by:

Whether to enable quality of life tweaks for the initrd stage.

Type: boolean

Default:

true

Example:

true

Declared by:

The bootloader that should be used for the device.

Type: one of “none”, “grub”, “systemd-boot”

Default:

"none"

Declared by:

Whether to enable memtest86+.

Type: boolean

Default:

false

Example:

true

Declared by:

The memtest86plus package to use.

Type: package

Default:

pkgs.memtest86plus

Declared by:

Whether to enable secure-boot and load necessary packages.

Type: boolean

Default:

false

Example:

true

Declared by:

Whether to enable almost entirely silent boot process through quiet kernel parameter .

Type: boolean

Default:

false

Example:

true

Declared by:

Whether to enable /tmp living on tmpfs. false means it will be cleared manually on each reboot.

Type: boolean

Default:

true

Example:

true

Declared by:

Whether to enable emulation of additional arcitechtures via binfmt. enabling this option will make it so that the system can build for additional systems such as aarc64 on x86_64 and vice versa. .

Type: boolean

Default:

false

Example:

true

Declared by:

the systems to enable emulation for

Type: list of string

Default:

[
"aarch64-linux"
"i686-linux"
]

Declared by:

The kernel to use for the system.

Type: raw value

Default:

"pkgs.linuxPackages_latest"

Declared by:

Whether to enable security and performance related kernel parameters.

Type: boolean

Default:

true

Example:

true

Declared by:

The username of the main user for your system

Type: value “isabel” (singular enum)

Default:

"isabel"

Declared by:

Whether to enable Enable tcp optimizations.

Type: boolean

Default:

true

Example:

true

Declared by:

Whether to enable Tailscale VPN.

Type: boolean

Default:

"true"

Example:

true

Declared by:

garden.system.networking.tailscale.defaultFlags

Section titled “garden.system.networking.tailscale.defaultFlags”

A list of command-line flags that will be passed to the Tailscale daemon on startup using the config.services.tailscale.extraUpFlags. If isServer is set to true, the server-specific values will be appended to the list defined in this option.

Type: list of string

Default:

[
"--ssh"
]

Declared by:

garden.system.networking.tailscale.isClient

Section titled “garden.system.networking.tailscale.isClient”

Whether the target host should utilize Tailscale client features”; This option is mutually exclusive with config.services.tailscale.isServer as they both configure Taiscale, but with different flags

Type: boolean

Default:

config.garden.profiles.workstation.enable

Example:

true

Declared by:

garden.system.networking.tailscale.isServer

Section titled “garden.system.networking.tailscale.isServer”

Whether the target host should utilize Tailscale server features. This option is mutually exclusive with config.services.tailscale.isClient as they both configure Taiscale, but with different flags

Type: boolean

Default:

config.garden.profiles.server.enable

Example:

true

Declared by:

Whether to enable printing.

Type: boolean

Default:

false

Example:

true

Declared by:

A list of additional drivers to install for printing

Type: attribute set of absolute path

Default:

{ }

Declared by:

Whether to enable Enable the audit daemon.

Type: boolean

Default:

false

Example:

true

Declared by:

garden.system.security.auditd.autoPrune.enable

Section titled “garden.system.security.auditd.autoPrune.enable”

Whether to enable Enable auto-pruning of audit logs.

Type: boolean

Default:

false

Example:

true

Declared by:

garden.system.security.auditd.autoPrune.dates

Section titled “garden.system.security.auditd.autoPrune.dates”

How often the audit log should be pruned

Type: string

Default:

"daily"

Example:

"weekly"

Declared by:

garden.system.security.auditd.autoPrune.size

Section titled “garden.system.security.auditd.autoPrune.size”

The maximum size of the audit log in bytes

Type: signed integer

Default:

524288000

Declared by:

Whether to enable allow for none patched binaries to be run.

Type: boolean

Default:

false

Example:

true

Declared by:

Whether to enable Fix the broken webcam by un-blacklisting the related kernel module…

Type: boolean

Default:

false

Example:

true

Declared by:

Whether to enable tools.

Type: boolean

Default:

true

Example:

true

Declared by:

Whether to enable limit to minimal system tooling.

Type: boolean

Default:

true

Example:

true

Declared by:

A list of users that you wish to declare as your non-system users. The first username in the list will be treated as your main user unless garden.system.mainUser is set.

Type: list of string

Default:

[
"isabel"
]

Declared by: