Options

{
	inputs = {
		nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";

		# Add this flake as an input.
		plusultra.url = "path:/home/short/work/config";
	};

	outputs = { nixpkgs, plusultra, ... }: {
		# Use plusultra.nixosModules
	};
}
Whether or not to enable 1password.

Type

boolean

Default

false
Whether or not to enable Ardour.

Type

boolean

Default

false
Whether or not to enable Dolphin.

Type

boolean

Default

false

An attribute set to merge with networking.hosts

Type

attribute set

Default

{ }
Whether or not to enable networking support

Type

boolean

Default

false
Whether or not to enable support for extra storage devices.

Type

boolean

Default

false

A set of files to be managed by home-manager’s xdg.configFile.

Type

attribute set

Default

{ }
Options to pass directly to home-manager.

Type

attribute set

Default

{ }

A set of files to be managed by home-manager’s home.file.

Type

attribute set

Default

{ }
Whether or not to manage nix configuration.

Type

boolean

Default

true
Which nix package to use.

Type

package

Default

<derivation nix-2.16.1>
The trusted public key for the substituter.

Type

string

Default

"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
The url for the substituter.

Type

string

Default

"https://cache.nixos.org"
Extra substituters to configure.

Type

attribute set of (submodule)

Default

{ }
The trusted public key for this substituter.

Type

null or string

Default

null
Whether or not to enable doukutsu-rs.

Type

boolean

Default

false
Whether to enable default ACME configuration.

Type

boolean

Default

false

Example

true
The email to use.

Type

string

Default

"jake.hamilton@hey.com"
Whether to use the staging server or not.

Type

boolean

Default

false
Whether or not to replace sudo with doas.

Type

boolean

Default

false
Whether or not to enable GPG.

Type

boolean

Default

false
The amount of time to wait before continuing with shell init.

Type

signed integer

Default

5
Whether to enable gnome keyring.

Type

boolean

Default

false
Whether to enable Attic.

Type

boolean

Default

false

Example

true
The attic-server package to use.

Type

package

Default

<derivation attic-server-0.1.0>
The path to an optional EnvironmentFile for the atticd service to use.

Type

null or path

Default

null
The group under which attic runs.

Type

string

Default

"atticd"
Settings for the atticd config file.

Type

TOML value

Default

{ }
The user under which attic runs.

Type

string

Default

"atticd"
Whether or not to enable Element.

Type

boolean

Default

false
Whether to enable Avahi.

Type

boolean

Default

false

Example

true
Whether or not to enable cowsay posts.

Type

boolean

Default

false
The group to run as.

Type

string

Default

"users"
Use short fortunes only.

Type

boolean

Default

false
The user to run as.

Type

string

Default

"short"
Whether to enable Dex, the OpenID Connect and OAuth 2 identity provider.

Type

boolean

Default

false

Example

true
The group to run Dex as.

Type

string

Default

"dex"

The available options can be found in the example configuration.

Type

YAML value

Default

{ }

Example

{
  # External url
  issuer = "http://127.0.0.1:5556/dex";
  storage = {
    type = "postgres";
    config.host = "/var/run/postgres";
  };
  web = {
    http = "127.0.0.1:5556";
  };
  enablePasswordDB = true;
  staticClients = [
    {
      id = "oidcclient";
      name = "Client";
      redirectURIs = [ "https://example.com/callback" ];

      # The content of `secretFile` will be written into to the config as `secret`.
      secretFile = "/etc/dex/oidcclient";
    }
  ];
}
The state directory where config and data are stored.

Type

path

Default

"/var/lib/dex"
The user to run Dex as.

Type

string

Default

"dex"
Whether or not to enable etcher.

Type

boolean

Default

false
Whether to enable Homer.

Type

boolean

Default

false

Example

true
The package of Homer assets to use.

Type

package

Default

<derivation homer-unstable-2023-06-23>
Whether or not to automatically fetch and configure SSL certs.

Type

boolean

Default

false
The host to serve Homer on.

Type

null or string

Default

null
Whether or not to force the use of SSL.

Type

boolean

Default

false
Configuration for Homer's config.yml file.

Type

YAML value

Default

{ }
A replacement for the generated config.yml file.

Type

null or path

Default

null
Whether to enable Express VPN.

Type

boolean

Default

false

Example

true
Whether to enable Infrared.

Type

boolean

Default

false

Example

true
Group under which Infrared is ran.

Type

string

Default

"infrared"
Whether to open the firewall for ports specified by each server's listenTo address.

Type

boolean

Default

false
The servers to proxy.

Type

list of (submodule)

Default

[ ]

Example

[
  {
    domain = "minecraft.example.com";
    port = 25567;
  }
]
The domain to proxy. Should be fully qualified domain name. Note: Every string is accepted. So localhost is also valid.

Type

string

Default

""

Example

"minecraft.example.com"
The host where the Minecraft server is running. Defaults to local host.

Type

string

Default

""
The port where the Minecraft server is running.

Type

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

Default

25566
Infrared configuration (<filename>config.json</filename>). Refer to <link xlink:href="https://github.com/haveachin/infrared#proxy-config" /> for details.

Type

JSON value

Default

{ }
The domain to proxy.

Type

string

Default

""
The address that the proxy should send incoming connections to.

Type

string

Default

":25565"
The state directory where configurations are stored.

Type

path

Default

"/var/lib/infrared"
User under which Infrared is ran.

Type

string

Default

"infrared"
Whether or not to enable Firefox.

Type

boolean

Default

false
Extra configuration for the user profile JS file.

Type

string

Default

""
Settings to apply to the profile.

Type

attribute set

Default

{
  "browser.aboutConfig.showWarning" = false;
  "browser.aboutwelcome.enabled" = false;
  "browser.bookmarks.showMobileBookmarks" = true;
  "browser.meta_refresh_when_inactive.disabled" = true;
  "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
  "browser.ssb.enabled" = true;
  "browser.startup.homepage" = "https://hamho.me";
  "browser.urlbar.suggest.quicksuggest.sponsored" = false;
}
Extra configuration for the user chrome CSS file.

Type

string

Default

""
Whether to enable Minecraft server.

Type

boolean

Default

false

Example

true

Whether you agree to Mojang’s EULA. This option must be set to true to run Minecraft server.

Type

boolean

Default

false
Whether to enable Infrared.

Type

boolean

Default

false

Example

true
The Minecraft servers to run.

Type

attribute set of (submodule)

Default

{ }

Example

{
  # A default vanilla server.
  vanilla-1 = {};

  # A vanilla server with a custom port.
  vanilla-2 = {
    port = 4000;
  };

  # A vanilla server proxied by Infrared (when enabled).
  vanilla-3 = {
    domain = "minecraft.example.com";
  };

  # A Forge server.
  forge-1 = {
    type = "forge";
  };

  # Use a custom Minecraft server version.
  custom-vanilla = {
    package = pkgs.minecraft-server_1_12_2;
  };

  # Use a custom Forge server version.
  custom-forge = {
    type = "forge";
    package = pkgs.minecraft-forge_1_19_2-43_1_25;
  };
}

Type

package

Default

pkgs.minecraft-server
The datrectory where data for the server is stored.

Type

path

Default

"/var/lib/minecraft/<name>"

Whether to use a declarative Minecraft server configuration. Only if set to true, the options {option}plusultra.services.minecraft.servers.<name>.whitelist and {option}plusultra.services.minecraft.servers.<name>.serverProperties will be applied.

Type

boolean

Default

false
The domain to pass to Infrared (if enabled).

Type

string

Default

""

Extra options passed to Infrared (if enabled) when configuring this server.

Type

attribute set

Default

{ }

JVM options for the Minecraft server.

Type

strings concatenated with " "

Default

"-Xmx2048M -Xms2048M"

Example

"-Xms4092M -Xmx4092M -XX:+UseG1GC -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=2 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10"

Whether to open ports in the firewall for the server.

Type

boolean

Default

false
The port for the server to listen on.

Type

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

Default

25565

Minecraft server properties for the server.properties file. Only has an effect when {option}services.minecraft-server.declarative is set to true. See https://minecraft.gamepedia.com/Server.properties#Java_Edition_3 for documentation on these values.

Type

attribute set of (boolean or signed integer or string)

Default

{ }

Example

{
  server-port = 43000;
  difficulty = 3;
  gamemode = 1;
  max-players = 5;
  motd = "NixOS Minecraft server!";
  white-list = true;
  enable-rcon = true;
  "rcon.password" = "hunter2";
}
The kind of Minecraft server to create.

Type

one of "vanilla", "forge"

Default

"vanilla"

Whitelisted players, only has an effect when {option}services.minecraft-server.declarative is true and the whitelist is enabled via {option}services.minecraft-server.serverProperties by setting white-list to true. This is a mapping from Minecraft usernames to UUIDs. You can use https://mcuuid.net/ to get a Minecraft UUID for a username.

Type

attribute set of Minecraft UUID

Default

{ }

Example

{
  username1 = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
  username2 = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy";
};
Whether or not to configure OpenSSH support.

Type

boolean

Default

false
The public keys to apply.

Type

list of string

Default

[
  "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCwaaCUq3Ooq1BaHbg5IwVxWj/xmNJY2dDthHKPZefrHXv/ksM/IREgm38J0CdoMpVS0Zp1C/vFrwGfaYZ2lCF5hBVdV3gf+mvj8Yb8Xpm6aM4L5ig+oBMp/3cz1+g/I4aLMJfCKCtdD6Q2o4vtkTpid6X+kL3UGZbX0HFn3pxoDinzOXQnVGSGw+pQhLASvQeVXWTJjVfIWhj9L2NRJau42cBRRlAH9kE3HUbcgLgyPUZ28aGXLLmiQ6CUjiIlce5ee16WNLHQHOzVfPJfF1e1F0HwGMMBe39ey3IEQz6ab1YqlIzjRx9fQ9hQK6Du+Duupby8JmBlbUAxhh8KJFCJB2cXW/K5Et4R8GHMS6MyIoKQwFUXGyrszVfiuNTGZIkPAYx9zlCq9M/J+x1xUZLHymL85WLPyxhlhN4ysM9ILYiyiJ3gYrPIn5FIZrW7MCQX4h8k0bEjWUwH5kF3dZpEvIT2ssyIu12fGzXkYaNQcJEb5D9gT1mNyi2dxQ62NPZ5orfYyIZ7fn22d1P/jegG+7LQeXPiy5NLE6b7MP5Rq2dL8Y9Oi8pOBtoY9BpLh7saSBbNFXTBtH/8OfAQacxDsZD/zTFtCzZjtTK6yiAaXCZTvMIOuoYGZvEk6zWXrjVsU8FlqF+4JOTfePqr/SSUXNJyKnrvQJ1BfHQiYsrckw=="
]
Whether or not to add other host configurations to SSH config.

Type

boolean

Default

true
The port to listen on (in addition to 22).

Type

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

Default

2222
Whether or not to configure printing support.

Type

boolean

Default

false
Whether to enable Samba.

Type

boolean

Default

false

Example

true
Whether the shares are browseable.

Type

boolean

Default

true
The shares to serve.

Type

attribute set of (submodule)

Default

{ }
Whether the share is browseable.

Type

boolean

Default

true
An optional comment.

Type

string

Default

"‹name›"
Extra configuration options for the share.

Type

attribute set

Default

{ }
Whether the share is only writable by the system owner (plusultra.user.name).

Type

boolean

Default

false
The path to serve.

Type

string

Default

null
Whether the share is public.

Type

boolean

Default

false
Whether the share should be read only.

Type

boolean

Default

false
The workgroup to use.

Type

string

Default

"WORKGROUP"
Whether or not to configure Tailscale

Type

boolean

Default

false
Whether or not to enable automatic connection to Tailscale

Type

boolean

Default

false
The authentication key to use

Type

string

Default

""
Whether to enable Vault.

Type

boolean

Default

false

Example

true
Whether policies not specified in Nix should be removed.

Type

boolean

Default

false
Policies to install when Vault runs.

Type

attribute set of (string or path)

Default

{ }
The file to read the role-id from.

Type

string

Default

"/var/lib/vault/role-id"
The file to read the secret-id from.

Type

string

Default

"/var/lib/vault/secret-id"
The group to run the Vault Agent as.

Type

string

Default

"vault"
The user to run the Vault Agent as.

Type

string

Default

"vault"
Configuration for Vault's config file.

Type

string

Default

""
The storage backend for Vault.

Type

string

Default

"file"
Whether the UI should be enabled.

Type

boolean

Default

true
Whether or not to enable FrappeBooks.

Type

boolean

Default

false
Whether to enable Vault Agent.

Type

boolean

Default

false

Example

true
Services to install Vault Agent into.

Type

attribute set of (submodule)

Default

{ }
Whether to enable Vault Agent for this service.

Type

boolean

Default

true
The action to take when secrets change.

Type

one of "restart", "stop", "none"

Default

"restart"
Whether or not to force the use of Vault Agent's environment files.

Type

boolean

Default

false
Read Only
Paths to all of the environment files

Type

list of string

Default

[ ]
An environment variable template.

Type

null or path or string

Default

null
Environment variable files for Vault to template.

Type

attribute set of (submodule)

Default

{ }
Read Only
The path to the environment file.

Type

string

Default

"/run/keys/environment/<service-name>/<template-name>.EnvFile"
The file with environment variables for Vault to template.

Type

null or path

Default

null
An inline template for Vault to template.

Type

null or string

Default

null
The action to take when secrets change.

Type

one of "restart", "stop", "none"

Default

"restart"
Secret files to template.

Type

attribute set of (submodule)

Default

{ }
The action to take when secrets change.

Type

null or one of "restart", "stop", "none"

Default

null
Read Only
The path to the secret file.

Type

string

Default

"/tmp/detsys-vault/‹name›"
The file for Vault to template.

Type

null or path

Default

null
An inline template for Vault to template.

Type

null or string

Default

null
Vault Agent configuration.

Type

attribute set

Default

{ }
Default Vault Agent configuration.

Type

attribute set

Default

{ }
Whether or not to enable Blender.

Type

boolean

Default

false
Whether or not to enable FreeTube.

Type

boolean

Default

false
Whether or not to enable Gimp.

Type

boolean

Default

false
Whether to enable Beyond The Fringe OC Website.

Type

boolean

Default

false

Example

true
The site package to use.

Type

package

Default

<derivation source>
Whether or not to automatically fetch and configure SSL certs.

Type

boolean

Default

true
The domain to serve the website site on.

Type

list of string

Default

[
  "beyondthefringeoc.com"
  "hairbyjanine.com"
]
Whether or not to enable gparted.

Type

boolean

Default

false
Whether to enable DotBox Website.

Type

boolean

Default

false

Example

true
The site package to use.

Type

package

Default

<derivation dotbox-website>
Whether or not to automatically fetch and configure SSL certs.

Type

boolean

Default

true
The domain to serve the website site on.

Type

string

Default

"dotbox.dev"
Whether to enable Jake Hamilton Website.

Type

boolean

Default

false

Example

true
The site package to use.

Type

package

Default

<derivation jakehamilton.dev-649ee50>
Whether or not to automatically fetch and configure SSL certs.

Type

boolean

Default

true
The domain to serve the website site on.

Type

list of string

Default

[
  "jakehamilton.dev"
  "jakehamilton.website"
]
Whether to enable Lasers and Feelings.

Type

boolean

Default

false

Example

true
The package to use.

Type

package

Default

<derivation lasersandfeelings-888c201>
Whether or not to automatically fetch and configure SSL certs.

Type

boolean

Default

true
The domain to serve the website site on.

Type

string

Default

"lasersandfeelings.com"
The group to run the app as.

Type

string

Default

"lasersandfeelings"
The port to listen on.

Type

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

Default

6901
The user to run the app as.

Type

string

Default

"lasersandfeelings"
Whether or not to enable HEY.

Type

boolean

Default

false
Whether to enable noop.ai Website.

Type

boolean

Default

false

Example

true
The site package to use.

Type

package

Default

<derivation noop.ai-38dae9e>
Whether or not to automatically fetch and configure SSL certs.

Type

boolean

Default

true
The domain to serve the website site on.

Type

list of string

Default

[
  "noop.ai"
]
Whether or not to enable Inkscape.

Type

boolean

Default

false
Whether to enable Retrospectacle.

Type

boolean

Default

false

Example

true
The package to use.

Type

package

Default

<derivation retrospectacle-backend-8ce8f6f>
Whether or not to automatically fetch and configure SSL certs.

Type

boolean

Default

true
The domain to serve the website site on.

Type

string

Default

"retrospectacle.app"
The group to run the app as.

Type

string

Default

"retrospectacle"
The port to listen on.

Type

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

Default

6903
The user to run the app as.

Type

string

Default

"retrospectacle"
Whether to enable Scrumfish.

Type

boolean

Default

false

Example

true
The package to use.

Type

package

Default

<derivation scrumfish-backend-f214ed8>
Whether or not to automatically fetch and configure SSL certs.

Type

boolean

Default

true
The domain to serve the website site on.

Type

string

Default

"scrumfi.sh"
The group to run the app as.

Type

string

Default

"scrumfish"
The port to listen on.

Type

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

Default

6902
The user to run the app as.

Type

string

Default

"scrumfish"
Whether or not to enable logseq.

Type

boolean

Default

false
Whether to enable Sokoban Website.

Type

boolean

Default

false

Example

true
The site package to use.

Type

package

Default

<derivation sokoban-website>
Whether or not to automatically fetch and configure SSL certs.

Type

boolean

Default

true
The domain to serve the website site on.

Type

string

Default

"sokoban.app"
Whether to enable traek.app Website.

Type

boolean

Default

false

Example

true
The site package to use.

Type

package

Default

<derivation dotbox-website>
Whether or not to automatically fetch and configure SSL certs.

Type

boolean

Default

true
The domain to serve the website site on.

Type

string

Default

"traek.app"
Whether or not to enable the Looking Glass client.

Type

boolean

Default

false

Whether to enable Writefreely, build a digital writing community.

Type

boolean

Default

false

Example

true

Writefreely package to use.

Type

package

Default

pkgs.writefreely
Whether or not to automatically fetch and configure SSL certs.

Type

boolean

Default

false
Path to a file containing the initial password for the admin user. If not provided, the default password will be set to <code>nixos</code>.

Type

path

Default

"/nix/store/xxx-default-admin-pass"
The name of the first admin user.

Type

null or string

Default

null

When plusultra.services.writefreely.database.type is set to "mysql", this option will enable the MySQL service locally.

Type

boolean

Default

false

The database host to connect to.

Type

string

Default

"localhost"

Whether or not to automatically run migrations on startup.

Type

boolean

Default

true
The name of the database to store data in.

Type

string

Default

"writefreely"

The file to load the database password from.

Type

null or path

Default

null

The port used when connecting to the database host.

Type

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

Default

3306

Whether or not TLS should be used for the database connection.

Type

boolean

Default

false
The database provider to use.

Type

one of "sqlite3", "mysql"

Default

"sqlite3"

The database user to connect as.

Type

null or string

Default

"writefreely"

Group under which Writefreely is ran.

Type

string

Default

"writefreely"

The public host name to serve.

Type

string

Default

""

Example

"example.com"
Whether or not to enable and configure nginx as a proxy for WriteFreely.

Type

boolean

Default

false
Whether or not to force the use of SSL.

Type

boolean

Default

false

Writefreely configuration (config.ini). Refer to writefreely.org/docs/latest/admin/config for details.

Type

attribute set of attribute set of (INI atom (null, bool, int, float or string))

Default

{ }
The theme to apply.

Type

string

Default

"write"
The port WriteFreely should listen on.

Type

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

Default

"80"

The state directory where keys and data are stored.

Type

path

Default

"/var/lib/writefreely"

User under which Writefreely is ran.

Type

string

Default

"writefreely"
Whether or not to enable Lutris.

Type

boolean

Default

false
Whether or not to enable support for OBS.

Type

boolean

Default

false
Whether or not to enable art configuration.

Type

boolean

Default

false
Whether or not to enable business configuration.

Type

boolean

Default

false
Whether or not to enable common configuration.

Type

boolean

Default

false
Whether or not to enable common-slim configuration.

Type

boolean

Default

false
Whether or not to enable common desktop configuration.

Type

boolean

Default

false
Whether or not to enable PCSX2.

Type

boolean

Default

false
Whether or not to enable common development configuration.

Type

boolean

Default

false
Whether or not to enable emulation configuration.

Type

boolean

Default

false
Whether or not to enable common games configuration.

Type

boolean

Default

false
Whether or not to enable media configuration.

Type

boolean

Default

false
Whether or not to enable music configuration.

Type

boolean

Default

false
Whether or not to enable social configuration.

Type

boolean

Default

false
Whether or not to enable video configuration.

Type

boolean

Default

false
Whether or not to enable booting.

Type

boolean

Default

false
A set of environment variables to set.

Type

attribute set of (string or path or list of (string or path))

Default

{ }
Whether or not to manage fonts.

Type

boolean

Default

false
Custom font packages to install.

Type

list of package

Default

[ ]
Whether or not to enable Bottles.

Type

boolean

Default

false
Whether or not to enable Pitivi.

Type

boolean

Default

false
Whether or not to manage locale settings.

Type

boolean

Default

false
Whether or not to configure timezone information.

Type

boolean

Default

false
Whether or not to configure xkb.

Type

boolean

Default

false
Whether to enable ZFS support.

Type

boolean

Default

false

Example

true
Whether to enable ZFS auto snapshotting.

Type

boolean

Default

false

Example

true
The ZFS pools to manage.

Type

list of string

Default

[
  "rpool"
]
Whether or not to enable appimage-run.

Type

boolean

Default

false
Whether or not to install at.

Type

boolean

Default

false
The package to install as at.

Type

package

Default

<derivation at>
Whether or not to enable Pocketcasts.

Type

boolean

Default

false
Whether to enable Attic.

Type

boolean

Default

false

Example

true
Whether or not to enable Bottom.

Type

boolean

Default

false
Whether or not to enable comma.

Type

boolean

Default

false
Whether or not to enable direnv.

Type

boolean

Default

false
Whether to enable fup-repl or not

Type

boolean

Default

false
Whether or not to install and configure git.

Type

boolean

Default

false
The key ID to sign commits with.

Type

string

Default

"9762169A1B35EA68"
The email to configure git with.

Type

string

Default

"jake.hamilton@hey.com"
The name to configure git with.

Type

string

Default

"Jake Hamilton"
Whether or not to enable Go support.

Type

boolean

Default

false
Whether or not to enable Prism Launcher.

Type

boolean

Default

false
Whether or not to enable common http utilities.

Type

boolean

Default

false
Whether to enable Icehouse.

Type

boolean

Default

false

Example

true
Whether or not to enable common Kubernetes utilities.

Type

boolean

Default

false
Whether or not to enable common utilities.

Type

boolean

Default

false
Whether or not to enable nix-ld.

Type

boolean

Default

false
Whether or not to install and configure git

Type

boolean

Default

false
Whether or not to install flyctl

Type

boolean

Default

true
The flyctl package to use

Type

package

Default

<derivation flyctl-0.1.23>
The NodeJS package to use

Type

package

Default

<derivation nodejs-18.16.1>
Whether or not to install Pnpm

Type

boolean

Default

true
The NodeJS package to use

Type

package

Default

<derivation pnpm-8.5.1>
Whether or not to install Prettier

Type

boolean

Default

true
The NodeJS package to use

Type

package

Default

<derivation prettier-2.8.8>
Whether or not to install Yarn

Type

boolean

Default

true
The NodeJS package to use

Type

package

Default

<derivation yarn-1.22.19>
Whether or not to enable Protontricks.

Type

boolean

Default

false
Whether or not to enable QMK

Type

boolean

Default

false
Whether or not to install Titan.

Type

boolean

Default

false
The package to install as Titan.

Type

package

Default

<derivation titan>
The email of the user.

Type

string

Default

"jake.hamilton@hey.com"
Groups for the user to be assigned.

Type

list of string

Default

[ ]

Extra options passed to users.users.<name>.

Type

attribute set

Default

{ }
The full name of the user.

Type

string

Default

"Jake Hamilton"
The profile picture to use for the user.

Type

null or package

Default

<derivation default-icon>
The initial password to use when the user is first created.

Type

string

Default

"password"
The name to use for the user account.

Type

string

Default

"short"
Whether or not to show an initial message when opening a new shell.

Type

boolean

Default

true
Whether or not to enable rpcs3.

Type

boolean

Default

false
Whether or not to enable KVM virtualisation.

Type

boolean

Default

false
The systemd *.scope units to wait for before starting Scream.

Type

list of string

Default

[ ]
Which CPU platform the machine is using.

Type

one of "amd", "intel"

Default

"amd"
The hardware IDs to pass through to a virtual machine.

Type

list of string

Default

[ ]
Whether or not to enable support for Steam.

Type

boolean

Default

false
Whether or not to enable Podman.

Type

boolean

Default

false
Whether to enable Steam Tinker Launch.

Type

boolean

Default

false

Example

true
Whether or not to enable Twitter.

Type

boolean

Default

false
Whether or not to enable the UBPorts Installer.

Type

boolean

Default

false
Whether or not to enable Virtualbox.

Type

boolean

Default

false
Whether or not to enable Cadence.

Type

boolean

Default

false
Whether or not to enable vlc.

Type

boolean

Default

false
Whether or not to enable vscode.

Type

boolean

Default

false
Whether or not to enable Winetricks.

Type

boolean

Default

false
Whether or not to enable YouTube Music.

Type

boolean

Default

false
Whether or not to enable Yubikey.

Type

boolean

Default

false
Whether or not to enable Yuzu.

Type

boolean

Default

false
Whether or not to enable the gaming archetype.

Type

boolean

Default

false
Whether or not to enable the server archetype.

Type

boolean

Default

false
Whether or not to enable the workstation archetype.

Type

boolean

Default

false
Whether to enable Plus Ultra public cache.

Type

boolean

Default

false

Example

true
Whether or not to enable Discord.

Type

boolean

Default

false
Whether or not to enable Discord Canary.

Type

boolean

Default

false
Whether or not to enable the Chromium version of Discord.

Type

boolean

Default

false
Whether or not to enable the Firefox version of Discord.

Type

boolean

Default

false
Whether or not to enable the native version of Discord.

Type

boolean

Default

false
Whether or not to enable flake.

Type

boolean

Default

false
Whether or not to enable neovim.

Type

boolean

Default

false
Whether or not to install Prisma

Type

boolean

Default

false
The package to get prisma engines from

Type

package

Default

<derivation prisma-engines-4.13.0>
The NPM package to install

Type

package

Default

<derivation prisma-4.13.0>
Whether or not to enable Proton.

Type

boolean

Default

false
Whether or not to enable tmux.

Type

boolean

Default

false
Whether or not to enable Wine.

Type

boolean

Default

false
Whether or not to enable wshowkeys.

Type

boolean

Default

false
Whether or not to enable Yubikey.

Type

boolean

Default

false
Whether to enable electron support in the desktop environment.

Type

boolean

Default

false
Whether to enable the Nordic theme for firefox.

Type

boolean

Default

false
Whether to enable the gnome file manager.

Type

boolean

Default

false
Whether to customize GTK and apply themes.

Type

boolean

Default

false
The name of the cursor theme to apply.

Type

string

Default

"Bibata-Modern-Ice"
The package to use for the cursor theme.

Type

package

Default

<derivation bibata-cursors-unstable-2023-03-03>
The name of the icon theme to apply.

Type

string

Default

"Papirus"
The package to use for the icon theme.

Type

package

Default

<derivation papirus-icon-theme-20230301>
The name of the GTK theme to apply.

Type

string

Default

"Nordic-darker"
The package to use for the theme.

Type

package

Default

<derivation nordic-unstable-2023-05-12>
Whether to enable Kanshi in the desktop environment.

Type

boolean

Default

false
Whether to enable the gnome keyring.

Type

boolean

Default

false
Whether to enable Mako in Sway.

Type

boolean

Default

false
Whether to enable the gnome file manager.

Type

boolean

Default

false
Whether to enable Rofi in the desktop environment.

Type

boolean

Default

false
Whether to enable Swappy in the desktop environment.

Type

boolean

Default

false
Whether to enable the gnome file manager.

Type

boolean

Default

false
The terminal to install.

Type

package

Default

<derivation foot-1.14.0>
Whether or not to add wallpapers to ~/Pictures/wallpapers.

Type

boolean

Default

false
Whether to enable Waybar in the desktop environment.

Type

boolean

Default

false
Whether to enable the Wofi in the desktop environment.

Type

boolean

Default

false
Whether or not to add support for xdg portal.

Type

boolean

Default

false
Whether or not to use Gnome as the desktop environment.

Type

boolean

Default

false
The color scheme to use.

Type

one of "light", "dark"

Default

"dark"
Extra Gnome extensions to install.

Type

list of package

Default

[ ]
The monitors.xml file to create.

Type

null or path

Default

null
Whether or not to suspend the machine after inactivity.

Type

boolean

Default

true
The dark wallpaper to use.

Type

string or package

Default

<derivation nord-rainbow-dark-nix>
The light wallpaper to use.

Type

string or package

Default

<derivation nord-rainbow-light-nix>
Whether or not to use Wayland.

Type

boolean

Default

true
Whether or not to enable Sway.

Type

boolean

Default

false
Additional configuration for the Sway config file.

Type

string

Default

""
The wallpaper to display.

Type

null or package

Default

null
Whether or not to enable audio support.

Type

boolean

Default

false
Alsa configuration.

Type

attribute set

Default

{ }
Additional packages to install.

Type

list of package

Default

[
  <derivation qjackctl-0.9.10>
  <derivation easyeffects-7.0.4>
]
Audio modules to pass to Pipewire as `context.modules`.

Type

list of (attribute set)

Default

[ ]
Audio nodes to pass to Pipewire as `context.objects`.

Type

list of (attribute set)

Default

[ ]
Whether or not to enable fingerprint support.

Type

boolean

Default

false