This commit is contained in:
2025-04-20 12:30:39 +03:00
parent fce3a4ff0c
commit fd163750c8
7 changed files with 887 additions and 0 deletions
+73
View File
@@ -0,0 +1,73 @@
{
config,
pkgs,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption getExe;
cfg = config.desktop.niri;
in {
options = {
desktop.niri.enable =
mkEnableOption "enable niri desktop";
};
config = mkIf cfg.enable {
sound.pipewire.enable = true;
programs.niri.enable = true; # wayland compositor in rust
environment.systemPackages = with pkgs; [
brightnessctl
gcr_4
];
fonts.fontDir.enable = true;
security.pam = {
services.greetd.enableGnomeKeyring = true;
services.gtklock = {};
loginLimits = [
{
domain = "@users";
item = "rtprio";
type = "-";
value = 1;
}
];
};
services = {
gnome.gnome-keyring.enable = true;
udisks2.enable = true;
dbus = {
apparmor = "enabled";
implementation = "broker";
};
};
programs = {
dconf.enable = true;
seahorse.enable = true;
};
xdg.portal = {
enable = true;
extraPortals = with pkgs; [xdg-desktop-portal-gtk];
config.jay = {
default = ["gtk"];
"org.freedesktop.impl.portal.ScreenCast" = "jay";
"org.freedesktop.impl.portal.RemoteDesktop" = "jay";
"org.freedesktop.impl.portal.Inhibit" = "none";
"org.freedesktop.impl.portal.FileChooser" = "gtk4";
"org.freedesktop.impl.portal.Secret" = ["gnome-keyring"];
};
};
programs.regreet.enable = true;
services.greetd = {
enable = true;
vt = 6;
settings = {
default_session = {
command = "${pkgs.cage}/bin/cage -s -m last -- ${getExe pkgs.greetd.regreet}";
};
initial_session = {
user = "user";
command = "${pkgs.jay}/bin/jay run";
};
};
};
};
}