This package provides the CLI component for the Ergodox keyboard flashing tool, Wally-CLI. If you you have Nix installed on your system, you can build the CLI tool for your machine without bootstrapping any Go dependencies. The GUI tools are not included in the output and as a result the dependencies are very simple.
Home Manager builds no top of Nix package management to give you deterministic dependency resolution (and software distribution) regardless of the user’s host Linux (or other OS) environment.
Just download the repository or import it with src_nix{fetchGit} etc (a relative path is shown below) and then add it to your home.nix or configuration.nix as a package.
{ pkgs, ...}:
let
wally-cli = pkgs.callPackage ./wally-cli {};
in {
home.packages = with pkgs; [
wally-cli
...
other
packages
];
}
On NixOS, you can import the provided example ergodox-udev.nix in your root configuration.nix. It’s a module, so you just add it to your modules the same was as hardward-configuration.nix typically is set up. If you are only using Nix to provide the wally-cli binary, consult your host OS’s documentation for where to add udev rules.
wally-cli <SomeHexFile.hex>
vgo2nix can convert ZSA’s provided
go.mod to the deps.nix file understood by nixpkgs buildGoPackage
function.
Just nix run nixpkgs.vgo2nix -c vgo2nix
in a clone of the Wally-CLI source to
get a deps.nix
file.
You can test your results via the following statement:
nix-build -E 'with import <nixpkgs> {}; callPackage ./default.nix {}'
This just provides the arguments to the package as if it was being included via home manager or NixOS etc.
This packaging is provided as-is, free of any warranty, independently of ErgoDox, ZSA etc. See the included MIT license.