| 12 Aug 2021 |
@kraftnix:matrix.org | In reply to @ultranix:matrix.org i think yeah you do need some experience with nix to use DevOS, cant just spin it up with a first time NixOS or whatever i started using devos/nixflk after about 3-4months of nix, i first decided to use classic nix and after running into reproducibility problems because of different machines being at different nixpkgs commits because of channels (which was something I knew flakes fixed), i started with a basic flake and quickly looked for a template.
it wasn't the easiest to figure out at the beginning but i think the current state of devos should make it much easier for anyone getting into nix as i think a flake native setup is just easier (and devos/digga brings a lot of things together to make it easy from the onset). i'll get around to redpilling some friends with a devos + home-manager + arch/debian tutorial at some point, cause i think it's a really nice way to interact with nixos overall
| 23:24:32 |
@timdeh:matrix.org | I actually agree, under the condition that the language improves, and or Nickel takes it's place | 23:24:39 |
@d4hines:matrix.org | Nickel would help a lot. But TOML files make me happy because I expect a finite number of options that I could read the docs for in a day or two, whereas a full programming language has no ceiling. Nix expressions aren't really declarative in that sense - they're kind of monadic, like using Haskell functions to build imperative IO programs. | 23:26:48 |
@d4hines:matrix.org | TOML options I can figure out. final: prev: {...}... that's a lot more arcane. | 23:27:51 |
@timdeh:matrix.org | I think toml is great for values that are static by their very nature | 23:28:19 |
@timdeh:matrix.org | But we shouldn't try to force everything Nix into it or we risk losing expressive power | 23:28:34 |
@d4hines:matrix.org | Right. That's why I really like DevShell, because it wraps up the simple stuff in a TOML file with arbitrary nix expressions as an escape hatch. | 23:29:10 |
@timdeh:matrix.org | plus if there was no builtins.fromTOML there would only be builtins.fromJSON 😆 | 23:29:26 |
@timdeh:matrix.org | It's nice to have a human readable/writable format to quickly import from | 23:29:43 |
@d4hines:matrix.org | In reply to @timdeh:matrix.org It's nice to have a human readable/writable format to quickly import from The implication being nix expressions are not some human read/writeable... | 23:30:14 |
@d4hines:matrix.org | In reply to @timdeh:matrix.org It's nice to have a human readable/writable format to quickly import from * The implication being nix expressions are not so human read/writeable... | 23:30:21 |
ultranix | wrapping the stuff is what makes it more difficult for me, because then i got to go understand a bunch of abstraction code to understand nix. its better to just not tackle nix from nothing and RTFM, almost unavoidable | 23:30:56 |
@timdeh:matrix.org | In reply to @d4hines:matrix.org Right. That's why I really like DevShell, because it wraps up the simple stuff in a TOML file with arbitrary nix expressions as an escape hatch. yes devshell is probably my favorite nix proect | 23:30:58 |
@timdeh:matrix.org | I feel like NixOS missed a juge opportunity by coupling the module system so closing with systemd 😥 | 23:31:19 |
@timdeh:matrix.org | for compliant containerization I mean | 23:31:27 |
@timdeh:matrix.org | then devshell could be a container | 23:31:31 |
ultranix | In reply to @timdeh:matrix.org I feel like NixOS missed a juge opportunity by coupling the module system so closing with systemd 😥 oh yeah, for sure | 23:31:40 |
ultranix | but its also easier to support the one | 23:31:55 |
@timdeh:matrix.org | * I feel like NixOS missed a huge opportunity by coupling the module system so closing with systemd 😥 | 23:31:59 |
@timdeh:matrix.org | yeah but a man can dream 😅 | 23:32:14 |
@kraftnix:matrix.org | i have had to learn way too much about systemd in the last year, and i'm not the biggest fan overall (the docs are awful), but it gives you a lot. | 23:32:33 |
@d4hines:matrix.org | I kind of wonder if one could build a Nix derivation monad (I'm assuming it's a monad but I'm not schooled in it yet) in Typescript - instant, unparalleled developer tools. | 23:32:42 |
@d4hines:matrix.org | Gradual typing, language server, huge ecosystem of libraries. | 23:33:08 |
@d4hines:matrix.org | I wonder why edolstra is working on Nickel from scratch and not in another lang with gradual types. | 23:34:01 |
@timdeh:matrix.org | Indeed. I think if something like dhall could relax it's typing, perhaps only under certain conditions, it would actually be ideal. Since alot of the hard to debug infinite recursion errors would just be impossible | 23:34:51 |
ultranix | now that flakes have become easy enough for me, next understandings will be for the CAS derivations | 23:35:52 |
@timdeh:matrix.org | Yes. I'm just waiting for the caches to build up a bit so everything is so daunting | 23:37:14 |
@timdeh:matrix.org | * Yes. I'm just waiting for the caches to build up a bit so everything isn't so daunting. In terms of build times I mean | 23:37:31 |
@timdeh:matrix.org | fortunately, with RFC 96, we have a solid plan to introduce experimental features by default in a given binary, so we could get CAS to a point of readiness, and then build a binary for it. And then, when it's easily distributable, the caches will increase exponentially | 23:38:23 |
@timdeh:matrix.org | I also think Trustix and Cache would be a damn near perfect software distribution system, so I've purchased a lot of disk space and vps, and now I just need to find the time 🤣 | 23:46:27 |