biscuit

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 5366a2285ba26ee9091ec21d1884ce3676ff2459
parent 2f5a2e5d5cc1536baba715269c2ca06c234282a3
Author: Daniel Barlow <dan@telent.net>
Date:   Fri,  6 Mar 2026 23:48:20 +0000

add mechanism to include local (not in git) config

and an example of how you'd use it to add eculocate

Diffstat:
Mconfiguration.nix | 6+++++-
Alocal-module-eculocate.nix | 24++++++++++++++++++++++++
2 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/configuration.nix b/configuration.nix @@ -1,6 +1,9 @@ { lib, config, pkgs, ... }: let + local_config = if (builtins.pathExists ./local/module.nix) + then ./local/module.nix + else null; saturn = pkgs.callPackage ./pkgs/saturn {}; drm-framebuffer = pkgs.stdenv.mkDerivation { @@ -26,7 +29,8 @@ let in { imports = [ (import ../mobile-nixos/lib/configuration.nix { device = "motorola-harpia"; }) - ]; + ] ++ lib.optional (local_config != null) local_config; + config = { nixpkgs.overlays = [ diff --git a/local-module-eculocate.nix b/local-module-eculocate.nix @@ -0,0 +1,24 @@ +{ lib, config, pkgs, ... }: + +# this isn't really part of biscuit, because "eculocate" is a lot more +# niche than the rest of it. But it serves as an example of the kind of +# thing you could put in local/module.nix + +let + eculocate = pkgs.callPackage <eculocate/client> {}; +in { + imports = [ <eculocate/client/module.nix> ]; + config = { + programs.eculocate = { + enable = true; + otaPrivateKeyFile = "/etc/secrets/eculocate/ota.key"; + blePrivateKeyFile = "/etc/secrets/eculocate/client.key"; + blePeerKeyFile = "/etc/secrets/eculocate/device.pub"; + outputPath = "/tmp/eculocate"; + }; + services.avahi = { + nssmdns4 = true; + enable = true; + }; + }; +}