diff --git a/hosts/framework/configuration.nix b/hosts/framework/configuration.nix index 7737822..a45d5da 100644 --- a/hosts/framework/configuration.nix +++ b/hosts/framework/configuration.nix @@ -8,7 +8,8 @@ # Include the results of the hardware scan. ./hardware-configuration.nix inputs.home-manager.nixosModules.default - ../../modules/nixos/cosmic.nix + # ../../modules/nixos/cosmic.nix + ../../modules/nixos/niri.nix ]; # Bootloader. boot.loader.systemd-boot.enable = true; diff --git a/modules/nixos/greeter.nix b/modules/nixos/greeter.nix new file mode 100644 index 0000000..af9eb93 --- /dev/null +++ b/modules/nixos/greeter.nix @@ -0,0 +1,38 @@ +{ + pkgs, + lib, + config, + inputs, + ... +}: let + tuigreet = "${pkgs.greetd.tuigreet}/bin/tuigreet"; +in { + options.greeter = { + session = lib.mkOption { + type = lib.types.str; + description = "Path to the session binary"; + }; + }; + config = { + environment.etc.session.text = toString config.greeter.session; + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${tuigreet} --time --rememeber --remember-session --sessions ${config.greeter.session}"; + user = "greeter"; + }; + }; + }; + }; + # systemd.services.greetd.serviceConfig = { + # Type = "idle"; + # StandardInput = "tty"; + # StandardOutput = "tty"; + # StandardError = "journal"; + + # TTYReset = true; + # TTYVHangup = true; + # TTYVDisallocate = true; + # }; +} diff --git a/modules/nixos/niri.nix b/modules/nixos/niri.nix new file mode 100644 index 0000000..724d104 --- /dev/null +++ b/modules/nixos/niri.nix @@ -0,0 +1,7 @@ +{pkgs, ...}: { + imports = [ + ./greeter.nix + ]; + greeter.session = "${pkgs.niri}/bin/niri-session"; + programs.niri.enable = true; +}