There was a time when Nixpkgs was smaller than the AUR. And, until recently, Nixpkgs was larger than the AUR but still smaller than the combination of the main Arch repos with the AUR.
As it turns out, the current total package count for Arch and the AUR is 85,819.
For nixpkgs unstable, that number is 88,768.
NixOS 23.05 Stable has 83,740.
And considering the mention of 9,147 new packages and 4,015 removed packages, that would mean that 23.11 would have a total of:
88,872 packages. This is more than the current figures for Nixpkgs unstable, but this is going off data from separate sources (NixOS devs and repology, with repology still being slightly outdated)
And, as such, I think it’s fair to say the winner is (drumroll please)…
The USER for having such incredible distributions, giving him the vast breadth of choice for what distro matches their workflow best.
To be fair, the level of support for packages in nixpkgs is inconsistent. My config has a number of backported packages overlaid on top of nixpkgs where upstream is not up to date enough for me.
Package count is interesting to look at, but it doesn’t really give a good picture of software availability. Distributions will split or combine packages differently. For example, the AUR has both binaries and source versions available for many packages.
First, it is generally a bad idea to manually install software in package based distro. It can break something in your system (providing install.sh script is quite uncommon, it means that developers can do something uncommon and unexpected). Even if everything will go fine, once after system update the program you installed will get broken dependencies and stop working. Better search for prebuilt RPM package.
Then, answering your question: to build against libraries you need to install corresponding -devel packages. In Fedora their names can differ from the library name (e. g. not libglvnd-devel, but glvnd-devel, you need to search them yourself). For wayland-scanner you need wayland-devel as you can find here or with command dnf provides ‘*/wayland-scanner’.
As far as I’m aware the only options to install GSR as a package are AUR/yay (not available on fedora as far as I understand) or flatpak (unable to resolve permission issue), so I do think a manual install is the best option. This is a gaming system so GSR breaking is no huge deal.
Thanks for the tips regarding manual installation! I did not know about -devel packages or about the dnf provides command. They will probably prove to be very useful!
If you’re going to install from source at least change the compile config options so the prefix defaults to /opt/program-name.
You can further integrate with the system by adding the /opt/program/bin/ and sbin/ dirs to the PATH variable, and add lib/ to /etc/ld.so.conf but it should not be needed normally — only if other programs need to compile against this one.
You can also simplify integration by making common dirs for example /opt/.bin and /opt/.lib, adding only those to PATH and ld, and symlinking binaries and libraries from all /opt programs to them.
I noticed in the install.sh of GSR, that setcap cap_sys_admin+ep is called on the executable. So if you know any way of replicating something like that for flatpaks that is simpler than installing GSR manually, feel free to let me know.
You can just run the same command on the executable installed by flatpak. On my system it can be found in /var/lib/flatpak/app/{app name}/current/active/files/bin.
I didn’t consider that an option because whenever I searched for setcap and flatpak, most threads were pretty dismissive and told OP that flatpak is made with security in mind so doing that isn’t supported.
Regardless, I tried it just now, but the password prompt (image below) still shows up when launching the autostart .desktop file I created. The .desktop file launches a script I wrote, which in turn actually starts GSR through flatpak, in case that changes anything.
Do I assume correctly that this prompt might be gone if I set the capabilities of /usr/bin/flatpak? It’s not something I want to do, so I’ll probably keep trying to get the manually built version installed.
If the computer boots but you can’t access a GUI, use Ctrl+Alt+F3 to open a console. From there you can use nano to edit the login manager configuration. If you had GNOME installed, your login manager is probably GDM, and its config should be at /etc/gdm/daemon.conf, according to the manual. If that is the case, it looks like you should erase the username under the entry “AutomaticLogin=”.
Firejail has some big security flaws. There us bubblejail, which uses the way better bubblewrap also used for Flatpaks.
But the Bubblewrap and Flatpak Situation is quite complex. Flatpaks, as well as Podman containers, require user namespaces. Through these namespaces programs can get privileged access to system components, which is why secureblue now has bubblewrap-suid installed.
bubblejail maybe uses that binary already, or it needs to be patched too.
To add to this systemd can do everything they can. You can isolate network, do fire-walling, and sandboxing pretty easily. Any OCI container can be used too if you don’t want to install something too.
I avoid it at all costs as no solution is really seamless, but NoMachine gave me the best (perceived) latency out of VNC, TeamViewer, and a couple others I tried a couple years ago. It’s also cross platform, but if the machines are in different networks (behind a NAT), you’ll likely need to configure port forwarding manually or via their GUI.
edit: I just remembered I even played youtube videos and the transport fever 2 game via NX (NoMachine) for a few hours and it worked well, while other protocols had either too much of a degraded quality or latency.
How intensive is nomachine? I’ve used it on decent hardware and it’s performance was pretty good. But I’m thinking of setting it up on the raspbery pis at work since VNC is painful to use.
I’ve used it on my pi before I disabled the display manager because I barely used it, but performance was fine. I could log in from my desktop, phone, laptop, another pi, anything really, which was nice to have.
I use NoMachine as well as it has been the most responsive solution for me.
My biggest problem that I finally figured out was that NoMachine was attaching to a VNC console instead of creating its own display when I was using it with Unraid VMs (KVM)
@leo KDE with Wayland was all crashy when I tried it. If Wayland windowing is as buggy and crashy as their browser we'll all need to switch to Windows or Mac just to get any work done.
I’m daily driving Firefox with Wayland on KDE Plasma since years, not on Xwayland, and can’t remember it not working well. This on two different distributions (Arch and NixOS). Not saying this is your fault but your experience is not representative for everyone
@Laser My experience is representative for enough people to show that Linux Desktop is a mess and is not suitable for production work. I don't identify myself by my choice of software. I just want to get work done.
@crypto@Laser Linux desktop is not one thing. If you have a company that standardizes on Gnome, then the software you need to work will work as they will likely have been tested to work. As for work, well, not everyone uses it for work.
I suppose it really depends on when you tried it. Ubuntu 23.10 has been working quite well on Wayland. I haven’t once failed down to X, and the only papercut I run into now is with differently scaled displays (100% and 150%) where OBS will crash the session when moving back and forth.
Everything else seems good as I haven’t really seen anything else break at all and I use Firefox, Kdenlive, Audacity, lots of chat apps, and played some games. Specifically, playing Vivaldia 2 while I was remotely compiling Gentoo using OBS to livestream.
I’m hoping for COSMIC to come out. It looks so promising and the fact that they implemented the panels using wlr-layer-shell is so great. I think more desktop environments should do this for interoperability
linux
Active
This magazine is from a federated server and may be incomplete. Browse more on the original instance.