linux

This magazine is from a federated server and may be incomplete. Browse more on the original instance.

lupec, in What are your thoughts on a possible NixOS without systemd?

My understanding as a NixOS user is a lot of its fundamentals are very strongly coupled to systemd. It’s responsible for things like running system activation scripts and managing any services it exposes options to, so replacing it sounds like a tall order.

I’m not aware of any Nix-based alternatives, but I’d definitely welcome them! Oh and also, as others have pointed out, Guix might fit the bill depending on your needs.

BlanK0,

Thx, I will check out Guix. Seems a very interesting distro 🔥

lupec,

It really does, I need to check it out sometime!

nobleshift, in Breaking Windows to let the penguin in...
@nobleshift@lemmy.world avatar

deleted_by_author

  • Loading...
  • Quazatron,
    @Quazatron@lemmy.world avatar

    Exactly. Boring stability is good.

    neidu2, (edited )

    What this guy/gal said. Linux user for 25 years here, 10ish of which have been exclusive. And I run Mint on my main PC.

    Because when I can finally wind down after the kids are in bed and I can hear myself think, I just want shit that works, without having to dick around with manual kernel modules and other custom stuff to get basic things working … I get paid to do the latter at work, and I get enough of it there.

    Vilian, in What are your thoughts on a possible NixOS without systemd?

    the init is just a binary, the others systemd features are different programs from different binary, and you are not forced to use them, you can use only the init and don’t use the others, it’s not gonna affect security, systemd init is the most tested one

    and you can’t, a lot of technology that make NixOS and others immutable distros works exists only because of systemd

    and if others init system worked as well, the entire of the linux community would not have changed voluntarily nor indenpendently to it

    What do you think of some day seeing a fork of nixOS that uses other init systems and works well? Or is it just me that likes this idea?

    doubt, is too much work just to make a systemd alternative, without the reliability and support that systemd have, but i think it could be a fun hack

    gnuplusmatt, in GNOME Network Displays Adds Support For Chromecast & Miracast MICE Protocols

    Now it just needs PIN support

    absGeekNZ, in Breaking Windows to let the penguin in...
    @absGeekNZ@lemmy.nz avatar

    I have been using various distros since 2008; I use Mint as my daily driver.

    Stability is the biggest factor for me, I want a OS to get out of my way and let me get on with what I’m doing.

    thinman, in What are some must have Linux compatible VSTs?
    @thinman@lemmy.ml avatar

    AudioThing makes a bunch of cool, unique things. www.audiothing.net

    Lojcs, in Does Nix's break from FHS cause problems?

    Why doesn’t nix use fhs again?

    priapus,

    A lot of features of the Nix package manager, such as having multiple versions of a package installed, don’t work with FHS.

    OmnipotentEntity,
    @OmnipotentEntity@beehaw.org avatar

    Because the nix package manager places all system packages under /nix/store/uniquehash-packagename-version/

    Where the unique hash is obtained via a Merkel tree of all the inputs. So in particular, binaries and libraries exist underneath those directories, not in the places you would expect from FHS.

    In order to make the system actually work, environment variables are set up and executables are patched to refer to specific paths within the Nix Store.

    fl42v,

    So that it’s possible for different versions of software/libs to coexist on the same system

    madmaurice,
    @madmaurice@discuss.tchncs.de avatar

    Nix installs derivations into separate folders. A derivation can be a package, but can also be other things like configuration files, scripts or sources for packages. Nix doesn’t distinguish between these derivations by a name but rather by a hash created from their build instructions.

    For example two instances of the same package with a different version are two different derivations and thus nix can have both package versions installed without them interfering with each other. But this goes beyond just a package version. It is e.g. possible to have the same package with the same version but different patches applied, or relying on different versions of dependencies. Since their build instructions differ both can be installed simultaneously.

    This approach grants a variety of advantages. For example upgrading your NixOS system just installs new derivations of packages and configuration files that have changed, while keeping previous derivations until they’re garbage collected at a later time. This allows you to switch freely between both iterations of your system, for example if an update causes issues you can just revert back to before an update easily. Another advantage is that an unprivileged user can install packages they need without interfering with the rest of the system, for example an older python version or a newer one, or some software they want but the system does not provide.

    The price of having this kind of isolation between packages is that nixos cannot install binaries and libraries into common locations. Effectively /usr/bin only contains the env binary. If you’re familiar with shell scripting you might have run into lines such as #!/usr/bin/env bash. This env util will essentially search bash in your PATH variable and start it. Lines like #!/bin/bash however will not work, because there’s no bash installed in that location.

    Another case where a missing fhs is a problem is when using pre-compiled binaries. In contrast to binaries built through nix, which have their required libraries hardcoded as absolute paths, pre-compiled binaries you download usually only contain the name of the library they need, which works in a conventional fhs environment, because these libraries tend to be found in /libor /usr/lib. On NixOS neither of those are present. There two solutions to this. Either you create an fhs environment by listing the set of derivations to be symlinked into a chroot environment which mimics an FHS. Or you can install github.com/Mic92/nix-ld which automatically finds the required libraries the nix way if you start such a binary. There’s also steam-run which installs an fhs with most of the dependencies necessary to start Linux games from Steam.

    Lojcs,

    Either you create an fhs environment by listing the set of derivations to be symlinked into a chroot environment which mimics an FHS.

    Why isn’t this done on the actual system and by default? That would make it fhs compliant, no?

    palebluethought,

    If your system uses 3 different Pythons as dependencies of different packages, which one gets to be /usr/bin/python?

    Lojcs,

    The most recent one by default unless another is manually chosen. The nix packages can keep using their specific versions directly

    palebluethought, (edited )

    Now you’ll have a zillion users trying to install software in ways that violate all the assumptions that NixOS operates on, but which are still tightly coupled to your NixOS config. Now updates to your system, or even seemingly unrelated config changes (through some transitive dependency chain) can easily break that software.

    So now we’ve basically removed half the advantages that motivate Nix/OS in the first place, and when stuff breaks it will look like it’s Nix’s fault, even if it isn’t.

    On the other hand, nixpkgs is already the most comprehensive repository of system software out there, and for 99% of packages Nixifying it is pretty trivial. Hell, my NixOS config does that for 3 different GitHub repos right inline in my config.nix

    hallettj,
    @hallettj@beehaw.org avatar

    If you put an FHS on the actual system you wouldn’t be able to install multiple versions of the same package, updates wouldn’t be atomic - you wouldn’t get the big selling points of Nix.

    DaveedMee, in What are some must have Linux compatible VSTs?
    @DaveedMee@beehaw.org avatar

    FL Studio works fine in Linux if u install it thru Wine

    null,

    I tried it and it worked fine, but didn’t try to install any 3rd party plugins. Do they work too?

    Been thinking about setting it up again if so.

    JoMiran,
    @JoMiran@lemmy.ml avatar

    I use Bitwig Studio as my Linux native DAW.

    Azzk1kr,
    @Azzk1kr@feddit.nl avatar

    I’m no musician or whatever, more a hobbyist regarding that. I’ve used lmms to compose some tunes. Is Bitwig somewhat comparable?

    JoMiran,
    @JoMiran@lemmy.ml avatar

    Bitwig was created by some of the people that built Abelton Live. Bitwig is considered by many to be the best of them all and easier to pick up by beginners. I plan to try it on Linux before I decide if I make the jump from Abelton.

    Chickerino, in What are some must have Linux compatible VSTs?

    do plugins that run on wine count?

    JoMiran, (edited )
    @JoMiran@lemmy.ml avatar

    They do, but I think that I am going to try to keep my Linux system with only native plugins.

    chaorace, in Does Nix's break from FHS cause problems?
    @chaorace@lemmy.sdf.org avatar

    You may be interested in reading this post about the process of packaging Steam.

    tl;dr: It’s mostly an annoyance reserved for packagers to deal with. Dynamically linked executables can be patched in a fairly universal fashion to work without FHS, so that’s the go-to approach. If the executable is statically linked, the package may have to ship a source patch instead. If the executable is statically linked & close-source, the packagers are forced to resort to simulating an FHS environment via chroot.

    matcha_addict,

    So that means packaging software for nix is a pain, compared to, say, gentoo or arch’s AUR, but only for a small subset of packages.

    I’ll keep this in mind as I’m exploring if I should switch from Gentoo.

    hackeryarn,

    I would say it’s actually easier in many cases. Nix has really fantastic packaging tooling. You do have to learn a bit of the nix language, however (not become an expert).

    The issue comes when trying to build from source. In most other distros, ou just follow the readme. In nix, you have to package it.

    matcha_addict,

    If I am packaging software for gentoo, all I have to do is translate the build instructions from the project’s documentation to gentoo’s package recipe. In nix, it seems that it is not that simple and you’ll have to do some exploration. Am I wrong?

    pastermil,

    It’s just that most (if not all) build system in the source code package would assume some level of FHS compliance.

    For example, they would install:

    • executables under /bin /usr/bin
    • libraries under /lib or /usr/lib
    • sysconfigs under /etc
    • manpages under /usr/share/man
    • and so on…

    These build systems would include options to change these, but you’d then have to change all these values to adapt to nix structure. While it’s all been done by the nix package maintainers, you’d have to do all that if you’re to come up with a new package.

    In the FHS compliant distros, the maintainers wouldn’t need to change anything since these values are already set to the values they want (there are actually minor details they’d change, but that’s another topic).

    Atemu,
    @Atemu@lemmy.ml avatar

    If I am packaging software for gentoo, all I have to do is translate the build instructions from the project’s documentation to gentoo’s package recipe.

    It’s the same for Nixpkgs.

    In nix, it seems that it is not that simple and you’ll have to do some exploration. Am I wrong?

    In well behaved build systems, it’s likely easier to package than most other distros. If it’s not as well behaved you will have to do some “exploration” and the complexity can get quite out of control if the build system is exceptionally terrible.

    Here is the package for the GNU hello program which uses a well-behaved build system:

    github.com/NixOS/nixpkgs/blob/…/package.nix

    If you ignore the optional passthru.tests, this is very simple. You provide metadata, sources etc. to the generic mkDerivation function and that’s it. The most complex non-standard thing this derivation does is enable the build system’s tests.

    You don’t even need to run the provided build instructions because Nixpkgs’ stdenv abstracts those away. If it finds a makefile, it’ll automatically run make and make install with the correct flags for instance. Same for other standard build systems; if you pass cmake into nativeBuildInputs, it’ll attempt to build, install, check etc. using cmake’s standardised interfaces.

    If the build system is poorly behaved however (like for instance Anki’s), you will have to get into the weeds and do some rather advanced things:

    github.com/NixOS/nixpkgs/blob/…/default.nix

    Luckily though, most packages aren’t like this.

    matcha_addict,

    Thank you for the thorough comment!

    Kultronx, in What are some must have Linux compatible VSTs?
    @Kultronx@lemmygrad.ml avatar

    unrelated but does Ableton work with Linux yet? I did a quick search and someone says it works “flawlessly” but the comments indicate this is not true.

    heygooberman, in Breaking Windows to let the penguin in...
    @heygooberman@lemmy.today avatar

    Welcome, friend! Glad you decided to try out and stick with Mint. That’s the distro I used as my daily driver for at least 1.5 years. When you have a chance, do try out some of the other Linux distros, especially Arch!

    cakeistheanswer,
    @cakeistheanswer@lemmy.dbzer0.com avatar

    +1 here for the arch recommendation as an ex ms sys op. Browsing their repos was outstanding for retooling, most of the config problems you hit are a great way into the ecosystem.

    avidamoeba, (edited ) in When do I actually need a firewall?
    @avidamoeba@lemmy.ca avatar

    Always, as others have said.

    priapus, in Does Nix's break from FHS cause problems?

    Most apps work fine, apps that don’t get put in a FHS sandbox.

    Chewy7324,

    What do you use for a FHS sandbox?

    distrobox and steam-run worked for me at times.

    priapus,

    Those two and nix-alien.

    BlanK0, in Breaking Windows to let the penguin in...

    Welcome aboard! 🐧

    If you decide later to test other distros I would highly recommend using a virtual machine in virtualbox. Saves the hassle when it comes to testing distros 👍

    possiblylinux127,

    Or if he is only Linux he could just use KVM.

    BlanK0,

    KVM is indeed a much better hypervisor, but it does require some setup with the terminal.

    Since he is a beginner I decided to recommend virtualbox since it just works after installing. But if he doesn’t mind setting up things via terminal then KVM is definitely the way.

    possiblylinux127,

    It requires zero terminal knowledge. You just install virtual manager and reboot

    d3Xt3r, (edited )

    @agr8lemon The other person mentioned virt-manager, but there’s a much more easier app: Gnome Boxes. It uses the same backend (libvirt/KVM) but it’s much more easier to use - in fact, I’d say that it’s even more easier to use than VirtualBox. For starters, Boxes automatically detects OS ISOs on your drive and allows you to just click on them directly to install it - or you can even choose to download and install a distro directly from within Boxes. Also, when you consider the post-setup phase: there’s no need to install any guest modules/drivers because it’s already built-into Linux distros.

    makeuseof.com/…/gnome-boxes-easy-way-set-virtual-…

    agr8lemon,

    Great tip! I’m going to install it today

    Zoidberg,

    I’ve worked extensively with both virtualbox and kvm/qemu. While I prefer kvm since it’s open source, I could never reproduce the video performance of virtualbox. I’m not even trying to game, just use regular applications that I cannot run under Linux.

    I wonder if I’m missing something.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #