# Options that can be used for creating a jupyter kernel. { lib, pkgs }: with lib; { freeformType = (pkgs.formats.json { }).type; options = { displayName = mkOption { type = types.str; default = ""; example = literalExpression '' "Python 3" "Python 3 for Data Science" ''; description = lib.mdDoc '' Name that will be shown to the user. ''; }; argv = mkOption { type = types.listOf types.str; example = [ "{customEnv.interpreter}" "-m" "ipykernel_launcher" "-f" "{connection_file}" ]; description = lib.mdDoc '' Command and arguments to start the kernel. ''; }; language = mkOption { type = types.str; example = "python"; description = lib.mdDoc '' Language of the environment. Typically the name of the binary. ''; }; env = mkOption { type = types.attrsOf types.str; default = { }; example = { OMP_NUM_THREADS = "1"; }; description = lib.mdDoc '' Environment variables to set for the kernel. ''; }; logo32 = mkOption { type = types.nullOr types.path; default = null; example = literalExpression ''"''${env.sitePackages}/ipykernel/resources/logo-32x32.png"''; description = lib.mdDoc '' Path to 32x32 logo png. ''; }; logo64 = mkOption { type = types.nullOr types.path; default = null; example = literalExpression ''"''${env.sitePackages}/ipykernel/resources/logo-64x64.png"''; description = lib.mdDoc '' Path to 64x64 logo png. ''; }; extraPaths = mkOption { type = types.attrsOf types.path; default = { }; example = literalExpression ''"{ examples = ''${env.sitePack}/IRkernel/kernelspec/kernel.js"; }''; description = lib.mdDoc '' Extra paths to link in kernel directory ''; }; }; }