• @[email protected]
    link
    fedilink
    3518 days ago

    If flatpak didn’t make me put the entirety of KDE onto my system (thats an exaggeration but you know what I mean) I’d gladly crown it king of the package managers.

    • @[email protected]
      link
      fedilink
      2418 days ago

      Plus make it hell on earth to a) access drives other than the one flatpak is installed on, b) interoperate with non-flatpak applications, and c) retain any amount of free space on my drives (exaggeration for effect).

      • @[email protected]
        link
        fedilink
        918 days ago

        Yeah, flatseal should come stock with flatpak IMO. You will have to configure many apps to get them to play nice with your system.

      • @[email protected]
        link
        fedilink
        818 days ago

        This is a “security” feature and I’m so tired of it. Same thing with Wayland, random crap doesn’t work sometimes

        • @[email protected]
          link
          fedilink
          2218 days ago

          Wayland is trying to replace a standard that people have been saying is obsolete for a decade. I’ll give them a bit of leeway.

    • @[email protected]
      link
      fedilink
      2018 days ago

      Psst … the first KDE app you installed via your package manager also put “the entirety of KDE” onto your system.

      • CarrotsHaveEars
        link
        fedilink
        318 days ago

        Indeed. As much of how loved and popular KDE is, fuck it. I use the glorious XFCE. XFCE is beautiful too. Fuck, I’m not the maniac who would waste 2GB just for my DE to look beautiful.

    • @[email protected]M
      link
      fedilink
      2118 days ago

      I just want to point out the dependencies of Konsole (arguably a small and simple application in concept): glibc gcc-libs icu kbookmarks kcolorscheme kconfig kconfigwidgets kcoreaddons kcrash kdbusaddons kglobalaccel kguiaddons ki18n kiconthemes kio knewstuff knotifications knotifyconfig kparts kpty kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui qt6-5compat qt6-base qt6-multimedia sh.

    • @[email protected]
      link
      fedilink
      317 days ago

      Flatpak does not install KDE by default. It is only required if you install a KDE app. You can hardly blame it if you do that.

    • @[email protected]
      link
      fedilink
      918 days ago

      How the hell do you learn to use nix. I’m not a programer but figured out how to run gentoo just fine with the guide. nixOS feels like I’m in a mirror maze in the dark and the room is rotating.

      • @[email protected]
        link
        fedilink
        English
        6
        edit-2
        18 days ago

        Well, Nix is a programming language, so there’s no getting around having to learn basic principles of coding.

        That said, I feel like coming into Nix with a lot of programming experience actually worked against me at first, because I made a lot of assumptions that weren’t true and basically had to “unlearn” certain things.

        The main things being:

        • Lazy evaluation is trippy as hell sometimes
        • The language truly does not allow for side-effects. Everything you might think is a side-effect is really executed from outside the language runtime itself
        • It might be more accurate to think of Nix as a database, where the keys are the parameters of what to build and the values are directories full of the built artifacts

        What really made it click for me was seeing how a derivation object is basically equivalent to a path. So if I do ”${pkgs.foo}/bar”, that’s the exact absolute path (plus /bar) where Nix will end up storing the output of the pkgs.foo derivation. Even without actually building the derivation, you can know where it will end up.

        Anyway, the documentation is pretty shitty, so you basically have to scour every community resource you can find and read way more of it than it seems like you should have to. Discord/Matrix servers help a lot too. And learning to navigate the source code for nixpkgs.

        Also: Don’t start with NixOS, imo. Start with dumb throwaway stuff where you make a derivation that downloads a file and unzips it and runs a single command. Once you understand that, do something that requires understanding a bit of nixpkgs, like using overlays. Then you can use NixOS. Otherwise, there’s too much going on all at once.

        Edit:

        • Nix pills is good
        • Vimjoyer is amazing
    • UnfortunateShort
      link
      fedilink
      English
      1318 days ago

      I think the main complaint is that it seems like Canonical is trying take control of Linux packaging. Don’t they handle their stuff in a way that pretty much prevents third party ‘Snap Stores’? Like, their backend being closed source and their software only accepting their own signatures?

      • @[email protected]
        link
        fedilink
        518 days ago

        I dont know for sure so disregard what I say. but I remember reading that users could host their own snap repos but canonicals one was the only one at the moment. Everything about snap is open source except the webserver.

        • @[email protected]
          link
          fedilink
          517 days ago

          Yeah the API is open and there used to be an open store, but lack of interest ended up with the project shutting down. As it turns out people don’t like alternative stores nearly as much as they like the idea of alternative stores.

    • @[email protected]
      link
      fedilink
      2918 days ago

      Probably, but the stink will linger for quite a long time.

      There’s a burger place near my house that I use to go to almost every week. But then the quality started going down, and I stopped going there. That was two years ago. Maybe they fixed the problems, but I’m not going to know - because I no longer go there. Snap is like that.

    • @[email protected]
      link
      fedilink
      618 days ago

      Has it? My complaints are: I have to use VPN software for work that replaces /etc/resolve.conf with a symlink to another location, one that sandboxed snaps can’t access. There’s no way to grant them access; the “slots” that you can connect are fixed and pre-defined. You can’t even configure the file path; it’s defined right in the source code. Not even as a #define, but the string literal “/etc/resolve.conf”. That seems like poor practice, but I guess they’re not going for portability.

      Also, I have /usr and /var on different media, chosen for suitability of purpose, and sized appropriately. Then, along comes snap, violating the File Hierarchy Standard by filling up /var with application software.

      Minor annoyances are the ~/snap folder, and all of the mounted loopback filesystems which make reading the mtab difficult.

  • @[email protected]
    link
    fedilink
    14
    edit-2
    17 days ago

    Tar is not a package manager, it is just a packaging format. AppImage has the same problem.

    Flatpak is a bit of a crappy package manager but at least it is one. And, due to its use of container technology, it allows the same packages to run on any Linux kernel (any Linux distro). That is pretty useful.

    Of the other package managers, apk 3 is my favourite but the only distro that uses it is Chimera Linux. Pacman is good. dnf / RPM is ok. apt / deb is in last place for me. The recent Ubuntu 25.04 launch snafu illustrates some of the problems with apt. The first Linus Tech Tips Linux challenge really highlighted the dangers of apt.

    I only used snap briefly but instantly hated it. Fstab was a mess. It was slow. It was proprietary. I fled before I could form an educated opinion.

    • @[email protected]
      link
      fedilink
      English
      3
      edit-2
      16 days ago

      it allows the same packages to run on any Linux kernel (any Linux distro). That is pretty useful.

      flatpak itself depends on namespaces, so saying that it works on any kernel is quite a stretch.

      Can flatpak do this? This is a GIMP3 appimage running on ubuntu 10.04 without any container:

      The kernel is so old that even the appimage runtime itself complains of missing functions and has to fallback to a workaround.

      UPDATE: flatpak can’t work because bubblewrap itself can’t:

      PR_SET_NO_NEW_PRIVS is only available since kernel 3.5

        • @[email protected]
          link
          fedilink
          English
          316 days ago

          I’m not, it’s a vm that I use to test.

          There is quite a lot of systems still stuck on kernel 2.6 that can’t be updated, so it is always nice to make sure what I do can work on such.

  • unknown1234_5
    link
    fedilink
    3718 days ago

    my issue with snaps is honestly just that they are controlled too much by just one entity (canonical) and there is no reason for them to exist because flatpak already does everything they do.

    • trevor (he/they)
      link
      fedilink
      English
      4
      edit-2
      17 days ago

      My issue with snaps is also the power that Canonical has to fuck you over one day, because of the centralization that you mentioned, but also that their shitty fucking packaging format sucks ass and breaks everything but the most basic of apps. I’ve wasted hours trying to help people with their broken applications that were hijacked when they typed apt install whatever and “whatever” was actually a fucking broken snap package.

      Flatpaks and AppImages actually do the fucking things they’re supposed to. Snaps don’t, and Canonical is pulling a Microsoft by hijacking your package manager.

      Also, Snap sandboxing only works with AppArmor, so if you were hoping that all the breakage was worthwhile because you get sandboxing, you don’t if you’re on anything but a handful of distros 🙂

  • Admiral Patrick
    link
    fedilink
    English
    10618 days ago

    Let the hate of the crowd wash over me, but I don’t even like Flatpak, and I’ve got love-hate (mostly hate) relationship with AppImage as well.

    Just give me a system package or a zipped tarball.

    In recent years, have had to just get used to needing to build most projects from source.

      • Admiral Patrick
        link
        fedilink
        English
        1918 days ago

        Just not a fan of container formats in general.

        I say that as a heavy user of Docker, but that’s a different use-case.

          • Admiral Patrick
            link
            fedilink
            English
            5
            edit-2
            18 days ago

            At least for appimage, it doesn’t create application launchers. And it’s 50/50 whether the icon in the window list works or not.

            I also build a lot of Docker images, and container formats throw a wrench in that if that’s the only way the application/utility is packaged. So I end up building from source.

            • @[email protected]
              link
              fedilink
              English
              418 days ago

              Personally, I use AM. Takes care of that and more.

              It is CLI and I’m GUI by nature, but AM is easy enough for me. Just yesterday I did a simple am -u and got the latest updated versions of qBittorrent, FreeTube, yt-dlp etc. (I.e. the kind of program that system packages are too out of date to work safely or even work at all.)

              There are other options like zap (CLI), Gear Lever (GUI) and just recently I believe the Nitrux distro came out with a complete AppImage software manager. (Checking it out, https://github.com/Nitrux/nx-software-center , it seems it pulls from AppImageHub.com, which unfortunately has largely been forgotten by developers, a lot of software is either out of date, unverifiable or completely absent. AM is much more up-to-date, pulling the latest AppImages mostly from official GitHub repos.)

      • Björn Tantau
        link
        fedilink
        10318 days ago

        For me it is the “Windowsy” feeling of downloading an executable from some website. I prefer having all my packages managed in one place.

            • @[email protected]
              link
              fedilink
              English
              218 days ago

              AppImage is meant to be updated using the embedded zsync info the runtime, that is the user should never have to open the app to update it.

              The user needs to have something like AM, appimagelauncher or appimaged that is then able to parse the info and update the appimages using appimageupdatetool

              This method also provides delta updates, meaning it doesn’t download the entire app but only a diff, see this test with CPU-X where it downloaded 2.65 MiB to update the app:

            • @[email protected]
              link
              fedilink
              English
              3
              edit-2
              18 days ago

              Most update themselves & flatpaks are the worst when you need them to work with your system (ie: scripts).

              So I guess your opinion is just wrong, sorry! (That’s a joke you guys)

              • @[email protected]
                link
                fedilink
                918 days ago

                I despised the Windows way of everything having their own updater either running in the background or only alerting you when you want to use an app.

                AppImage to me feels like a big step backwards.

              • HunterLF
                link
                fedilink
                218 days ago

                Damn, should have said that sooner, I see people don’t tolerate that kind of talking to others in here. Respect the community.

          • @[email protected]
            link
            fedilink
            English
            3518 days ago

            For simple “apps” it is fine, but my computer is not a phone and I don’t use it like one. I mostly don’t want simple apps that have their own little sandbox to play in.

            I want full-scale applications that are so big they have to use system libraries to keep their disk size down. I also don’t want them in a sandbox. I want them to have full access to the system to do everything they need to do, I want them to integrate with far-flung parts of the system and other applications too. I only use applications I trust and don’t want them constantly pestering me about configuring permissions and access in just the right ways and opening all the right doors and ports and directories to make them work, I trust them by installing them, they have permission, and the easier they make it to access everything I will inevitably be asking them to access, the happier I am.

            My practical concern with distribution methods like AppImage and Flatpak is that now I have to do a lot of extra thinking every time I’m installing anything. To pick how I’m going to install something, I have to solve the matrix of “what kind of distribution method do I prefer for this type of software” combined with “what distribution methods are available for this software” and “what versions are the available distribution methods for this software” and “what distribution method provides the best way for this software to get updates”.

            In the olden days, when the distro’s package manager was the only choice, all I had to care about was “is it available in my distro” and the decision tree was complete. I appreciate all the availability of choice that things like AppImage provide, but it doesn’t actually make it easier for me, it just makes it easier for the packager of the software. They’re doing less, but making more work for me, as a user. Distro packages are a lot of work for the maintainer precisely because they at least make an effort to solve many of these issues for the user. The value-add that maintainers provide is real.

            • @[email protected]
              link
              fedilink
              2918 days ago

              It doesn’t sound like they’re making more work for you. It sounds like you’re making more work for yourself, and it sounds exhausting.

            • @[email protected]
              link
              fedilink
              English
              818 days ago

              I want full-scale applications that are so big they have to use system libraries to keep their disk size down

              Linux is in such sad state that dynamic linking is abused to the point that it actually increases the storage usage. Just to name a few examples I know:

              most distros ship a full blown libLLVM.so, this library is a massive monolith used for a bunch of stuff, it is also used for compiling and here comes the issue, by default distros build this lib with support for the following targets:

              -- Targeting AArch64
              -- Targeting AMDGPU
              -- Targeting ARM
              -- Targeting AVR
              -- Targeting BPF
              -- Targeting Hexagon
              -- Targeting Lanai
              -- Targeting LoongArch
              -- Targeting Mips
              -- Targeting MSP430
              -- Targeting NVPTX
              -- Targeting PowerPC
              -- Targeting RISCV
              -- Targeting Sparc
              -- Targeting SystemZ
              -- Targeting VE
              -- Targeting WebAssembly
              -- Targeting X86
              -- Targeting XCore
              

              Gentoo used to offer you the option to limit the targets and make libLLVM.so much smaller, but now rust applications that link to llvm have issues with this with caused them to remove that feature…

              Another is libicudata, that’s a 30 MiB lib that all GTK applications end up linking to for nothing, because it is a dependency of libxml2, which distros override to build with icu support (by default this lib does not link to libicudata) and what’s more sad is that the depenency to libxml2 comes because of transitive dependency to libappstream, yes that appstream that I don’t even know why most applications would need to link to this.

              And then there is archlinux that for some reason builds libopus to be 5 MiB when most other distros have this lib <500 KiB

              Sure dynamic linking in the case of something like the coreutils, where you are going to have a bunch of small binaries makes sense, except you now have stuff like busybox which is a single static bin that acts as each of the different tools by checking the name of the symlink that launched it and it is very tiny at 1 MiB and it provides all your basic unix tools including a very good shell.

              Even Linus was surprised by how much dynamic linking is abused today: https://lore.kernel.org/lkml/CAHk-=whs8QZf3YnifdLv57+FhBi5_WeNTG1B-suOES=RcUSmQg@mail.gmail.com/

              To pick how I’m going to install something,

              https://github.com/ivan-hc/AM

              I have all these applications using 3.2 GIB of storage while the flatpak equivalent actually uses 14 GiB 💀: https://i.imgur.com/lvxjkTI.png

              flatpak is actually sold on the idea that shared dependencies are good, you have flatpak runtimes and different flatpaks can share, the problem here is that those runtimes are huge on their own, the gnome runtime is like 2.5 GiB which is very close to all those 57 applications I have as appimage and static binaries.

              but it doesn’t actually make it easier for me, it just makes it easier for the packager of the software

              Well I no longer have to worry about the following issue:

              • My application breaking because of a distro update, I actually now package kdeconnect as an appimage because a while ago it was broken for 2 months on archlinux. The only app I heavily rely from my distro now is distrobox.

              • I also get the latest updates and fixes as soon as upstream releases a new update, with distro packaging you are waiting a week at best to get updates. And I also heard some horror stories before from a dev where they were told that they had to wait to push an update for their distro package and the only way to speed it up was if it was a security fix.

              • And not only you have to make sure the app is available in your distro packages, you also have to make sure it is not abandoned, I had this issue with voidlinux when I discovered the deadbeef package was insanely out of date.

              • Another issue I have with distro packages in general is that everything needs elevated rights to be installed, I actually often hear this complains from linux newbies that they need to type sudo for everything and it doesn’t have to be this way, AM itself can be installed as appman which makes it able to work on your HOME with all its features. And you can take your HOME and drop it in any other distro and be ready to go as well.

            • @[email protected]
              link
              fedilink
              318 days ago

              I couldn’t agree more. Occasionally I’ll use an appimage where something is not packaged for my distro version and I only need it temporarily.

              Maybe I’m just long in the tooth, but linux used to be a simple, quite elegant system, with different distros providing different focuses, whether they were trying to be windows clones, something that a business could bank on being there in ten years, or something for those who like to tinker. The common theme throughout was ‘the unix way’, each individual tool was simple, did one job, and did it well. Now we seem to be moving to a much more homogenous ecosystem of distros with tooling that tries to be everything all at once, and often, not very well.

            • @[email protected]
              link
              fedilink
              English
              518 days ago

              omg I cannot fucking believe that while I was typing this I just saw another distro package nonsense:

              There is this very good tool called soar which I use for static binaries. (It also has support for appimages but to be honest it is not as good as AM rn).

              Well we just got a complain that fastfetch is not displaying the package count of soar, which fastfetch is able to do.

              Turns out this is because the archlinux package is built without SQLITE3 which is needed for that feature to work 😫

              And what’s worse is that account registrations are disabled in the archlinux gitlab, so I have to jump thru some hoops to get a basic bug report filed…

              • @[email protected]
                link
                fedilink
                117 days ago

                Just enable the sqlite3 USE flag in /etc/portage/make.conf.

                Sorry, wrong distro. I’m assuming Arch can use portage or something if you want.

                • @[email protected]
                  link
                  fedilink
                  English
                  217 days ago

                  The issue is arch and not us. They are building fastfetch without SQLITE3 and then we get people asking why the package count of fastfetch doesn’t display soar pkgs… All we can do is just tell people to not use fastfetch from the arch repos.

                  All archlinux has to do is change this line from OFF to ON

            • @[email protected]
              link
              fedilink
              118 days ago

              I agree, there’s a place for flatpaks and appimages, but for the most part my computer isn’t it. If I was setting it up as more of an appliance or as a work computer in a fleet of devices, sure they’d be great. I installed VLC in it’s flatpak form on accident once and it was worthless because the entire reason I installed it was to watch either a DVD or Blu-ray, and it didn’t have the libraries to read the disc. It took me far longer than I’m willing to admit to figure out it was because flatpak. I’m sure there’s a way to work around that, but at that point I was done with any flatpaks for anything that might need additional anything.

              They do cut down on needing multiple versions of the same package, so I’ll sometimes install the flatpak version to try something out if I’m not sure it’s what I want.

        • @[email protected]
          link
          fedilink
          418 days ago

          Interesting you compare it to Windows, given how in OS X you literally just drag applications into your Applications folder to install them.

      • monk
        link
        fedilink
        210 days ago

        I already have the system package manager. Everything else that isn’t it doesn’t manage my system and is doomed to suck.

      • @[email protected]
        link
        fedilink
        718 days ago

        I’d say that complete lack of a single consistent way to manage updates.

        I really don’t feel having to micromanage each piece of software.

        • @[email protected]
          link
          fedilink
          English
          518 days ago

          AppImage is meant to be updated using the embedded zsync info the runtime, that is the user should never have to open the app to update it.

          The user needs to have something like AM, appimagelauncher or appimaged that is then able to parse the info and update the appimages using appimageupdatetool

          This method also provides delta updates, meaning it doesn’t download the entire app but only a diff, see this test with CPU-X where it downloaded 2.65 MiB to update the app:

          TLDR: https://github.com/ivan-hc/AM

    • fmstrat
      link
      fedilink
      English
      518 days ago

      If it’s not in Apt, I just run it in docker.

  • @[email protected]
    link
    fedilink
    27
    edit-2
    18 days ago

    It’s not about the package management method that we use. It’s about the friends and enemies we made along the way (while arguing about package management.)

  • @[email protected]
    link
    fedilink
    1218 days ago

    I really like flatpak and it’s system, but AppImages are in a nice second place. I usually look for a flatpak first and appimages if I can’t find the first.

  • @[email protected]
    link
    fedilink
    English
    2618 days ago

    I tried a snap package on my pop-os system once & it poo’ed folders all over my system, then didn’t actually uninstall when I uninstalled it.

    No thank you.

    • fembinary
      link
      fedilink
      1218 days ago

      thats the thing with snaps: they go all over the place on your system, so even if you uninstall it (which itself is a tiring and cumbersome task at times!), they magically stay everywhere on the systems, with tons of folders and files.

        • fembinary
          link
          fedilink
          418 days ago

          install yes, but there are tons of other files and folders that get created, IIRC even pseudo-users or something along those lines? (or that was distro-specific perhaps)

          • @[email protected]
            link
            fedilink
            English
            418 days ago

            You mean like the program itself is creating files? The issue would be the same whether apt or snap is used, in this case.

            • fembinary
              link
              fedilink
              218 days ago

              never had a problem with other programs leaking out on the system after being properly uninstalled except snap

        • @[email protected]
          link
          fedilink
          117 days ago

          They’re downloaded somewhere under /var/snap and by default a snap only has access to a limited set of directories - one under /var/snap for system-wide data (generally used by snaps that run services like cups or MySQL) and one under ~/snap for each user. When you snap remove an app, it bundles that up into a file that’s kept for a while in case you reinstall, but it won’t if you use --purge.

          Obviously many apps request access to other places (such as non-hidden directories in your homedir) so they can read or write stuff, but that’s down to the app to then behave correctly (same as with any other packaging system).