Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AppCenter for Pantheon desktop with our Flatpak backend #70214

Closed
davidak opened this issue Oct 1, 2019 · 17 comments · Fixed by #138599, #150372 or #158787
Closed

AppCenter for Pantheon desktop with our Flatpak backend #70214

davidak opened this issue Oct 1, 2019 · 17 comments · Fixed by #138599, #150372 or #158787
Labels
0.kind: packaging request 6.topic: pantheon The Pantheon desktop environment

Comments

@davidak
Copy link
Member

davidak commented Oct 1, 2019

Elementary's AppCenter will use Flatpak in the future for their packages.

https://twitter.com/DanielFore/status/1179086985299779585
elementary/appcenter#1076

Since we support Flatpak, we would be able to support AppCenter.

If we support PackageKit, it would even be possible to install Nix packages with AppCenter. (Needs #21230) In that case native Nix packages should be preferred.

I think AppCenter would be perfect for elementary's Pantheon desktop and we should support it (if possible). That way we would also be able to install all Apps from their store and even pay the developers. It would be great to be able to pay-what-you-want even for native Nix packages installed with AppCenter!

@worldofpeace what do you think?

Related to #58161

@worldofpeace
Copy link
Contributor

Sounds great @davidak, I believe to start I can just package Appcenter.
I'll do that as a part of #69052

@worldofpeace
Copy link
Contributor

It seems fedora gave up on Appcenter

But I think with flatpak they've given it some future in other distributions.

@worldofpeace worldofpeace added the 6.topic: pantheon The Pantheon desktop environment label Oct 2, 2019
@stale
Copy link

stale bot commented Jun 1, 2020

Thank you for your contributions.
This has been automatically marked as stale because it has had no activity for 180 days.
If this is still important to you, we ask that you leave a comment below. Your comment can be as simple as "still important to me". This lets people see that at least one person still cares about this. Someone will have to do this at most twice a year if there is no other activity.
Here are suggestions that might help resolve this more quickly:

  1. Search for maintainers and people that previously touched the
    related code and @ mention them in a comment.
  2. Ask on the NixOS Discourse. 3. Ask on the #nixos channel on
    irc.freenode.net.

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 1, 2020
@davidak
Copy link
Member Author

davidak commented Jun 1, 2020

would still be nice

@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 1, 2020
@wmertens
Copy link
Contributor

I used the Software app in gnome3 and the flatpacked software is pretty meh.
I could replace all the ones I was interested in with native NixPkgs.

I think it's achievable for us to have a packagekit backend again, listing all the packages that have .desktop files in them.

This would have many advantages over flatpack and give NixPkgs a chance at mainstream success.

@davidak
Copy link
Member Author

davidak commented Jun 13, 2020

@wmertens while i agree with your long term goal, this is probably easier to achieve. And the elementary AppCenter has only original programs designed for elementary OS mostly not packaged for Nix. https://appcenter.elementary.io/

@wmertens
Copy link
Contributor

Having had a look at it, I wouldn't object to having the appcenter in nixpkgs, but I won't be the one packaging it :)

@davidak
Copy link
Member Author

davidak commented Jun 13, 2020

@wmertens you don't have to :)

another idea i had was to automatically package all AppCenter apps for Nix (#90244).

To have a great desktop experience with a graphical package manager, a packagekit backend would be perfect. That way we don't have to develop our own GUI and it's perfectly integrated in the desktop. (#21230)

@stale
Copy link

stale bot commented Dec 10, 2020

I marked this as stale due to inactivity. → More info

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Dec 10, 2020
@bobby285271 bobby285271 added 2.status: work-in-progress and removed 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 2.status: work-in-progress labels Aug 29, 2021
@bobby285271
Copy link
Member

bobby285271 commented Aug 29, 2021

I am not sure about the status of appcenter before my last push in #130380, and I am not sure if the patch can resolve something (this does not actually clean up everything related to packagekit, so maybe not a solution to elementary/appcenter#1076). But I am able to install some apps with the flatpak backend from it now (you can try by adding https://flatpak.elementary.io/repo.flatpakrepo or https://flathub.org/repo/flathub.flatpakrepo).

Update: Just dropped more stuff.

屏幕截图 2021-08-29 09 11 05

@davidak
Copy link
Member Author

davidak commented Sep 19, 2021

I would say this works now. I can install, update and remove flatpaks.

Screenshot from 2021-09-19 13-08-05

I just had to enable flatpak support and install appcenter.

  services.flatpak.enable = true;
  xdg.portal.enable = true;
  xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];

  environment.systemPackages = with pkgs; [
    pantheon.appcenter
  ];

And add the elementary repo:

flatpak remote-add --if-not-exists appcenter https://flatpak.elementary.io/repo.flatpakrepo

@bobby285271 should we document these steps?

@bobby285271
Copy link
Member

bobby285271 commented Sep 19, 2021

Yeah the manual needs update (https://nixos.org/manual/nixos/unstable/index.html#sec-pantheon-faq), I didn't noticed that when doing #130380. I am also thinking of whether we should make appcenter installed by default.

@davidak
Copy link
Member Author

davidak commented Sep 19, 2021

I am also thinking of whether we should make appcenter installed by default.

We should do that only when it's usable. So we would have to enable flatpak too, but i think most nixos users wouldn't want that by default. It also should add the elementary repo automatically.

I would like to have appcenter installed by default when it supports nix packages via packagekit.

@bobby285271
Copy link
Member

Hope this works... Not familiar with appcenter's code base and cannot do more so far...

@bobby285271
Copy link
Member

bobby285271 commented Feb 9, 2022

92a6ad8 is just merged, I will see if the patch is still needed.

@bobby285271 bobby285271 reopened this Feb 9, 2022
@jtojnar
Copy link
Member

jtojnar commented Feb 9, 2022

Probably still need #15932 for the appcenter to display stuff (at least I assume that is why nothing is displayed in GNOME Software).

@bobby285271
Copy link
Member

bobby285271 commented Feb 9, 2022

I just realized that I am stupid and did not enable services.packagekit.enable in previous testing. 🤦

The (only) motivation of the patch is to prevent the non-working packagekit backend from blocking the flatpak backend functioning, after some testing I came to the conclusion that it should only be the case when services.packagekit.enable is not enabled.

I will make a pull request soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment