{ ... }: { config.dendritic.features.wm-niri = { homeModules = [ ( { pkgs, inputs, ... }: { imports = [ inputs.niri.homeModules.niri ../../home/programs/niri/settings.nix ../../home/programs/niri/keybinds.nix ../../home/programs/niri/rules.nix ../../home/programs/niri/autostart.nix ../../home/programs/niri/noctaliashell.nix ]; services.gnome-keyring.enable = true; } ) ]; nixosModules = [ ( { pkgs, lib, ... }: { imports = [ ../../nixos/gui/xdg.nix ]; services.greetd = { enable = true; settings = { default_session = { command = "${pkgs.greetd.tuigreet}/bin/tuigreet --remember --asterisks --container-padding 2 --no-xsession-wrapper --cmd niri-session"; user = "greeter"; }; }; }; # this is a life saver. # literally no documentation about this anywhere. # might be good to write about this... # https://www.reddit.com/r/NixOS/comments/u0cdpi/tuigreet_with_xmonad_how/ # systemd = { # # To prevent getting stuck at shutdown # extraConfig = "DefaultTimeoutStopSec=10s"; # services.greetd.serviceConfig = { # Type = "idle"; # StandardInput = "tty"; # StandardOutput = "tty"; # StandardError = "journal"; # TTYReset = true; # TTYVHangup = true; # TTYVTDisallocate = true; # }; # }; # services.displayManager.enable = false; # services.displayManager = { # sddm = { # package = pkgs.kdePackages.sddm; # enable = true; # wayland.enable = true; # }; # }; # services.displayManager.gdm = { # enable = false; # wayland = true; # }; services.displayManager.enable = lib.mkForce false; services.xserver = { enable = true; xkb = { variant = ""; layout = "us"; }; }; environment = { variables = { TERMINAL = "ghostty"; EDITOR = "nvim"; VISUAL = "nvim"; PAGER = "moar"; PASSWORD_STORE_DIR = "$HOME/.local/share/password-store"; }; }; } ) ]; }; }