-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NixOS package and module #221
Comments
Hmm. I wonder if this repository is the best place to do packaging. I have no experience with NixOS, but on Debian at least packaging is generally done in a separate repository containing only packaging stuff? |
Nix/NixOS in general are quite different compared to the traditional Linux package managers and distributions, and although they do have a central repository for packaging, they also have a somewhat new concept of Flakes, which supports/encourages decentralized distribution through git. You can think of a Flake as a universal language-agnostic {inputs, ...}: {
imports = [inputs.piv-agent.homeManagerModules.default];
piv-agent = {
touchNotifyDelay = "100ms";
idleTimeout = "30m";
agent.ssh = true;
};
} The module would then handle all of the setup itself. Home manager is not limited to NixOS, which means this would be a viable installation strategy for any distro. Theoretically it would even be possible to make it work on macOS too with While it's definitely possible to do all of this in a traditional centralized way, a lot of maintainers are now choosing to add Flakes to their repos, as they're relatively simple and it makes the package + configuration instantly widely available, without having to deal with large centralised entities. This approach is not mutually exclusive to the centralized one, so it would be possible to add it to the central repositories later too for convenience. You can check out how Hyprland handles this as an example. The main concern I can think of is the integration with CI/CD and dependabot. It should be quite simple to add a workflow that updates The other thing to keep in mind is if/when you add options to |
First for some context - in the past few days I went on a research spree trying to simplify my YubiKey encryption/signing/authentication setup (again). I tried FIDO2 resident SSH keys, GPG agent with SSH support, SSH agent with PIV keys through PKCS#11,
yubikey-agent
andpivy
. In the end I think that this project still has the nicest UX for SSH keys (which can be used for both encryption and signing), and if #134 is addressed, it could be the best UX for YubiKey cryptography in general. Yet it seems to be criminally underrated, which I imagine doesn't help with motivation or contributions.I've been using this project in a NixOS configuration for over a year now and I think making it generally available as part of the project could make it more attractive to others (though I do realise I'm talking about a niche within a niche within a niche...). Anyway, I suggest adding a flake to this repo which would output a package, an overlay, a NixOS module, and a home manager module. I volunteer to contribute this if you think it's a good idea.
The text was updated successfully, but these errors were encountered: