From 7be16e5072410e0c6d8557aedc37e6804804e100 Mon Sep 17 00:00:00 2001 From: Zephrynis Date: Sun, 26 Oct 2025 22:58:15 +0000 Subject: [PATCH] Add declarative Flatpak support via nix-flatpak Integrates the nix-flatpak module for declarative Flatpak management. Enables Flatpak system-wide, configures Home Manager to manage Flatpak apps, and adds an example Flatpak package with automatic weekly updates. --- flake.nix | 11 ++++++++++- home/home.nix | 12 ++++++++++++ system/common.nix | 3 +++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index d492a41..a743f76 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,9 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + # Declarative Flatpak management + nix-flatpak.url = "github:gmodena/nix-flatpak"; + # Optional: Hyprland (if you want a tiling Wayland compositor) # hyprland.url = "github:hyprwm/Hyprland"; @@ -17,7 +20,7 @@ # nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; }; - outputs = { self, nixpkgs, home-manager, ... }@inputs: { + outputs = { self, nixpkgs, home-manager, nix-flatpak, ... }@inputs: { # NixOS configuration for your hostname(s) nixosConfigurations = { # Desktop PC configuration @@ -43,6 +46,9 @@ # User configuration home-manager.users.zeph = import ./home/home.nix; + + # Declarative Flatpak + home-manager.sharedModules = [ nix-flatpak.homeManagerModules.nix-flatpak ]; } ]; }; @@ -70,6 +76,9 @@ # User configuration home-manager.users.zeph = import ./home/home.nix; + + # Declarative Flatpak + home-manager.sharedModules = [ nix-flatpak.homeManagerModules.nix-flatpak ]; } ]; }; diff --git a/home/home.nix b/home/home.nix index 54a5841..682c366 100644 --- a/home/home.nix +++ b/home/home.nix @@ -154,6 +154,18 @@ # platformTheme.name = "gtk"; # }; + # Declarative Flatpak packages + services.flatpak = { + packages = [ + "io.github.zen_browser.zen" + # Add more Flatpak apps here + ]; + update.auto = { + enable = true; + onCalendar = "weekly"; + }; + }; + # Let Home Manager manage itself programs.home-manager.enable = true; diff --git a/system/common.nix b/system/common.nix index 729b5d4..581a5c1 100644 --- a/system/common.nix +++ b/system/common.nix @@ -10,6 +10,9 @@ # Networking networking.networkmanager.enable = true; + # Enable Flatpak + services.flatpak.enable = true; + # Timezone and locale time.timeZone = "Europe/London"; i18n.defaultLocale = "en_US.UTF-8";