• AVincentInSpace@pawb.social
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        5 months ago

        I recently tried switching from Arch to NixOS and the experience I had can best be described as apalling. I have not had a new user experience this bad since my first dip into Ubuntu dependency hell back in 2016. I’d like to preface this by saying I’ve been a Linux user in one form or another for almost half my life at this point, and in that time this may well be the most I’ve struggled to get things to work.

        Apparently they have this thing called home-manager which looks pretty cool. I’d like to give that a shot. Apparently I have to enable a new Nix channel before I can install it. I’m guessing that’s the equivalent of a PPA? Well, alright. nix-channel --add ..., nix-channel --update (oh, so it waits until now to tell me I typo’d the URL. Alright), and now to run the installation command and… couldn’t find home-manager? Huh?? I just installed it. I google the error message and apparently you have to reboot after adding a new nix-channel and doing nix-channel --update before it will actually take effect, and the home-manager guide didn’t tell me that. Ah well, at least it works now.

        I didn’t want to wait for KDE and its 6 morbillion dependencies to download, so I opted for Weston. It wasn’t a thing in configuration.nix (programs.weston.enable=true; threw an error and there was no page for it on the NixOS wiki), but it was available in nix-env (side note: why does nix-env -i take upwards of 30 seconds just to locate a package?), so I installed it, tried to run it, and promptly got an inscrutable “Permission denied” error with one Google result that had gone unresolved. Oh well, that’s alright, I guess that’s not supported just yet – I’ll install Sway instead. Great, now I have a GUI and all I need is a browser. nix-env -i firefox gave me the firefox-beta binary which displayed the crash reporter before even opening a browser window. Okay, note to self: always use configuration.nix. One programs.firefox.enable=true; and one nixos-rebuild switch later, I’m off to the races. Browser is up and running. Success! Now I’d like to install a Rust development environment so I can get back to work. According to NixOS wiki, I can copy paste this incantation into a shell.nix file and have rustup in there. Cool. After resolving a few minor hangups regarding compiler version, manually telling rustc where the linker is, and telling nix-shell that I also need cmake (which was thankfully pretty easy), I’m met with a “missing pkg-config file for openssl” error that I have absolutely no idea how to begin to resolve.

        I’m trying to stick with it, I really am – I love the idea that I can just copy my entire configuration to a brand new install by copying one file and the contents of my home directory and have it be effectively the same machine – but I’m really struggling here. Surely people wouldn’t rave about NixOS as much as they do if it was really this bad? What am I doing wrong?

        Also unrelated but am I correct in assuming that I cannot install KDE without also installing the X server?

        • krzyz@szmer.info
          link
          fedilink
          arrow-up
          1
          ·
          5 months ago

          I made a similar switch half a year ago and thankfully for me it was relatively painless. Some stuff got significantly harder to set up (e.g. getting a nice rust development environment, getting ROCm to work with some torch-based project), but once all that is done I have complete or near-complete setup instructions on how to do it again, so I am hoping the trade-off here will be worth it in the future (or I will drop nixos and move to something else if I get bored, time will tell).

          For the beginners, I recommend to go with the flakes setup right from the start, here is a nice guide that you can use as a reference: https://nixos-and-flakes.thiscute.world. I followed it through for the initial setup and I don’t remember having to think about channels, at least initially: I picked the most recent stable one right at the start and only updated it to another - the unstable one - later on when I wanted to get some fresh kernel version. The upgrade was pretty painless, as the channel is just the root input of the flake: change that one line, nixos-rebuild switch and it’s done. With flakes I occasionally run nix flake update (+ rebuild) to get newer versions of packages (as the flake will be locked to the state of the channel at the time you install/update). If anything (well, most) of the things go wrong, just go back to the previous build while you figure out what’s causing issues (much better than the Arch experience of something going wrong after the update - better read Arch news regularly 🙃).

          Besides updating my configuration to add/remove packages and doing the same for development environments (btw, for getting compile time dependencies into nix-shell, you need to add them to buildInputs of the shell: https://nixos.wiki/wiki/FAQ/I_installed_a_library_but_my_compiler_is_not_finding_it._Why%3F ), I only ever use nix profile install nixpkgs#<package> if I want to just run some app without adding it permanently. After these 6 months of use, I have found out I am getting much less software/package cruft building up in my system. If I stop using something (especially a big think like a DE), I can just remove it from the configuration, rebuild and that’s it. With Arch, I probably even forgot about half of the things I installed there over the years.

      • JackbyDev@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        5 months ago

        Also, Arch is sort of bullshit. For everyone that insists the Arch wiki is the pinnacle of truth, I followed it to the letter and couldn’t get some stuff working. To be fair this was maybe 8 or 9 years ago, but the wiki wasn’t as magical as people acted like. So like… Why bother? Oh boy, I’m gonna save a bit of space because I’m not installing a desktop environment? Who cares! It’s such over kill for the average user and you’re not really getting much in return. It’s sort of like buying a project car to work on. It should be viewed more as a hobby for folks super interested in creating the perfect setup for themselves.

        • lastweakness@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          5 months ago

          It’s not just the Arch wiki. It’s the overall DIY approach, the AUR and a lot of other factors. Some also just like the fact that it’s built by a community and not a company.

        • pathief@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          5 months ago

          The great thing about Linux is that there are options for everyone.

          Want an OS with a full desktop installed? We got you.

          Want an OS with almost nothing installed where you can make every single decision? We got you.

          Want to build the OS entirely from scratch? We got you.

          There’s an option for everyone and that’s cool. Don’t be mad about having a choice.

  • Meron35@lemmy.world
    link
    fedilink
    arrow-up
    31
    ·
    5 months ago

    You use Linux because of your superiority complex and need to be seen as cool.

    I use Linux because I’m broke.

    We are not the same.

    • linearchaos@lemmy.world
      link
      fedilink
      English
      arrow-up
      15
      arrow-down
      1
      ·
      5 months ago

      I use Linux because I don’t trust windows, I don’t like the direction Microsoft is headed, and I’m bored.

      We’re not the same either, but that’s ok. We can still all have each other’s backs.

  • kibiz0r@midwest.social
    link
    fedilink
    English
    arrow-up
    20
    ·
    5 months ago

    I use Linux because Hackintosh is a dying platform and it only takes about 800 hours to get it almost as good.

    • criticon@lemmy.ca
      link
      fedilink
      arrow-up
      7
      ·
      5 months ago

      This brought me memories. In college I had a Dell Mini with Intel atom 1st get. It was useless to run engineering apps like matlab or solidworks

      I installed OSx86 and those apps ran a lot better using parallels than running natively on Windows, I was even able to play some games on it

  • Christer Enfors@lemm.ee
    link
    fedilink
    English
    arrow-up
    19
    ·
    5 months ago

    My one thing I feel like I can brag about in tech circles is that I switched to Linux in 1995 (Linux kernel version 1.2.1), and I haven’t looked back since. This was even before Windows 95 was released.

  • glitchdx@lemmy.world
    link
    fedilink
    arrow-up
    18
    ·
    5 months ago

    You’re absolutely right. Microsoft has systematically killed every reason I have for having their software on my pc. I’m not switching to linux because linux got better (although it certainly has). I’m ditching windows because windows now sucks more than I can bare.

    • milicent_bystandr@lemm.ee
      link
      fedilink
      arrow-up
      2
      arrow-down
      2
      ·
      5 months ago

      I listen to band’s music because I like their music.

      You listen to band because you hate music.

      We are not the same?