Self Options
self.colors.theme Link copied!
one of "gruvbox", "dracula"The colorscheme that should be used globally.
"gruvbox"self.colors.themeself.colors.variant Link copied!
one of "dark", "light"Default variant for the chosen colorscheme.
"dark"self.colors.variantself.device.cpu.type Link copied!
one of "amd", "intel"The manufacturer of the primary system CPU.
self.device.cpu.typeself.device.gpu.type Link copied!
null or value "nvidia" (singular enum)The manufacturer of the primary system GPU.
nullself.device.gpu.typeself.device.monitors Link copied!
list of (submodule)A list of monitors connected to the system.
[ ]self.device.monitorsself.device.monitors.*.enable Link copied!
booleanWhether to enable this monitor.
truetrueself.device.monitors.*.isVertical Link copied!
booleanWhether the monitor is vertical.
(lib.mod config.transform 2) == 1self.device.monitors.*.refreshRate Link copied!
null or stringRefresh rate of the monitor. Use null for the default refresh rate.
nullself.device.monitors.*.scale Link copied!
floating point numberScale of the monitor.
1.0self.device.monitors.*.transform Link copied!
integer between 0 and 7 (both inclusive)Rotate the output counter-clockwise.
0 -> normal (no transforms) 1 -> 90 degrees 2 -> 180 degrees 3 -> 270 degrees 4 -> flipped 5 -> flipped + 90 degrees 6 -> flipped + 180 degrees 7 -> flipped + 270 degrees
0self.device.monitors.*.variableRefreshRate Link copied!
booleanWhether to enable Variable Refresh Rate.
falsetrueself.device.monitors.*.x Link copied!
signed integerPosition x coordinate of the monitor.
0self.device.monitors.*.y Link copied!
signed integerPosition y coordinate of the monitor.
0self.docs.enable Link copied!
booleanWhether to enable generation of internal module documentation to /etc/nixos/docs.
falsetrueself.docs.enableself.programs.browser.chromium.enable Link copied!
booleanWhether to enable chromium.
falsetrueself.programs.browser.chromium.enableself.programs.browser.chromium.ungoogled Link copied!
booleanWhether to enable ungoogled chromium patches.
truetrueself.programs.browser.chromium.ungoogledself.programs.browser.firefox.enable Link copied!
booleanWhether to enable firefox.
falsetrueself.programs.browser.firefox.enableself.programs.browser.nyxt.enable Link copied!
booleanWhether to enable nyxt.
falsetrueself.programs.browser.nyxt.enableself.programs.browser.qutebrowser.enable Link copied!
booleanWhether to enable qutebrowser.
falsetrueself.programs.browser.qutebrowser.enableself.programs.browser.tor-browser.enable Link copied!
booleanWhether to enable tor-browser.
falsetrueself.programs.browser.tor-browser.enableself.programs.default.browser.name Link copied!
null or one of "chromium", "firefox", "nyxt", "qutebrowser", "tor-browser"The default browser to use. This will automatically enable the corresponding program.
`"chromium"` if using Wayland or X11, `null` otherwise
self.programs.default.browser.nameself.programs.default.editor.name Link copied!
one of "helix", "neovim"The default editor to use. This will automatically enable the corresponding program.
"helix"self.programs.default.editor.nameself.programs.default.imageViewer.name Link copied!
null or one of "imv", "nsxiv"The default image viewer to use. This will automatically enable the corresponding program.
`"imv"` if using Wayland or X11, `null` otherwise
self.programs.default.imageViewer.nameself.programs.default.launcher.name Link copied!
null or one of "dmenu", "fuzzel", "tofi", "vicinae"The default launcher to use. This will automatically enable the corresponding program.
`"fuzzel"` if using Wayland, `"dmenu"` if using X11, `null` otherwise
self.programs.default.launcher.nameself.programs.default.locker.name Link copied!
null or one of "dms", "glitchlock", "slock", "swaylock"The default screen locker to use. This will automatically enable the corresponding program.
`"dms"` if using Wayland, `"slock"` if using X11, `null` otherwise
self.programs.default.locker.nameself.programs.default.shell.name Link copied!
one of "zsh", "nushell"The default shell to use. This will automatically enable the corresponding program.
"zsh"self.programs.default.shell.nameself.programs.default.statusBar.name Link copied!
null or one of "dms", "noctalia", "sb", "waybar"The default status bar to use. This will automatically enable the corresponding program.
`"dms"` if using Wayland, `"sb"` if using X11, `null` otherwise
self.programs.default.statusBar.nameself.programs.default.terminal.name Link copied!
null or one of "foot", "ghostty", "st"The default terminal emulator to use. This will automatically enable the corresponding program.
`"ghostty"` if using Wayland or X11, `null` otherwise
self.programs.default.terminal.nameself.programs.default.windowManager.name Link copied!
null or one of "dwm", "hyprland", "niri", "river-classic"The default window manager to use. This will automatically enable the corresponding program.
`"niri"` if using Wayland, `"dwm"` if using X11, `null` otherwise
self.programs.default.windowManager.nameself.programs.editor.helix.enable Link copied!
booleanWhether to enable helix.
falsetrueself.programs.editor.helix.enableself.programs.editor.neovim.enable Link copied!
booleanWhether to enable neovim.
falsetrueself.programs.editor.neovim.enableself.programs.gaming.enable Link copied!
booleanWhether to enable gaming related packages.
falsetrueself.programs.gaming.enableself.programs.gaming.lutris.enable Link copied!
booleanWhether to enable Lutris.
falsetrueself.programs.gaming.lutris.enableself.programs.gaming.poe.enable Link copied!
booleanWhether to enable Path of Exile specific packages.
falsetrueself.programs.gaming.poe.enableself.programs.gaming.star-citizen.enable Link copied!
booleanWhether to enable Star Citizen specific packages.
falsetrueself.programs.gaming.star-citizen.enableself.programs.gaming.steam.enable Link copied!
booleanWhether to enable Steam.
`true` if gaming is enabledtrueself.programs.gaming.steam.enableself.programs.gaming.wow.enable Link copied!
booleanWhether to enable World of Warcraft specific packages.
falsetrueself.programs.gaming.wow.enableself.programs.imageViewer.imv.enable Link copied!
booleanWhether to enable imv.
falsetrueself.programs.imageViewer.imv.enableself.programs.imageViewer.nsxiv.enable Link copied!
booleanWhether to enable nsxiv.
falsetrueself.programs.imageViewer.nsxiv.enableself.programs.launcher.dmenu.enable Link copied!
booleanWhether to enable dmenu.
falsetrueself.programs.launcher.dmenu.enableself.programs.launcher.fuzzel.enable Link copied!
booleanWhether to enable fuzzel.
falsetrueself.programs.launcher.fuzzel.enableself.programs.launcher.tofi.enable Link copied!
booleanWhether to enable tofi.
falsetrueself.programs.launcher.tofi.enableself.programs.launcher.vicinae.enable Link copied!
booleanWhether to enable vicinae.
falsetrueself.programs.launcher.vicinae.enableself.programs.locker.dms.enable Link copied!
booleanWhether to enable dms.
falsetrueself.programs.locker.dms.enableself.programs.locker.glitchlock.enable Link copied!
booleanWhether to enable glitchlock.
falsetrueself.programs.locker.glitchlock.enableself.programs.locker.slock.enable Link copied!
booleanWhether to enable slock.
falsetrueself.programs.locker.slock.enableself.programs.locker.swaylock.enable Link copied!
booleanWhether to enable swaylock.
falsetrueself.programs.locker.swaylock.enableself.programs.shell.nushell.enable Link copied!
booleanWhether to enable nushell.
falsetrueself.programs.shell.nushell.enableself.programs.shell.zsh.enable Link copied!
booleanWhether to enable zsh.
falsetrueself.programs.shell.zsh.enableself.programs.statusBar.dms.enable Link copied!
booleanWhether to enable dms.
falsetrueself.programs.statusBar.dms.enableself.programs.statusBar.noctalia.enable Link copied!
booleanWhether to enable noctalia.
falsetrueself.programs.statusBar.noctalia.enableself.programs.statusBar.sb.enable Link copied!
booleanWhether to enable sb.
falsetrueself.programs.statusBar.sb.enableself.programs.statusBar.waybar.enable Link copied!
booleanWhether to enable waybar.
falsetrueself.programs.statusBar.waybar.enableself.programs.terminal.fontSize Link copied!
signed integerFont size used by terminal emulators.
10self.programs.terminal.fontSizeself.programs.terminal.foot.enable Link copied!
booleanWhether to enable foot.
falsetrueself.programs.terminal.foot.enableself.programs.terminal.ghostty.enable Link copied!
booleanWhether to enable ghostty.
falsetrueself.programs.terminal.ghostty.enableself.programs.terminal.st.enable Link copied!
booleanWhether to enable st.
falsetrueself.programs.terminal.st.enableself.programs.windowManager.dwm.enable Link copied!
booleanWhether to enable dwm.
falsetrueself.programs.windowManager.dwm.enableself.programs.windowManager.hyprland.enable Link copied!
booleanWhether to enable hyprland.
falsetrueself.programs.windowManager.hyprland.enableself.programs.windowManager.niri.enable Link copied!
booleanWhether to enable niri.
falsetrueself.programs.windowManager.niri.enableself.programs.windowManager.niri.extraConfig Link copied!
stringExtra config to include into niri configuration. This will override conflicting prior options.
""self.programs.windowManager.niri.extraConfigself.programs.windowManager.river-classic.enable Link copied!
booleanWhether to enable river-classic.
falsetrueself.programs.windowManager.river-classic.enableself.services.kanshi.enable Link copied!
booleanWhether to enable Kanshi.
falsetrueself.services.kanshi.enableself.services.librespot.enable Link copied!
booleanWhether to enable Librespot.
falsetrueself.services.librespot.enableself.services.udiskie.enable Link copied!
booleanWhether to enable udiskie.
falsetrueself.services.udiskie.enableself.services.wpaperd.enable Link copied!
booleanWhether to enable wpaperd.
`true` if using Wayland.trueself.services.wpaperd.enableself.system.audio.enable Link copied!
booleanWhether to enable audio drivers and related programs.
falsetrueself.system.audio.enableself.system.audio.pipewire.rnnoise.enable Link copied!
booleanWhether to enable rnnoise.
falsetrueself.system.audio.pipewire.rnnoise.enableself.system.audio.pipewire.rnnoise.retroactiveVadGrace Link copied!
integer between 0 and 200 (both inclusive)Set the rnnoise retroactive VAD grace period in milliseconds.
Similar to VAD Grace Period (ms) but for starts of words/sentences. /!\ This introduces latency!
0self.system.audio.pipewire.rnnoise.retroactiveVadGraceself.system.audio.pipewire.rnnoise.vadGracePeriod Link copied!
integer between 0 and 1000 (both inclusive)Set the rnnoise VAD grace period in milliseconds.
For how long after the last voice detection the output won't be silenced. This helps when ends of words/sentences are being cut off.
200self.system.audio.pipewire.rnnoise.vadGracePeriodself.system.audio.pipewire.rnnoise.vadThreshold Link copied!
integer between 0 and 99 (both inclusive)Set the rnnoise VAD threshold (%).
If probability of sound being a voice is lower than this threshold then it will be silenced. In most cases the threshold between 85% - 95% would be fine. Without the VAD some loud noises may still be a bit audible when there is no voice.
90self.system.audio.pipewire.rnnoise.vadThresholdself.system.bluetooth.enable Link copied!
booleanWhether to enable bluetooth drivers and related programs.
falsetrueself.system.bluetooth.enableself.system.boot.kernel Link copied!
raw valueThe kernel packages to use for the system.
`pkgs.linuxPackages` if ZFS is enabled, `pkgs.linuxPackages_latest` otherwiseself.system.boot.kernelself.system.boot.loader.configurationLimit Link copied!
signed integerMaximum of generations in boot menu.
100self.system.boot.loader.configurationLimitself.system.boot.loader.grub.device Link copied!
stringThe device on which the GRUB boot loader will be installed.
"nodev"self.system.boot.loader.grub.deviceself.system.boot.loader.grub.enable Link copied!
booleanWhether to enable GNU GRUB boot loader.
falsetrueself.system.boot.loader.grub.enableself.system.boot.loader.lanzaboote.enable Link copied!
booleanWhether to enable Lanzaboote Secure Boot.
falsetrueself.system.boot.loader.lanzaboote.enableself.system.boot.loader.systemd-boot.enable Link copied!
booleanWhether to enable systemd-boot EFI boot manager.
falsetrueself.system.boot.loader.systemd-boot.enableself.system.boot.tmpAsTmpfs Link copied!
booleanWhether to enable mount /tmp as tmpfs.
falsetrueself.system.boot.tmpAsTmpfsself.system.displayServer.wayland Link copied!
booleanWhether to enable Wayland display server.
falsetrueself.system.displayServer.waylandself.system.displayServer.x11 Link copied!
booleanWhether to enable X11 display server.
falsetrueself.system.displayServer.x11self.system.fs.btrfs.autoSnapshot.subvolumes Link copied!
attribute set of stringList of btrfs mount points to periodically snapshot.
{ }{
home = "/home";
root = "/";
var = "/var";
}self.system.fs.btrfs.autoSnapshot.subvolumesself.system.fs.btrfs.enable Link copied!
booleanWhether to enable btrfs services and specific configurations.
`true` if a `btrfs` filesystem is foundself.system.fs.btrfs.enableself.system.fs.zfs.arcMax Link copied!
unsigned integer, meaning >=0The maximum size (in bytes) of the ZFS Adaptive Replacement Cache (ARC).
If set to 0, the larger of all_system_memory - 1GB and 5/8 × all_system_memory will be used.
A minimum of 2GB is recommended although more is strongly recommended.
As a rule of thumb ZFS needs 1GB minimum + 1GB of RAM per 1TB of storage,
that can go up to 5GB of RAM per 1TB of storage with deduplication enabled.
0self.system.fs.zfs.arcMaxself.system.fs.zfs.enable Link copied!
booleanWhether to enable zfs services and specific configurations.
`true` if a `zfs` filesystem is foundself.system.fs.zfs.enableself.system.login.autoLogin Link copied!
booleanWhether to enable automatic login.
falsetrueself.system.login.autoLoginself.system.login.manager Link copied!
null or one of "dms-greeter", "gdm", "ly", "tuigreet"The login manager to use.
Setting this to null fallbacks to getty with optional auto login.
nullself.system.login.managerself.system.security.apparmor.enable Link copied!
booleanWhether to enable AppArmor.
falsetrueself.system.security.apparmor.enableself.system.security.selinux.enable Link copied!
booleanWhether to enable system SELinux support.
falsetrueself.system.security.selinux.enableself.system.security.selinux.state Link copied!
one of "enforcing", "permissive", "disabled"The state of SELinux on the system.
enforcing - SELinux security policy is enforced. Set this value once you know for sure that SELinux is configured the way you like it and that your system is ready for deployment permissive - SELinux prints warnings instead of enforcing. Use this to customise your SELinux policies and booleans prior to deployment. Recommended during policy development. disabled - No SELinux policy is loaded. This is not a recommended setting, for it may cause problems with file labelling
"enforcing"self.system.security.selinux.stateself.system.video.enable Link copied!
booleanWhether to enable video drivers and related programs.
falsetrueself.system.video.enableself.system.virt.distrobox.autoUpgrade.enable Link copied!
booleanWhether to enable periodically upgrade all distrobox containers.
falsetrueself.system.virt.distrobox.autoUpgrade.enableself.system.virt.distrobox.enable Link copied!
booleanWhether to enable Distrobox.
falsetrueself.system.virt.distrobox.enableself.system.virt.podman.enable Link copied!
booleanWhether to enable Podman with Docker support.
falsetrueself.system.virt.podman.enableself.system.virt.qemu.enable Link copied!
booleanWhether to enable QEMU.
falsetrueself.system.virt.qemu.enableself.system.virt.qemu.package Link copied!
packageThe qemu package to use.
pkgs.qemu_kvmself.system.virt.qemu.packageself.system.virt.waydroid.enable Link copied!
booleanWhether to enable Waydroid.
falsetrueself.system.virt.waydroid.enableself.user.email Link copied!
string matching the pattern .*@.*Email address of the main user.
${user.name}@disroot.orgself.user.emailself.user.fullName Link copied!
stringFull name of the main user.
capitalize user.nameself.user.fullNameself.user.name Link copied!
stringUsername of the main user.
"ratakor"self.user.nameself.wallpapers Link copied!
absolute pathDirectory with all available wallpapers.
"https://github.com/ratakor/wallpapers/archive/8e1acff81f3a6c326dd3cf7a9e035caf51ee8a31.tar.gz"self.wallpapers