Use tuigreet as greeter for Hyprland and Gnome sessions

I needed to make a custom gnome desktop to start gnome with
XDG_SESSION_TYPE=wayland dbus-run-session .../gnome-session

See: https://github.com/apognu/tuigreet?tab=readme-ov-file#desktop-environments
main
Christian Ott 2 years ago
parent 10bddd9ec8
commit c15ecb2f45
  1. 3
      configuration.nix
  2. 4
      flake.nix
  3. 32
      greeter.nix

@ -43,9 +43,10 @@
# Enable the X11 windowing system.
services.xserver.enable = true;
programs.hyprland.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.displayManager.gdm.enable = false;
services.xserver.desktopManager.gnome.enable = true;
services.fprintd.enable = true;

@ -24,8 +24,12 @@
};
in {
nixosConfigurations.nix-fw16 = lib.nixosSystem {
specialArgs = {
inherit pkgs-unstable;
};
modules = [
./configuration.nix
./greeter.nix
nixos-hardware.nixosModules.framework-16-7040-amd
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;

@ -0,0 +1,32 @@
{ config, pkgs, pkgs-unstable, lib, ... }:
let
tuigreet = "${pkgs-unstable.greetd.tuigreet}/bin/tuigreet";
hyprland-session = "${pkgs-unstable.hyprland}/share/wayland-sessions";
# https://github.com/bytemouse/config/blob/48d9be51a9666c9b62f4b8e84322b9d892ee0aea/modules/gnome.nix#L11
gnome-script = pkgs.writeShellScriptBin "gnome-script" ''
export XDG_SESSION_TYPE=wayland
${pkgs.dbus}/bin/dbus-run-session ${pkgs.gnome.gnome-session}/bin/gnome-session
'';
gnome-desktop = pkgs.makeDesktopItem {
name = "gnome-desktop";
desktopName = "Gnome Desktop";
exec = "${gnome-script}/bin/gnome-script";
terminal = true;
};
in {
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${tuigreet} --time --remember --greeting Hoi! --remember-session --sessions ${hyprland-session}:${gnome-desktop}/share/applications";
user = "greeter";
};
};
};
environment.systemPackages = with pkgs-unstable; [ greetd.tuigreet ];
}
Loading…
Cancel
Save

Powered by TurnKey Linux.