update niri config

This commit is contained in:
Leonardo Eugênio 2026-03-04 00:39:51 -03:00
parent d834ba70a0
commit 3207922b68
15 changed files with 495 additions and 58 deletions

View file

@ -14,6 +14,8 @@ let
;
cfg = config.login-manager.greetd;
isSway = desktop == "sway";
isNiri = desktop == "niri";
in
{
options.login-manager.greetd = {
@ -25,8 +27,7 @@ in
# Enable the X11 windowing system.
services.xserver.enable = false;
# enable sway window manager
programs.sway = {
programs.sway = lib.mkIf isSway {
enable = true;
package = pkgs.mySway;
wrapperFeatures.gtk = true;
@ -42,14 +43,22 @@ in
};
services.greetd =
let
start-sway = pkgs.writeShellScriptBin "start-sway" ''
mkdir -p ~/.local/share/sway
exec sway 2>&1 | tee -a ~/.local/share/sway/sway.log
'';
start-session = pkgs.writeShellScriptBin "start-session" (
if isNiri then
''
mkdir -p ~/.local/share/niri
exec niri-session 2>&1 | tee -a ~/.local/share/niri/niri.log
''
else
''
mkdir -p ~/.local/share/sway
exec sway 2>&1 | tee -a ~/.local/share/sway/sway.log
''
);
greetd_main_script = pkgs.writeShellScriptBin "main" ''
export XDG_CURRENT_DESKTOP=sway GTK_THEME="${theme.gtk_theme}" XCURSOR_THEME="${theme.cursor_theme}"
${pkgs.gtkgreet}/bin/gtkgreet -l -c ${lib.getExe start-sway}
swaymsg exit
export XDG_CURRENT_DESKTOP=${desktop} GTK_THEME="${theme.gtk_theme}" XCURSOR_THEME="${theme.cursor_theme}"
${pkgs.gtkgreet}/bin/gtkgreet -l -c ${lib.getExe start-session}
${lib.optionalString isSway "swaymsg exit"}
'';
swayConfig = pkgs.writeText "greetd-sway-config" ''
# `-l` activates layer-shell mode. Notice that `swaymsg exit` will run after gtkgreet.
@ -72,7 +81,7 @@ in
enable = true;
settings = {
initial_session = {
command = lib.getExe start-sway;
command = lib.getExe start-session;
user = "lelgenio";
};
default_session = {
@ -81,6 +90,7 @@ in
};
};
environment.systemPackages = with pkgs; [
niri
sway
swaylock
swayidle