44 lines
946 B
Nix
44 lines
946 B
Nix
{ pkgs, lib, ... }:
|
|
|
|
let
|
|
# Format: "<remote>:<app-id>"
|
|
flatpakApps = [
|
|
"flathub:in.cinny.Cinny"
|
|
];
|
|
|
|
installScript = pkgs.writeShellScript "flatpak-setup" ''
|
|
${pkgs.flatpak}/bin/flatpak remote-add --if-not-exists flathub \
|
|
https://dl.flathub.org/repo/flathub.flatpakrepo
|
|
|
|
${lib.concatMapStringsSep "\n" (
|
|
entry:
|
|
let
|
|
parts = lib.splitString ":" entry;
|
|
remote = lib.elemAt parts 0;
|
|
appId = lib.elemAt parts 1;
|
|
in
|
|
''
|
|
${pkgs.flatpak}/bin/flatpak install --assumeyes --noninteractive \
|
|
${remote} ${appId} || true
|
|
''
|
|
) flatpakApps}
|
|
'';
|
|
in
|
|
{
|
|
services.flatpak.enable = true;
|
|
|
|
environment.sessionVariables = {
|
|
XDG_DATA_DIRS = [
|
|
"/var/lib/flatpak/exports/share"
|
|
"\${HOME}/.local/share/flatpak/exports/share"
|
|
];
|
|
};
|
|
|
|
system.activationScripts.flatpakSetup = {
|
|
text = ''
|
|
${installScript}
|
|
'';
|
|
deps = [ ];
|
|
};
|
|
}
|