Installation
zigduck ships as a NixOS module in a flake. You need a NixOS system configured with flakes.
1. Add zigduck to your flake inputs
Section titled “1. Add zigduck to your flake inputs”inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; zigduck.url = "github:quackhack-mcblindy/zigduck";};2. Import the module
Section titled “2. Import the module”imports = [ zigduck.nixosModules.zigduck];The module also needs self and inputs as module arguments. Pass them to nixosSystem through
specialArgs:
nixosSystem { specialArgs = { inherit self inputs; }; # ...}3. Enable the services
Section titled “3. Enable the services”services.zigduck = { enable = true; cli.enable = true;
# Install the GNOME Shell extension for a top bar widget. # Turn it on afterwards with: # gnome-extensions enable zigduck@quackhack-mcblindy.com gnomeExtension.enable = true;
dashboard = { enable = true; # Set to false if you serve the dashboard over plain HTTP (not recommended). secure = true; port = 13336; openFirewall = true; passwordFile = config.sops.secrets.dashboard.path; };};The examples on this site use sops-nix for secrets
(config.sops.secrets.*.path). Any option ending in File takes a path, so agenix or a plain file
outside the Nix store works too.
Next steps
Section titled “Next steps”- Copy the quick start config and edit it for your house.
- Read through the configuration pages, starting with Zigbee.
- See every
services.zigduckoption in the option reference.
