6 ms·
I've been using NixOS on my laptop for a couple of years now and I am still embarrasingly undereducated on how to do some of even basic things. I feel I still h
by Legogris 7y ago
I've been using NixOS on my laptop for a couple of years now and I am still embarrasingly undereducated on how to do some of even basic things. I feel I still haven't fully grokked "the nix way". You will need to understand it pretty well to do even basic things like running specific versions of ruby or python with specific native libraries. I have spent a couple of hours here and there on nix pills but I think one really needs to set aside some concerted time to get into it properly. I consider myself fairly proficient with Linux in general and never had this kind of steep learning curve with other distros.
(This is a not me criticizing NixOS, just noting that they do things very differently and you really need to invest some time and effort to start being able to solve your own problems rather than relying on what's provided by others)
- ngcc_hk 7y agoYou frighten me a bit here. I looked at the article and have the ability to build a web site in a minimum locked env is great. Just try to taste it and it seemed not as he said. Wonder now.
- newnewpdro 7y agoCan't you just throw it in a container to explore and learn the ropes before pivoting your entire host?
- deleted 7y ago[deleted]
- takeda 7y agoNot sure I understand your question, but NixOS does have option to test things "nixos-rebuild test" (to test without saving it permanently, so reboot should restore it) or "nixos-rebuild build-vm" (which builds a vm image with the config)
- newnewpdro 7y agohttps://wiki.archlinux.org/index.php/Systemd-nspawn#Examples https://wiki.archlinux.org/index.php/Systemd-nspawn#Examples I don't see a Nix example there, but the NixOS github looks to have some issues already surrounding provisioning Nix for use in containers. Containers are a great way to explore a distro without messing with your host, you can at least check out their user space, filesystem layout, and package tooling. The main shortcoming is you don't get to see any kernel-specific features, since you're essentially chrooting into the other distro's rootfs. There's always VMs too...
- takeda 7y agoI haven't used NixOS outside of VirtualBox, but plan to use it for my next Linux setup. I believe the reason for build-vm is that systemd is central part of NixOS and you can't test it by starting it inside of a container (I don't think systemd even allows it). The nixos-rebuild command actually creates a path with a new configuration, so you could similarly use nspawn and go there. When you use "nixos-rebuild switch" it updates "/run/current-system" symlink to that new location.
- newnewpdro 7y agosystemd is container-aware, you should be able to directly "boot" nix containers then using tooling like systemd-nspawn, and login/manage using machinectl. It will all "just work" with systemd on both sides.
- SlowRobotAhead 7y agoI knew it wasn’t for me right away. I’ve never had to search so hard to change the link negotiate settings on a nic before. Maybe it comes more natural over time, but I’d be concerned about not remembering “the voodoo” to make things work when I came back from vacation.
- Ericson2314 7y agoWhen you come back from vacation rather than searching all of Nixpkgs for the right setting, you just read your own config, which is much smaller. Seriously, your criticism is exactly why you should use Nix.
- danieldk 7y agoIndeed. I stopped worrying about how I exactly set up a server, because it is all in the configuration.nix of that particular machine. If I want another machine with the same configuration, I just copy it, run morph deploy and it's done.
- Kaze404 7y agoI used NixOS for 6 months and dropped it for the same reasons. I absolutely love the idea of my entire system being configured through text files, and being easily reproducible, but the amount of work you have to put in to get anything working in that distribution is insane. Maybe we're just not there yet.
- atoav 7y agoPlease don't take this personally, but as somebody who programs Rust and quite likes it comments like yours remind me of people who come to Rust with the mindset of their own language, try around for a bit and say nothing works and things are hard to get done. They are right — however it just shows they didn't understand it yet. A bit like if you gave a pianist a saxophone, and after they got the first decent tone out of it they tell you: "Yeah it is nice and all, but I can't see how you can make real music on it." I think in IT we tend to forget sometimes that new things that work sufficiently different take their time to master. If you were a nix master and had to learn how to deal with traditional dependency managment you would probably also resign after a while and declare it to hairy to get things done. Note: there is a chance I completely misrepresent your experience, this isn't meant to talk about you specifically
- Legogris 7y agoI think there's a big difference between "I can't see how you can make real music on it." (didn't see anyone say something similar in this thread) versus "I'd have to practice a lot more before I can make real music like I already do on a piano". Maybe not everyone is ready to invest the required time to see the benefits, and there's nothing wrong with that.
- Kaze404 7y agoI agree. I still think NixOS is a fantastic and didn't mean to make it sound otherwise. I just don't think the time I'd need to invest to be as comfortable with it as I am with my current setup is worth it, and hope that can change in the future, either through the software itself or me getting more time to devote to it. As a side note, it's funny that you mentioned Rust. I gave up on Nix when I couldn't for the life of me to get Rust to compile one of my dependencies that needed something to be installed on the OS (it's been a while, I don't remember exactly what it was).
- karatestomp 7y agoI bounced off it two or three years ago after trying to get it running a basic GUI desktop environment by following a guide (IIRC an official one of some sort? It seemed legit, certainly) and after an hour or so of installing and faffing about was nowhere near having it working or even feeling like I might, after another hour, get there. Nothing seemed to work right or do what it was supposed to, troubleshooting was hard, and learning some new (and, at least initially, quite unpleasant) language just to configure this one package manager... ugh, no. For reference I ran Gentoo on an IBM Thinkpad as my main computer for a few years in the oughts, among a bunch of other Linux work, so I, by necessity, at least kind of know what I'm doing with desktop Linux installation and config, from a fairly low level on up. At least that knowledge has proven highly transferable and, over and over again, relevant and useful. I didn't get the impression I was learning anything from NixOS other than how to make NixOS work, and I wasn't even making much headway at that.