Commit 8adf831
Changed files (4)
modules/desktop/flatpak.nix
@@ -0,0 +1,58 @@
+{
+ inputs,
+ lib,
+ ...
+}: {
+ flake-file.inputs.nix-flatpak = {
+ url = "github:gmodena/nix-flatpak";
+ };
+
+ den.aspects.desktop.flatpak = {
+ settings = {
+ packages = lib.mkOption {
+ type = lib.types.listOf (lib.types.either lib.types.str lib.types.attr);
+ default = [];
+ };
+ };
+
+ cache = {
+ directories = [
+ "/var/lib/flatpak"
+ ];
+ };
+
+ persistHome = {
+ directories = [
+ ".var" # Flatpak app data
+ ];
+ };
+
+ cacheHome = {config, ...}: {
+ directories = [
+ "${config.xdg.dataHome}/flatpak"
+ ];
+ };
+
+ nixos = {host, ...}: {
+ imports = [inputs.nix-flatpak.nixosModules.nix-flatpak];
+
+ services.flatpak = {
+ enable = true;
+
+ inherit (host.settings.desktop.flatpak) packages;
+ };
+ };
+
+ homeManager = {user, ...}: {
+ imports = [inputs.nix-flatpak.homeManagerModules.nix-flatpak];
+
+ services.flatpak = {
+ enable = true;
+
+ packages = user.system.settings.desktop.flatpak.packages or [];
+
+ overrides.settings = user.system.settings.desktop.flatpak.overrides or {};
+ };
+ };
+ };
+}
modules/users/hpcesia/default.nix
@@ -22,6 +22,7 @@
desktop.browser.floorp.mkDefault
desktop.env.shell.noctalia
desktop.env.wm.niri
+ desktop.flatpak
desktop.gnupg
desktop.terminal.foot
]));
@@ -49,7 +50,23 @@
hashedPasswordAged = ./hashed-password.age;
themes.theme = "catppuccin";
settings = {
- desktop.terminal.default = "foot";
+ desktop = {
+ terminal.default = "foot";
+ flatpak = {
+ packages = [
+ "com.qq.QQ"
+ "org.mozilla.thunderbird"
+ ];
+ overrides = {
+ "org.mozilla.thunderbird".Context = {
+ sockets = [
+ "gpg-agent" # Expose GPG agent
+ "pcsc" # Expose smart cards (i.e. YubiKey)
+ ];
+ };
+ };
+ };
+ };
};
};
};
flake.lock
@@ -214,6 +214,21 @@
"type": "github"
}
},
+ "nix-flatpak": {
+ "locked": {
+ "lastModified": 1780908363,
+ "narHash": "sha256-llGS4y3Qh1eUkli3/Y2VY9FV3GOUKFZR1E2BDftt45Q=",
+ "owner": "gmodena",
+ "repo": "nix-flatpak",
+ "rev": "1df08625f0f8c7d6e300a0e5df7955bbb877d809",
+ "type": "github"
+ },
+ "original": {
+ "owner": "gmodena",
+ "repo": "nix-flatpak",
+ "type": "github"
+ }
+ },
"nixpkgs": {
"locked": {
"lastModified": 1780243769,
@@ -327,6 +342,7 @@
"home-manager": "home-manager",
"impermanence": "impermanence",
"import-tree": "import-tree",
+ "nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs",
"noctalia": "noctalia",
"nur": "nur",
flake.nix
@@ -33,6 +33,7 @@
};
};
import-tree.url = "github:denful/import-tree";
+ nix-flatpak.url = "github:gmodena/nix-flatpak";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
noctalia = {
url = "github:noctalia-dev/noctalia";