Files

982 lines
8.6 KiB
Markdown
Raw Permalink Normal View History

2025-06-25 03:59:52 +09:00
## environment\.hakurei\.enable
2024-11-19 18:12:35 +09:00
2025-06-25 03:59:52 +09:00
Whether to enable hakurei\.
2024-11-19 18:12:35 +09:00
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.package
2024-11-19 18:12:35 +09:00
2025-06-25 03:59:52 +09:00
The hakurei package to use\.
2024-11-19 18:12:35 +09:00
*Type:*
package
*Default:*
2026-05-22 02:18:10 +09:00
` <derivation hakurei-static-x86_64-unknown-linux-musl-0.4.3> `
2024-11-19 18:12:35 +09:00
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps
2024-11-19 18:12:35 +09:00
2025-06-25 03:59:52 +09:00
Declaratively configured hakurei apps\.
2024-11-19 18:12:35 +09:00
*Type:*
2025-05-26 02:55:19 +09:00
attribute set of (submodule)
2024-11-19 18:12:35 +09:00
*Default:*
2025-05-26 02:55:19 +09:00
` { } `
2024-11-19 18:12:35 +09:00
2025-08-26 02:23:59 +09:00
## environment\.hakurei\.apps\.\<name>\.enablements\.dbus
Whether to proxy D-Bus\.
*Type:*
null or boolean
*Default:*
` true `
## environment\.hakurei\.apps\.\<name>\.enablements\.pipewire
2025-08-26 02:23:59 +09:00
Whether to share the PipeWire server via pipewire-pulse on a SecurityContext socket\.
2025-08-26 02:23:59 +09:00
*Type:*
null or boolean
*Default:*
` true `
## environment\.hakurei\.apps\.\<name>\.enablements\.wayland
Whether to share the Wayland server via security-context-v1\.
2025-08-26 02:23:59 +09:00
*Type:*
null or boolean
*Default:*
` true `
## environment\.hakurei\.apps\.\<name>\.enablements\.x11
Whether to share the X11 socket and allow connection\.
*Type:*
null or boolean
*Default:*
` false `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.packages
2024-11-19 18:12:35 +09:00
List of extra packages to install via home-manager\.
*Type:*
list of package
*Default:*
` [ ] `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.args
2025-03-30 23:05:57 +09:00
Custom args\.
Setting this to null will default to script name\.
*Type:*
null or (list of string)
*Default:*
` null `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.command
2024-11-19 18:12:35 +09:00
Command to run as the target user\.
Setting this to null will default command to launcher name\.
Has no effect when script is set\.
*Type:*
null or string
*Default:*
` null `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.dbus\.session
2024-11-19 18:12:35 +09:00
D-Bus session bus custom configuration\.
Setting this to null will enable built-in defaults\.
*Type:*
null or (function that evaluates to a(n) anything)
*Default:*
` null `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.dbus\.system
2024-11-19 18:12:35 +09:00
D-Bus system bus custom configuration\.
Setting this to null will disable the system bus proxy\.
*Type:*
null or anything
*Default:*
` null `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.devel
2024-11-19 18:12:35 +09:00
2025-04-13 11:10:45 +09:00
Whether to enable debugging-related kernel interfaces\.
2025-01-23 20:49:49 +09:00
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.device
2025-01-23 20:49:49 +09:00
2025-04-13 11:10:45 +09:00
Whether to enable access to all devices\.
2024-11-19 18:12:35 +09:00
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.env
2024-11-19 18:12:35 +09:00
Environment variables to set for the initial process in the sandbox\.
*Type:*
null or (attribute set of string)
*Default:*
` null `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.extraConfig
2024-11-19 18:12:35 +09:00
Extra home-manager configuration\.
*Type:*
anything
*Default:*
` { } `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.extraPaths
2024-11-19 18:12:35 +09:00
2025-05-26 02:55:19 +09:00
Extra paths to make available to the container\.
2024-11-19 18:12:35 +09:00
*Type:*
2025-09-28 21:58:19 +09:00
list of attribute set of anything
2024-11-19 18:12:35 +09:00
*Default:*
` [ ] `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.gpu
2024-11-19 18:12:35 +09:00
Target process GPU and driver access\.
Setting this to null will enable GPU whenever X or Wayland is enabled\.
*Type:*
null or boolean
*Default:*
` null `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.groups
2024-11-19 18:12:35 +09:00
List of groups to inherit from the privileged user\.
*Type:*
list of string
*Default:*
` [ ] `
2025-08-26 02:23:59 +09:00
## environment\.hakurei\.apps\.\<name>\.hostAbstract
Whether to enable share abstract unix socket scope\.
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
## environment\.hakurei\.apps\.\<name>\.hostNet
Whether to enable share host net namespace\.
*Type:*
boolean
*Default:*
` true `
*Example:*
` true `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.identity
2024-11-19 18:12:35 +09:00
2025-05-26 02:55:19 +09:00
Application identity\. Identity 0 is reserved for system services\.
2024-11-19 18:12:35 +09:00
*Type:*
2025-05-26 02:55:19 +09:00
integer between 1 and 9999 (both inclusive)
2024-11-19 18:12:35 +09:00
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.insecureWayland
2025-02-15 23:03:13 +09:00
Whether to enable direct access to the Wayland socket\.
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.mapRealUid
2024-11-19 18:12:35 +09:00
2025-01-23 20:49:49 +09:00
Whether to enable mapping to priv-user uid\.
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.multiarch
2025-01-23 20:49:49 +09:00
2025-03-26 02:18:59 +09:00
Whether to enable multiarch kernel-level support\.
2024-11-19 18:12:35 +09:00
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.name
2024-11-19 18:12:35 +09:00
Name of the apps launcher script\.
*Type:*
string
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.nix
2024-11-19 18:12:35 +09:00
2025-03-26 02:18:59 +09:00
Whether to enable nix daemon access\.
2024-11-19 18:12:35 +09:00
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.path
2025-03-30 23:05:57 +09:00
Custom executable path\.
Setting this to null will default to the start script\.
*Type:*
null or string
*Default:*
` null `
2026-04-11 10:49:43 +09:00
## environment\.hakurei\.apps\.\<name>\.schedPolicy
Scheduling policy to set for the container\.
The zero value retains the current scheduling policy\.
*Type:*
null or one of “fifo”, “rr”, “batch”, “idle”, “deadline”, “ext”
*Default:*
` null `
## environment\.hakurei\.apps\.\<name>\.schedPriority
Scheduling priority to set for the container\.
*Type:*
null or integer between 1 and 99 (both inclusive)
*Default:*
` null `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.script
2024-11-19 18:12:35 +09:00
Application launch script\.
*Type:*
null or string
*Default:*
` null `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.share
2024-11-19 18:12:35 +09:00
Package containing share files\.
Setting this to null will default package name to wrapper name\.
*Type:*
null or package
*Default:*
` null `
2025-11-12 00:53:14 +09:00
## environment\.hakurei\.apps\.\<name>\.shareRuntime
Whether to enable sharing of XDG_RUNTIME_DIR between containers under the same identity\.
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
## environment\.hakurei\.apps\.\<name>\.shareTmpdir
Whether to enable sharing of TMPDIR between containers under the same identity\.
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.shareUid
2025-05-26 02:55:19 +09:00
Whether to enable sharing identity with another application\.
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.tty
2024-11-28 00:19:06 +09:00
2025-01-23 20:49:49 +09:00
Whether to enable access to the controlling terminal\.
2024-11-28 00:19:06 +09:00
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.useCommonPaths
2025-05-26 02:55:19 +09:00
Whether to enable common extra paths\.
*Type:*
boolean
*Default:*
` true `
*Example:*
` true `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.userns
2024-11-19 18:12:35 +09:00
2025-03-26 02:18:59 +09:00
Whether to enable user namespace creation\.
2024-11-19 18:12:35 +09:00
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.apps\.\<name>\.verbose
2025-01-23 20:49:49 +09:00
Whether to enable launchers with verbose output\.
*Type:*
boolean
*Default:*
` false `
*Example:*
` true `
2025-08-26 02:23:59 +09:00
## environment\.hakurei\.apps\.\<name>\.wait_delay
Duration to wait for after interrupting a containers initial process in nanoseconds\.
A negative value causes the container to be terminated immediately on cancellation\.
Setting this to null defaults to five seconds\.
*Type:*
null or signed integer
*Default:*
` null `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.commonPaths
2025-05-26 02:55:19 +09:00
Common extra paths to make available to the container\.
*Type:*
2025-09-28 21:58:19 +09:00
list of attribute set of anything
2025-05-26 02:55:19 +09:00
*Default:*
` [ ] `
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.extraHomeConfig
2025-05-26 02:55:19 +09:00
Extra home-manager configuration to merge with all target users\.
*Type:*
anything
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.hsuPackage
2025-02-23 18:52:33 +09:00
2025-06-25 03:59:52 +09:00
The hsu package to use\.
2025-02-23 18:52:33 +09:00
*Type:*
package
*Default:*
2026-05-22 02:18:10 +09:00
` <derivation hakurei-hsu-0.4.3> `
2025-08-26 02:23:59 +09:00
2025-12-27 22:52:12 +09:00
## environment\.hakurei\.sharefs\.package
The sharefs package to use\.
*Type:*
package
*Default:*
` <derivation sharefs> `
## environment\.hakurei\.sharefs\.group
Name of the group to run the sharefs daemon as\.
*Type:*
string
*Default:*
` "sharefs" `
## environment\.hakurei\.sharefs\.name
Host path to mount sharefs on\.
*Type:*
string
*Default:*
` "/sdcard" `
## environment\.hakurei\.sharefs\.source
Writable backing directory\. Setting this to null disables sharefs\.
*Type:*
null or string
*Default:*
` null `
## environment\.hakurei\.sharefs\.user
Name of the user to run the sharefs daemon as\.
*Type:*
string
*Default:*
` "sharefs" `
2025-08-26 02:23:59 +09:00
## environment\.hakurei\.shell
Absolute path to preferred shell\.
*Type:*
string
*Default:*
` "/run/current-system/sw/bin/bash" `
2025-01-23 20:49:49 +09:00
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.stateDir
2024-11-19 18:12:35 +09:00
The state directory where app home directories are stored\.
*Type:*
string
2025-06-25 03:59:52 +09:00
## environment\.hakurei\.users
2024-11-19 18:12:35 +09:00
2025-06-25 03:59:52 +09:00
Users allowed to spawn hakurei apps and their corresponding hakurei identity\.
2024-11-19 18:12:35 +09:00
*Type:*
attribute set of integer between 0 and 99 (both inclusive)