Live data from Hacker News

NixOS and the Art of OS Configuration (2018)

rousette.org.uk

51–60 of 123 posts

Re: NixOS and the Art of OS Configuration (2018)

#51
post #50

Love to see more adoption of Nix and NixOS. I started my Nix journey a little over a year ago, and I regret not having switched sooner. A package-manager that also ships an operating system that can be customized from the bootloader up, using a purely functional programming language is the perfect configuration management tool! It does have some rough edges, and I did lose some hair figuring things out early on, but…

I switched to NixOS half a year ago. The reason? I fell in love with literate programming (I use [1]); being able to write (and read) your whole OS configuration is the dream! There are few bad sides to NixOS though. The community consists mostly of programmers, which means I am missing some creative tools (mockups, mindmaps, ..). In the future I will be able to provide/build them myself, but it is not a smooth trans…

Cool.

I just played around with R the other day and it would use MD too to generate HTML/PDF.

It uses Knitr.

https://kbroman.org/knitr_knutshell/pages/Rmarkdown.html

Re: NixOS and the Art of OS Configuration (2018)

#52

Love to see more adoption of Nix and NixOS. I started my Nix journey a little over a year ago, and I regret not having switched sooner. A package-manager that also ships an operating system that can be customized from the bootloader up, using a purely functional programming language is the perfect configuration management tool! It does have some rough edges, and I did lose some hair figuring things out early on, but…

> Love to see more adoption of Nix and NixOS. I don't want a 'journey' to use my OS. I don't want to learn a whole new language and set of overengineered abstractions to solve what I see as, at most, 5% more of application installation problems that are already 75% solved by package managers[0]. If the Nix community wants more people using Nix, they'll have to make it more attractive for those of us who do not want t…

I agree. I love the idea of Nix. At least what I think is the idea - basically Bazel as a package manager. But the actual implementation is inaccessible.

If someone could make a user-friendly implementation of the Nix concept I think it would be very popular.

Re: NixOS and the Art of OS Configuration (2018)

#53

Love to see more adoption of Nix and NixOS. I started my Nix journey a little over a year ago, and I regret not having switched sooner. A package-manager that also ships an operating system that can be customized from the bootloader up, using a purely functional programming language is the perfect configuration management tool! It does have some rough edges, and I did lose some hair figuring things out early on, but…

> Love to see more adoption of Nix and NixOS. I don't want a 'journey' to use my OS. I don't want to learn a whole new language and set of overengineered abstractions to solve what I see as, at most, 5% more of application installation problems that are already 75% solved by package managers[0]. If the Nix community wants more people using Nix, they'll have to make it more attractive for those of us who do not want t…

What I'm hearing is "I really don't like the way traditional systems are designed and I don't want to have to learn anything new!"

Nix is different, unapologetically so, that's the issue. And if it had to be more orthodox to win over a few more itinerant users that would make the whole thing pointless.

Re: NixOS and the Art of OS Configuration (2018)

#54
post #43
post #39

After hearing "NixOS has many, many packages, you won't be missing much" for a long time and seeing the package search prompt on the NixOS front page, I decided to try it What are obscure programs few people need or use? Thinking back about my studies in computational linguistics, Praat and Wavesurfer popped into my mind. Both available. Wow. That's seriously impressive.

My goto test package for this is OpenFoam. Unfortunately they didn't have it.

https://github.com/NixOS/nixpkgs/issues/131486 leave a thumbs-up on the packaging request if you care about it.

Re: NixOS and the Art of OS Configuration (2018)

#55
post #53

Earlier quoted context omitted.

> Love to see more adoption of Nix and NixOS. I don't want a 'journey' to use my OS. I don't want to learn a whole new language and set of overengineered abstractions to solve what I see as, at most, 5% more of application installation problems that are already 75% solved by package managers[0]. If the Nix community wants more people using Nix, they'll have to make it more attractive for those of us who do not want t…

What I'm hearing is "I really don't like the way traditional systems are designed and I don't want to have to learn anything new!" Nix is different, unapologetically so, that's the issue. And if it had to be more orthodox to win over a few more itinerant users that would make the whole thing pointless.

I'm not asking it to be more 'orthodox', I'm asking to not have to spend months scouring poor documentation to learn a new language and toolchain to gain the very few benefits Nix provides over the existing systems. If Nix is so inherently complicated it cannot deliver that, then why would I want it?

Ultimately I want less complication in my life, not more, and Nix very much does not provide that from what I can see.

Re: NixOS and the Art of OS Configuration (2018)

#56
post #29

How does Nix approach managing dot files and other application specific files? When I restore from backup, getting the right packages, flatpaks, services running is only a matter of a simple ansible playbook. Biggest annoyance comes from getting all the apps to feel/act the same as they did before. I've resolved this by having known good rc and other files in an Ansible repo and restoring that way. This works very we…

With Home-Manager (HM) you can "bake" your dot files into the config [1]. That means they are stored in your "generation" and then get symlinked to the right directory.

Either you write the dotfile directly in your config (Nix syntax) or you write the file like normal, and then tell HM to store it. I like the second version better, as I find it more natural.

The problem with the "baking" approach is that it is very annoying to do a small change to a config: you have to rebuild the system every time.

[1]: https://rycee.net/posts/2017-07-02-manage-your-home-with-nix...

Re: NixOS and the Art of OS Configuration (2018)

#57

I literally just gave NixOS a go day before yesterday. The two things I noticed if you want to use NixOS as just a basic desktop setup was.. 1. It is simple and fast to install. People make NixOS feels like black magic. NixOS is easier to install than Arch linux. Just do 3 things. Partition your disk, create the nix configuration file and finally run the command "nixos-install" command. Let me explain with a lil more…

> It is simple and fast to install. People make NixOS feels like black magic. NixOS is easier to install than Arch linux. Just do 3 things. Partition your disk, create the nix configuration file and finally run the command "nixos-install" command. Step 2 is doing a lot of work here. It's pretty 'draw the rest of the fucking owl'.

Yes.

Using NixOS as a personal desktop for doing development can take a lot of work. You can expect it to take more work than just making the same setup in Arch linux, or whatever.

My experience with Nix is that it's 95% wonderful, 5% very painful. -- Navigating the painful parts of Nix requires understanding what's going on with the Linux parts, with the Nix parts, and with the parts of whatever you're trying to do. (Whereas with other OSs, you can generally get by with copy-pasting from StackOverflow).

Especially given that Nix requires use of a pure functional language, and that there are few tools developers are willing to put effort in to learn, Nix really stands out as unfamiliar.

Re: NixOS and the Art of OS Configuration (2018)

#58

I literally just gave NixOS a go day before yesterday. The two things I noticed if you want to use NixOS as just a basic desktop setup was.. 1. It is simple and fast to install. People make NixOS feels like black magic. NixOS is easier to install than Arch linux. Just do 3 things. Partition your disk, create the nix configuration file and finally run the command "nixos-install" command. Let me explain with a lil more…

A few packages are effectively rolling even in the stable distribution, because they have a high volume of security fixes and it's a high-impact application. We just don't have the resources to backport all the fixes. This isn't completely unlike debian's treatment of e.g. firefox which keeps even its `oldstable` distribution up to date with "latest" ESR (correct me if I'm wrong).

There are still debates in the community over what the stable distribution is "for", so you may occasionally see some inconsistencies in what gets bumped and what doesn't.

Re: NixOS and the Art of OS Configuration (2018)

#59
post #51
post #50

Earlier quoted context omitted.

I switched to NixOS half a year ago. The reason? I fell in love with literate programming (I use [1]); being able to write (and read) your whole OS configuration is the dream! There are few bad sides to NixOS though. The community consists mostly of programmers, which means I am missing some creative tools (mockups, mindmaps, ..). In the future I will be able to provide/build them myself, but it is not a smooth trans…

Cool. I just played around with R the other day and it would use MD too to generate HTML/PDF. It uses Knitr. https://kbroman.org/knitr_knutshell/pages/Rmarkdown.html

That sounds like a nice way to do it, too. I heard about it before, but don't know R, so I didn't really consider it.

The reason I chose lmt is that it correctly keeps the markdown language syntax of the code blocks. That means I can put my literate config into my Zettelkasten [1] or [2] and watch it pretty-print in the browser.

There are also literate [3] and org-babel [4], but I don't think they are future proof. .lit is a random format and .org basically requires Emacs+orgmode.

1: https://github.com/srid/emanote

2: https://wiki.dendron.so/

3: https://github.com/zyedidia/Literate

4: https://orgmode.org/worg/org-contrib/babel/intro.html

Re: NixOS and the Art of OS Configuration (2018)

#60
post #53

Earlier quoted context omitted.

What I'm hearing is "I really don't like the way traditional systems are designed and I don't want to have to learn anything new!" Nix is different, unapologetically so, that's the issue. And if it had to be more orthodox to win over a few more itinerant users that would make the whole thing pointless.

I'm not asking it to be more 'orthodox', I'm asking to not have to spend months scouring poor documentation to learn a new language and toolchain to gain the very few benefits Nix provides over the existing systems. If Nix is so inherently complicated it cannot deliver that, then why would I want it? Ultimately I want less complication in my life, not more, and Nix very much does not provide that from what I can see.

Oh, I use Nix because it does provide less complication in my life. It's just necessary to wrap your head around a few core principles first, which can be a little mind-bending when you start out (no fixed /usr locations? huh?)
Post reply on HN