• jaybone@lemmy.zip
    link
    fedilink
    English
    arrow-up
    60
    ·
    2 months ago

    Are there enough watermarks on this meme? At least we got reddit covered.

  • 👍Maximum Derek👍@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    53
    arrow-down
    1
    ·
    2 months ago

    A stab at my personal ranking: .deb > appimage > flatpack > curling a shell script

    I can’t help but love a .deb file (even when not via repo), I’ve almost exclusively used Debian and it derivatives since the late 90s. And snap isn’t on the list because it got stored in a loopback device I removed.

    • gigachad@sh.itjust.works
      link
      fedilink
      arrow-up
      8
      ·
      2 months ago

      As someone who is confused when he has to deal with a .deb file and always has to google what to do with it - what is the advantage of a .deb over let’s say a shell script?

      • 👍Maximum Derek👍@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        13
        ·
        edit-2
        2 months ago

        I never fully trust a shell script and usually end up reading any I have to use first, so I know what they do. And after so many years dpkg holds no mysteries for me and Discover will install .debs if I double click while in KDE.

        • everett@lemmy.ml
          link
          fedilink
          arrow-up
          10
          ·
          2 months ago

          It’s worth knowing that .deb files can contain setup scripts that get run as root when installed, so you should trust them too.

          • 👍Maximum Derek👍@discuss.tchncs.de
            link
            fedilink
            English
            arrow-up
            6
            ·
            edit-2
            1 month ago

            Yeah. They all come with risks, but I psychologically struggle to run shell scripts unless I know what’s in them. And the same brain dysfunction makes my automatically distrust a script that doesn’t set pipefail.

            • everett@lemmy.ml
              link
              fedilink
              arrow-up
              4
              ·
              2 months ago

              That definitely makes sense. Also, the scripts in a .deb should be incredibly short and readable, if you choose to check them out.

      • cley_faye@lemmy.world
        link
        fedilink
        arrow-up
        9
        ·
        2 months ago

        If made correctly (which is hilariously easy), it’s a clean install and uninstall process, support some level of potential conflict regarding files that are shared with other packages/commands, support dependencies out of the box, and with minimal work can be made easy to update for the user (even automatically updates, depending on the user’s choices) by having an (again, very easy to setup for a dev) repository. With the added value of authenticity checks before updating.

        All this in a standardized way that requires no tinkering, compatibility stuff, etc, because all these checks are built-in.

        Note that some of this probably applies to other system package management solutions, it’s not exclusive to .deb.

      • Monstrosity@lemm.ee
        link
        fedilink
        English
        arrow-up
        7
        ·
        edit-2
        2 months ago

        dpkg -i <nameofpackage.deb>

        Which can be read as: (Debpackage) -install <nameofpackage.deb>

        That’s it!

        Also, if you haven’t already, install tldr (apt install tldr), then you can ‘tldr deb’ (or any other command) to get a few examples of their most used functions.

      • wolfinthewoods@lemmy.ml
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 month ago

        It might be different for other distros, but for me on MX Linux, I just click on the .deb and it opens a shell with a root prompt and installs the file automatically. Easy peasy.

    • someacnt@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 month ago

      Am I the only one who struggled extensively with .deb file with out-of-date dependencies? It seems the software dev needs to update the .deb file frequently, which they never do.

    • scintilla@lemm.ee
      link
      fedilink
      arrow-up
      9
      ·
      1 month 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.

      • kibiz0r@midwest.social
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        1 month 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
  • unknown1234_5@kbin.earth
    link
    fedilink
    arrow-up
    35
    arrow-down
    1
    ·
    2 months 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)@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      edit-2
      1 month 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 🙂

  • danhab99@programming.dev
    link
    fedilink
    arrow-up
    36
    arrow-down
    2
    ·
    1 month ago

    Nix is just across the street sipping tea because it understands what it is and is at peace with the chaotic world around it.

    • stebator@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      1 month ago

      I use NixOS and Flatpak (Nix-Flatpak) to install software that is not available in Nixpkgs. Unlike Arch’s AUR, Nixpkgs has fewer popular packages. However, Nixpkgs beats AUR in terms of quantity because many Nixpkgs packages are redundant.

  • procapra@lemm.ee
    link
    fedilink
    arrow-up
    35
    arrow-down
    4
    ·
    2 months 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.

    • sensiblepuffin@lemmy.funami.tech
      link
      fedilink
      arrow-up
      25
      ·
      1 month 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).

      • JayDee@lemmy.sdf.org
        link
        fedilink
        arrow-up
        9
        ·
        1 month 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.

      • OsrsNeedsF2P@lemmy.ml
        link
        fedilink
        arrow-up
        7
        arrow-down
        2
        ·
        1 month ago

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

    • rtxn@lemmy.worldM
      link
      fedilink
      arrow-up
      21
      ·
      1 month 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.

    • OsrsNeedsF2P@lemmy.ml
      link
      fedilink
      arrow-up
      20
      ·
      1 month ago

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

      • thepreciousboar@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        19 days ago

        At least if you install other apps you already have KDE. If you install another Flatpak, it’s likely this will need another version of the KDE runtime, so it’s 2.5 more GB for a 450kB application.

      • CarrotsHaveEars@lemmy.ml
        link
        fedilink
        arrow-up
        3
        arrow-down
        2
        ·
        1 month 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.

    • LeFantome@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      1 month 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.

  • Abnorc@lemm.ee
    link
    fedilink
    arrow-up
    28
    ·
    edit-2
    1 month 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.)

  • MoonlightFox@lemmy.world
    link
    fedilink
    arrow-up
    31
    arrow-down
    4
    ·
    2 months ago

    I have really started to like AppImage. You just download a single file make it executable and it just works.

    I use Cursor for coding, and it has an appimage that replaces itself when it updates.

    • bdonvr@thelemmy.club
      link
      fedilink
      arrow-up
      55
      arrow-down
      1
      ·
      2 months ago

      That’s cool and all but it would be even cooler if you could just install and keep it updated through your package manager

        • bdonvr@thelemmy.club
          link
          fedilink
          arrow-up
          12
          ·
          2 months ago

          That’s cool.

          It would still be even cooler if the app makers just packaged them for distros. Or even just Flatpak.

          But that’s a cool project I’ll keep it in mind for my next go with an immutable distro

          • klu9@lemmy.ca
            link
            fedilink
            English
            arrow-up
            3
            ·
            edit-2
            2 months ago

            I do wish something like AM’s functions was built into an all-in-one package manager for my distro. The closest I found was bauh which handles “AppImage, Debian and Arch Linux packages (including AUR), Flatpak, Snap and Web applications”. Which seems like an all-in-one solution.

            But the problem with bauh (that last time I tried it) is that it accesses only a small number of (often very out-of-date) AppImages from the largely moribund AppImageHub.com, unlike AM, which pulls in the latest releases from loads of GitHub repos, and adds more on a frequent basis or request.

          • Samueru_sama@programming.dev
            link
            fedilink
            English
            arrow-up
            4
            arrow-down
            1
            ·
            2 months ago

            Or even just Flatpak.

            AM was started because flatpak sucks.

            • With flatpak devs can’t agree to use a common runtime, so the user ends up with a bunch of different runtimes and even EOL versions of the same runtime, making the storage usage 5x more than the appimage equivalent and this is much worse if you use nvidia which flatpak will download the entire nvidia driver again.

            • flatpak could not bother to fix the hardcoded ~/.var directory, something that AM fixes by simply bind mounting the existing application config/data files to their respective places when sandboxing which yes it is able to sandbox appimages with aisap (bubblewrap).

            • flatpak threw the mess of handling conflicting applications to the user, so you have to type nonsense like flatpak run io.github.ungoogled_software.ungoogled_chromium, AM just puts the app to PATH like everyone else does, even snap doesn’t have this issue.

            • Colloidal@programming.dev
              link
              fedilink
              English
              arrow-up
              2
              ·
              1 month ago

              Having experienced Flatpak bloat and seeing your posts here, I might just have been converted. The Flatpak integration on my distro is neat though. But I already use Aptitude for most of my package management needs, so I guess adding AM to my toolbox doesn’t seem too bad.

        • dinckel@lemmy.world
          link
          fedilink
          arrow-up
          19
          ·
          2 months ago

          That’s kind of the point though. One of the foundational pillars of a good distribution is mature package management, and that includes not relying on self-updaters that will pollute your system with untracked files

          • Leon@pawb.social
            link
            fedilink
            English
            arrow-up
            6
            ·
            2 months ago

            Absolutely, but don’t AppImage updaters basically just replace the AppImage? They’re self-contained, no?

    • Psychadelligoat@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      6
      ·
      2 months ago

      Some apps are a bitch and a half for some reason, other apps just work

      Make a .desktop file, slap it in ./local/share/imdrawingafuckingblank and boom, it’s integrated into your shell menu like any other app

      The Nexus Mod App and Foundry VTT work flawlessly and it’s so nice

      • MoonlightFox@lemmy.world
        link
        fedilink
        arrow-up
        8
        ·
        2 months ago

        As a somewhat Linux noob I just made a folder called ~/Apps and launch them through terminal. Not ideal, but I don’t care enough to fix it.

        Your suggestion makes me kinda want to fix it though. Doesn’t seem like to much work

        • Monstrosity@lemm.ee
          link
          fedilink
          English
          arrow-up
          10
          ·
          edit-2
          2 months ago

          Change ~/Apps to ~/bin or ~/.bin & you are doing it like a seasoned pro.

          Completely ideal, actually.

        • Fisch@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 months ago

          I’ve used Linux for years and I also have a ~/Applications folder where I put AppImages, applications cloned with git and stuff like that in. E.g. I have the last Yuzu AppImage in there, since it got taken down, but I also made a .desktop file for it, so I can launch it through the application menu. Btw, you should be able to just double click AppImages in your file explorer to open them.

            • Fisch@discuss.tchncs.de
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 month ago

              Maybe I should install one of these but I would have expected Fedora to come with something like this preinstalled tbh

              • Samueru_sama@programming.dev
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                1 month ago

                but I would have expected Fedora to come with something like this preinstalled tbh

                Fedora is just plagued with poor decisions, and that’s expected, it is the testing ground of redhat and not something that regular users should be using, they even go as far as repacking existing flatpaks just because and then break them.

                A while back they pulled this nonsense that not even upstream approves of: https://gitlab.com/gnuwget/wget2/-/issues/661

                iirc fedora also enabled wayland by default on gnome in 2016 when pretty much nothing worked.

                Rhino linux lets you install AM thru its GUI installer btw.

  • Monstrosity@lemm.ee
    link
    fedilink
    English
    arrow-up
    25
    ·
    2 months 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@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      12
      ·
      2 months 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@lemmy.blahaj.zone
          link
          fedilink
          arrow-up
          4
          arrow-down
          1
          ·
          2 months 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)

          • Sibshops@lemm.ee
            link
            fedilink
            English
            arrow-up
            4
            ·
            2 months 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.

        • lengau@midwest.social
          link
          fedilink
          arrow-up
          1
          ·
          1 month 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).

      • ryannathans@aussie.zone
        link
        fedilink
        arrow-up
        10
        arrow-down
        2
        ·
        edit-2
        1 month ago

        Like not updating or shared dependencies duplicated for every single app image

        Just use flatpak

        • vrighter@discuss.tchncs.de
          link
          fedilink
          arrow-up
          7
          arrow-down
          1
          ·
          1 month ago

          or they somehow still find a way to not work. I can count the number of times i had an appimage just work, and it is exactly 2. Any other time i had crashes

        • AnimalsDream@slrpnk.net
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 month ago

          It would, if there were no other options for package management. Package formats don’t have to be either/or. My systems typically end up with mixes of native packages, flatpak, appimages, and you could technically consider Steam a package management system as well.

    • srestegosaurio@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      1
      ·
      1 month ago

      Last time I read something from the main dev I almost ran stright into the woods.

      Also idk about how it is the management situation, portals integration, etc…

  • cley_faye@lemmy.world
    link
    fedilink
    arrow-up
    24
    arrow-down
    2
    ·
    2 months ago

    A rusty bucket riddled with holes and the stick part of a shovel is better than snap for running software.

  • pewpew@feddit.it
    link
    fedilink
    arrow-up
    17
    ·
    edit-2
    2 months ago

    Why tf does every app have to mount itself as a virtual block device?