How does it stack up against traditional package management and others like AUR and Nix?

  • Destide@feddit.uk
    link
    fedilink
    English
    arrow-up
    3
    ·
    8 months ago

    Best of the three major agnostic package formats. If it brings more focus to Linux development, I don’t see how it can be a bad thing. A bit more space needed but for most setups this is a non-issue

    • BananaTrifleViolin@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      8 months ago

      Yeah duplication of running libraries is also a RAM/CPU resource issue but for modern well resourced machines probably not noticable. It is an issue when scaling down to low powered / old devices though. Like, running a web browser which runs in it’s own sandbox with duplicate libraries running is going to have noticable performance differences compared to a non-sandboxed program running native libraries on a low RAM or low CPU system.

      That’s not to say Flatpak isn’t a good solution; and all the agnostic package formats have the same issue compared to non-sandboxed apps. Plus the added security issues and stability on bleeding edge systems is good.

    • jollyrogue@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      8 months ago

      Plus, being able to sandbox user space applications, which previously had free reign, is nice.

      Sandboxing isn’t 100% there yet, but it’s come along way.

  • erwan@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    8 months ago

    I love them. They make the immutable distributions possible.

    We need to stop with the idea of shared libraries, it’s nice on the paper but in practice you only save a bit of disk space and it’s a pain for developers to package for different distributions.

    Distribution packages are great for core components of the system, or utilities everyone needs, but for end users applications something like flatpak makes more sense. This way it can be packaged by the upstream developer for all distributions, and sandboxing adds a layer of security. You wouldn’t install an app that have all permissions on mobile, why do it on desktop?

  • OsrsNeedsF2P@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    8 months ago

    People need to realize that before Flatpak, distributing a small-time Linux app was a nightmare. Appimages were your best option if you wanted to avoid distro specific builds, PPAs and AUR, etc. Ever since packaging 2009scape on Flathub I haven’t looked back. It auto updates. People can find it from software centers. It works on all distros. It connects straight to upstream’s CICD. It even forced us to adopt XDG compliance so we could sandbox it better.

    Yes, Flatpak has downsides like the download size (on disk it doesn’t matter because it gets compressed and the runtimes are shared, same as literally any other package manager). But overall, I hugely welcome it over the options we had before. Much love to the Flatpak and Flathub devs!

    • Trainguyrom@reddthat.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      8 months ago

      Ever since packaging 2009scape on Flathub I haven’t looked back.

      So YOU are the one to blame for my latest Runescape addiction relapse! I only learned of the project because I stumbled on it while browsing flathub

    • sibloure@beehaw.org
      link
      fedilink
      arrow-up
      1
      ·
      8 months ago

      As a semi-technical user: I also fucking love it. It gets out of the way so I can focus my time on my work and not OS maintenance.

  • Presi300@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    8 months ago

    I click install, app launches and I don’t need to deal with dependency hell for it. (I like them)

      • scratchandgame@lemmy.ml
        link
        fedilink
        Tiếng Việt
        arrow-up
        0
        ·
        8 months ago

        Why it is unfounded?? The sandbox is still a lie (flatseal is impractical security since it makes you become a security researcher overnight), apps are not properly filesystem-unveiled. But a new level of complexity.

        • Pantherina@feddit.de
          link
          fedilink
          arrow-up
          0
          ·
          8 months ago

          Could you explain “filesystem-unveiled”?

          Apps are not updated to support portals for “compatibility” or just lack of maintenance. Flatpak needs to follow their approach if they want to have many apps being supported.

          Desktop Linux doesnt have the marketshare to dictate that all apps need to adopt portals. In the meantime, flathub.org has a rating system and verified checks, this is simply not well shown in KDE Discover and not sure about GNOME software.

          • scratchandgame@lemmy.ml
            link
            fedilink
            Tiếng Việt
            arrow-up
            0
            ·
            edit-2
            8 months ago

            Could you explain “filesystem-unveiled”?

            Means its filesystem access is restricted.

            For example, chromium on OpenBSD use the unveil(2) system call to restrict itself to /tmp and $HOME/Downloads .

            Many popular flatpak applications have filesystem=host. This is equal to restrict all filesystem access and then unveil the whole filesystem.

            Apps are not updated to support portals for “compatibility” or just lack of maintenance. Flatpak needs to follow their approach if they want to have many apps being supported.

            Desktop Linux doesnt have the marketshare to dictate that all apps need to adopt portals. In the meantime, flathub.org has a rating system and verified checks, this is simply not well shown in KDE Discover and not sure about GNOME software.

            If they can’t even enforce portals, flatpak is a new level of complexity.

            So I said it is trash.

            • Pantherina@feddit.de
              link
              fedilink
              arrow-up
              0
              ·
              8 months ago

              Good that Chromium does that, but this means if it doesnt use portals many things will be broken.

              The host access is not actually everything

              These directories are blacklisted: /lib, /lib32, /lib64, /bin, /sbin, /usr, /boot, /root, /tmp, /etc, /app, /run, /proc, /sys, /dev, /var

              Exceptions from the blacklist: /run/media These directories are mounted under /var/run/host: /etc, /usr

              Portals need a change in the app code that is not huge but differs from other packaging formats on any distro and OS. So it sucks that its so slow but that has a reason.

              • scratchandgame@lemmy.ml
                link
                fedilink
                Tiếng Việt
                arrow-up
                1
                ·
                8 months ago

                The host access is not actually everything

                Not as restrictive as chromium’s unveil.

                For home it even restrict to the downloads folder, not accessing the whole home directory.

                • Pantherina@feddit.de
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  8 months ago

                  Yes that only works for browsers and would completely break image viewers, document editors etc

  • BigTrout75@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    8 months ago

    Flatpaks are great. I install my core os and gui with the base package management. All my user side packages are Flatpaks. I then use Flatseal to lock down and modify Flatpaks as needed. What’s great is running programs like wine without installing a ton of dependencies and then locking the install from parts of my computer I don’t want it to have access to.

  • Shareni@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    8 months ago

    How does it stack up against traditional package management and others like AUR and Nix?

    I only used AUR for a few packages (<5 at a time). It’s to be avoided and only used if the other options are a massive pain (unless it’s an official package).

    Then I left Arch and eventually landed on MX. During that time Nix with home-manager has slowly replaced flatpak, and I don’t even have it installed anymore. Nix is better in every way, except for ease of use.

    Flatpak has great gui integration (for gui tools). You can click through everything, and the updates are unified. It usually works perfectly fine if you just need to install a few programs.

    With nix, there’s a lot more setup, but there are many benefits. You end up with a list of packages, and that’s really useful because you can take a fresh install, install nix and home manager, and then run a single line to reinstall everything. You can rollback updates, pin specific versions, install packages from a repo (if it has a flake.nix with outputs), and also configure them. I’m using the unstable branch, and it’s giving me bleeding edge packages on Debian. And there’s no risk of outdated system libraries, like with flatpak, because it provides everything.

    • Guenther_Amanita@feddit.de
      link
      fedilink
      arrow-up
      0
      ·
      8 months ago

      That all sounds great, thanks!
      Do you have any tips for an “easy” start, where everything is already pre-configured?

      • Shareni@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        6 months ago

        Nope, and that’s the worst part of nix. I’m actually planning on writing a short startup guide, but I need to solve a few more issues first.

        But, this should help you out until then:

        The home.nix should be automatically generated, and that’s where you put all of your packages. I left a few as an example.

        NixGL is needed to use openGL (nixGL lutris for example). It works in most cases, but I couldn’t get alacritty or kitty to work. There are some ways to have packages automatically use it, but I still haven’t tried them out.

        Flake allows you to select the correct nix repo (stable/unstable), appropriate home-manager version, and add outside packages like nixgl. It’s technically not necessary, but I wouldn’t go without it. Here I’m using the unstable repository, check the relevant docs if you want to go with releases instead.

        The equivalent of apt update && apt upgrade is nix flake update && home-manager switch --impure. I like cd-ing into the nix dotfile directory (all of the files are in there and symlinked to ~/.config/ locations), but you can also use command line arguments to point to the flake.

        nix flake update updates the package definitions to what’s in the repo

        home-manager switch install them, and also updates any configs it’s managing. The --impure is only needed if you’re using nixgl (bad build commands depend on system time).

        nix-collect-garbage to force a clean up of unused packages

        https://search.nixos.org/packages makes searching for packages a lot easier

        https://mynixos.com/search?q=home-manager+ same, but for finding options to configure packages through home-manager

        Comment if you need help

        update: removed nixGL from flake and home, installed it through nix-channel in order to not use --impure during home-manager switch

  • 𝘋𝘪𝘳𝘬@lemmy.ml
    link
    fedilink
    arrow-up
    0
    arrow-down
    1
    ·
    8 months ago

    I’ll always prefer the repositories, but Flatpak comes in handy for applications with weird dependencies where you need to compile everything needed on your own - or outdated 32 bits software.