2025-08-24 16:05:54 +02:00
|
|
|
{ config, pkgs, lib, ... }:
|
|
|
|
|
{
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
|
mako # notification system developed by swaywm maintainer
|
2025-12-01 20:17:06 +01:00
|
|
|
rofi
|
2025-12-01 22:40:14 +01:00
|
|
|
|
|
|
|
|
libinput
|
|
|
|
|
libinput-gestures
|
|
|
|
|
wmctrl
|
2025-12-02 19:21:57 +01:00
|
|
|
seahorse
|
|
|
|
|
libsecret
|
|
|
|
|
pkgs.xdg-desktop-portal-gtk
|
2025-08-24 16:05:54 +02:00
|
|
|
];
|
2025-12-02 19:21:57 +01:00
|
|
|
environment.sessionVariables = rec {
|
|
|
|
|
XDG_CURRENT_DESKTOP = "GNOME:sway";
|
|
|
|
|
};
|
|
|
|
|
|
2025-08-24 16:05:54 +02:00
|
|
|
|
|
|
|
|
# enable Sway window manager
|
|
|
|
|
programs = {
|
|
|
|
|
sway = {
|
|
|
|
|
enable = true;
|
2025-12-02 19:21:57 +01:00
|
|
|
wrapperFeatures.base = true;
|
2025-08-24 16:05:54 +02:00
|
|
|
wrapperFeatures.gtk = true;
|
2025-12-02 19:21:57 +01:00
|
|
|
extraOptions = [
|
|
|
|
|
"--unsupported-gpu"
|
|
|
|
|
];
|
|
|
|
|
extraPackages = with pkgs; [
|
|
|
|
|
swayidle
|
|
|
|
|
swaylock
|
|
|
|
|
grim
|
|
|
|
|
slurp
|
|
|
|
|
wl-clipboard
|
|
|
|
|
brightnessctl
|
|
|
|
|
pulseaudio
|
|
|
|
|
sway-contrib.grimshot
|
|
|
|
|
];
|
2025-08-24 16:05:54 +02:00
|
|
|
}; # end sway
|
2025-12-02 19:21:57 +01:00
|
|
|
# uwsm = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# waylandCompositors = {
|
|
|
|
|
# sway = {
|
|
|
|
|
# prettyName = "Sway";
|
|
|
|
|
# comment = "Sway compositor managed by UWSM";
|
|
|
|
|
# binPath = "${pkgs.sway}/bin/sway";
|
|
|
|
|
# extraArgs = [ "--unsupported-gpu" ];
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# }; # end uwsm
|
2025-08-24 16:05:54 +02:00
|
|
|
light = {
|
|
|
|
|
enable = true;
|
|
|
|
|
}; # end light
|
2025-12-02 19:21:57 +01:00
|
|
|
dconf.enable = true;
|
|
|
|
|
seahorse.enable = true;
|
2025-08-24 16:05:54 +02:00
|
|
|
}; # end programs
|
2025-08-25 10:01:53 +02:00
|
|
|
security = {
|
|
|
|
|
polkit.enable = true;
|
|
|
|
|
pam.services = {
|
|
|
|
|
greetd.enableGnomeKeyring = true;
|
|
|
|
|
greetd-password.enableGnomeKeyring = true;
|
|
|
|
|
login.enableGnomeKeyring = true;
|
|
|
|
|
}; # end pam.services
|
|
|
|
|
}; # end security
|
2025-08-24 16:05:54 +02:00
|
|
|
services = {
|
|
|
|
|
greetd = {
|
|
|
|
|
enable = true;
|
|
|
|
|
settings = {
|
|
|
|
|
default_session = {
|
2025-12-02 19:21:57 +01:00
|
|
|
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd 'sway --unsupported-gpu'";
|
|
|
|
|
#command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd 'uwsm start -- sway-uwsm.desktop'";
|
2025-08-24 16:05:54 +02:00
|
|
|
user = "greeter";
|
|
|
|
|
}; # end default_session
|
|
|
|
|
}; # end settings
|
|
|
|
|
}; # end greetd
|
|
|
|
|
logind = {
|
2025-12-02 19:21:57 +01:00
|
|
|
settings = {
|
|
|
|
|
Login = {
|
|
|
|
|
HandleLidSwitch = "suspend";
|
|
|
|
|
HandleLidSwitchExternalPower = "suspend";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-08-24 16:05:54 +02:00
|
|
|
}; # end logind
|
2025-12-02 19:21:57 +01:00
|
|
|
#gnome = {
|
|
|
|
|
#gnome-keyring.enable = true;
|
|
|
|
|
#gcr-ssh-agent.enable = true;
|
|
|
|
|
#}; # end gnome
|
|
|
|
|
dbus.packages = [ pkgs.seahorse pkgs.gnome-keyring pkgs.gcr ];
|
2025-08-24 16:05:54 +02:00
|
|
|
}; # end services
|
2025-12-01 22:40:14 +01:00
|
|
|
users.users.alisceon.extraGroups = [ "video" "input" ];
|
2025-12-02 19:21:57 +01:00
|
|
|
# xdg.portal = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# wlr.enable = true;
|
|
|
|
|
# extraPortals = [
|
|
|
|
|
# pkgs.xdg-desktop-portal-gtk
|
|
|
|
|
# ];
|
|
|
|
|
# config = {
|
|
|
|
|
# common = {
|
|
|
|
|
# default = [ "gtk" ];
|
|
|
|
|
# "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# };
|
2025-08-24 16:05:54 +02:00
|
|
|
}
|