feat: add flatpack to install apps not supported well in NixOS

This commit is contained in:
ryan4yin
2023-05-14 18:22:33 +08:00
parent ed27505556
commit 0517d0e8df
3 changed files with 30 additions and 1 deletions

25
modules/fhs-fonts.nix Normal file
View File

@@ -0,0 +1,25 @@
# copy from https://github.com/NixOS/nixpkgs/issues/119433#issuecomment-1326957279
# mainly for flatpak
# bindfs resolves all symlink, allowing all fonts to be accessed at /usr/share/fonts, without letting /nix into the sandbox.
{ config, pkgs, ... }:
{
system.fsPackages = [ pkgs.bindfs ];
fileSystems = let
mkRoSymBind = path: {
device = path;
fsType = "fuse.bindfs";
options = [ "ro" "resolve-symlinks" "x-gvfs-hide" ];
};
aggregatedFonts = pkgs.buildEnv {
name = "system-fonts";
paths = config.fonts.fonts;
pathsToLink = [ "/share/fonts" ];
};
in {
# Create an FHS mount to support flatpak host icons/fonts
"/usr/share/icons" = mkRoSymBind (config.system.path + "/share/icons");
"/usr/share/fonts" = mkRoSymBind (aggregatedFonts + "/share/fonts");
};
}

View File

@@ -8,6 +8,7 @@
environment.systemPackages = with config.nur.repos.xddxdd; [
# packages from nur-xddxdd
wechat-uos
qqmusic
];
# flatpack is recommended to install other apps such as netease-cloud-music/qqmusic/...
}

View File

@@ -153,6 +153,9 @@
sound.enable = true;
hardware.pulseaudio.enable = false;
# https://flatpak.org/setup/NixOS
services.flatpak.enable = true;
# security with polkit
services.power-profiles-daemon = {
enable = true;