nixos_config/hosts/common/wm/sway.nix

103 lines
2.7 KiB
Nix
Raw Normal View History

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
}