this post was submitted on 25 Oct 2023
124 points (92.5% liked)
Linux
46734 readers
2501 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Whenever somebody recommends NixOS, I just want to spam the comments with Guix. I prefer configs I can understand, and I think lisp makes that easier. Other than syntax, the only thing I see is people complaining about the free-oftware-only. But the recently hyped distrobox solves that (together with the nonguix repo). Yet nobody recommends guix in all these "immutable" distro threads.
In my opinion Guix is the best mix of:
Arch (rolling release),
NixOS ("immutable", atomic updates , rollback, reproducible, declarative configs)
Gentoo (source code based, write your own package definitions for any source code you find),
with some lispy syntax.
NixOS, and hopefully soon SnowflakeOS which makes it more approachable for more casual users.
https://snowflakeos.org/
Another user mentioned Guix, which I'd like to try soon to compare to NixOS.
It's hard to compete with how much there is in nixpkgs though... as much as I... a professional Haskell programmer... hate to acknowledge the realities of network effects.
NixOS has the worst documentation I've come across. It's difficult to describe just how useless it is despite its wealth. It's neither a manual, nor a reference, nor a guide, but all three jumbled in one and that goes for the package manage with its DSL, the operating system built on top of the package manager, and the tooling.
The best description I can think of the documentation of that project is "everything is everywhere". Bless their documentation team volunteers that are trying to figure out the absolute mess it is. They have my utmost respect.
So, I have only ever known Windows, but am becoming more and more Linux curious. I see all these different distros you guys talk about and I have to ask, do all the distros run any of the available software or would I have to try to try to find one that will run what I'm interested in running? If so which distro will run the available music production software? I'm sick of microshaft. Help a brother out?
Welcome to the Linux community!
There's a certain set of us Linux users who cling to the adage "for beginners, distro doesn't matter much." A lot of the differences between distros are things under the hood that you won't notice or care about. The main two things that will change your experience are the DE and the package manager.
DE = Desktop Environment. The GUI, what it looks and feels like. This is a matter of personal taste, you can find DEs that look and work more like Windows, more like MacOS, or neither. Try out a few, pick which one you want. I like Cinnamon because they tend to put things where someone who's used to Windows, but doesn't really like Windows, would look for things. Again your choice of DE is personal taste.
Package manager = app store. Think about smart phones, a major deciding factor is which app store(s) it has access to. My Samsung Galaxy has both the Google Play and Samsung Galaxy stores. If you buy a Pixel, you don't get the Samsung store. If you buy an iPhone, you're stuck with Apple's App Store. Go back to what? 2014 or so and buy a Fire Phone, you're stuck with Amazon's app store. Same thing with Linux distros.
In practice, most mainstream distros will support practically all Linux software in some way. I run Linux Mint, Mint comes with APT and Flatpak, and between the two I can find all the software I want. (Asterisk: video games, for which I have Steam). Other distros will have technically different but functionally similar package managers; on Arch you'd use Pacman, on Fedora you'd use RPM. The Steam Deck uses only Flatpak for user apps.
So go with a fairly mainstream distro that has Flatpak support either out of the box or easily installed and you'll be okay.
Thank you. That's some real, usable information. You and the others who have replied have really been great. In the past I've encountered so much elitism and dismissiveness when I have tried to wind myself up for the switch. It's nice to find some inclusive helpful folks for a change.
Glad to be of help. I hope you have a good time with Linux.
A recommendation to help you get over that "gee which of several thousand distros to pick: pick out no more than four distros that each have different DEs, and run them each in virtualbox for a little while on your Windows machine. Just look around and see which you prefer.
Will do
Search https://repology.org/ for the software you're trying to run.
If it's windows only, search for an alternative on https://alternativeto.net
If there's no alternative, check if it runs in wine https://appdb.winehq.org/
But honestly, I'd stick to the first two. I've been on linux for more than a decade now and do not miss a single application that runs on windows.
So my intuition and guesses from what I've heard is that Fedora might be the best for you.
Here are some links:
https://labs.fedoraproject.org/jam/ https://linuxmusicians.com/ https://archive.ph/hYxrO
Not sure if oudated:
https://jfearn.fedorapeople.org/fdocs/en-US/Fedora_Draft_Documentation/0.1/html/Musicians_Guide/index.html
https://fedoramagazine.org/configure-fedora-to-practise-and-compose-music/
If you want to use NixOS, the one I recommend elsewhere, I'm not sure what your experience will be whether good or bad. Probably more fiddling, but more flexible/stable in the long run.
Here is a matrix room if you are interested in asking more knowledgable people about that path:
https://app.element.io/#/room/#audio:nixos.org
Writing music and making files for my 3d printer is most of what I do with a computer anymore. What I'm not trying to do is make a separate hobby of OS trialing. I'm worried I won't be able to find drivers for my audio interface, hell I'm running it on an old Win7 driver in Win10 now. Payday is Friday, and I will be ordering a second SSD to quarantine this experiment on. For now I read and pester random folks on the Internet for opinions. I appreciate your suggestions, for sure.
I'm not as familiar with music/audio production, but I've done a lot of 3D printing from a Linux system.
For slicing, you're spoiled for choice. The only one I'm aware of that doesn't at least try to support Linux is Formlabs; Slic3r, Cura, PrusaSlicer, even Simplify3D offer Linux versions.
For modeling, Blender runs well on Linux if you're of that persuasion. For engineering CAD, pretty much the only first-class citizen is FreeCAD, which is powerful if a bit of a pain in the ass. You can also use OnShape because it's browser-based, but they're trying to be Solidworks especially in price. I have seen Fusion360 in Ubuntu's Snap store, but haven't tried to use it.
I run blender and cura, so it sounds like I'm covered there and that's encouraging.
What you need to do is install Oracle Virtual box on your pc.
Then download a Linux distribution: I'd recommend Linux Mint
Install it virtually on Virtualbox.
Then connect your audio equipment to the pc and in Virtualbox use the menu to send that device from Windows to Linux.
Look for the menu called devices or something like that. It will just the various inputs it sees eg. Usb, SCSI, aux etc and you can select that and then select the attached device. That will send the device signal to Linux.
Then see if you can see the device in Linux.
If not research whether you need a driver or a particular application. The best place to ask about drivers is from the device manufacturer. If they don't exist anymore then Google it. Eg Linux driver for [device name] or Ubuntu driver for [device name]
If you can get it to work then you're set and you can install Linux as your main OS. or just use it in the VM. If there are no drivers and it doesn't work, stay on Windows.
Just be aware it's the device manufacturer that should make the driver, whether for Windows or Linux. Sometimes the Linux community will make their own driver if the OEM doesn't. I haven't seen that happen on Windows. On Windows if the OEM doesn't make one, you either use an old one or get a new audio device 🤷
Most distros are almost exactly the same, NixOS and Guix are a bit different but if you get Ubuntu or Fedora or PopOS or something they all work fine.
That's encouraging
That's what I mean with distrobox. You decide to run distribution A. Later you realize a package(program) is not available in A but in distribution B. So you run distrobox and have B on top of A. And access to all the packages.
Interesting. Sounds like i have yet another thing to read up on.
What does snowflakeOS do differently than nix ?
Is it perhaps like endavourOS and Arch linux ?
It is the endavourOS of NixOS.
However, making NixOS more user friendly is a lot more work than simply offering a default config. Most of the work/challenge lies in the GUI NixOS configuration editor.
Maybe it's the soulless cynic in me speaking; but the obvious snow-theme around NixOS notwithstanding, 'snowflake' MIGHT NOT be the best name for a distro aimed at 'casual users'. It's as though they're saying, 'LOL! You snowflakes can't be assed to figure out how to install nixos, but still want to reap its benefits? We got you precious snowflakes LOLOLOL'
How is Guix for disk user use? As soon as I install nix (the tool, not the OS), it immediately eats up 2Gb of hd space... before installing anything. I wipe the install and then forget for a few months, rinse repeat.
Guix looks a lot cleaner to me, but I haven't tried it yet.
Maybe use btrfs, which has reduplication and compression capabilities. I never tried it in Guix but it's like magic.
In fairness, when you install the nix package manager you’re going to get a full toolchain with all necessary dependencies in addition to your system ones. On NixOS these are your system ones as well so you don’t necessarily have duplicates. The same will be true of Guix afaik.
I love Guix and want to see it get more recognition but I've never been able to get Distrobox working on Guix System, have you? I opened a discussion on the Distrobox GitHub but it was quickly closed.
This looks like a problem with the image. But I can try as soon as I am back home.
That's what I thought but I've tried five or so images without success including the more mainstream ones like Fedora.
So far I had not much time, but I tried and failed with different errors when trying to pull an image regarding policy.json. do you use docker or podman?
Intuitively, without doing a detailed comparison, I agree that Guix and lisp would make things easier.
Network effects so far has been my reason for not trying Guix sooner along with the free software only... though free software only has also simulatenously pushed me towards it :)
Distrobox, is something, I don't think I'd be too interested in. However I'm probably just annoyed at being forced to use unreproducible docker images all the time and biased against containers because of it.
I'll have to give it a try!
I love the idea of guix, the syntax and docs seem much nicer, but the most important feature of NixOS for me is reproducability. If i'm installing all my software in distrobox, it is no longer reproducoble. Guix also seems to lack an alternative to Flakes.
Reproducibility is a big topic for Guix developers and users as well, just have a look at how many times they talk about that: https://hpc.guix.info/blog/2022/07/is-reproducibility-practical/
Also correct me if I'm wrong but I think Guix goes further on reproducibility than Nix, because everything they package is from source, whereas my understanding is that a lot of Nix packages are built from binaries.
Guix does have great reproducability. The person I was replying to was recommending people use distrobox for software that isn't packaged, I was saying that isn't reproducible.
The very large majority of nixpkgs is built from source, but there are a few apps that can't be built for whatever reason. This is still reproducible because it fetches a tagged version of the software and checks it against a hash.
Yes, that's true. You lose reproducibility by using distrobox. But so far I did not need distrobox on my Guix laptop, the nonguix repo was enough. It was just a suggestion for somebody caring more about availability of packages than reproducibility to use Guix as the stable base and distrobox on top.