2026-03-10 21:50:51 +01:00
|
|
|
{ pkgs, ... }:
|
|
|
|
|
{
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
|
pavucontrol
|
|
|
|
|
libinput
|
|
|
|
|
libinput-gestures
|
|
|
|
|
libnotify
|
|
|
|
|
wmctrl
|
|
|
|
|
playerctl
|
|
|
|
|
xdg-utils
|
|
|
|
|
shared-mime-info
|
|
|
|
|
libsecret
|
|
|
|
|
gnome-text-editor
|
|
|
|
|
loupe
|
|
|
|
|
evince
|
|
|
|
|
seahorse
|
|
|
|
|
nautilus
|
2026-04-03 17:05:32 +02:00
|
|
|
gamescope
|
2026-03-10 21:50:51 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
programs = {
|
|
|
|
|
sway = {
|
|
|
|
|
enable = true;
|
|
|
|
|
wrapperFeatures.base = true;
|
|
|
|
|
wrapperFeatures.gtk = true;
|
|
|
|
|
extraOptions = [ "--unsupported-gpu" ];
|
|
|
|
|
extraPackages = with pkgs; [
|
|
|
|
|
swayidle
|
|
|
|
|
swaylock
|
|
|
|
|
swaybg
|
|
|
|
|
grim
|
|
|
|
|
slurp
|
|
|
|
|
wl-clipboard
|
|
|
|
|
pulseaudio
|
|
|
|
|
sway-contrib.grimshot
|
|
|
|
|
foot
|
|
|
|
|
kitty
|
|
|
|
|
dotool
|
|
|
|
|
mako
|
|
|
|
|
espanso-wayland
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
uwsm = {
|
|
|
|
|
enable = true;
|
|
|
|
|
waylandCompositors = {
|
|
|
|
|
sway = {
|
|
|
|
|
prettyName = "Sway";
|
|
|
|
|
comment = "Sway compositor managed by UWSM";
|
|
|
|
|
binPath = "${pkgs.sway}/bin/sway";
|
|
|
|
|
extraArgs = [ "--unsupported-gpu" ];
|
|
|
|
|
};
|
2026-04-03 17:05:32 +02:00
|
|
|
big_picture = {
|
|
|
|
|
prettyName = "Steam Big Picture";
|
|
|
|
|
comment = "Launch in big picture mode within a gamescope container";
|
|
|
|
|
binPath = "${pkgs.gamescope}/bin/gamescope";
|
|
|
|
|
extraArgs = [
|
|
|
|
|
"-e"
|
|
|
|
|
"-W 1920"
|
|
|
|
|
"-H 1080"
|
|
|
|
|
"--"
|
|
|
|
|
"/usr/bin/steam"
|
|
|
|
|
"-tenfoot"
|
|
|
|
|
];
|
|
|
|
|
};
|
2026-03-10 21:50:51 +01:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
light.enable = true;
|
|
|
|
|
dconf.enable = true;
|
|
|
|
|
seahorse.enable = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
security = {
|
|
|
|
|
polkit.enable = true;
|
|
|
|
|
pam.services = {
|
|
|
|
|
greetd.enableGnomeKeyring = true;
|
|
|
|
|
login.enableGnomeKeyring = true;
|
|
|
|
|
swaylock.text = ''
|
|
|
|
|
auth sufficient pam_unix.so try_first_pass likeauth nullok
|
|
|
|
|
auth sufficient pam_fprintd.so
|
|
|
|
|
auth include login
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
services = {
|
|
|
|
|
greetd = {
|
|
|
|
|
enable = true;
|
|
|
|
|
settings = {
|
|
|
|
|
default_session = {
|
|
|
|
|
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd 'uwsm start -- sway-uwsm.desktop' --remember --asterisks''";
|
|
|
|
|
user = "greeter";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
logind.settings.Login = {
|
|
|
|
|
HandleLidSwitch = "suspend";
|
|
|
|
|
HandleLidSwitchExternalPower = "suspend";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
dbus.packages = [ pkgs.seahorse pkgs.gnome-keyring pkgs.gcr ];
|
|
|
|
|
gnome.gcr-ssh-agent.enable = true;
|
|
|
|
|
gvfs.enable = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
users.users.alisceon.extraGroups = [ "video" "input" ];
|
|
|
|
|
}
|