summaryrefslogtreecommitdiffstats
path: root/krebs/3modules/upstream/desktop-managers
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2021-02-03 23:18:38 +0100
committerlassulus <lassulus@lassul.us>2021-02-03 23:18:38 +0100
commit0a53ef2a0d06bf347a24eb86132068289568e79c (patch)
tree923f3736a760190dcb79fea18be670062a822bad /krebs/3modules/upstream/desktop-managers
parent5d4e3a953e2c1f8a6c606640f7e8a94e4f64133d (diff)
parent61aebc5adcab3a174a6e27686c0c8fc7f65df513 (diff)
Merge remote-tracking branch 'ni/master'
Diffstat (limited to 'krebs/3modules/upstream/desktop-managers')
-rw-r--r--krebs/3modules/upstream/desktop-managers/coma.nix21
-rw-r--r--krebs/3modules/upstream/desktop-managers/default.nix6
-rw-r--r--krebs/3modules/upstream/desktop-managers/none.nix11
3 files changed, 38 insertions, 0 deletions
diff --git a/krebs/3modules/upstream/desktop-managers/coma.nix b/krebs/3modules/upstream/desktop-managers/coma.nix
new file mode 100644
index 000000000..95db7fb5c
--- /dev/null
+++ b/krebs/3modules/upstream/desktop-managers/coma.nix
@@ -0,0 +1,21 @@
+with import <stockholm/lib>;
+{ config, pkgs, ... }: {
+ options = {
+ services.xserver.desktopManager.coma = {
+ enable = mkEnableOption "sleep as a desktop manager";
+ };
+ };
+ config = mkIf config.services.xserver.desktopManager.coma.enable {
+ services.xserver.desktopManager.session = singleton {
+ name = "coma";
+ bgSupport = true;
+ start = /* sh */ ''
+ if test -n "$waitPID"; then
+ ${pkgs.uutils-coreutils}/bin/uutils-sleep 1s && kill $waitPID &
+ wait $waitPID
+ fi
+ exec -a sleep ${pkgs.uutils-coreutils}/bin/uutils-sleep infinity
+ '';
+ };
+ };
+}
diff --git a/krebs/3modules/upstream/desktop-managers/default.nix b/krebs/3modules/upstream/desktop-managers/default.nix
new file mode 100644
index 000000000..22e75439d
--- /dev/null
+++ b/krebs/3modules/upstream/desktop-managers/default.nix
@@ -0,0 +1,6 @@
+{
+ imports = [
+ ./coma.nix
+ ./none.nix
+ ];
+}
diff --git a/krebs/3modules/upstream/desktop-managers/none.nix b/krebs/3modules/upstream/desktop-managers/none.nix
new file mode 100644
index 000000000..892def985
--- /dev/null
+++ b/krebs/3modules/upstream/desktop-managers/none.nix
@@ -0,0 +1,11 @@
+# Replace upstream none desktop-manager by a real none, that doesn't pull in
+# any dependencies.
+with import <stockholm/lib>;
+{
+ disabledModules = singleton "services/x11/desktop-managers/none.nix";
+ config.services.xserver.desktopManager.session = singleton {
+ name = "none";
+ bgSupport = true;
+ start = "";
+ };
+}