commit fc5e1bf7a29e9bcdac2a0300834da9af9d960b84
parent aeda7c063323a8c2da3c827ab9f0d2a274128b19
Author: Chris <chris@echoz.io>
Date: Sat, 15 Nov 2025 07:13:20 +0100
fix(flatpak): granularly provide access to cursor theme to flatpak apps
Diffstat:
4 files changed, 81 insertions(+), 54 deletions(-)
diff --git a/modules/dark-mode/default.nix b/modules/dark-mode/default.nix
@@ -1,32 +0,0 @@
-{
- pkgs,
-
- user,
- ...
-}:
-{
- programs.dconf.enable = true;
- home-manager.users.${user} = {
- dconf.settings = {
- "org/gnome/desktop/interface".color-scheme = "prefer-dark";
- };
-
- gtk = {
- enable = true;
-
- gtk3.extraConfig.gtk-application-prefer-dark-theme = true;
-
- theme = {
- name = "Adwaita:Dark";
- package = pkgs.gnome-themes-extra;
- };
- };
-
- qt = {
- enable = true;
-
- platformTheme.name = "adwaita";
- style.name = "adwaita-dark";
- };
- };
-}
diff --git a/modules/flatpak/default.nix b/modules/flatpak/default.nix
@@ -1,7 +1,11 @@
{
- user,
+ lib,
config,
+ pkgs,
+
nix-flatpak,
+
+ user,
...
}:
{
@@ -15,23 +19,46 @@
services.flatpak = {
enable = true;
- uninstallUnmanagedPackages = true;
+ uninstallUnmanaged = true;
update.auto = {
enable = true;
onCalendar = "daily";
};
- overrides = {
- "com.adamcake.Bolt".Environment = {
- _JAVA_AWT_WM_NONREPARENTING = "1";
- };
+ overrides =
+ let
+ hmConfig = config.home-manager.users.${user};
- "com.valvesoftware.Steam".Context.filesystems = [
- "xdg-config/MangoHud:ro"
- "${config.home-manager.users.chris.home-files}/.config/MangoHud/MangoHud.conf:ro"
- ];
- };
+ storePath =
+ path:
+ lib.pipe path [
+ (rootPaths: pkgs.closureInfo { inherit rootPaths; })
+ (closureInfo: builtins.readFile "${closureInfo}/store-paths")
+ (lib.splitString "\n")
+ (builtins.filter (p: p != ""))
+ (builtins.map (p: "${p}:ro"))
+ ];
+ in
+ {
+ global = {
+ Context.filesystems = [
+ "xdg-config/MangoHud:ro"
+ "${hmConfig.home-files}/.config/MangoHud/MangoHud.conf:ro"
+ "${hmConfig.home-files}/.local/share/icons:ro"
+ "${hmConfig.xdg.dataFile."icons/default/index.theme".source}:ro"
+ ]
+ ++ (storePath hmConfig.home.pointerCursor.package);
+
+ Environment = {
+ XCURSOR_PATH = "${hmConfig.home-files}/.local/share/icons";
+ };
+ };
+
+ "com.adamcake.Bolt".Environment = {
+ _JAVA_AWT_WM_NONREPARENTING = "1";
+ };
+ };
packages = [
"com.adamcake.Bolt"
@@ -47,8 +74,6 @@
environment.persistence."/fix" = {
directories = [ "/var/lib/flatpak" ];
- users.${user}.directories = [
- ".var/app"
- ];
+ users.${user}.directories = [ ".var/app" ];
};
}
diff --git a/modules/hypr/hyprland.nix b/modules/hypr/hyprland.nix
@@ -179,13 +179,5 @@
xdg.configFile."uwsm/env".source =
"${config.home.sessionVariablesPackage}/etc/profile.d/hm-session-vars.sh";
-
- home.pointerCursor = {
- enable = true;
- gtk.enable = true;
- name = "Adwaita";
- package = pkgs.gnome-themes-extra;
- size = 24;
- };
};
}
diff --git a/modules/theme/default.nix b/modules/theme/default.nix
@@ -0,0 +1,42 @@
+{
+ pkgs,
+
+ user,
+ ...
+}:
+{
+ programs.dconf.enable = true;
+ home-manager.users.${user} = {
+ dconf.settings = {
+ "org/gnome/desktop/interface".color-scheme = "prefer-dark";
+ };
+
+ gtk = {
+ enable = true;
+
+ gtk3.extraConfig.gtk-application-prefer-dark-theme = true;
+
+ theme = {
+ name = "Adwaita:Dark";
+ package = pkgs.gnome-themes-extra;
+ };
+ };
+
+ qt = {
+ enable = true;
+
+ platformTheme.name = "adwaita";
+ style.name = "adwaita-dark";
+ };
+
+ home.pointerCursor = {
+ enable = true;
+ dotIcons.enable = false;
+ gtk.enable = true;
+ x11.enable = true;
+ name = "Adwaita";
+ package = pkgs.gnome-themes-extra;
+ size = 24;
+ };
+ };
+}