{"id":13511760,"url":"https://github.com/nmattia/niv","last_synced_at":"2025-05-13T20:17:18.503Z","repository":{"id":37319321,"uuid":"166296150","full_name":"nmattia/niv","owner":"nmattia","description":"Easy dependency management for Nix projects","archived":false,"fork":false,"pushed_at":"2025-03-02T23:46:25.000Z","size":587,"stargazers_count":1707,"open_issues_count":91,"forks_count":78,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-05-08T03:03:37.279Z","etag":null,"topics":["nix","package-manager","versioning"],"latest_commit_sha":null,"homepage":"https://github.com/nmattia/niv","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nmattia.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-17T21:00:18.000Z","updated_at":"2025-05-07T09:23:41.000Z","dependencies_parsed_at":"2023-01-30T00:15:40.462Z","dependency_job_id":"ee086297-18ab-41e1-a209-e78258ef84a1","html_url":"https://github.com/nmattia/niv","commit_stats":{"total_commits":361,"total_committers":39,"mean_commits":9.256410256410257,"dds":"0.24653739612188363","last_synced_commit":"f7c538837892dd2eb83567c9f380a11efb59b53f"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmattia%2Fniv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmattia%2Fniv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmattia%2Fniv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmattia%2Fniv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nmattia","download_url":"https://codeload.github.com/nmattia/niv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254020655,"owners_count":22000757,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nix","package-manager","versioning"],"created_at":"2024-08-01T03:01:09.791Z","updated_at":"2025-05-13T20:17:18.480Z","avatar_url":"https://github.com/nmattia.png","language":"Haskell","funding_links":[],"categories":["Haskell","Development"],"sub_categories":[],"readme":"# niv\n\n[![Test](https://github.com/nmattia/niv/actions/workflows/test.yml/badge.svg)](https://github.com/nmattia/niv/actions/workflows/test.yml)\n[![Netlify Status](https://api.netlify.com/api/v1/badges/48532eaa-259f-4ca2-aadf-67f7c6b957fd/deploy-status)](https://niv.nmattia.com)\n\nPainless dependencies for [Nix] projects. Read more in the [Getting started](#getting-started) section below.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./niv.svg\"\u003e\n\u003c/p\u003e\n\n\n* [Install](#install)\n* [Build](#build)\n* [Usage](#usage)\n* [FAQ](#frequently-asked-questions)\n\n## Install\n\n`niv` is available in [`nixpkgs`](https://github.com/NixOS/nixpkgs) as `niv`:\n\n``` bash\n$ nix-env -iA nixpkgs.niv\n```\n\nAlternatively, run the following command to install the development version:\n\n``` bash\n$ nix-env -iA niv -f https://github.com/nmattia/niv/tarball/master \\\n    --substituters https://niv.cachix.org \\\n    --trusted-public-keys niv.cachix.org-1:X32PCg2e/zAm3/uD1ScqW2z/K0LtDyNV7RdaxIuLgQM=\n```\n\n## Build\n\nInside the provided nix shell:\n\n``` bash\n$ repl\n```\n\nRun the test suite with this command:\n\n``` bash\n$ ./script/test\n```\n\n## Usage\n\n`niv` simplifies [adding](#add) and [updating](#update) dependencies in Nix\nprojects. It uses a single file, `nix/sources.json`, where it stores the data\nnecessary for fetching and updating the packages.\n\n* [Add](#add): inserts a package in `nix/sources.json`.\n* [Update](#update): updates one or all packages in `nix/sources.json`.\n* [Drop](#drop): deletes a package from `nix/sources.json`.\n\n`niv` has some utility functions:\n\n* [Init](#init): bootstraps a Nix project, in particular creates a\n  `nix/sources.json` file containing `niv` and `nixpkgs` as well as a\n  `nix/sources.nix` file that returns the sources as a Nix object.\n* [Show](#show): shows the packages' information.\n* [Modify](#modify): modifies attributes _without_ performing an update.\n\n### Configuration\n\nThe following environment variables are read by `niv`:\n\n| Name            | Note |\n| --------------- | ---- |\n| GITHUB_TOKEN or NIV_GITHUB_TOKEN | When set, the value is used to authenticate GitHub API requests. |\n| GITHUB_HOST or NIV_GITHUB_HOST | The GitHub host to use when fetching packages. Port may be appended here. |\n| GITHUB_API_HOST or NIV_GITHUB_API_HOST | The host used when performing GitHub API requests. Use `GITHUB_API_PORT` for specifying the port. |\n| GITHUB_API_PORT or NIV_GITHUB_API_PORT | The port used when performing GitHub API requests. Defaults to `443` for secure requests. Defaults to `80` for insecure requests. See also: `GITHUB_INSECURE`. |\n| NIV_GITHUB_INSECURE | When set to anything but the empty string, requests are performed over `http` instead of `https`. |\n| NIV_GITHUB_PATH     | The base path used when performing GitHub API requests. |\n\nThe next two sections cover [common use cases](#getting-started) and [full command\ndescription](#commands).\n\n### Getting started\n\nNix is a very powerful tool for building code and setting up environments. `niv` complements it by making it easy to describe and update remote dependencies (URLs, GitHub repos, etc). It is a simple, practical alternative to [Nix flakes](https://wiki.nixos.org/wiki/Flakes).\n\nThis section covers common use cases:\n\n* [Bootstrapping a Nix project](#bootstrapping-a-nix-project).\n* [Tracking a different nixpkgs branch](#tracking-a-nixpkgs-branch).\n* [Importing packages from GitHub](#importing-packages-from-github).\n* [Fetching packages from custom URLs](#using-custom-urls).\n\n#### Bootstrapping a Nix project\n\nUse the `init` command when starting a new Nix project or when porting an\nexisting Nix project to niv:\n\n``` shell\n$ niv init\n...\n$ tree\n.\n└── nix\n    ├── sources.json\n    └── sources.nix\n\n1 directory, 2 files\n```\n\nThe file `nix/sources.json` is the file used by niv to store versions and is\ninitialized with nixpkgs:\n\n``` json\n{\n    \"nixpkgs\": {\n        \"branch\": \"nixos-unstable\",\n        \"description\": \"Nix Packages collection\",\n        \"homepage\": null,\n        \"owner\": \"NixOS\",\n        \"repo\": \"nixpkgs\",\n        \"rev\": \"6c43a3495a11e261e5f41e5d7eda2d71dae1b2fe\",\n        \"sha256\": \"16f329z831bq7l3wn1dfvbkh95l2gcggdwn6rk3cisdmv2aa3189\",\n        \"type\": \"tarball\",\n        \"url\": \"https://github.com/NixOS/nixpkgs/archive/6c43a3495a11e261e5f41e5d7eda2d71dae1b2fe.tar.gz\",\n        \"url_template\": \"https://github.com/\u003cowner\u003e/\u003crepo\u003e/archive/\u003crev\u003e.tar.gz\"\n    }\n}\n```\n\nTo use this dependency, `import` the file `nix/sources.nix`, e.g.:\n\n``` nix\n{ sources ? import ./sources.nix }:     # import the sources\nimport sources.nixpkgs                  # and use them again!\n  { overlays = [] ; config = {}; }\n```\n\nFor more information about importing sources to your nix files, check\nthe [frequently asked questions](#Frequently-asked-questions).\n\n#### Tracking a nixpkgs branch\n\nThe `init` command sets the `nix/sources.json` to the content of the file\n[data/nixpkgs.json](data/nixpkgs.json). Currently, you would be tracking the\n`nixos-unstable` branch.\nRun the following command to\nupdate it to the last commit of the configured branch:\n\n``` shell\n$ niv update nixpkgs\n```\n\nTo change the branch being tracked run this command:\n\n``` shell\n$ niv update nixpkgs -b master     # equivalent to --branch master\n```\n\n#### Importing packages from GitHub\n\nThe `add` command will infer information about the package being added, when\npossible. This works very well for GitHub repositories. Run this command to add\n[jq] to your project:\n\n\n``` shell\n$ niv add stedolan/jq\n```\n\nThe following data was added in `nix/sources.json` for `jq`:\n\n``` json\n{\n  \"homepage\": \"http://stedolan.github.io/jq/\",\n  \"url\": \"https://github.com/stedolan/jq/archive/9fa2e51099c55af56e3e541dc4b399f11de74abe.tar.gz\",\n  \"owner\": \"stedolan\",\n  \"branch\": \"master\",\n  \"url_template\": \"https://github.com/\u003cowner\u003e/\u003crepo\u003e/archive/\u003crev\u003e.tar.gz\",\n  \"repo\": \"jq\",\n  \"sha256\": \"0819rvk8057qgcqvgn7fpldvly2pfdw9fxcjrlqa8gr59p8a1cic\",\n  \"description\": \"Command-line JSON processor\",\n  \"rev\": \"9fa2e51099c55af56e3e541dc4b399f11de74abe\"\n}\n```\n\n#### Using custom URLs\n\nIt is possible to use niv to fetch packages from custom URLs. Run this command\nto add the Haskell compiler [GHC] to your `nix/sources.json`:\n\n``` shell\n$ niv add ghc   \\\n    -v 8.4.3    \\\n    -t 'https://downloads.haskell.org/~ghc/\u003cversion\u003e/ghc-\u003cversion\u003e-i386-deb8-linux.tar.xz'\n```\n\nThe option `-v` sets the \"version\" attribute to `8.4.3`. The option `-t` sets a\ntemplate that can be reused by niv when fetching a new URL (see the\ndocumentation for [add](#add) and [update](#update)).\n\nThe type of the dependency is guessed from the provided URL template, if `-T`\nis not specified.\n\nFor updating the version of GHC used run this command:\n\n``` shell\n$ niv update ghc -v 8.6.2\n```\n\n### Commands\n\n```\nniv - dependency manager for Nix projects\n\nversion: 0.2.22\n\nUsage: niv [-s|--sources-file FILE] [--no-colors] COMMAND\n\nAvailable options:\n  -s,--sources-file FILE   Use FILE instead of nix/sources.json\n  --no-colors              Don't use colors in output\n  -h,--help                Show this help text\n  --version                Print version\n\nAvailable commands:\n  init                     Initialize a Nix project. Existing files won't be\n                           modified.\n  add                      Add a GitHub dependency\n  show                     \n  update                   Update dependencies\n  modify                   Modify dependency attributes without performing an\n                           update\n  drop                     Drop dependency\n```\n\n#### Add\n\n```\nExamples:\n\n  niv add stedolan/jq\n  niv add NixOS/nixpkgs -n nixpkgs -b nixpkgs-unstable\n  niv add my-package -v alpha-0.1 -t http://example.com/archive/\u003cversion\u003e.zip\n\nUsage: niv add PACKAGE [-n|--name NAME] \n                 [(-a|--attribute KEY=VAL) | (-s|--string-attribute KEY=VAL) | \n                   (-b|--branch BRANCH) | (-o|--owner OWNER) | (-r|--rev REV) | \n                   (-v|--version VERSION) | (-t|--template URL) | \n                   (-T|--type TYPE)]\n\n  Add a GitHub dependency\n\nAvailable options:\n  -n,--name NAME           Set the package name to \u003cNAME\u003e\n  -a,--attribute KEY=VAL   Set the package spec attribute \u003cKEY\u003e to \u003cVAL\u003e, where\n                           \u003cVAL\u003e may be JSON.\n  -s,--string-attribute KEY=VAL\n                           Set the package spec attribute \u003cKEY\u003e to \u003cVAL\u003e.\n  -b,--branch BRANCH       Equivalent to --attribute branch=\u003cBRANCH\u003e\n  -o,--owner OWNER         Equivalent to --attribute owner=\u003cOWNER\u003e\n  -r,--rev REV             Equivalent to --attribute rev=\u003cREV\u003e\n  -v,--version VERSION     Equivalent to --attribute version=\u003cVERSION\u003e\n  -t,--template URL        Used during 'update' when building URL. Occurrences\n                           of \u003cfoo\u003e are replaced with attribute 'foo'.\n  -T,--type TYPE           The type of the URL target. The value can be either\n                           'file' or 'tarball'. If not set, the value is\n                           inferred from the suffix of the URL.\n  -h,--help                Show this help text\n\nExperimental commands:\n  git                      Add a git dependency. Experimental.\n  github                   Add a GitHub dependency\n  local                    Add a local dependency. Experimental.\n```\n\n#### Update\n\n```\nExamples:\n  \n  niv update                     # update all packages\n  niv update nixpkgs             # update nixpkgs\n  niv update my-package -v beta-0.2 # update my-package to version \"beta-0.2\"\n\nUsage: niv update [PACKAGE \n                    [(-a|--attribute KEY=VAL) | \n                      (-s|--string-attribute KEY=VAL) | (-b|--branch BRANCH) | \n                      (-o|--owner OWNER) | (-r|--rev REV) | \n                      (-v|--version VERSION) | (-t|--template URL) | \n                      (-T|--type TYPE)]]\n\n  Update dependencies\n\nAvailable options:\n  -a,--attribute KEY=VAL   Set the package spec attribute \u003cKEY\u003e to \u003cVAL\u003e, where\n                           \u003cVAL\u003e may be JSON.\n  -s,--string-attribute KEY=VAL\n                           Set the package spec attribute \u003cKEY\u003e to \u003cVAL\u003e.\n  -b,--branch BRANCH       Equivalent to --attribute branch=\u003cBRANCH\u003e\n  -o,--owner OWNER         Equivalent to --attribute owner=\u003cOWNER\u003e\n  -r,--rev REV             Equivalent to --attribute rev=\u003cREV\u003e\n  -v,--version VERSION     Equivalent to --attribute version=\u003cVERSION\u003e\n  -t,--template URL        Used during 'update' when building URL. Occurrences\n                           of \u003cfoo\u003e are replaced with attribute 'foo'.\n  -T,--type TYPE           The type of the URL target. The value can be either\n                           'file' or 'tarball'. If not set, the value is\n                           inferred from the suffix of the URL.\n  -h,--help                Show this help text\n```\n\n#### Modify\n\n```\nExamples:\n\n  niv modify nixpkgs -v beta-0.2\n  niv modify nixpkgs -a branch=nixpkgs-unstable\n\nUsage: niv modify PACKAGE [-n|--name NAME] \n                  [(-a|--attribute KEY=VAL) | (-s|--string-attribute KEY=VAL) | \n                    (-b|--branch BRANCH) | (-o|--owner OWNER) | (-r|--rev REV) |\n                    (-v|--version VERSION) | (-t|--template URL) | \n                    (-T|--type TYPE)]\n\n  Modify dependency attributes without performing an update\n\nAvailable options:\n  -n,--name NAME           Set the package name to \u003cNAME\u003e\n  -a,--attribute KEY=VAL   Set the package spec attribute \u003cKEY\u003e to \u003cVAL\u003e, where\n                           \u003cVAL\u003e may be JSON.\n  -s,--string-attribute KEY=VAL\n                           Set the package spec attribute \u003cKEY\u003e to \u003cVAL\u003e.\n  -b,--branch BRANCH       Equivalent to --attribute branch=\u003cBRANCH\u003e\n  -o,--owner OWNER         Equivalent to --attribute owner=\u003cOWNER\u003e\n  -r,--rev REV             Equivalent to --attribute rev=\u003cREV\u003e\n  -v,--version VERSION     Equivalent to --attribute version=\u003cVERSION\u003e\n  -t,--template URL        Used during 'update' when building URL. Occurrences\n                           of \u003cfoo\u003e are replaced with attribute 'foo'.\n  -T,--type TYPE           The type of the URL target. The value can be either\n                           'file' or 'tarball'. If not set, the value is\n                           inferred from the suffix of the URL.\n  -h,--help                Show this help text\n```\n\n#### Drop\n\n```\nExamples:\n\n  niv drop jq\n  niv drop my-package version\n\nUsage: niv drop PACKAGE [ATTRIBUTE]\n\n  Drop dependency\n\nAvailable options:\n  -h,--help                Show this help text\n```\n\n#### Init\n\n```\nUsage: niv init [--fast | --latest | --nixpkgs OWNER/REPO\n                  (-b|--nixpkgs-branch ARG) |\n                  --no-nixpkgs]\n\n  Initialize a Nix project. Existing files won't be modified.\n\nAvailable options:\n  --fast                   Use the latest nixpkgs cached at\n                           'https://github.com/nmattia/niv/blob/master/data/nixpkgs.json'.\n                           This is the default.\n  --latest                 Pull the latest unstable nixpkgs from NixOS/nixpkgs.\n  --nixpkgs OWNER/REPO     Use a custom nixpkgs repository from GitHub.\n  -b,--nixpkgs-branch ARG  The nixpkgs branch when using --nixpkgs ....\n  --no-nixpkgs             Don't add a nixpkgs entry to sources.json.\n  -h,--help                Show this help text\n```\n\n#### show\n\n```\nUsage: niv show [PACKAGE]\n\nAvailable options:\n  -h,--help                Show this help text\n```\n\n[Nix]: https://nixos.org/nix/\n[jq]: https://stedolan.github.io/jq/\n[GHC]: https://www.haskell.org/ghc/\n\n\n## Frequently Asked Questions\n\n* [Can I use private GitHub repositories?](#can-i-use-private-github-repositories)\n* [How do I import and use the content of a source?](#how-do-i-import-and-use-the-content-of-a-source)\n* [How do I import a subpath of a source?](#how-do-i-import-a-subpath-of-a-source)\n* [How do I import NixOS modules](#how-do-i-import-nixos-modules)\n* [Can I use local packages?](#can-i-use-local-packages)\n* [Can I use git submodules?](#can-i-use-git-submodules)\n\n### Can I use private GitHub repositories?\n\nYes. There are two ways:\n\n#### 1. Use the git protocol\n\nWhen using the git protocol, your public SSH keypair is used to authenticate\nyou:\n\n``` shell\n$ niv add git git@github.com:my_user/my_private_repo\n```\n\n##### 2. Use the netrc file\n\nin order to `niv add` a private github repo you'll need to:\n\n1. create a .netrc file with the following content\n```\nmachine github.com\n  login YOUR_GITHUB_USER_NAME\n  password YOUR_GITHUB_TOKEN\n```\n\n2. add the path to the above file to `/etc/nix/nix.conf`:\n```\nnetrc-file = /PATH/TO/.netrc\n```\n\n3. set `GITHUB_TOKEN` env var when calling `niv add`\n```\nGITHUB_TOKEN=$YOUR_GITHUB_TOKEN niv add ...\n```\n\n### How do I import and use the content of a source?\n\nThe way to import a source depend mainly on the content targetted by this\nsource. A source could be a file, a repository with no knowledge of nix\nor a repository already in the nix ecosystem.\n\n#### 1. Direct import of a nix based source\n\nIn the case of a nix based source, you'll often find a `default.nix`  at the\nroot. Let's take this repository as example. We can add it to our `sources.json`\nwith the following command.\n\n``` shell\n$ niv add nmattia/niv\n```\n\nWe can now import niv to use it a nix expression, e.g.:\n\n``` nix\n{ sources ? import nix/sources.nix }:\nlet niv = import sources.niv {};\nin { inherit niv; } # A glorious expression using the reference to niv\n```\n\n#### 2. Import of a nix based source via an overlay\n\nRather than use the resulting derivation directly, you can add it to your custom \nnixpkgs via the overlay system.\n\n``` nix\n{ sources ? import nix/sources.nix}:\nlet overlay = _: pkgs: {\n      niv = (import sources.niv {}).niv;\n    };\n    nixpkgs = import sources.nixpkgs { overlays = [ overlay ]; config = {}; };\nin { inherit (nixpkgs) niv; } # A glorious expression where nixpkgs.niv is referenced\n```\n\n#### 3. Reference to the source's files in the nix store\n\nYou can also reference a simple file, a folder or a repo without nix knowledge\nwith niv. In these cases, you can use the source in your nix expression without\nimporting it.\n\nThe following exemple will compile gnu hello while using this technique to retrieve\nthe source. First, we need to add the new source.\n\n``` shell\n$ niv add hello-src -v 2.10 -t 'https://ftp.gnu.org/gnu/hello/hello-\u003cversion\u003e.tar.gz'\n```\n\nThen, we can use it inside a nix expression.\n\n``` nix\n{ sources ? import nix/sources.nix }:\nlet hello_src = sources.hello-src;\n    nixpkgs =  import sources.nixpkgs {};\nin nixpkgs.stdenv.mkDerivation {\n    pname = \"hello\";\n    version = \"custom\";\n    src = hello_src;\n}\n```\n\n:warning: If you have problems, consider using the outPath of the source\n(e.g. `sources.hello-src.outPath`) instead of the source directly. See \n[this issue](https://github.com/nmattia/niv/issues/325) for more details.\n\n### How do I import a subpath of a source?\n\nIn order to use the directory `dir` of a `my-package`, use the following\npattern:\n\n``` nix\nlet\n  sources = import ./nix/sources.nix;\nin sources.my-package + \"/dir\"\n```\n\nin this example, `sources.my-package` becomes `my-package`'s root directory, and `+ \"/dir\"` appends the\nsubdirectory.\n\n### How do I import NixOS modules?\n\nAfter the package containing the modules has been `niv add`ed, importing the\nmodules is straightforward:\n\n``` nix\nlet\n  sources = import ./nix/sources.nix;\nin {\n  imports = [ (sources.package + \"/path/to/module\") ];\n}\n```\n\n### Can I use local packages?\n\nIf you need to use a local path as a source -- especially convenient when\nmodifying dependencies -- `niv` allows you to override the `sources.json` via\nenvironment variables. To override a source `foo` with a local path\n`./bar/baz`, set the environment variable `NIV_OVERRIDE_foo` to `./bar/baz`.\n\nGenerally, if the environment variable `NIV_OVERRIDE_\u003cname\u003e` is set _and_ you\nhave a source named `\u003cname\u003e` then `niv` will use the value of\n`NIV_OVERRIDE_\u003cname\u003e` as the `outPath` of that source. All non-alphanumeric\ncharacters in the source name are escaped to the character `_`; i.e. to\noverride the package `my package-foo` you need to set the environment variable\n`NIV_OVERRIDE_my_package_foo`.\n\n### Can I use a git dependency with submodules?\n\nYes, however you need to follow some steps.\n\nAdd your dependency as git dependency to your `sources.json`:\n```\nniv add git git@github.com:user/repo -n name\n```\n\nAdd `\"submodules\": true,` to your dependecy in the source.json:\n```\n{\n    \"name\": {\n        \"branch\": \"main\",\n        \"repo\": \"git@github.com:user/repo\",\n        \"rev\": \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n        \"submodules\": true,\n        \"type\": \"git\"\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmattia%2Fniv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnmattia%2Fniv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmattia%2Fniv/lists"}