ruffsl

joined 2 years ago
 

cross-posted from: https://programming.dev/post/38125775

Nix related discussion starts around the the 0:14:00 min mark.

 

Nix related discussion starts around the the 0:14:00 min mark.

 

Colmena is a simple, stateless NixOS deployment tool modeled after NixOps and morph, written in Rust. It's a thin wrapper over Nix commands like nix-instantiate and nix-copy-closure, and supports parallel deployment.

 

cross-posted from: https://programming.dev/post/37743241

Related discussion:

Related blog posts:

4
submitted 3 months ago* (last edited 3 months ago) by ruffsl@programming.dev to c/nix@programming.dev
 

Related discussion:

Related blog posts:

[–] ruffsl@programming.dev 1 points 3 months ago

The comment thread sparked a few new questions for me.

That will likely soon stop working because steam-run is no longer a grab bag for literally every library out there.

What recently changed with steam-run?

Is using pkgs.appimageTools.defaultFhsEnvArgs with pkgs.buildFHSUserEnv a suitable alternative?

   #!/usr/bin/env nix-shell

   { pkgs ? import <nixpkgs> { } }:

  (
    let base = pkgs.appimageTools.defaultFhsEnvArgs; in
    pkgs.buildFHSUserEnv (base // {
      name = "FHS";
      targetPkgs = pkgs: (with pkgs; [
        /* add additional packages here e.g */
        pcre
        tzdata
      ]);
      runScript = "bash";
      extraOutputsToInstall = [ "dev" ];
    })
  ).env
[–] ruffsl@programming.dev 4 points 3 months ago (1 children)

I'm basically deep into my learning phase of nix, and whenever I find something worthwhile, I like cross posting to read what others may think. It's also a handy means of "bookmarking", recalling what authors I've found so far and when I personally discovered them. Glad you appreciate the current deluge of posts.

[–] ruffsl@programming.dev 1 points 3 months ago

That's a good one. Definitely seems selecting substituters closer to runtime is more flexible. Especially when the system may be roaming across networks like a laptop that may move outside your home LAN that links to your local desktop cache.

[–] ruffsl@programming.dev 2 points 3 months ago

Check out the nix config repo from Unmoved Centre:

[–] ruffsl@programming.dev 5 points 3 months ago

It's a great video, and I hope the author is able to publish more nix content like this again soon. We'll just have to watch their blog's RSS feed in the meantime.

[–] ruffsl@programming.dev 2 points 3 months ago

Hello Patrick! Thanks for the writeup; gradually incorporating it into my config.

BTW, I recall reading a PR you started on fixing the fallback from failing substituters? This may be of interest to you:

[–] ruffsl@programming.dev 3 points 3 months ago (1 children)

That is a bizarre looking error. What architecture is your host system? Is your config repo publicly viewable? Installing tail scale is your only build issue?

[–] ruffsl@programming.dev 3 points 3 months ago (1 children)

Only not by itself, no? Couldn't it be combined with any of those X11 server apps for hosting a display socket over the local loop back?

[–] ruffsl@programming.dev 3 points 3 months ago

Whoops, I misread scheme as schema. That's really powerful. One thing I wish I could reliably do with a Nix LSP is navigate to a definition of a symbol.

[–] ruffsl@programming.dev 2 points 3 months ago

Still seems a little too idealistic, not sure how this would really shake down with more complex build systems or multilingual projects.

[–] ruffsl@programming.dev 3 points 3 months ago (5 children)

I haven't dug into Guix yet, so is the config more of a markup and less of Turing complete language? That sounds like it'd be easier to grock or optimize an LSP for.

I have heard that Guix takes a stronger stance with respect to unfree software. I don't think any of the official nix Hydra infrastructures build for unfree packages, but they are packaged and indexed into nixpkgs. Has Guix been difficult at all in that regard, i.e. using proprietary drivers or closed libraries for work or personal hardware?

view more: ‹ prev next ›