1
1
mirror of https://github.com/nmattia/niv.git synced 2024-09-18 19:07:19 +03:00
niv/README.md

118 lines
2.9 KiB
Markdown
Raw Normal View History

2019-01-17 23:59:01 +03:00
# niv
2019-02-01 00:05:45 +03:00
[![CircleCI](https://circleci.com/gh/nmattia/niv.svg?style=svg)](https://circleci.com/gh/nmattia/niv)
2019-01-17 23:59:01 +03:00
A tool for dealing with third-party packages in [Nix].
2019-02-05 17:18:42 +03:00
## Install
``` bash
$ nix-env -iA niv -f https://github.com/nmattia/niv/tarball/master
```
## Build
2019-01-18 01:00:48 +03:00
Inside the provided nix shell:
``` bash
$ # GHCi:
2019-01-23 23:55:26 +03:00
$ snack ghci
2019-01-29 00:37:13 +03:00
$ # run:
$ snack run -- <args>
2019-01-18 01:00:48 +03:00
```
2019-01-17 23:59:01 +03:00
## Usage
2019-01-29 00:37:13 +03:00
* [Add](#add)
* [Update](#update)
* [Drop](#drop)
2019-01-17 23:59:01 +03:00
2019-01-29 00:37:13 +03:00
```
NIV - Version manager for Nix projects
2019-01-24 23:58:22 +03:00
2019-01-29 00:37:13 +03:00
Usage: niv COMMAND
2019-01-24 23:58:22 +03:00
2019-01-29 00:37:13 +03:00
Available options:
-h,--help Show this help text
2019-01-24 23:58:22 +03:00
2019-01-29 00:37:13 +03:00
Available commands:
init Initialize a Nix project. Existing files won't be
modified.
add Add dependency
2019-01-31 01:56:35 +03:00
show
2019-01-29 00:37:13 +03:00
update Update dependencies
drop Drop dependency
2019-01-31 01:56:35 +03:00
2019-01-29 00:37:13 +03:00
```
2019-01-17 23:59:01 +03:00
2019-01-29 00:37:13 +03:00
### Add
2019-01-17 23:59:01 +03:00
```
2019-01-29 00:37:13 +03:00
Examples:
2019-01-17 23:59:01 +03:00
2019-01-29 00:37:13 +03:00
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
2019-01-17 23:59:01 +03:00
2019-01-31 22:44:10 +03:00
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])
2019-01-29 00:37:13 +03:00
Add dependency
2019-01-17 23:59:01 +03:00
2019-01-29 00:37:13 +03:00
Available options:
2019-01-31 22:44:10 +03:00
-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>
2019-01-31 01:56:35 +03:00
-t,--template URL Used during 'update' when building URL. Occurrences
of <foo> are replaced with attribute 'foo'.
2019-01-29 00:37:13 +03:00
-h,--help Show this help text
2019-01-31 01:56:35 +03:00
2019-01-17 23:59:01 +03:00
```
2019-01-29 00:37:13 +03:00
### Update
2019-01-27 01:39:38 +03:00
2019-01-29 00:37:13 +03:00
```
Examples:
2019-01-23 23:55:26 +03:00
2019-01-29 00:37:13 +03:00
niv update
niv update nixpkgs
niv update my-package -v beta-0.2
2019-01-23 23:55:26 +03:00
2019-01-31 22:44:10 +03:00
Usage: niv update [PACKAGE] ([-a|--attribute KEY=VAL] | [-b|--branch BRANCH] |
[-o|--owner OWNER] | [-r|--repo REPO] | [-v|--version VERSION]
| [-t|--template URL])
2019-01-29 00:37:13 +03:00
Update dependencies
2019-01-23 23:55:26 +03:00
2019-01-29 00:37:13 +03:00
Available options:
2019-01-31 22:44:10 +03:00
-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>
2019-01-31 01:56:35 +03:00
-t,--template URL Used during 'update' when building URL. Occurrences
of <foo> are replaced with attribute 'foo'.
2019-01-29 00:37:13 +03:00
-h,--help Show this help text
2019-01-31 01:56:35 +03:00
2019-01-29 00:37:13 +03:00
```
2019-01-23 23:55:26 +03:00
2019-01-29 00:37:13 +03:00
### Drop
2019-01-27 01:39:38 +03:00
2019-01-29 00:37:13 +03:00
```
Examples:
2019-01-27 01:39:38 +03:00
2019-01-29 00:37:13 +03:00
niv drop jq
2019-02-08 21:07:05 +03:00
niv drop my-package version
2019-01-27 01:39:38 +03:00
2019-02-08 21:07:05 +03:00
Usage: niv drop PACKAGE [ATTRIBUTE]
2019-01-29 00:37:13 +03:00
Drop dependency
2019-01-23 23:55:26 +03:00
2019-01-29 00:37:13 +03:00
Available options:
-h,--help Show this help text
2019-01-31 01:56:35 +03:00
2019-01-29 00:37:13 +03:00
```
2019-01-17 23:59:01 +03:00
2019-01-18 00:01:09 +03:00
[Nix]: https://nixos.org/nix/