Live data from Hacker News

Purely Functional Linux with NixOS [video]

begriffs.com

111–120 of 143 posts

Re: Purely Functional Linux with NixOS [video]

#111

Am I the only one who thought Guix did this better? Maybe it's just my freakish and unnatural love of parenthesis. Or my hatred of learning new configuration syntaxes (I just want to install packges, dammit! Yes, I enjoy learning new languages, but I need to get this machine up and running, and I don't want to learn your new programming language to do that)

When I hear the words "elegant DSL", I reach for my pistol.

(Don't worry, it's just a tiny toy gun.)

Re: Purely Functional Linux with NixOS [video]

#112
post #111

Am I the only one who thought Guix did this better? Maybe it's just my freakish and unnatural love of parenthesis. Or my hatred of learning new configuration syntaxes (I just want to install packges, dammit! Yes, I enjoy learning new languages, but I need to get this machine up and running, and I don't want to learn your new programming language to do that)

When I hear the words "elegant DSL", I reach for my pistol. (Don't worry, it's just a tiny toy gun.)

Well then, you must hate Guix and Nix equally.

Re: Purely Functional Linux with NixOS [video]

#113
post #111

Earlier quoted context omitted.

When I hear the words "elegant DSL", I reach for my pistol. (Don't worry, it's just a tiny toy gun.)

Well then, you must hate Guix and Nix equally.

Joking, mostly...

Although I do think that programmers often tend to try to solve problems with the kind of tools that they like to make, rather than ones that would be appropriate for the user -- and that's why the *nix open source world has so many incompatible programming languages and configuration formats, and so few good GUIs.

Re: Purely Functional Linux with NixOS [video]

#114
post #113

Earlier quoted context omitted.

Well then, you must hate Guix and Nix equally.

Joking, mostly... Although I do think that programmers often tend to try to solve problems with the kind of tools that they like to make, rather than ones that would be appropriate for the user -- and that's why the *nix open source world has so many incompatible programming languages and configuration formats, and so few good GUIs.

Well, the programming languages are nicer than the guis. It's the incompatable part I can't stand.

Use TOML, JSON, or YAML. If you need something general purpose, use Scheme. It works well embedded.

Re: Purely Functional Linux with NixOS [video]

#115
post #13

Anyone using NixOS as a server in production? We're on FreeBSD now but I think Linux in our stack is inevitable (many servers, like Aerospike, are Linux only). There's always Ubuntu, but this looks lovely. I've had my eye on it for a personal Linux workstation but haven't heard anything about it as a server.

We run a fleet. Happy to answer questions here or shoot us a mail at team@wearewizards.io if it's sensitive.

How's the binary security on NixOS these days? The official information I find are... worrying. Specifically: a) security updates are the same as all the other updates and may take days to get to you, do runtime replacements manually yourself (https://nixos.org/wiki/Security_Updates) and b) next to no hardening during compilation (https://nixos.org/wiki/Hardened_NixOS)

Re: Purely Functional Linux with NixOS [video]

#117

Earlier quoted context omitted.

>the nix expression language is smaller and simpler than Scheme; it beats it at its own game! It may have a smaller stdlib than scheme (but I doubt it). But it's very hard to be simpler than scheme semantically. As for what I want from scheme that nix doesn't provide, a simple, regular, syntax that I already know is what I want. I understand that that doesn't apply to everybody.

> It may have a smaller stdlib than scheme (but I doubt it). But it's very hard to be simpler than scheme semantically. Yes, I mean the semantics of the language. Scheme is indisputably more complex. There isn't really much a standard library for the Nix Expression Language either. > As for what I want from scheme that nix doesn't provide, a simple, regular, syntax that I already know is what I want. I understand tha…

Yeah, that scheme syntax looks much simpler. And it is far more regular than Nix's. Of course, scheme is regular enough that the output of the readtables match this:

  Scheme ::= *
  Expr ::=  
         | (*)
  Atom ::= 
         | 
         | 
And IIRC, that's close to what r5rs requires, although without the '`, syntactic sugar, which a readtable would handle in schemes that have them, and would be added to the above for schemes that don't. I may be wrong, though.

The semantics are also simple:

A function's arguments are evaluated, bound to arguments and passed to it. A special form or macro have their arguments passed to them unevaled. In the case of a macro, the output of the macro is evaled instead. Scope is lexical.

There's about 95% of the semantics right there. The only things I left out, to my knowledge, are dynamic variables, which weren't standardized until recently.

The entire thing may be larger than Nix (I don't think it is), but more regular? I doubt it.

Re: Purely Functional Linux with NixOS [video]

#118

Am I the only one who thought Guix did this better? Maybe it's just my freakish and unnatural love of parenthesis. Or my hatred of learning new configuration syntaxes (I just want to install packges, dammit! Yes, I enjoy learning new languages, but I need to get this machine up and running, and I don't want to learn your new programming language to do that)

What I really worry about is my nonfree wireless driver and Nvidia driver, which doesn't seem to be available on Guix.

Re: Purely Functional Linux with NixOS [video]

#119

I really want to like NixOS, but there's a serious lack of examples of how to deploy common web infrastructure with it, and that's bitten me the few times I've tried to play with it. For example, our stack is nginx, uwsgi, django, elasticsearch, and postgres. Installing most of the pieces seemed relatively straightforward(though required a fair bit of searching through the nixpkgs source), but it's honestly pretty un…

You might be interested in checking out Habitat from Chef, which uses many similar ideas: habitat.sh

Re: Purely Functional Linux with NixOS [video]

#120

Earlier quoted context omitted.

A purely functional subset of Scheme, honestly, is different enough from most lisps that it's a new language on its own. If you're learning a new language, a new syntax isn't very hard. And there's not a terrible amount of people who think S-expressions are an inherently good syntax.

>A purely functional subset of Scheme, honestly, is different enough from most lisps that it's a new language on its own. No, it's not. It's a cut-down Scheme: Most of your scheme knowledge would apply directly, or indirectly. Besides, even if it was a different language, it's a pre-existing one: DSSSL is pretty much this. >If you're learning a new language, a new syntax isn't very hard. Yes, but for me, the choice i…

> No, it's not. It's a cut-down Scheme: Most of your scheme knowledge would apply directly, or indirectly.

Only if you regularly write code using purely functional scheme in the first place. The difficulty of writing in a new language is very rarely figuring out what function calls to make, at least for me - it's about thinking in terms of the language.

Post reply on HN