summary refs log tree commit diff
path: root/mixins/greet.nix
diff options
context:
space:
mode:
Diffstat (limited to 'mixins/greet.nix')
-rw-r--r--mixins/greet.nix37
1 files changed, 22 insertions, 15 deletions
diff --git a/mixins/greet.nix b/mixins/greet.nix
index 5c46792..755b7f8 100644
--- a/mixins/greet.nix
+++ b/mixins/greet.nix
@@ -1,4 +1,5 @@
 {
+  config,
   pkgs,
   lib,
   ...
@@ -6,28 +7,34 @@
   user = "tzlil";
 
   users.users.greeter.packages = [pkgs.sway];
-  greetd = "${pkgs.greetd.greetd}/bin/greetd";
-  gtkgreet = "${pkgs.greetd.gtkgreet}/bin/gtkgreet";
+  greet = "${pkgs.greetd.wlgreet}/bin/wlgreet";
 
   sway-kiosk = command: "${pkgs.sway}/bin/sway --unsupported-gpu --config ${pkgs.writeText "kiosk.config" ''
     output * bg #000000 solid_color
     exec "${command}; ${pkgs.sway}/bin/swaymsg exit"
   ''}";
 in {
-  environment.etc."greetd/environments".text =
-    "sway\n"
-    + "$SHELL -l\n";
+  options.greeter.initialSession = lib.mkOption {
+    type = lib.types.str;
+    default = "sh -c sway";
+  };
 
-  services.greetd = {
-    enable = true;
-    settings = {
-      default_session = {
-        inherit user;
-        command = sway-kiosk "${gtkgreet} -l &>/dev/null";
-      };
-      initial_session = {
-        inherit user;
-        command = "sh -c sway";
+  config = {
+    environment.etc."greetd/environments".text =
+      "sway\n"
+      + "$SHELL -l\n";
+
+    services.greetd = {
+      enable = true;
+      settings = {
+        default_session = {
+          inherit user;
+          command = sway-kiosk "${greet} -l &>/dev/null";
+        };
+        initial_session = {
+          inherit user;
+          command = config.greeter.initialSession;
+        };
       };
     };
   };