summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorWORLDofPEACE <worldofpeace@protonmail.ch>2020-10-23 20:18:19 -0400
committerWORLDofPEACE <worldofpeace@protonmail.ch>2020-10-24 11:14:02 -0400
commitd89deddd5d806a0226fc110be8c28c062973866e (patch)
tree9504af3e6d72a0da1fd53f5b52f0558058c3fc19 /nixos
parentb1587f9e1931340869a8b258e75d243aa7d0829c (diff)
downloadnixpkgs-d89deddd5d806a0226fc110be8c28c062973866e.tar
nixpkgs-d89deddd5d806a0226fc110be8c28c062973866e.tar.gz
nixpkgs-d89deddd5d806a0226fc110be8c28c062973866e.tar.bz2
nixpkgs-d89deddd5d806a0226fc110be8c28c062973866e.tar.lz
nixpkgs-d89deddd5d806a0226fc110be8c28c062973866e.tar.xz
nixpkgs-d89deddd5d806a0226fc110be8c28c062973866e.tar.zst
nixpkgs-d89deddd5d806a0226fc110be8c28c062973866e.zip
nixos/flatpak: introduce guiPackages
This adds basically an indirection to systemPackages
to automatically install an interface for flatpak for their respective
environments. e.g if I enable pantheon and flatpak you'll get appcenter,
and on gnome you'll see gnome-software.

https://github.com/NixOS/nixpkgs/issues/99648#issuecomment-706691174
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/desktops/flatpak.nix14
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix5
2 files changed, 18 insertions, 1 deletions
diff --git a/nixos/modules/services/desktops/flatpak.nix b/nixos/modules/services/desktops/flatpak.nix
index 7da92cc9f26..d0f6b66328a 100644
--- a/nixos/modules/services/desktops/flatpak.nix
+++ b/nixos/modules/services/desktops/flatpak.nix
@@ -15,6 +15,18 @@ in {
   options = {
     services.flatpak = {
       enable = mkEnableOption "flatpak";
+
+      guiPackages = mkOption {
+        internal = true;
+        type = types.listOf types.package;
+        default = [];
+        example = literalExample "[ pkgs.gnome3.gnome-software ]";
+        description = ''
+          Packages that provide an interface for flatpak
+          (like gnome-software) that will be automatically available
+          to all users when flatpak is enabled.
+        '';
+      };
     };
   };
 
@@ -28,7 +40,7 @@ in {
       }
     ];
 
-    environment.systemPackages = [ pkgs.flatpak ];
+    environment.systemPackages = [ pkgs.flatpak ] ++ cfg.guiPackages;
 
     services.dbus.packages = [ pkgs.flatpak ];
 
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 85525ab6d7f..cade13296b5 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -207,6 +207,11 @@ in
 
        # If gnome3 is installed, build vim for gtk3 too.
       nixpkgs.config.vim.gui = "gtk3";
+
+      # Install gnome-software if flatpak is enabled
+      services.flatpak.guiPackages = [
+        pkgs.gnome3.gnome-software
+      ];
     })
 
     (mkIf flashbackEnabled {