1

make flatpak override merging more readable

This commit is contained in:
2022-08-12 17:35:13 +02:00
parent 40198be091
commit 815401baae

View File

@ -72,10 +72,19 @@ in {
# TODO: Currently it is not possible to define overrides for the same flatpak from different places # TODO: Currently it is not possible to define overrides for the same flatpak from different places
# TODO: Also only filesystems overrides are applied # TODO: Also only filesystems overrides are applied
home.file = mkMerge ([ home.file = let
{ # Specific overrides
".local/share/flatpak/overrides/global".text = let
default_overrides = [ # This generates the set { "<filename>" = "<overrides>"; }
concat_override = name: value:
(optionalAttrs (name != null) { ".local/share/flatpak/overrides/${name}".text = "[Context]\nfilesystems=${value}"; });
# This is a list of sets: [ { "<filename>" = "<overrides>"; } { "<filename>" = "<overrides>"; } ]
extra_overrides = (map (set: concat_override (attrName set) (attrValue set)) cfg.extraOverride);
# Global overrides
global_default_overrides = [
"/nix/store:ro" "/nix/store:ro"
# These are not necessary # These are not necessary
@ -84,16 +93,14 @@ in {
# "/run/current-system/sw/share/icons:ro" # "/run/current-system/sw/share/icons:ro"
]; ];
all_overrides = builtins.concatLists [ default_overrides cfg.extraGlobalOverride ]; global_overrides = builtins.concatLists [ global_default_overrides cfg.extraGlobalOverride ];
str_overrides = builtins.concatStringsSep ";" all_overrides; str_global_overrides = builtins.concatStringsSep ";" global_overrides;
in "[Context]\nfilesystems=${str_overrides}"; in mkMerge ([
{
".local/share/flatpak/overrides/global".text = "[Context]\nfilesystems=${str_global_overrides}";
} }
] ++ (map (set: let ] ++ extra_overrides);
name = attrName set;
value = attrValue set;
in (optionalAttrs (name != null) { ".local/share/flatpak/overrides/${name}".text = "[Context]\nfilesystems=${value}"; }))
cfg.extraOverride));
home.activation = mkMerge [ home.activation = mkMerge [
# We link like this to be able to address the absolute location, also the fonts won't get copied to store # We link like this to be able to address the absolute location, also the fonts won't get copied to store