self: { config, lib, pkgs, ... }: let cfg = config.services.radiantwave; in { options.services.radiantwave = { enable = lib.mkEnableOption "RadiantWave kiosk application"; package = lib.mkOption { type = lib.types.package; default = self.packages.${pkgs.system}.default; description = "The RadiantWave package to use."; }; user = lib.mkOption { type = lib.types.str; default = "kiosk"; description = "The user account the kiosk runs as."; }; }; config = lib.mkIf cfg.enable { # Just put the package in the system path. The machine configuration owns # the display/audio session (see nixos/vm.nix for a working example). environment.systemPackages = [ cfg.package ]; }; }