Change:
<ins> { config, lib, pkgs, ... }: let cfg = config.services.goxlr-utility; in with lib; { options = { services.goxlr-utility = { enable = mkOption { default = false; type = types.bool; description = lib.mdDoc '' Whether to enable goxlr-utility for controlling your TC-Helicon GoXLR or GoXLR Mini ''; }; package = mkPackageOptionMD pkgs "goxlr-utility" { }; autoStart.xdg = mkOption { default = true; type = with types; bool; description = lib.mdDoc '' Start the daemon automatically using XDG autostart. Sets `xdg.autostart.enable = true` if not already enabled. ''; }; }; }; config = mkIf config.services.goxlr-utility.enable { services.udev.packages = [ cfg.package ]; xdg.autostart.enable = mkIf cfg.autoStart.xdg true; environment.systemPackages = mkIf cfg.autoStart.xdg [ cfg.package (pkgs.makeAutostartItem { name = "goxlr-utility"; package = cfg.package; }) ]; }; meta.maintainers = with maintainers; [ errnoh ]; } </ins>

Discussion:
Project description An unofficial GoXLR App replacement for Linux, Windows and MacOS. Metadata homepage URL: source URL: license: MIT platforms: linux
Moving conversation back here to avoid spamming goxlr-utility maintainers :sweat_smile: I made a draft PR that you can find from It's closer to what the official .deb and .rpm packaging is doing, i.e. including some of the relevant resources, shell completion etc. I wouldn't mind adding you as a maintainer but to do that it probably requires adding you to the maintainer list as well. Should be easy to fix if you want to add PR to the branch.
Hey wow you are fast :D Yes, you can add me as a maintainer for this package. But as I understand it, I need to add me to the maintainer list first, right?
Hah, had some free time during the night and since I wanted to get my GoXLR setup working anyways thought I might as well sort this out. For the question: Yup, the requires to be on . The file itself lists the mandatory/optional fields in the metadata, but basically "a name and at least one contact/identity information" (e.g. a github id). Oh, and the list needs to stay in alphabetical order ^^ Feel free to make PR against this branch, I'll merge it as soon as I notice the PR :)
Added the module to the PR as well. I guess it might be hard to wait for someone with GoXLR to come in and review the PR (though I'd prefer someone to check that it doesn't violate any major guidelines) so if you don't mind I think it's possible for you to try it out and do a PR review, which likely speeds up the process at least :)
Managed to get the PR reviewed and should now be code-wise idiomatic enough to pass. I think based on the main thing remaining is getting thumbs up from you functionality-wise so that's it's not only "works on my machine" :sweat_smile:
I saw your PR and tried using nixpkgs-review to download it to my local machine and try to run it. I used these steps: Do you know if my approach is wrong? This is the first time I've tried a Nix PR. Unfortunately, I haven't found much information about it.

EDIT: Got it working
Glad to hear you got it working! :) The nixpkgs-review tool seems nice, hadn't used it myself but for building the PR it seems to do exactly what one would expect. I guess in this case there's a limit what it can do though as the udev rules are being on the module side and it probably doesn't handle that so some manual work is required :shrug: But again, all is good since you did manage to test the build!