diff --git a/hosts/desktops/common/default.nix b/hosts/desktops/common/default.nix index 02b2402..dc64274 100644 --- a/hosts/desktops/common/default.nix +++ b/hosts/desktops/common/default.nix @@ -3,6 +3,7 @@ { imports = [ ./boot.nix + ./flatpakfix.nix ./hardware.nix ./home-manager.nix ./impermanence.nix diff --git a/hosts/desktops/common/flatpakfix.nix b/hosts/desktops/common/flatpakfix.nix new file mode 100644 index 0000000..296d54f --- /dev/null +++ b/hosts/desktops/common/flatpakfix.nix @@ -0,0 +1,27 @@ +{ pkgs, config, ... }: + +{ + # Using bindfs to create FHS font & icon directory + system.fsPackages = [ pkgs.bindfs ]; + fileSystems = let + mkRoSymBind = path: { + device = path; + fsType = "fuse.bindfs"; + options = [ "ro" "resolve-symlinks" "x-gvfs-hide" ]; + }; + aggregatedIcons = pkgs.buildEnv { + name = "system-icons"; + paths = with pkgs; [ breeze-qt5 papirus-icon-theme ]; + pathsToLink = [ "/share/icons" ]; + }; + aggregatedFonts = pkgs.buildEnv { + name = "system-fonts"; + paths = config.fonts.packages; + pathsToLink = [ "/share/fonts" ]; + }; + in { + # Create an FHS mount to support flatpak host icons/fonts + "/usr/share/icons" = mkRoSymBind "${aggregatedIcons}/share/icons"; + "/usr/share/fonts" = mkRoSymBind "${aggregatedFonts}/share/fonts"; + }; +}