{ config, lib, pkgs, ... }: { environment.systemPackages = [ pkgs.chafa pkgs.evince pkgs.feh pkgs.gcr pkgs.geeqie pkgs.ghostty pkgs.gimp #pkgs.gimp-with-plugins pkgs.google-chrome pkgs.grim pkgs.gv pkgs.inkscape pkgs.kdePackages.okular pkgs.libreoffice pkgs.libva-utils pkgs.mako pkgs.mesa-demos pkgs.mpv pkgs.polkit_gnome pkgs.rdesktop pkgs.read-edid pkgs.slurp pkgs.st pkgs.sxiv pkgs.tigervnc pkgs.turbovnc pkgs.vdpauinfo pkgs.vlc pkgs.vulkan-tools pkgs.wireshark pkgs.wl-clipboard pkgs.x11vnc pkgs.xclip pkgs.xdotool pkgs.xorg.appres pkgs.xorg.editres pkgs.xorg.xdpyinfo pkgs.xorg.xev pkgs.xscreensaver pkgs.xsnow pkgs.xterm ]; programs = { firefox = { enable = true; package = pkgs.master.firefox; }; #regreet= { # enable = true; # settings = { # GTK = { # application_prefer_dark_theme = true; # cursor_theme_name = "catppuccin-mocha-blue-cursors"; # font_name = "Work Sans 16"; # icon_theme_name = "Papirus-Dark"; # theme_name = "catppuccin-mocha-blue-standard"; # }; # }; #}; sway = { enable = true; wrapperFeatures.gtk = true; }; waybar.enable = true; }; #services.greetd = { # enable = true; # #settings = { # # default_session = { # # command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway"; # # user = "greeter"; # # }; # #}; #}; security = { pam = { loginLimits = [ { domain = "@users"; item = "rtprio"; type = "-"; value = 1; } ]; services.sddm-greeter.googleAuthenticator = { enable = true; forwardPass = true; }; }; polkit = { enable = true; extraConfig = '' polkit.addRule(function(action, subject) { if ( subject.isInGroup("users") && ( action.id == "org.freedesktop.login1.reboot" || action.id == "org.freedesktop.login1.reboot-multiple-sessions" || action.id == "org.freedesktop.login1.power-off" || action.id == "org.freedesktop.login1.power-off-multiple-sessions" ) ) { return polkit.Result.YES; } }) ''; }; }; services = { blueman.enable = true; displayManager.sddm = { enable = true; wayland = { compositor = "kwin"; enable = true; }; }; libinput.enable = true; printing.enable = true; }; systemd = { user.services.polkit-gnome-authentication-agent-1 = { description = "polkit-gnome-authentication-agent-1"; wantedBy = [ "graphical-session.target" ]; wants = [ "graphical-session.target" ]; after = [ "graphical-session.target" ]; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; Restart = "on-failure"; RestartSec = 1; TimeoutStopSec = 10; }; }; }; }