Skip Navigation

Posts
310
Comments
220
Joined
3 yr. ago

I'm a robotics researcher. My interests include cybersecurity, repeatable & reproducible research, as well as open source robotics and rust programing.

  • Appreciate the detailed context, and thank you for your work!

  • 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
    
    
      
  • 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.

  • 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.

  • 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.

  • 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?

  • 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.

  • 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?

  • As soon as you veer off the beaten path, things can get really tricky.

    For med tech and robotics development, I'm still using Debian via docker because the surrounding ecosystems for those software communities are so tightly integrated with the Debian.

  • Hey do we have a central place with everyone’s configuration file ?

    As roundabout as it sounds I've had good luck using GitHub's code search with language:nix and path:flake.nix modifiers.

    E.g, I was looking for complete flake examples to overlay nvidia drivers from the unstable branch/channel, I used this regex:

    Most folks publishing their configs often have more advance setups, but still nice trace git blame to learn how they evolved.

    some config file editor where I can just toggle kde + nvidia drivers +

    There is SnowflakeOS this kind of stalled, but that could change with recent improvements to structured edits of Nix:

  • I think installing NixOS is something that could really benefit from more community mentoring or nearby a local linux user group.

    Now that I have a working config for my hardware, I feel like I could explain it all to my old self in under half an hour. But to get to that point of familiarity took a few days. Having someone over your shoulder to save a new user most of any trial and error could go a long way in terms of adoption or bounce rate. It's like subject that can be tricky to approach solo, but could be trivial if tutored even slightly formally.

    If you also like me prefer spoken/visual instructions over written forms, I'd also recommend these resources:

  • Well let me at least leave why I think Nix is not it at the moment:

    • Software Center - browsing search.nixos.org isn't quite the same in terms low friction and discoverability
      • You already have to know what you're looking for, and it can't make system config on your behalf
      • Debian or conventional package managers usually offer a native GUI for package selection and deployment

    • System Defaults - the minimality of a basic default install can cause a lot of papercuts
      • the default boot partition is rather small given the OS's prepecity to add new kernels with new generations
      • and without any garbage collection service enabled by default, user first encounter switch failures due to this

    • External Binaries Compatibility - Linux also suffers from this in general as compared to MacOS or Windows
      • in addition to being much more niche, reuse of existing binaries from more prevalent distros becomes complicated
      • the desktop ISO could suggest a nix-ld config with default libs most binary distributes expect, easing in new users

    • The Nix language - much more complex than conventional cong markup langs, being more of a turing complete DSL
      • partial working LSP impare introspection while writing, and the runtime error messages are poorly formatted
      • most desktop users (in debian or fedora) have little need to learn their OS's packaging schemas, but NixOS users do

  • What are we doing here? This isn’t even an argument.

    Correct, this isn't an argument, or at least I'm not trying to argue.All I wanted to learn what exact properties you though makes for a better desktop OS.

    I'm in agreement that NixOS isn't the best for mainstream desktop user base, but like any decent inquiry or survey, if I just preemptively bias someone's responses with my own observations on NixOS defecenties, then there wouldn't be as much of a case to before ask what they think other Linux Distro do better in the first place.

    Not everyone who strikes up a convo online for a debate, and not all (but quite a few) who ask questions are trolls.

  • It's a slippery slope, to be sure.