Installing Garuda Nix
Two frontends install the same Garuda flake. Pick one.
Calamares (GUI)
Section titled “Calamares (GUI)”The graphical installer keeps it simple on purpose. Pick an edition (mokka, dr460nized) and pick optional features (gaming, printing, and more). Further customization can be done after the installation is complete.
install-garuda-nix (CLI)
Section titled “install-garuda-nix (CLI)”The command-line installer covers everything the GUI does, plus:
- Presets: choose from
desktop,laptop,server, orhandheld. - Partition layouts: choose from
ext4,btrfs,luks-ext4,luks-btrfs,btrfs-impermanence,luks-btrfs-impermanence,ext4-impermanence,luks-ext4-impermanence. - Impermanence: choosing impermanence automatically sets up either btrfs rollback or root on tmpfs.
- Passwords: the user (
--password) and root (--root-password) passwords are hashed with yescrypt and written into the generated config, so they survive impermanence and rollback.
This can either be done interactively or non-interactively.
Example:
sudo install-garuda-nix --edition mokka --preset desktop \ --feature gaming --feature printing \ --hostname mypc --username nico \ --disk /dev/sda --schema btrfs --installAll options
Section titled “All options”usage: install-garuda-nix [-h] [--edition {mokka,dr460nized}] [--preset {desktop,laptop,server,handheld}] [--feature FEATURE] [--root ROOT] [--disk DISK] [--schema {ext4,btrfs,luks-ext4,luks-btrfs,btrfs-impermanence,luks-btrfs-impermanence,ext4-impermanence,luks-ext4-impermanence}] [--luks-pass-file LUKS_PASS_FILE] [--yes] [--hostname HOSTNAME] [--username USERNAME] [--fullname FULLNAME] [--no-autologin] [--timezone TIMEZONE] [--locale LOCALE] [--xkb-layout XKB_LAYOUT] [--xkb-variant XKB_VARIANT] [--vconsole VCONSOLE] [--bootloader {auto,systemd-boot,grub,none}] [--grub-device GRUB_DEVICE] [--kernel {cachyos,lts,latest}] [--flake-ref FLAKE_REF] [--state-version STATE_VERSION] [--allow-unfree | --no-allow-unfree] [--install | --no-install] [--no-bootloader] [--tui] [--password PASSWORD] [--root-password ROOT_PASSWORD]Common options:
--diskwipes and partitions the disk before installing. Without it,--rootis used when mounted, otherwise the installer asks.--schemasets the partitioning layout for--disk. The default isbtrfs.--yesskips the disk-wipe confirmation. Use it with care.--bootloaderisautoby default.autouses systemd-boot on UEFI. Otherwise GRUB needs--grub-device, for example/dev/sdaon BIOS installs.--kernelpickscachyos,ltsorlatest.--installand--no-installcontrol whethernixos-installruns afterwards. It runs by default.--tuiforces the interactive wizard, even when all flags are given.
Install from the flake
Section titled “Install from the flake”On any NixOS host with internet, run the installer directly from the published flake:
sudo nix run "git+https://gitlab.com/garuda-linux/garuda-nix.git?ref=stable#install-garuda-nix" -- \ --edition mokka --hostname mypc --username nico --install--flake-ref defaults to that same stable ref, so the generated config already points at it. Future rebuilds are just nixos-rebuild switch --flake /etc/nixos#mypc. Pass another ref to --flake-ref to track a different branch instead.
Module options
Section titled “Module options”Both installers write a flake config built from the same template. What lands in configuration.nix is controlled by the module options, for example garuda.gaming.enable and garuda.impermanence.*. Presets and features are shortcuts that flip those options on.