From 7d71caa8db50b01f16f3a6487a565087641721fa Mon Sep 17 00:00:00 2001 From: Natsu Kagami Date: Mon, 6 Nov 2023 13:09:12 +0100 Subject: [PATCH] Mount font folders to make flatpaks not cry --- home/modules/linux/graphical/default.nix | 2 +- modules/personal/fonts/default.nix | 1 + modules/personal/fonts/mounting.nix | 29 ++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 modules/personal/fonts/mounting.nix diff --git a/home/modules/linux/graphical/default.nix b/home/modules/linux/graphical/default.nix index 10f2c30..43c7ed3 100644 --- a/home/modules/linux/graphical/default.nix +++ b/home/modules/linux/graphical/default.nix @@ -51,7 +51,7 @@ in # Note taking (if pkgs.stdenv.isAarch64 then pkgs.hello - else logseq.override { electron = pkgs.electron_24; /* old electron versions have trouble with touchscreens */ }) + else logseq) # (if stdenv.isAarch64 then zotero else pkgs.unstable.zotero) // kinda fucked for now from CVE libreoffice diff --git a/modules/personal/fonts/default.nix b/modules/personal/fonts/default.nix index acb429d..8d19e39 100644 --- a/modules/personal/fonts/default.nix +++ b/modules/personal/fonts/default.nix @@ -20,6 +20,7 @@ let }; in { + imports = [ ./mounting.nix ]; # Fonts config.fonts = { fonts = with pkgs; [ diff --git a/modules/personal/fonts/mounting.nix b/modules/personal/fonts/mounting.nix new file mode 100644 index 0000000..766d44a --- /dev/null +++ b/modules/personal/fonts/mounting.nix @@ -0,0 +1,29 @@ +{ pkgs, config, lib, ... }: +lib.mkIf pkgs.stdenv.isLinux { + 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; [ + #libsForQt5.breeze-qt5 # for plasma + gnome.gnome-themes-extra + ]; + pathsToLink = [ "/share/icons" ]; + }; + aggregatedFonts = pkgs.buildEnv { + name = "system-fonts"; + paths = config.fonts.fonts; + pathsToLink = [ "/share/fonts" ]; + }; + in + { + "/usr/share/icons" = mkRoSymBind "${aggregatedIcons}/share/icons"; + "/usr/local/share/fonts" = mkRoSymBind "${aggregatedFonts}/share/fonts"; + }; +}