aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop/xdg
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
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')
-rw-r--r--modules/desktop/xdg/default.nix41
-rw-r--r--modules/desktop/xdg/style.mustache.css32
2 files changed, 73 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;
+ };
+ };
};
}
diff --git a/modules/desktop/xdg/style.mustache.css b/modules/desktop/xdg/style.mustache.css
new file mode 100644
index 0000000..d7a5420
--- /dev/null
+++ b/modules/desktop/xdg/style.mustache.css
@@ -0,0 +1,32 @@
+@define-color theme_bg_color #{{base00}};
+@define-color theme_fg_color #{{base05}};
+@define-color theme_base_color #{{base00}};
+@define-color theme_text_color #{{base05}};
+@define-color theme_selected_bg_color #{{base0D}};
+@define-color theme_selected_fg_color #{{base00}};
+@define-color borders #{{base03}};
+@define-color accent_color #{{base0D}};
+@define-color warning_color #{{base0A}};
+@define-color error_color #{{base08}};
+
+window, dialog, .background {
+ background-color: @theme_bg_color;
+ color: @theme_fg_color;
+}
+
+button, entry, textview, .view, list, row {
+ background-color: @theme_base_color;
+ color: @theme_text_color;
+ border-color: @borders;
+ border-radius: 0;
+ box-shadow: none;
+}
+
+button:hover, entry:focus {
+ border-color: @accent_color;
+}
+
+selection, row:selected, flowboxchild:selected {
+ background-color: @theme_selected_bg_color;
+ color: @theme_selected_fg_color;
+}