aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop/xdg/default.nix
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-08-24 18:59:56 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-08-29 03:50:29 +0530
commit43264a0be783d326e01d43e5320369850608d577 (patch)
tree9409d6c1581a2dc5edd072449cf0a74ec97b85b4 /modules/desktop/xdg/default.nix
parent0bf2f48b23b34c61729618ec1643c18d9a61ce78 (diff)
downloadhome-manager-config-43264a0be783d326e01d43e5320369850608d577.tar.gz
home-manager-config-43264a0be783d326e01d43e5320369850608d577.zip
desktop: added gnome portal
- added gnome portal to use with niri
Diffstat (limited to 'modules/desktop/xdg/default.nix')
-rw-r--r--modules/desktop/xdg/default.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/desktop/xdg/default.nix b/modules/desktop/xdg/default.nix
index 852b36c..3803502 100644
--- a/modules/desktop/xdg/default.nix
+++ b/modules/desktop/xdg/default.nix
@@ -5,13 +5,25 @@
pkgs,
...
}:
+let
+ gtkCss = builtins.readFile (
+ config.scheme {
+ template = builtins.readFile ./style.mustache.css;
+ extension = ".css";
+ }
+ );
+in
{
config = lib.mkIf config.desktop.enable {
+ dconf.enable = true;
+
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-termfilechooser
+ xdg-desktop-portal-gnome
];
+ configPackages = [ pkgs.niri ];
config.common = {
"org.freedesktop.impl.portal.FileChooser" = [ "termfilechooser" ];
default = [
@@ -21,5 +33,34 @@
};
xdgOpenUsePortal = true;
};
+
+ gtk = {
+ enable = true;
+ font = {
+ name = config.fonts.normal;
+ size = config.fonts.size;
+ };
+ theme = {
+ name = "Adwaita-dark";
+ package = pkgs.gnome-themes-extra;
+ };
+ iconTheme = {
+ name = "Adwaita";
+ package = pkgs.adwaita-icon-theme;
+ };
+ cursorTheme = {
+ name = "Adwaita";
+ package = pkgs.adwaita-icon-theme;
+ size = 20;
+ };
+ colorScheme = "dark";
+ gtk3.extraCss = gtkCss;
+ gtk4 = {
+ # GTK 4/libadwaita does not support loading GTK 3 themes; use the
+ # Base16 CSS above without Home Manager's compatibility workaround.
+ theme = null;
+ extraCss = gtkCss;
+ };
+ };
};
}