Niri, Hypr, Flake Bump, tuigreet, init niri

Sets up a config for Niri which involved both the host and user config
settings. It's a semi basic set up to be improved on further later.

This also needs to bump flake so that niri can be added to the flake
update. I don't know what the flake bump date was at this point, so I'll
have to bump it again soon.

This needs to break apart the "waylandcompositors" service to allow niri
and hypr to better fit the directory structure. Otherwise Hypr is
unchanged.

need to update the tuigreet default WM based on the currently selected
one. Currently prioritizes Hyprland > Niri because I didn't want to
write assert code...
This commit is contained in:
Julia Lange 2025-05-06 12:52:09 -07:00
parent 21c134cdba
commit f5962d1d27
Signed by: Julia
SSH key fingerprint: SHA256:5DJcfxa5/fKCYn57dcabJa2vN2e6eT0pBerYi5SUbto
8 changed files with 330 additions and 117 deletions

View file

@ -6,15 +6,19 @@
};
config = lib.mkIf config.tuigreet.enable {
services.greetd = {
services.greetd = let
wm =
if config.hyprland.enable then "Hyprland"
else (if config.niri.enable then "niri" else null);
in {
enable = true;
package = pkgs.greetd.tuigreet;
settings = {
terminal = {
vt = 2;
};
default_session = lib.mkIf config.hyprland.enable {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland";
default_session = lib.mkIf (wm != null) {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd ${wm}";
user = "greeter";
};
};

View file

@ -0,0 +1,16 @@
{ inputs, config, lib, ... }:
{
options.niri = {
enable = lib.mkEnableOption "enables niri";
};
imports = [
inputs.niri.nixosModules.niri
];
config = lib.mkIf config.niri.enable {
programs.niri.enable = true;
};
}