Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Garuda module options

71 options under garuda.*.

garuda.audio

garuda.audio.pipewire.enable

If set to true, a default configuration for Pipewire will be used.

  • Type: boolean
  • Default: false
  • Example: false
  • Declared in: internal/modules/base/sound.nix

garuda.btrfs-maintenance

garuda.btrfs-maintenance.deduplication

Enables the beesd service to deduplicate files in the background.

  • Type: boolean
  • Default: false
  • Declared in: internal/modules/base/services.nix

garuda.btrfs-maintenance.enable

Installs and enables some filesystem optimizations for BTRFS.

  • Type: boolean
  • Default: false
  • Declared in: internal/modules/base/services.nix

garuda.btrfs-maintenance.uuid

The UUID of the BTRFS filesystem to deduplicate.

  • Type: null or string
  • Default: null
  • Declared in: internal/modules/base/services.nix

garuda.catppuccin

garuda.catppuccin.enable

Catppuccin Mocha edition: consistent pastel theming across the desktop and applications via catppuccin/nix.

  • Type: boolean
  • Default: false
  • Example: true

garuda.chaotic-nyx

garuda.chaotic-nyx.cache.enable

If set to true, Chaotic’s Nyx will have its binary cache automatically enabled and managed.

  • Type: boolean
  • Default: true
  • Declared in: internal/modules/base/nyx.nix

garuda.dr460nized

garuda.dr460nized.enable

Dr460nized edition: vibrant Sweet-themed Plasma 6 gaming desktop, with matching login theme, apps and defaults. Mutually exclusive with garuda.mokka.

  • Type: boolean
  • Default: false
  • Example: true

garuda.excludes

garuda.excludes.defaultpackages.exclude

Remove individual entries from the “defaultpackages” list, matched by their string representation. Everything else stays as shipped.

  • Type: list of anything
  • Default: [ ]
  • Declared in: internal/modules/base/programs.nix

garuda.excludes.defaultpackages.excludeAll

Drop every entry the Garuda modules would otherwise put into the “defaultpackages” list (system packages, kernel parameters, nix-ld libraries, home-manager modules, …). Useful for minimal installs.

  • Type: boolean
  • Default: false
  • Declared in: internal/modules/base/programs.nix

garuda.excludes.home-manager-modules.exclude

Remove individual entries from the “home-manager-modules” list, matched by their string representation. Everything else stays as shipped.

  • Type: list of anything
  • Default: [ ]
  • Declared in: internal/modules/base/home-manager/home-manager.nix

garuda.excludes.home-manager-modules.excludeAll

Drop every entry the Garuda modules would otherwise put into the “home-manager-modules” list (system packages, kernel parameters, nix-ld libraries, home-manager modules, …). Useful for minimal installs.

  • Type: boolean
  • Default: false
  • Declared in: internal/modules/base/home-manager/home-manager.nix

garuda.excludes.kernelparameters.exclude

Remove individual entries from the “kernelparameters” list, matched by their string representation. Everything else stays as shipped.

  • Type: list of anything
  • Default: [ ]
  • Declared in: internal/modules/base/boot.nix

garuda.excludes.kernelparameters.excludeAll

Drop every entry the Garuda modules would otherwise put into the “kernelparameters” list (system packages, kernel parameters, nix-ld libraries, home-manager modules, …). Useful for minimal installs.

  • Type: boolean
  • Default: false
  • Declared in: internal/modules/base/boot.nix

garuda.excludes.nixldlibraries.exclude

Remove individual entries from the “nixldlibraries” list, matched by their string representation. Everything else stays as shipped.

  • Type: list of anything
  • Default: [ ]
  • Declared in: internal/modules/base/programs.nix

garuda.excludes.nixldlibraries.excludeAll

Drop every entry the Garuda modules would otherwise put into the “nixldlibraries” list (system packages, kernel parameters, nix-ld libraries, home-manager modules, …). Useful for minimal installs.

  • Type: boolean
  • Default: false
  • Declared in: internal/modules/base/programs.nix

garuda.flatpak

garuda.flatpak.enable

Whether to enable Flatpak with the Flathub remote pre-added.

  • Type: boolean
  • Default: false
  • Example: true
  • Declared in: internal/modules/base/flatpak.nix

garuda.fonts

garuda.fonts.enable

Reasonable fontconfig defaults.

  • Type: boolean
  • Default: false
  • Declared in: internal/modules/base/fonts.nix

garuda.gaming

garuda.gaming.enable

Gaming setup: Steam (with gamescope session), GameMode, and the CachyOS gaming kernel/userspace settings.

  • Type: boolean
  • Default: false
  • Example: true
  • Declared in: internal/modules/base/gaming.nix

garuda.garuda-chroot

garuda.garuda-chroot.boot-uuid

Provide the UUID of the Garuda boot partition

  • Type: string
  • Default: null
  • Example: "D9CB-2B11"
  • Declared in: internal/modules/base/mount-garuda.nix

garuda.garuda-chroot.enable

Enables mounting of the Garuda Linux root partition.

  • Type: boolean
  • Default: false
  • Example: true
  • Declared in: internal/modules/base/mount-garuda.nix

garuda.garuda-chroot.nvidia

Bind the NVIDIA device nodes into the container (host has an NVIDIA GPU).

  • Type: boolean
  • Default: false
  • Example: true
  • Declared in: internal/modules/base/mount-garuda.nix

garuda.garuda-chroot.pipewire

Bind the host PipeWire socket into the container for native audio.

  • Type: boolean
  • Default: true
  • Example: false
  • Declared in: internal/modules/base/mount-garuda.nix

garuda.garuda-chroot.root

Specifies where the Garuda Linux root partition should be mounted

  • Type: string
  • Default: "/var/lib/machines/garuda"
  • Example: "/mnt/ssd/garuda"
  • Declared in: internal/modules/base/mount-garuda.nix

garuda.garuda-chroot.root-uuid

Provide the UUID of the Garuda root partition

  • Type: string
  • Default: null
  • Example: "f498b189-79c7-40e4-859e-fadc1496ee8e"
  • Declared in: internal/modules/base/mount-garuda.nix

garuda.garuda-chroot.user

The default user of the Garuda / NixOS subsystem

  • Type: string
  • Default: null
  • Example: "garuda"
  • Declared in: internal/modules/base/mount-garuda.nix

garuda.garuda-chroot.wayland

Bind the host Wayland socket into the container to allow running GUI apps from within the Garuda installation on NixOS.

  • Type: boolean
  • Default: true
  • Example: true
  • Declared in: internal/modules/base/mount-garuda.nix

garuda.garuda-chroot.waylandSocket

Name of the host Wayland socket under /run/user/1000 to bind.

  • Type: string
  • Default: "wayland-0"
  • Example: "wayland-1"
  • Declared in: internal/modules/base/mount-garuda.nix

garuda.garuda-nix-manager

garuda.garuda-nix-manager.enable

Install garuda-nix-manager, the graphical tool for handling app installations.

  • Type: boolean
  • Default: false
  • Declared in: internal/modules/base/nix-manager.nix

garuda.hardware

garuda.hardware.autoDriver.enable

Whether to enable hardware auto-detection via nixos-facter.

  • Type: boolean
  • Default: true
  • Example: true
  • Declared in: internal/modules/base/hardware.nix

garuda.hardware.autoDriver.reportPath

Path to the nixos-facter report (written by the installer). Takes effect only when autoDriver.enable is set and the nixos-facter module is imported. Null disables it.

  • Type: null or absolute path
  • Default: null
  • Example: "./facter.json"
  • Declared in: internal/modules/base/hardware.nix

garuda.hardware.enable

Hardware baseline: CPU microcode updates, redistributable firmware, and the graphics stack (including 32-bit support on GUI systems).

  • Type: boolean
  • Default: true
  • Declared in: internal/modules/base/hardware.nix

garuda.hardware.laptop.enable

Whether to enable laptop power/thermal tuning.

  • Type: boolean
  • Default: false
  • Example: true
  • Declared in: internal/modules/base/hardware.nix

garuda.hardware.nvidia.amdgpuBusId

PCI bus ID of the AMD iGPU for PRIME offload (hardware.nvidia.prime.amdgpuBusId).

  • Type: null or string
  • Default: null
  • Example: "PCI:105:0:0"
  • Declared in: internal/modules/base/hardware.nix

garuda.hardware.nvidia.enable

Whether to enable proprietary NVIDIA driver support with the latest drivers.

  • Type: boolean
  • Default: false
  • Example: true
  • Declared in: internal/modules/base/hardware.nix

garuda.hardware.nvidia.nvidiaBusId

PCI bus ID of the NVIDIA dGPU for PRIME offload (hardware.nvidia.prime.nvidiaBusId).

  • Type: null or string
  • Default: null
  • Example: "PCI:1:0:0"
  • Declared in: internal/modules/base/hardware.nix

garuda.impermanence

garuda.impermanence.apps

Known apps whose state persists. Service apps enable automatically.

  • Type: list of (one of "accountsservice", "bluetooth", "docker", "firefox", "flatpak", "fprintd", "fwupd", "geoclue", "iwd", "libvirt", "modemmanager", "networkmanager", "nspawn", "plasmalogin", "podman", "printing", "rust", "samba", "steam", "thunderbird", "upower")
  • Default: [ ]
  • Declared in: internal/modules/base/impermanence/apps.nix

garuda.impermanence.device

Btrfs device holding the root/root-blank subvolumes.

  • Type: string
  • Default: "/dev/disk/by-label/nixos"
  • Declared in: internal/modules/base/impermanence

garuda.impermanence.enable

Whether to enable impermanence.

  • Type: boolean
  • Default: false
  • Example: true
  • Declared in: internal/modules/base/impermanence

garuda.impermanence.persistentUsers

Users whose .config/.local/share persist.

  • Type: list of string
  • Default: [ ]
  • Declared in: internal/modules/base/impermanence

garuda.impermanence.tmpfsRoot

Use tmpfs for / instead of rolling back a btrfs subvolume.

  • Type: boolean
  • Default: false
  • Declared in: internal/modules/base/impermanence

garuda.kde

garuda.kde.fontName

Fontconfig name matching fontPackage.

  • Type: string
  • Default: "Inter"
  • Example: "Fira"
  • Declared in: internal/modules/base/kde.nix

garuda.kde.fontPackage

Sans/serif interface font of the enabled edition.

  • Type: package
  • Default: <derivation inter-4.1>
  • Example: <derivation fira-4.301>
  • Declared in: internal/modules/base/kde.nix

garuda.kde.ocrLang

Tesseract OCR languages bundled into Spectacle (screenshot tool).

  • Type: list of string
  • Default: [ "eng" ]
  • Example: [ "eng" "deu" ]
  • Declared in: internal/modules/base/kde.nix

garuda.kde.themePackage

Plasma look-and-feel package (global theme, window decorations, login screen) applied to the desktop. Defaults to the theme of the enabled edition.

  • Type: package
  • Default: <derivation kde-0.2.6>
  • Example: <derivation breeze-6.7.5>
  • Declared in: internal/modules/base/kde.nix

garuda.kde.wallpaper

Wallpaper path inside themePackage, used for the login greeter.

  • Type: string
  • Default: "share/wallpapers/Tree/contents/images/Tree.jpg"
  • Declared in: internal/modules/base/kde.nix

garuda.managed

garuda.managed.config

Path to garuda-managed.json, written by garuda-nix-manager. It carries the managed settings — hostname, locale, timezone, keymap, auto-detected virtualisation, and extra packages — merged underneath your explicit configuration via gDefault, so anything you set yourself always overrides the defaults.

  • Type: null or absolute path
  • Default: null
  • Declared in: internal/modules/base/managed

garuda.mokka

garuda.mokka.enable

Mokka edition: calm dark Plasma 6 desktop in the Catppuccin Mocha palette, with matching login theme, apps and defaults. Mutually exclusive with garuda.dr460nized.

  • Type: boolean
  • Default: false
  • Example: true

garuda.networking

garuda.networking.enable

NetworkManager (loopback, docker and libvirt interfaces unmanaged, Wi-Fi powersaving off), legacy DHCP/wireless services disabled, and the wireless regulatory database enabled.

  • Type: boolean
  • Default: false
  • Example: true
  • Declared in: internal/modules/base/networking.nix

garuda.networking.iwd

Use iwd as the NetworkManager Wi-Fi backend.

  • Type: boolean
  • Default: false
  • Example: true
  • Declared in: internal/modules/base/networking.nix

garuda.networking.tweakKernel

Lower-latency networking: TCP BBR congestion control with the cake queueing discipline and a shorter TCP FIN timeout.

  • Type: boolean
  • Default: true
  • Example: true
  • Declared in: internal/modules/base/networking.nix

garuda.noLoginManagerAutologin

garuda.noLoginManagerAutologin.enable

Whether to enable autologin to desktop instead of using the login manager.

  • Type: boolean
  • Default: false
  • Example: true
  • Declared in: internal/modules/base/autologin.nix

garuda.noLoginManagerAutologin.startupCommand

The command to be executed after login.

  • Type: null or string
  • Default: null
  • Example: "startplasma-wayland"
  • Declared in: internal/modules/base/autologin.nix

garuda.noLoginManagerAutologin.user

The user to automatically login.

  • Type: null or string
  • Default: null
  • Example: "nixos"
  • Declared in: internal/modules/base/autologin.nix

garuda.performance-tweaks

garuda.performance-tweaks.enable

If set to true, this module will enable Garuda’s powersave tweaks. Conflicts with garuda.powersave-tweaks, only one may be enabled.

  • Type: boolean
  • Default: false
  • Example: true
  • Declared in: internal/modules/base/performance.nix

garuda.powersave-tweaks

garuda.powersave-tweaks.enable

If set to true, this module will enable Garuda’s powersave tweaks. Conflicts with garuda.performance-tweaks, only one may be enabled.

  • Type: boolean
  • Default: false
  • Example: true
  • Declared in: internal/modules/base/powersave.nix

garuda.preset

garuda.preset

Preset mapping to performance/powersave, ssh, firewall.

  • Type: null or one of "desktop", "laptop", "server", "handheld"
  • Default: null
  • Declared in: internal/modules/base/presets.nix

garuda.printing

garuda.printing.enable

Installs and enables printing support (CUPS + drivers).

  • Type: boolean
  • Default: false
  • Declared in: internal/modules/base/services.nix

garuda.samba

garuda.samba.enable

Installs and enables Samba file sharing. Shares themselves are user-defined via services.samba.settings.

  • Type: boolean
  • Default: false
  • Declared in: internal/modules/base/services.nix

garuda.scanning

garuda.scanning.enable

Installs and enables scanner support (SANE + AirScan + IPP-USB).

  • Type: boolean
  • Default: false
  • Declared in: internal/modules/base/services.nix

garuda.shell

garuda.shell.enable

Sets Fish as interactive shell (auto-launched from bash), micro as default editor, and adds Garuda’s shell aliases.

  • Type: boolean
  • Default: true
  • Declared in: internal/modules/base/shells.nix

garuda.subsystem

garuda.subsystem.enable

Run this NixOS install as a subsystem inside Garuda Linux: it derives certain settings from the Garuda installation, imports the host’s users, shares their home directories and mounts the Garuda root filesystem for cross-system access.

  • Type: boolean
  • Default: false
  • Declared in: internal/modules/base/managed

garuda.subsystem.import-networkmanager

Bind-mount the Garuda host’s NetworkManager system-connections into this system, so Wi-Fi and VPN profiles are shared instead of configured twice.

  • Type: boolean
  • Default: true
  • Declared in: internal/modules/base/managed

garuda.subsystem.imported-users.enable

Recreate the Garuda host users inside this system. Disable to manage users purely via users.users instead.

  • Type: boolean
  • Default: true
  • Declared in: internal/modules/base/managed/subsystem/imported-users.nix

garuda.subsystem.imported-users.shared-home.enable

Share the imported users’ ~/.config, ~/.local and ~/.cache between the Garuda host home and the NixOS home via bind mounts, so app settings carry over to the subsystem.

  • Type: boolean
  • Default: true
  • Declared in: internal/modules/base/managed/subsystem/imported-users.nix

garuda.subsystem.imported-users.shared-home.uuid

UUID of the Garuda BTRFS filesystem holding the @home subvolume that the shared home directories are mounted from. Set automatically from garuda-managed.json.

  • Type: string
  • Declared in: internal/modules/base/managed/subsystem/imported-users.nix

garuda.subsystem.imported-users.users

User accounts imported from the Garuda host (populated from garuda-managed.json), keyed by username. Each entry recreates the host user witht the same UID, home and admin rights inside NixOS.

  • Type: attribute set of (submodule)
  • Default: { }
  • Declared in: internal/modules/base/managed/subsystem/imported-users.nix

garuda.subsystem.imported-users.users.<name>.home

Home directory of the imported user, e.g. /home/garuda.

  • Type: string
  • Declared in: internal/modules/base/managed/subsystem/imported-users.nix

garuda.subsystem.imported-users.users.<name>.passwordHash

Hashed initial password, used as initialHashedPassword.

  • Type: string
  • Declared in: internal/modules/base/managed/subsystem/imported-users.nix

garuda.subsystem.imported-users.users.<name>.uid

Numeric UID, kept identical to the Garuda host user.

  • Type: signed integer
  • Declared in: internal/modules/base/managed/subsystem/imported-users.nix

garuda.subsystem.imported-users.users.<name>.wheel

Whether the imported user gets wheel (sudo) membership.

  • Type: boolean
  • Declared in: internal/modules/base/managed/subsystem/imported-users.nix

garuda.subsystem.useGrub

Install GRUB (device “nodev”) so the Garuda host bootloader can chainload this system. Disable when the host bootloader already handles booting or another loader is used.

  • Type: boolean
  • Default: true
  • Declared in: internal/modules/base/managed