-
-
Notifications
You must be signed in to change notification settings - Fork 13.4k
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
On the NixOS desktop install a default browser? #101729
Comments
I think browser is more of a personal choice than something that comes with a DE (though some DEs ship their own browsers). Given that user needs to choose DE when creating their config, they can choose the browser as well (we already include Firefox in the generated configuration template). Additionally, there are really only two choices a “general” user would choose so having this kind of opinionated layer does not seem that useful to me. The reason we did that for the stores was not to install relevant software, but to not install useless software, which would be installed by default on other distros with working PackageKit integration. I agree that this kind of opinionated layers (TLP, USBGuard, SANE, CUPS, Bluetooth…) can be useful and we might want to enable them by default for desktops but balancing everything will be hard. |
Right, like there could be
I think the framing of this issue is a bit, well I think GNOME should ship a browser, and that being firefox. Pantheon also ships epiphany as a default browser (might back out on this since it doesn't work well in nixos). An interesting choice to harmonize in Plasma5 would be falkon https://www.falkon.org/. This at some point coalesces to having to introduce |
Perhaps warn the user if a package in |
I marked this as stale due to inactivity. → More info |
Hello @worldofpeace 👋 Is this issue still relevant? If not, would you be able to close this issue? (I'm going through issues marked as stale to see what can be resolved. If this is still an issue then don't mind me). |
Describe the bug
Overall in the GNOME scheme of things we've polished things up to having a very basic suite of applications installed default (as per what's basically a distributor recommendation) and making things flexible with various options
evince
intosystemPackages
would instead turn on a nixos option instead of just putting it into system path only, thusly avoiding mis-configuration if a nixos module needs to exist for a specific program)and more details on how those choices have been fine tuned #67310 and iterated on recently in #101516 13b1927
But one thing inside all graphical ISO media that will remain incongruent to installed systems is... the web browser.
We have the graphical profile and installation-cd installing Firefox #47204 #20433, but if someone installs a DE like
plasma5
orgnome3
that application will not be there. I think it's only correct if the ISO's are congruent to defaults for a deployed system (if possible). The issue here is... I don't really know the correct way to go about having a default browser installed for nixos.An idea?
An interesting idea we had for dealing with automatically installing GUI's was for flatpak recently https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/desktops/flatpak.nix#L19. A DE can register what GUI would be appropriate by setting it within their module (so pantheon would have appcenter and plasma would have discover). This makes sense because... really flatpak is to install graphical applications, so having a GUI automatically provisioned is nice.
I felt borrowing from that we could have:
(I'm not sold on these names and it's clearly different from the code I linked)
enableDefaultBrowser
will simply provisionfirefox
because that's the default selection. DE maintainers that find this choice not being correct in their environment can select a different one. And from there document in the release note that power users would probably like to disableenableDefaultBrowser
if it's not congruent with their current browser of choice.Future Work
Generally within NixOS having a switch to know what kind of system we're working with is going to be useful to enable things that are going to give users a better experience. This issue had a hypothetical
config.isDesktop
or it could beconfig.roles.desktop == true
. I got really into this issue on a thread on discourse https://discourse.nixos.org/t/why-i-switched-to-manjaro-linux/5903, where it's well known that NixOS doesn't really cater well to general users. And it also makes developers that use NixOS as a daily driver have to spend a lot of time curating optimized config for their workstations. I'd really like to see that we can have the "best of both worlds" in nixpkgs without my having to invest in making a NixOS distro to make it better.The text was updated successfully, but these errors were encountered: