nixos/umbriel: init module

This commit is contained in:
Samiser
2026-08-22 15:51:59 +01:00
committed by dish
parent 1a74b5d09a
commit 83d1706d1c
3 changed files with 51 additions and 0 deletions

View File

@@ -100,6 +100,8 @@
- [kvrocks_exporter](https://github.com/RocksLabs/kvrocks_exporter), a Prometheus exporter for Kvrocks metrics. Available as [services.prometheus.exporters.kvrocks](#opt-services.prometheus.exporters.kvrocks.enable).
- [Umbriel](https://docs.noctalia.dev/umbriel/), a Wayland compositor built on wlroots and SceneFX. Available as [programs.umbriel](#opt-programs.umbriel.enable).
## Backward Incompatibilities {#sec-release-26.11-incompatibilities}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

View File

@@ -371,6 +371,7 @@
./programs/wayland/pinnacle.nix
./programs/wayland/river.nix
./programs/wayland/sway.nix
./programs/wayland/umbriel.nix
./programs/wayland/uwsm.nix
./programs/wayland/waybar.nix
./programs/wayland/wayfire.nix

View File

@@ -0,0 +1,48 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.programs.umbriel;
in
{
options.programs.umbriel = {
enable = lib.mkEnableOption "Umbriel, a Wayland compositor built on wlroots and SceneFX";
package = lib.mkPackageOption pkgs "umbriel" { };
portalPackage = lib.mkPackageOption pkgs "xdg-desktop-portal-umbriel" { };
};
config = lib.mkIf cfg.enable (
lib.mkMerge [
{
environment.systemPackages = [ cfg.package ];
services.displayManager.sessionPackages = [ cfg.package ];
systemd.packages = [ cfg.package ];
systemd.user.services.umbriel = {
restartIfChanged = false;
enableDefaultPath = false;
};
xdg.portal = {
enable = lib.mkDefault true;
extraPortals = [ cfg.portalPackage ];
configPackages = [ cfg.portalPackage ];
};
}
(import ./wayland-session.nix {
inherit lib pkgs;
enableXWayland = false;
enableWlrPortal = false;
})
]
);
meta.maintainers = with lib.maintainers; [
samiser
pyrox0
];
}