diff --git a/modules/other/xdg.nix b/modules/other/xdg.nix index 88ffce7..bbeeb21 100644 --- a/modules/other/xdg.nix +++ b/modules/other/xdg.nix @@ -22,45 +22,51 @@ in { }; }; - xdg.mime = { - defaultApplications = { - "text/html" = [primary_browser]; - "x-scheme-handler/http" = [primary_browser]; - "x-scheme-handler/https" = [primary_browser]; - "x-scheme-handler/about" = [primary_browser]; - "x-scheme-handler/unknown" = [primary_browser]; - "x-scheme-handler/mailto" = [mail_client]; - "message/rfc822" = [mail_client]; - "x-scheme-handler/mid" = [mail_client]; - "inode/directory" = [file_manager]; - "audio/mp3" = [media_player]; - "audio/ogg" = [media_player]; - "audio/mpeg" = [media_player]; - "audio/aac" = [media_player]; - "audio/opus" = [media_player]; - "audio/wav" = [media_player]; - "audio/webm" = [media_player]; - "audio/3gpp" = [media_player]; - "audio/3gpp2" = [media_player]; - "video/mp4" = [media_player]; - "video/x-msvideo" = [media_player]; - "video/mpeg" = [media_player]; - "video/ogg" = [media_player]; - "video/mp2t" = [media_player]; - "video/webm" = [media_player]; - "video/3gpp" = [media_player]; - "video/3gpp2" = [media_player]; - "image/png" = [image_viewer]; - "image/jpeg" = [image_viewer]; - "image/gif" = [image_viewer]; - "image/avif" = [image_viewer]; - "image/bmp" = [image_viewer]; - "image/vnd.microsoft.icon" = [image_viewer]; - "image/svg+xml" = [image_viewer]; - "image/tiff" = [image_viewer]; - "image/webp" = [image_viewer]; - "text/plain" = [text_editor]; - "application/pdf" = [pdf_viewer]; + xdg = { + autostart.enable = true; + menus.enable = true; + icons.enable = true; + mime = { + enable = true; + defaultApplications = { + "text/html" = [primary_browser]; + "x-scheme-handler/http" = [primary_browser]; + "x-scheme-handler/https" = [primary_browser]; + "x-scheme-handler/about" = [primary_browser]; + "x-scheme-handler/unknown" = [primary_browser]; + "x-scheme-handler/mailto" = [mail_client]; + "message/rfc822" = [mail_client]; + "x-scheme-handler/mid" = [mail_client]; + "inode/directory" = [file_manager]; + "audio/mp3" = [media_player]; + "audio/ogg" = [media_player]; + "audio/mpeg" = [media_player]; + "audio/aac" = [media_player]; + "audio/opus" = [media_player]; + "audio/wav" = [media_player]; + "audio/webm" = [media_player]; + "audio/3gpp" = [media_player]; + "audio/3gpp2" = [media_player]; + "video/mp4" = [media_player]; + "video/x-msvideo" = [media_player]; + "video/mpeg" = [media_player]; + "video/ogg" = [media_player]; + "video/mp2t" = [media_player]; + "video/webm" = [media_player]; + "video/3gpp" = [media_player]; + "video/3gpp2" = [media_player]; + "image/png" = [image_viewer]; + "image/jpeg" = [image_viewer]; + "image/gif" = [image_viewer]; + "image/avif" = [image_viewer]; + "image/bmp" = [image_viewer]; + "image/vnd.microsoft.icon" = [image_viewer]; + "image/svg+xml" = [image_viewer]; + "image/tiff" = [image_viewer]; + "image/webp" = [image_viewer]; + "text/plain" = [text_editor]; + "application/pdf" = [pdf_viewer]; + }; }; }; } diff --git a/modules/wms/wayland/niri/module.nix b/modules/wms/wayland/niri/module.nix index 8d60ca5..1512a30 100644 --- a/modules/wms/wayland/niri/module.nix +++ b/modules/wms/wayland/niri/module.nix @@ -11,13 +11,31 @@ in { enable = true; }; programs.xwayland.enable = lib.mkForce false; - services.gnome.gnome-keyring.enable = lib.mkForce false; + services.gnome.gnome-keyring.enable = true; environment.systemPackages = builtins.attrValues { inherit (pkgs) wmenu swaylock avizo playerctl xwayland-satellite; }; + systemd.user.services.niri-polkit = { + description = "PolicyKit Authentication Agent for niri"; + wantedBy = ["niri.service"]; + after = ["graphical-session.target"]; + partOf = ["graphical-session.target"]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; + + services.displayManager.sessionPackages = [ + cfg.package + ]; + xdg.portal = { - enable = lib.mkDefault true; + enable = true; configPackages = [cfg.package]; diff --git a/modules/wms/xfce/module.nix b/modules/wms/xfce/module.nix new file mode 100644 index 0000000..51703f1 --- /dev/null +++ b/modules/wms/xfce/module.nix @@ -0,0 +1,23 @@ +{ + config, + lib, + pkgs, + ... +}: let +in { + services.xserver = { + enable = true; + desktopManager = { + xterm.enable = false; + xfce = { + enable = true; + enableWaylandSession = true; + waylandSessionCompositor = lib.getExe pkgs.niri; + + noDesktop = false; + enableXfwm = false; + }; + }; + }; + services.displayManager.defaultSession = "xfce"; +}