Swiss-knife for updating nix packages.
Go to file
2020-03-17 12:21:18 +00:00
bin make it a proper python/nix package 2020-03-16 10:06:32 +00:00
nix_update remove shebang from nix_update module 2020-03-16 11:08:03 +00:00
.gitignore make it a proper python/nix package 2020-03-16 10:06:32 +00:00
default.nix make it a proper python/nix package 2020-03-16 10:06:32 +00:00
LICENSE.rst make it a proper python/nix package 2020-03-16 10:06:32 +00:00
README.rst README: reference nur package 2020-03-17 12:21:18 +00:00
setup.cfg make it a proper python/nix package 2020-03-16 10:06:32 +00:00
setup.py make it a proper python/nix package 2020-03-16 10:06:32 +00:00

nix-update
==========

Update nix packages likes it is 2020. This tool is still in early
development.

Dependencies
------------

-  python 3
-  `nix-prefetch <https://github.com/msteen/nix-prefetch/>`__

Features
--------

- automatically figure out the latest version of packages from:

  - github.com
  - gitlab.com
  - pypi
- update buildRustPackage's cargoSha256
- update buildGoModule's modSha256
- build and run the resulting package (see `--build`, `--run` or `--shell` flag)

Installation
------------

`nix-update` is included in [NUR](https://github.com/nix-community/NUR).

To use it run without installing it, use:

```console
$ nix-shell -p nur.repos.mic92.nix-update
```

To install it:

```console
$ nix-env -f '<nixpkgs>' -iA nix-update
```

To run it from the git repository:

```console
$ nix-build
$ ./result/bin/nix-update
```

Note that this asserts formatting with the latest version of
[black](https://github.com/psf/black), so you may need to specify a more up to
date version of NixPkgs:

```console
$ nix-build -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixpkgs-unstable.tar.gz
$ ./result/bin/nix-update
```

USAGE
-----

First change to your directory containing the nix expression (Could be a
nixpkgs or your own repository). Than run ``nix-update`` as follows

::

   $ nix-update attribute [version]

This example will fetch the latest github release:

::

   $ nix-update nixpkgs-review

It is also possible to specify the version manually

::

   $ nix-update nixpkgs-review 2.1.1

TODO
----

-  ☐ optionally commit update
-  ☐ update unstable packages from git to latest master