Commit 66247b7b8293

Vincent Demeester <vincent@sbr.pm>
2026-03-27 11:43:31
feat(okinawa): switch from autologin to greetd + ReGreet
Replaced getty autologin with ReGreet greeter running under cage via greetd. Uses Arc-Dark theme, JetBrains Mono font, Qogir cursor, and lockscreen wallpaper. Enables gnome-keyring unlock via PAM on login.
1 parent 17f5120
Changed files (3)
dots
wallpapers
systems
common
desktop
okinawa
dots/wallpapers/greeter.jpg
Binary file
systems/common/desktop/niri.nix
@@ -33,17 +33,40 @@
   };
 
   programs.niri.enable = true;
-  # services.greetd.settings = {
-  #   default_session = {
-  #     # command = "${pkgs.greetd.greetd}/bin/agreety --cmd niri";
-  #     command = "${
-  #       lib.makeBinPath [ pkgs.greetd.tuigreet ]
-  #     }/tuigreet -r --asterisks --time --cmd ${niriRun}";
-  #     users = "greeter";
-  #   };
-  #   initial_session = {
-  #     command = "${niriRun}";
-  #     user = "vincent";
-  #   };
-  # };
+
+  # ReGreet greeter (runs under cage via greetd)
+  # Unlocks gnome-keyring via PAM on login
+  programs.regreet = {
+    enable = true;
+    cageArgs = [
+      "-s"
+      "-m"
+      "last"
+    ];
+    settings = {
+      background = {
+        path = "/etc/greetd/wallpaper.jpg";
+        fit = "Cover";
+      };
+      GTK.application_prefer_dark_theme = true;
+      appearance.greeting_msg = "Welcome back!";
+    };
+    theme = {
+      name = "Arc-Dark";
+      package = pkgs.arc-theme;
+    };
+    iconTheme = {
+      name = "Arc";
+      package = pkgs.arc-icon-theme;
+    };
+    cursorTheme = {
+      name = "Qogir";
+      package = pkgs.qogir-icon-theme;
+    };
+    font = {
+      name = "JetBrains Mono";
+      package = pkgs.jetbrains-mono;
+      size = 14;
+    };
+  };
 }
systems/okinawa/extra.nix
@@ -51,11 +51,8 @@
     };
   };
 
-  # Auto-login on boot
-  services.getty = {
-    autologinOnce = true;
-    autologinUser = "vincent";
-  };
+  # Greeter wallpaper (accessible to greeter user)
+  environment.etc."greetd/wallpaper.jpg".source = ../../dots/wallpapers/greeter.jpg;
 
   # QMK/ZMK keyboard flashing support (udev rules + plugdev group)
   hardware.keyboard.qmk.enable = true;