dot

NixOS dotfiles
git clone https://git.echoz.io/dot.git
Log | Files | Refs

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:
Dmodules/dark-mode/default.nix | 32--------------------------------
Mmodules/flatpak/default.nix | 53+++++++++++++++++++++++++++++++++++++++--------------
Mmodules/hypr/hyprland.nix | 8--------
Amodules/theme/default.nix | 42++++++++++++++++++++++++++++++++++++++++++
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; + }; + }; +}