• fubo@lemmy.world
    link
    fedilink
    arrow-up
    22
    ·
    edit-2
    1 year ago

    Really anything free and Debian-based. I’ve been happy with Pop! for a while but previously used Mint satisfactorily.

    Still irritated that Ubuntu has turned into Red Hat and Red Hat has turned into Oracle — in terms of how they relate to their users, that is.

      • lily33@lemm.ee
        link
        fedilink
        arrow-up
        14
        ·
        1 year ago

        It’s a somewhat immutable distro, that is however fully configurable.

        1. The configuration is all in one place. No more changing a bunch of files in /etc, some in /lib, etc, and having to remember all files you’ve changed.
        2. You can easily recreate your system from your configuration or boot to older configuration.
        3. You can easily open shells with different programs available. Very useful for development, when you need a reproducible environment with the project’s specific dependencies.
        4. Very hard to learn, but if you have learned it well, a lot of things become easier than in other distros.
        • baduhai@sopuli.xyz
          link
          fedilink
          arrow-up
          2
          arrow-down
          5
          ·
          1 year ago

          It’s a somewhat immutable distro

          NixOS is an immutable distro. Immutability is binary, it either is, or it isn’t.

          • lily33@lemm.ee
            link
            fedilink
            arrow-up
            3
            ·
            1 year ago

            /nix/store is immutable. But there are some files in other places like /etc and /var that are mutable. Also I (or a malicious executable) could, in theory, delete store symlinks and replace them with mutable files. Impermanence helps, but you’ll still want some mutable state.

            Fully immutable systems have everything outside of /home read-only. NixOS is not one of them.

            • baduhai@sopuli.xyz
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              I see.

              I don’t really get the malicious software point though. All immutable distros have a mechanism for changing, after all they need to be updated. If a malicious executable has root access, which is what you need to change symlinks on NixOS (I know services often get their own user, but unless modified, only root has access to those users), then these malicious executables could also leverage whatever mechanism for change other immutable distros have, to do malicious things, no?

              Though I do agree with you, now, that NixOS isn’t immutable.

              • lily33@lemm.ee
                link
                fedilink
                arrow-up
                1
                ·
                1 year ago

                There are ways to secure the update process. For example, you can enable secure boot and store your secure boot keys encrypted (or on a smart card). Then (if a full chain of trust is implemented) to update your system, you’d need to enter the private key password (or insert the smart card), and a root-access executable couldn’t to that automatically.

                • baduhai@sopuli.xyz
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  1 year ago

                  Yeah, but do other distros do this though? Not that I’m aware.

                  And surely the same could be done to NixOS, no?

      • metasyntactic@infosec.pub
        link
        fedilink
        arrow-up
        9
        ·
        1 year ago

        The control and deterministic nature of it is amazing. I have a git repo for all of my machines entire config. I have no fear that installing something will break or make things that would require blowing away and reinstalling. Also blowing away and reinstalling is no big deal, as is building new boxes. It has a high bar for learning to use it effectively, but the view is worth climbing the mountain.

        • jecxjo@midwest.social
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          How configurable is the build process for individual applications? I run Gentoo, have all my config files stored in a git repo which includes the defaults supplied to any application’d configure/make/make install steps.

          • lily33@lemm.ee
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            You could apply patches or change the build process. But there are some limitations to ensure reproducible builds. For example, compiler optimizations that break reproducibility are disabled.

            I think you could disable build reproducibility to get rid of those limitations, but I haven’t tried it.

            • jecxjo@midwest.social
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 year ago

              The way I run Gentoo would be the type of thing to break reproducibility, getting rid of features globally that I never need. I keep getting the itch to run NixOS but then I remember rebuilding my Gentoo build from scratch is a weekend task I don’t have time for as I’m too frugal to actually upgrade my hardware.

              • lily33@lemm.ee
                link
                fedilink
                arrow-up
                1
                ·
                1 year ago

                While technically possible, you wouldn’t want to compile everything locally on NixOS. Only packages that you’ve made changes to (such as applied a patch) will be built locally, and everything else (by default) will be pulled from the precomputed binary cache.

                You can disable the binary cache, or make changes to every package. The thing is, if you update a nix package, you’ll have to rebuild everything that depends on it, and with lower-level components, that can be literally everything. It’s not a sustainable workflow.

                NixOS is not the most efficient distro either. I already mentioned some compiler optimizations are disabled by default, because they break build reproducibility. It also tends to use more disk space than other distros. So actually trying to super-optimize every package on it is somewhat pointless.

      • I use NixOS btw @lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago
        1. My config is in a single github repo for all of my machines and my user.

        2. It’s really tightly integrated and just works with the nix package manager, which has a huge repo and builds packages reproducibly, so theoretically what would work on my machine would also work on yours. Also, with nix you can run software without installing it, you can have multiple versions of the same library, and there are way more benefits just from this package manager that I can’t list here.

        3. You can iteratively test your config, apply it on a live system and roll it back. You can also use git to roll back to an older version while keeping the actual source files.

        4. There’s no dependency hell / leftover packages after uninstalling something - what you declare in your config is what is installed, and if an app has unspecified dependencies it won’t build. I guess this would also be a part of #2

        And there are probably other benefits I can’t remember.

  • Xylight (Photon dev)@lemmy.xylight.dev
    link
    fedilink
    English
    arrow-up
    13
    ·
    1 year ago

    NixOS! Definitely not for beginners, and also definitely not for people who are used to the arch way and want something similar.

    It’s a declarative OS, versus most Linux distros which are imperative:

    • Declarative: You define exactly what is what, such as what packages should be on your system, your configs, etc.
    • imperative: you modify those stuff yourself after initialization (installing).

    So, instead of having to install KDE and change my display manager to use it, I just add this line to my configuration file:

    services.xserver.plasma5.enable = true;
    

    If something wrong happens, I just change the config file to its old version. I can also share this config, and then the other person can run nixos-rebuild to get my exact system configuration.

    • Rain@lemmy.zip
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Absolutely agree, it’s a very steep learning curve but once it clicks it’s hard to go back to the old. It’s good on the desktop but I started running it on my server recently and I can’t stress how nice it is to just see everything in one place, especially with nix flakes. It’s been difficult with some stuff like running firefish (formerly calckey) but it’s hard to come by services that don’t have good support

    • AngryDemonoid@lemmy.lylapol.com
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      I really want to give NixOS a try when I have some time to learn. I’ve been on Arch for a couple years now, and I’m ready for a change. Lol.

      Any places you recommend going to learn how to get started in addition to the official docs?

  • Arch Linux is my #1, its package manager is extremely fast. Gentoo would be my #2 because the USE flags are just awesome to customize each package (basically an automated and centralized way of doing what used to be done using ./configure --enable-[...] a long time ago). Both distos’ documentations are freaking good and the best there is on the internet right now.

  • jecxjo@midwest.social
    link
    fedilink
    English
    arrow-up
    11
    ·
    1 year ago

    I’ve been a Gentoo user since it first came out. I always liked the idea of buildings my entire system around my actual use case. For example I didn’t own a printer so it made absolutely no sense why I’d ever install CUPS and have that service running. If you install a Debian, Ubuntu or Fedora based distro installing Firefox required CUPS. WTF?!? How does wanting to browse the Internet require printer services installed?

    Turns out there is a lot of unnecessary apps installed on your system because all the binary distro aim for maximum support. I am not generic so why install for a generic user?

    • frankivo@feddit.nl
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      Why compile while I can let someone else do it for me? (Just to see it from the other side :))

      • jecxjo@midwest.social
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        1 year ago

        Who compiles the binary in the configuration I want? What distro extract all the options out and allows me to install X11 apps without CUPS or alsa or dbus or anything else my system doesn’t actually need? The point of Gentoo is to set a single config file to say “whenever you do a ./configure make sure you disable X features, enable Y features, and uses my specific compiler tunings to target a specific use case or build.”

        For example I never default building apps with guis. I’d rather be able to SSH in and use everything that way if possible. I then select the very few applications that actually get their GUI interface or configuration tools built. Can’t do that on binary distro.

        • frankivo@feddit.nl
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Nobody obviously. The closest you would get it probably Arch, with a lot of optional dependencies. And you are not wrong at all, if gentoo works for you. I just wonder if that all that compiletime is ever won back.

          • jecxjo@midwest.social
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 year ago

            Yeah I ran Arch for a little while and it was ok. Felt like it was in-between a binary and a complete source based system but lacked the configurability that makes source base work.

            As for getting time back, I setup my system to build stuff at night for upgrades, most apps took a few minutes to build as it’s rare for me to not already have the vast majority of libraries already on my machine. The only things that took a long time was browsers and LibreOffice. Both of which I built when I was sleeping.

            Additionally I ran lxc on my system for situations where I had to have something now. Spin up a Debian build and install it. In the background I’d still build a Gentoo clean version and dump the Debian image once it was done.

    • Cyclohexane@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      I love gentoo, but for different reasons:

      • incredible flexibility in package versions. I can install multiple versions of a package, or install an old version of a package without incompatibility issues
      • can mix between rolling release (arch-like) and fixed / stable releases (fedora-like) on the individual package level
      • can very easily create packages not in the repos and treat them as first class
      • super easy to add and manage patches
      • global management of compile flags and options
      • packages in portage are not only programs. You can let portage manage other things, such as users or configurations
      • support for less common architectures or setups, like using musl, arm, clang, etc.
      • SeramisV@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Very true, what OP said barely matters nowadays but the features you listed definitely give Gentoo an edge over most other distros.

        Also, we gotta shout out the sheer stability of gentoo and honestly having to compile system packages isnt that bad if you use flatpak.

  • Carter@feddit.uk
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 year ago

    The only one I’ve ever really stuck with is Arch. I tried Pop_OS for a while but it wasn’t for me.

    My home server runs Debian purelynfor stability but it’s a lot more work to get setup than Arch is.

  • southsamurai@sh.itjust.works
    link
    fedilink
    arrow-up
    9
    ·
    1 year ago

    Mint, with cinnamon.

    It works for me, on everything I have, with zero issues. The only thing that annoys me is I can’t get waydroid working right so far.

    • Diplomjodler@feddit.de
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Greetings, fellow Mint peasant. We may not be as cool as the Arch bros, but our stuff just works. I use Mint because I don’t want to spend my time fiddling about with my OS. It does what it’s supposed to do and doesn’t get in the way. One day when I i was bored I did an Arch install in a VM just for fun. But getting that to an actual working state is a lot of hassle. For my daily driver I’ll stick with Mint.

  • Cyclohexane@lemmy.ml
    link
    fedilink
    arrow-up
    9
    ·
    1 year ago

    I love gentoo, and here’s why:

    • incredible flexibility in package versions. I can install multiple versions of a package, or install an old version of a package without incompatibility issues
    • can mix between rolling release (arch-like) and fixed / stable releases (fedora-like) on the individual package level
    • can very easily create packages not in the repos and treat them as first class
    • super easy to add and manage patches
    • global management of compile flags and options
    • packages in portage are not only programs. You can let portage manage other things, such as users or configurations
    • support for less common architectures or setups, like using musl, arm, clang, etc.
    • OwenEverbinde@lemmy.myserv.one
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      I wanted to try Gentoo for a while. But I could never find a bootable ISO for it. And that’s basically the only way I know how to install a distro.

        • OwenEverbinde@lemmy.myserv.one
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Yes. Installation. With all the other Linux distributions I have installed, there is a bootable CD with an installer of some kind.

          • Slackware
          • Debian
          • Ubuntu
          • Mint
          • Arch (though the install process with that one is admittedly more complicated. Also, because I have a very hard time grasping what the use cases are for anything outside of a “default” Linux system, it felt like I was using a very expensive arc furnace to toast myself a sandwich.)
          • Manjaro
          • OpenSUSE
          • MX Linux (my current favorite)

          Actually, come to think of it, my problem with Arch is also my problem with Gentoo: I don’t know what the use cases are.

          In fact basically, I like Linux, but I also don’t know what Linux is for. I use it for Web browsing, occasional attempts at writing code (I’m bad at that. I have no idea what the proper process is for finding code that already does the things I want done, and I’m pretty sure that’s 90% of programming), I use it for taking markdown notes and mind mapping. And that’s honestly about it.

          I could do all of that with Windows, technically speaking. It would just clutter my system, and I would not get to choose my own desktop environment. And I wouldn’t have access to the Debian repositories. And where it’s effortless reinstalling Debian based systems, Windows installation can be a pain.

          So the way I use it, Linux is just a sleeker, more lightweight, more visually customizable Windows that I can run on older hardware and fill to the brim with random software packages acquired through Debian’s humongous library of verified programs without worrying about messing up my OS because ultimately, I can easily reinstall the whole system in a matter of 40 minutes.

          To someone who uses a computer the way I do, it almost can’t be anything more than that.

          I’m pretty sure that’s the real reason I don’t use Gentoo.

          • Cyclohexane@lemmy.ml
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            Gentoo’s install process is manual by design. If you don’t like the install process, then gentoo may not be for you, because want to use those skills while you use it day to day too.

            There is bootable ISO installation media. One that is TTY-based, like Arch’s, and there’s one they added a couple years ago that has GUI based with KDE. You’ll still have to follow the hand book while you install, so it’s still manual. But if you wanted a graphical experience in the bootable ISO then that’s the one.

  • MrMonkey@lemm.ee
    link
    fedilink
    arrow-up
    9
    ·
    1 year ago

    Debian. It’s FOSS.

    I can have a 100% FOSS system. Everything else includes non-free stuff by default.

  • NormalC@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    1 year ago

    POP!_OS:

    • Constant maintnence by System76 (under a solid Ubuntu base)
    • Ships latest Mesa, firmware, and Linux kernel only a week or so after latest stable
    • flathub built in and the Pop shop is more stable and useful than gnome-software (but nowhere close to Linux Mint unfortunately)
    • The COSMIC desktop is really pleasant to use and GNOME 42 still rocks! System76 also have a plan for wayland mapped out with cosmic-epoch (Mint devs far behind on this one)

    GNU Guix:

    • A transactional package manager that can be installed ontop of POP!_OS.
    • Hacking on Guix allows me to get the latest packages of things I’m interested in without compromising my base system. Why distro hop when you can use Guix?

    Flatpak/Flathub:

    • Get latest stable versions of user applications.
    • It’s flathub, what more is there to say?

    POP!_OS + GNU Guix + Flathub = the most complete GNU/Linux one can get.

    • Lupec@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Interesting setup, I can definitely see myself giving that a go as a nice middle ground between traditional distros and full-on NixOS/Guix.