From 0fdd9efff29e20c5cdf697d52cdc0fbf91d9d65d Mon Sep 17 00:00:00 2001 From: Yuri Tatishchev Date: Mon, 6 Jan 2025 17:51:08 -0800 Subject: [PATCH] flatpak font workarounds --- configuration.nix | 56 +++++++-------------------------- flake.nix | 1 + modules/default.nix | 5 +++ modules/workarounds/default.nix | 5 +++ modules/workarounds/flatpak.nix | 44 ++++++++++++++++++++++++++ 5 files changed, 67 insertions(+), 44 deletions(-) create mode 100644 modules/default.nix create mode 100644 modules/workarounds/default.nix create mode 100644 modules/workarounds/flatpak.nix diff --git a/configuration.nix b/configuration.nix index 6d0fdcb..be461db 100644 --- a/configuration.nix +++ b/configuration.nix @@ -24,33 +24,9 @@ boot.loader.timeout = 3; boot.loader.systemd-boot.configurationLimit = 5; - boot.kernelPackages = pkgs.linuxKernel.packages.linux_6_12; - # boot.kernelPackages = pkgs.linuxPackages_6_8; - # boot.kernelPackages = pkgs.linuxKernel.packages.linux_6_6; - # boot.kernelPackages = pkgs.linuxKernel.packages.linux_zen; - # nix-prefetch-git --url https://github.com/zen-kernel/zen-kernel.git --rev v6.8.9-zen1 --fetch-submodules - # boot.kernelPackages = let - # version = "6.8.9"; - # suffix = "zen1"; # use "lqx1" for linux_lqx - # in pkgs.linuxKernel.packagesFor (pkgs.linux_zen.override { - # inherit version suffix; - # modDirVersion = lib.versions.pad 3 "${version}-${suffix}"; - # src = pkgs.fetchFromGitHub { - # owner = "zen-kernel"; - # repo = "zen-kernel"; - # rev = "v${version}-${suffix}"; - # sha256 = "1wva92wk0pxii4f6hn27kssgrz8yy38kk38w2wm5hh1qyz3ij1vj"; - # }; - # }); - boot.extraModulePackages = with config.boot.kernelPackages; [ zfs ]; - # https://discourse.nixos.org/t/dev-zfs-has-the-wrong-permissions-after-rebooting/48737 - # environment.etc."tmpfiles.d/zfs.conf".text = '' - # z /dev/zfs 0666 - - - - # ''; - # https://nixos.wiki/wiki/Accelerated_Video_Playback hardware.graphics = { enable = true; @@ -58,7 +34,6 @@ intel-media-driver # LIBVA_DRIVER_NAME=iHD ]; }; - # environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; }; # Force intel-media-driver environment.etc.hosts.mode = "0644"; @@ -110,7 +85,7 @@ services.printing.enable = true; # Enable sound with pipewire. - hardware.pulseaudio.enable = false; + services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; @@ -183,7 +158,6 @@ group = "cazzzer"; extraGroups = [ "networkmanager" "wheel" "docker" "wireshark" "geoclue" ]; packages = with pkgs; [ - # python312Packages.torch kdePackages.kate kdePackages.yakuake @@ -198,14 +172,6 @@ nodejs_22 pnpm bun - - # yin_yang deps, f*** this packaging s*** - # python312Packages.systemd - # python312Packages.pyside6 - # python312Packages.dateutils - # python312Packages.psutil - # libnotify - # thunderbird ]; }; @@ -286,23 +252,25 @@ zlib ]; - # attempt to fix flatpak firefox cjk fonts + # attempt to fix flatpak firefox cjk fonts # fonts.fontconfig.defaultFonts.serif = [ # "Noto Serif" # "DejaVu Serif" # ]; + # fonts.fontconfig.defaultFonts.sansSerif = [ + # "Noto Sans" + # "DejaVu Sans" + # ]; + + workarounds.flatpak.enable = true; + fonts.packages = with pkgs; [ nerd-fonts.fantasque-sans-mono ]; + # fonts.fontDir.enable = true; + # fonts.fontconfig.allowBitmaps = false; environment.systemPackages = with pkgs; [ - # level-zero - # oneDNN - # python312Packages.torch - # zfs - # fish - bat # bluez -# docker_27 -# docker-compose + darkman dust efibootmgr eza diff --git a/flake.nix b/flake.nix index 4472876..ce06e1c 100644 --- a/flake.nix +++ b/flake.nix @@ -13,6 +13,7 @@ Yura-PC = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ + ./modules ./configuration.nix ]; }; diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 0000000..417c7db --- /dev/null +++ b/modules/default.nix @@ -0,0 +1,5 @@ +{...}: { + imports = [ + ./workarounds + ]; +} diff --git a/modules/workarounds/default.nix b/modules/workarounds/default.nix new file mode 100644 index 0000000..0fb53df --- /dev/null +++ b/modules/workarounds/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./flatpak.nix + ]; +} diff --git a/modules/workarounds/flatpak.nix b/modules/workarounds/flatpak.nix new file mode 100644 index 0000000..7b41973 --- /dev/null +++ b/modules/workarounds/flatpak.nix @@ -0,0 +1,44 @@ +# https://github.com/knightpp/nixos-cfg/blob/main/modules/workarounds/flatpak.nix +{ + pkgs, + config, + lib, + ... +}: let + cfg = config.workarounds.flatpak; +in { + options = { + workarounds.flatpak = { + enable = lib.mkEnableOption "flatpak workaround"; + }; + }; + + config = lib.mkIf cfg.enable { + system.fsPackages = [pkgs.bindfs]; + fileSystems = let + mkRoSymBind = path: { + device = path; + fsType = "fuse.bindfs"; + options = ["ro" "resolve-symlinks" "x-gvfs-hide"]; + }; + aggregated = pkgs.buildEnv { + name = "system-fonts-and-icons"; + paths = builtins.attrValues { + inherit (pkgs.libsForQt5) breeze-qt5; + inherit + (pkgs) + noto-fonts + noto-fonts-emoji + noto-fonts-cjk-sans + noto-fonts-cjk-serif + ; + }; + pathsToLink = ["/share/fonts" "/share/icons"]; + }; + in { + # Create an FHS mount to support flatpak host icons/fonts + "/usr/share/icons" = mkRoSymBind "${aggregated}/share/icons"; + "/usr/share/fonts" = mkRoSymBind "${aggregated}/share/fonts"; + }; + }; +}