nix-config/modules/features/desktop/niri.nix
2026-04-15 18:26:05 -04:00

90 lines
2.3 KiB
Nix

{ ... }:
{
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 =
let
niri-config = pkgs.writeText "niri-config" ''
hotkey-overlay {
skip-at-startup
}
environment {
GTK_USE_PORTAL "0"
GDK_DEBUG "no-portals"
}
// other settings
spawn-at-startup "sh" "-c" "${pkgs.greetd.regreet}/bin/regreet; pkill -f niri"
'';
in
{
enable = true;
settings = {
default_session = {
command = "niri -c ${niri-config}";
user = "greeter";
};
};
};
programs.regreet.enable = 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";
};
};
}
)
];
};
}