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

  • 96 Posts
  • 46 Comments
Joined 3 years ago
cake
Cake day: June 9th, 2023

help-circle













  • I only have 3 installs of NixOS already, two for work (a server and laptop), and a third for a personal use (desktop). I largely started out by copying a public config from the community. Now I just copy a few kilobytes between the three from time to time via git repo to keep all my kernels, kernel modules, patches, net config, package versions, and system users/groups permissions in sync via lock files. And my user dot files too, but you don’t need nix for that last one.

    If I have to do something multiple times, like copying a distro across even a few systems more than once, then I figured I’d just revision control it via lockfiles like any other software project.

    That all said, NixOS is a hell of a rabbit hole; great for lazy admins and hobby tinkering alike:

    https://xkcd.com/1319/

    The top graph reflects my stable work install for robot software development,
    but the bottom graph is my personal install for hobbies and home lab.










  • Encountered an odd Bluetooth issue last week with a motherboard that had a combined Bluetooth and Wi-Fi radio chip set. Wi-Fi worked, but the Bluetooth hardware wasn’t even detected. This was after migrating from a Windows install with known working Bluetooth drivers on the same motherboard.

    Found a solved thread for the same motherboard SKU where power cycling after disconnecting the desktop power supply from AC for 30 sec resolved it. Didn’t believe it, but tried it anyway and it worked. Guessing the Windows driver must have put the Bluetooth transceiver in a funny state that the mainline Linux kernel couldn’t recover, but resting the chipset with a through power cycle with internal voltage supplies zeroed made the difference in re-initializing the hardware.

    Just a wild suggestion…







  • You should be able to rebuild offline if the minimal change set is self contained enough, as in purely local. Did you update any other inputs? I guess you could be missing some kind of extra TLS or CA store dependency for adding custom CAs, but that doesn’t seem likely for regular NixOS install. I use flakes instead of channels, so I wouldn’t know what else may be blocked you. A stdout log may showcase your error more clearly.





  • 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