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
Package Manager #85
Comments
synaptic (and probably also it's UI) is literally 19 years old. it's overwhelming and unintuitive. for a user friendly design, look at modern software like elementary AppCenter, GNOME Software, Apple AppStore or even the microsoft store that no one uses... For now you can only install flatpaks with it on nixos, but i hope that Nix supports packagekit and appstream metadata at one point and we can just use it as gui, or gnome software and maybe even discover from kde. installing packages should really be it's own program and there are good ones, we just have to support the standard API NixOS/nixpkgs#94055 https://blog.elementary.io/introducing-new-appcenter-categories/ https://wiki.gnome.org/Design/Apps/Software https://www.apple.com/newsroom/2018/06/apple-previews-all-new-mac-app-store/ so i suggest not to waste time on the package management and remove it as soon as nix supports the common linux gui package manager guis focus on design for an intuitive interface to edit nixos config |
Thanks for the feedback. I didn't realize there was an RFC for Appstream on nixos. If/when the RFC is merged, we can use it to create a more intuitive and informative package manager. I agree with your point regarding Synaptics lack of intuitiveness and the better UX of modern package managers (especially the sleek OSX package manager you linked). However, I disagree with your second point: I'm not sure we can get away with excluding a (small) package manager from nix-gui's goals is to provide a graphical interface for setting nearly any option, including nearly 400 So I'm not entirely convinced that this can be a separate program. Thanks again for your input, I hope to hear more feedback from you as this project progresses. |
Yeah, the package related options make it hard to create a consistent experience. The package related options would have to be shown in the package manager GUI, maybe ask if the user wants to modify them when installing and show them in the app detail view. But that's probably not intended with the listed programs. Nix makes everything complicated. Why can't a user just install a program? We might have to give up on achieving the best user-friendliness and embrace the control nix offers in the most intuitive way possible. A program listing could have an option to "modify package" and an easy UI do override the package definition. That could be a killer feature that no other package manager offers. I think it should still be a separate program since installing an app and changing system settings are different tasks. Not sure if we should fork one of these GUIs or if they might add our changes. We could research if packagekit and appstream support settings for packages or have an interface for modifying packages or if upstream would accept such additions. I want the UX macOS or elementary OS provide, but NixOS makes that really hard and it might not be possible, because Nix is too powerful and we still want to provide this power to the end-user. So the UI should really teach the user in an intuitive way, like environmental storytelling in games... that would be perfect. |
Absolutely. Assisted package overrides (and overrides in general) are planned https://github.com/nix-gui/nix-gui/milestone/4
For now I think the MVP should include a list of packages, a textbox to search and filter, a checkbox to add the package to the list, and a display of the list. In the future, PackageKit (or ideally Appstream, but that seems much further from realization) definitely should be used in a reimplemented form of the package manager with enhanced UX.
Yes, this is a great way to put it. Nix-Gui might be viewed as a tool to smooth the learning curve of nix. |
yes, that's the potential, but it's also a very hard design problem it sounds good so far, let's see how it will turn out |
Have you checked out other attempts on the problem and considered contributing there instead of starting from scratch? https://github.com/pmiddend/nixos-manager https://www.reddit.com/r/NixOS/comments/cu4dle/should_nix_have_a_gui/ discussion |
It's author has suggested that it would need to be rewritten because it uses deprecated graphics library pmiddend/nixos-manager#10 (comment) I think |
Handles
package
andlist of packages
(ListOf[Packages]
isn't handled byListOf
).Functionality
The first iteration will be based on synaptics layout at bottom)
The text was updated successfully, but these errors were encountered: