Add nix-flatpak system

This commit is contained in:
2026-04-05 15:38:19 +02:00
parent 751f7e05c9
commit 0b3cdf9ea8
2 changed files with 5 additions and 49 deletions
+5
View File
@@ -17,6 +17,9 @@
home-manager.url = "github:nix-community/home-manager/release-25.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
# Nix Flatpak
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
# Nix Homebrew
nix-homebrew.url = "github:zhaofengli/nix-homebrew";
homebrew-core.url = "github:homebrew/homebrew-core";
@@ -32,6 +35,7 @@
nix-darwin,
flake-parts,
import-tree,
nix-flatpak,
home-manager,
nix-homebrew,
homebrew-core,
@@ -65,6 +69,7 @@
]
++ [
(import-tree ./overlays/nixos)
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
(import-tree ./hosts/common)
-49
View File
@@ -1,49 +0,0 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
grep = pkgs.gnugrep;
cfg = config.os.flatpak.apps;
flatpaks = [
"com.usebottles.bottles"
"io.github.flattool.Warehouse"
];
in
{
options.os.flatpak.apps = {
enable = mkEnableOption "System gnome apps service";
};
config = mkIf cfg.enable {
services.flatpak.enable = true;
system.userActivationScripts.flatpakManagement = {
text = ''
${pkgs.flatpak}/bin/flatpak remote-add --if-not-exists fedora oci+https://registry.fedoraproject.org
installedFlatpaks=$(${pkgs.flatpak}/bin/flatpak list --app --columns=application)
for installed in $installedFlatpaks; do
if ! echo ${toString flatpaks} | ${grep}/bin/grep -q $installed; then
echo "Suppression de $installed car il n'est pas dans la liste desiredFlatpaks."
${pkgs.flatpak}/bin/flatpak uninstall -y --noninteractive $installed
fi
done
for app in ${toString flatpaks}; do
echo "Vérification que $app est installé."
${pkgs.flatpak}/bin/flatpak install -y flathub $app
done
${pkgs.flatpak}/bin/flatpak uninstall --unused -y
${pkgs.flatpak}/bin/flatpak update -y
'';
};
};
}