1
1
mirror of https://github.com/nmattia/niv.git synced 2024-09-19 11:27:40 +03:00
Easy dependency management for Nix projects
Go to file
2019-01-31 22:04:15 +01:00
.circleci Only print cache size if cache 2019-01-31 22:04:15 +01:00
nix Update deps 2019-01-31 20:42:29 +01:00
.gitignore Add gitignore 2019-01-31 19:05:08 +01:00
default.nix Generate README from niv 2019-01-30 23:56:35 +01:00
Main.hs Enable build warnings 2019-01-31 20:42:39 +01:00
package.yaml Enable build warnings 2019-01-31 20:42:39 +01:00
README.md Update README 2019-01-31 20:44:10 +01:00
README.tpl.md Update README 2019-01-31 20:44:10 +01:00
shell.nix Clean up nix files 2019-01-28 19:48:51 +01:00

niv

A tool for dealing with third-party packages in Nix.

Building

Inside the provided nix shell:

$ # GHCi:
$ snack ghci
$ # run:
$ snack run -- <args>

Usage

NIV - Version manager for Nix projects

Usage: niv COMMAND

Available options:
  -h,--help                Show this help text

Available commands:
  init                     Initialize a Nix project. Existing files won't be
                           modified.
  add                      Add dependency
  show                     
  update                   Update dependencies
  drop                     Drop dependency

Add

Examples:

  niv add stedolan/jq
  niv add NixOS/nixpkgs-channel -n nixpkgs -b nixos-18.09
  niv add my-package -v alpha-0.1 -t http://example.com/archive/<version>.zip

Usage: niv add [-n|--name NAME] PACKAGE ([-a|--attribute KEY=VAL] |
               [-b|--branch BRANCH] | [-o|--owner OWNER] | [-r|--repo REPO] |
               [-v|--version VERSION] | [-t|--template URL])
  Add dependency

Available options:
  -n,--name NAME           Set the package name to <NAME>
  -a,--attribute KEY=VAL   Set the package spec attribute <KEY> to <VAL>
  -b,--branch BRANCH       Equivalent to --attribute branch=<BRANCH>
  -o,--owner OWNER         Equivalent to --attribute owner=<OWNER>
  -r,--repo REPO           Equivalent to --attribute repo=<REPO>
  -v,--version VERSION     Equivalent to --attribute version=<VERSION>
  -t,--template URL        Used during 'update' when building URL. Occurrences
                           of <foo> are replaced with attribute 'foo'.
  -h,--help                Show this help text

Update

Examples:

  niv update
  niv update nixpkgs
  niv update my-package -v beta-0.2

Usage: niv update [PACKAGE] ([-a|--attribute KEY=VAL] | [-b|--branch BRANCH] |
                  [-o|--owner OWNER] | [-r|--repo REPO] | [-v|--version VERSION]
                  | [-t|--template URL])
  Update dependencies

Available options:
  -a,--attribute KEY=VAL   Set the package spec attribute <KEY> to <VAL>
  -b,--branch BRANCH       Equivalent to --attribute branch=<BRANCH>
  -o,--owner OWNER         Equivalent to --attribute owner=<OWNER>
  -r,--repo REPO           Equivalent to --attribute repo=<REPO>
  -v,--version VERSION     Equivalent to --attribute version=<VERSION>
  -t,--template URL        Used during 'update' when building URL. Occurrences
                           of <foo> are replaced with attribute 'foo'.
  -h,--help                Show this help text

Drop

Examples:

  niv drop jq

Usage: niv drop PACKAGE
  Drop dependency

Available options:
  -h,--help                Show this help text