Add nix-flatpak system
This commit is contained in:
@@ -17,6 +17,9 @@
|
|||||||
home-manager.url = "github:nix-community/home-manager/release-25.11";
|
home-manager.url = "github:nix-community/home-manager/release-25.11";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
# Nix Flatpak
|
||||||
|
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||||
|
|
||||||
# Nix Homebrew
|
# Nix Homebrew
|
||||||
nix-homebrew.url = "github:zhaofengli/nix-homebrew";
|
nix-homebrew.url = "github:zhaofengli/nix-homebrew";
|
||||||
homebrew-core.url = "github:homebrew/homebrew-core";
|
homebrew-core.url = "github:homebrew/homebrew-core";
|
||||||
@@ -32,6 +35,7 @@
|
|||||||
nix-darwin,
|
nix-darwin,
|
||||||
flake-parts,
|
flake-parts,
|
||||||
import-tree,
|
import-tree,
|
||||||
|
nix-flatpak,
|
||||||
home-manager,
|
home-manager,
|
||||||
nix-homebrew,
|
nix-homebrew,
|
||||||
homebrew-core,
|
homebrew-core,
|
||||||
@@ -65,6 +69,7 @@
|
|||||||
]
|
]
|
||||||
++ [
|
++ [
|
||||||
(import-tree ./overlays/nixos)
|
(import-tree ./overlays/nixos)
|
||||||
|
nix-flatpak.nixosModules.nix-flatpak
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
|
|
||||||
(import-tree ./hosts/common)
|
(import-tree ./hosts/common)
|
||||||
|
|||||||
@@ -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
|
|
||||||
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user