• Stars
    star
    360
  • Rank 114,130 (Top 3 %)
  • Language
    Rust
  • License
    Mozilla Public Li...
  • Created over 1 year ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Generate Nix fetcher calls from repository URLs [maintainer=@figsoda]

nurl

release version deps license ci

Generate Nix fetcher calls from repository URLs

$ nurl https://github.com/nix-community/patsh v0.2.0 2>/dev/null
fetchFromGitHub {
  owner = "nix-community";
  repo = "patsh";
  rev = "v0.2.0";
  hash = "sha256-7HXJspebluQeejKYmVA7sy/F3dtU1gc4eAbKiPexMMA=";
}

If you want to generate Nix packages, feel free check out nix-init, which builds on top of nurl

Supported Fetchers

  • builtins.fetchGit
  • fetchCrate
  • fetchFromBitbucket
  • fetchFromGitHub
  • fetchFromGitLab
  • fetchFromGitea
  • fetchFromGitiles
  • fetchFromRepoOrCz
  • fetchFromSourcehut
  • fetchHex
  • fetchPypi
  • fetchgit
  • fetchhg
  • fetchsvn

Usage

Usage: nurl [OPTIONS] [URL] [REV]

Arguments:
  [URL]  URL to the repository to be fetched
  [REV]  The revision or reference to be fetched

Options:
  -S, --submodules[=<SUBMODULES>]      Fetch submodules instead of using the fetcher's default [possible
                                       values: true, false]
  -f, --fetcher <FETCHER>              Specify the fetcher function instead of inferring from the
                                       URL [possible values: builtins.fetchGit, fetchCrate,
                                       fetchFromBitbucket, fetchFromGitHub, fetchFromGitLab,
                                       fetchFromGitea, fetchFromGitiles, fetchFromRepoOrCz,
                                       fetchFromSourcehut, fetchHex, fetchPypi, fetchgit, fetchhg,
                                       fetchsvn]
  -F, --fallback <FALLBACK>            The fetcher to fall back to when nurl fails to infer it from
                                       the URL [default: fetchgit] [possible values:
                                       builtins.fetchGit, fetchCrate, fetchFromBitbucket,
                                       fetchFromGitHub, fetchFromGitLab, fetchFromGitea,
                                       fetchFromGitiles, fetchFromRepoOrCz, fetchFromSourcehut,
                                       fetchHex, fetchPypi, fetchgit, fetchhg, fetchsvn]
  -n, --nixpkgs <NIXPKGS>              Path to nixpkgs (in nix) [default: <nixpkgs>]
  -i, --indent <INDENT>                Extra indentation (in number of spaces) [default: 0]
  -H, --hash                           Only output the hash
  -j, --json                           Output in json format
  -p, --parse                          Parse the url without fetching the hash, output in json
                                       format
  -a, --arg <NAME> <EXPR>              Additional arguments to pass to the fetcher
  -A, --arg-str <NAME> <STRING>        Same as --arg, but accepts strings instead Nix expressions
  -o, --overwrite <NAME> <EXPR>        Overwrite arguments in the final output, not taken into
                                       consideration when fetching the hash
  -O, --overwrite-str <NAME> <STRING>  Same as --overwrite, but accepts strings instead Nix
                                       expressions
  -e, --expr <EXPR>                    Instead of fetching a URL, get the hash of a fixed-output
                                       derivation, implies --hash and ignores all other options
  -l, --list-fetchers                  List all available fetchers
  -L, --list-possible-fetchers         List all fetchers that can be generated without --fetcher
  -s, --list-sep <SEPARATOR>           Print out the listed fetchers with the specified separator,
                                       only used when --list-fetchers or --list-possible-fetchers is
                                       specified
  -h, --help                           Print help
  -V, --version                        Print version

Comparison to nix-prefetch

  • nurl infers the fetcher from the URL. For nix-prefetch, you need to pick the fetcher and supply the arguments manually.
  • nix-prefetch relies on FOD which is slow, nurl tries to use alternatives when possible.
  • nix-prefetch is more configurable and supports file attributes.
  • nix-prefetch has an interface similar to nix-build.
  • nurl has some nice features dedicated to generated packages (--indent, --list-possible-fetchers).

Changelog

See CHANGELOG.md

More Repositories

1

home-manager

Manage a user environment using Nix [maintainer=@rycee]
Nix
5,937
star
2

awesome-nix

😎 A curated list of the best resources in the Nix community [maintainer=@cyntheticfox]
2,546
star
3

nixos-generators

Collection of image builders [maintainer=@Lassulus]
Nix
1,338
star
4

NixOS-WSL

NixOS on WSL(2) [maintainer=@nzbr]
Nix
1,236
star
5

disko

Declarative disk partitioning and formatting using nix [maintainer=@Lassulus]
Nix
1,232
star
6

nix-direnv

A fast, persistent use_nix/use_flake implementation for direnv [maintainer=@Mic92 / @bbenne10]
Nix
1,170
star
7

nixvim

Configure Neovim with Nix! [maintainer=@pta2002, @traxys, @GaetanLepage]
Nix
1,060
star
8

nix-on-droid

Nix-enabled environment for your Android device. [maintainers=@t184256,@Gerschtli]
Nix
1,038
star
9

nixos-anywhere

install nixos everywhere via ssh [maintainer=@numtide]
Shell
1,029
star
10

NUR

Nix User Repository: User contributed nix packages [maintainer=@Mic92]
Python
882
star
11

impermanence

Modules to help you handle persistent state on systems with ephemeral root storage [maintainer=@talyz]
Nix
882
star
12

dream2nix

Simplified nix packaging for various programming language ecosystems [maintainer=@DavHau]
Nix
839
star
13

comma

Comma runs software without installing it. [maintainers=@Artturin,@burke,@DavHau]
Rust
831
star
14

rnix-lsp

WIP Language Server for Nix! [maintainer=@aaronjanse]
Rust
701
star
15

poetry2nix

Convert poetry projects to nix automagically [maintainer=@adisbladis]
Nix
693
star
16

nix-init

Generate Nix packages from URLs with hash prefetching, dependency inference, license detection, and more [maintainer=@figsoda]
Rust
692
star
17

nix-index

Quickly locate nix packages with specific files [maintainers=@bennofs @figsoda @raitobezarius]
Rust
681
star
18

naersk

Build Rust projects in Nix - no configuration, no code generation, no IFD, sandbox friendly.
Nix
641
star
19

nixd

Nix language server, based on nix libraries [maintainer=@inclyc]
C++
619
star
20

lanzaboote

Secure Boot for NixOS [maintainers=@blitz @raitobezarius @nikstur]
Rust
584
star
21

lorri

Your project’s nix-env [maintainer=@Profpatsch,@nyarly]
Rust
576
star
22

nixGL

A wrapper tool for nix OpenGL application [maintainer=@guibou]
Nix
564
star
23

robotnix

Build Android (AOSP) using Nix [maintainer=@danielfullmer,@Atemu]
Nix
558
star
24

fenix

Rust toolchains and rust-analyzer nightly for Nix [maintainer=@figsoda]
Nix
547
star
25

nixpkgs-fmt

Nix code formatter for nixpkgs [maintainer=@zimbatm]
Rust
503
star
26

nixpkgs-wayland

Automated, pre-built packages for Wayland (sway/wlroots) tools for NixOS. [maintainers=@colemickens, @Artturin]
Nix
467
star
27

emacs-overlay

Bleeding edge emacs overlay [maintainer=@adisbladis]
Nix
451
star
28

vulnix

Vulnerability (CVE) scanner for Nix/NixOS.
Python
378
star
29

rnix-parser

A Nix parser written in Rust [maintainer=@oberblastmeister]
Nix
328
star
30

nixos-vscode-server

Visual Studio Code Server support in NixOS
Nix
316
star
31

crate2nix

rebuild only changed crates in CI with crate2nix and nix
Nix
311
star
32

terraform-nixos

A set of Terraform modules that are designed to deploy NixOS [maintainer=@adrian-gierakowski]
HCL
304
star
33

srvos

NixOS profiles for servers [maintainer=@numtide]
Nix
297
star
34

nixbox

NixOS Vagrant boxes [maintainer=@zimbatm]
HCL
276
star
35

neovim-nightly-overlay

[maintainer=@Kranzes]
Nix
267
star
36

vscode-nix-ide

Nix language support for VSCode editor [maintainer: @jnoortheen]
TypeScript
248
star
37

nix-user-chroot

Install & Run nix without root permissions [maintainer=@Mic92]
Rust
243
star
38

haumea

Filesystem-based module system for Nix [maintainer=@figsoda]
Nix
235
star
39

trustix

Trustix: Distributed trust and reproducibility tracking for binary caches [maintainer=@adisbladis]
Go
234
star
40

NixNG

A linux distribution based on Nix [maintainer=@MagicRB]
Nix
210
star
41

nix-zsh-completions

ZSH Completions for Nix
Shell
208
star
42

nix-index-database

Weekly updated nix-index database [maintainer=@Mic92]
Nix
205
star
43

noogle

https://noogle.dev - nix function exploring. [maintainer=@hsjobeki]
Nix
194
star
44

nix-melt

A ranger-like flake.lock viewer [maintainer=@figsoda]
Rust
190
star
45

pypi2nix

Abandoned! Generate Nix expressions for Python packages
Python
189
star
46

gomod2nix

Convert applications using Go modules to Nix expressions [maintainer=@adisbladis]
Nix
186
star
47

todomvc-nix

Example on how to nixify a project [maintainer=@Rizary]
Nix
160
star
48

nix-environments

Repository to maintain out-of-tree shell.nix files (maintainer=@mic92)
Nix
156
star
49

pip2nix

Freeze pip-installable packages into Nix expressions [maintainer=@datakurre]
Python
152
star
50

docker-nixpkgs

docker images from nixpkgs [maintainer=@zimbatm]
Nix
137
star
51

linuxkit-nix

An easy to use Linux builder for macOS [maintainer=@nicknovitski]
Nix
133
star
52

nix-vscode-extensions

Nix expressions for VSCode and OpenVSX extensions [maintainers: @deemp, @AmeerTaweel]
Haskell
132
star
53

tree-sitter-nix

Nix grammar for tree-sitter [maintainer=@cstrahan]
JavaScript
129
star
54

npmlock2nix

nixify npm based packages [maintainer=@andir]
Nix
125
star
55

yarn2nix

Generate nix expressions from a yarn.lock file [maintainer=???]
Nix
123
star
56

nixos-install-scripts

collection of one-shot scripts to install NixOS on various server hosters and other hardware. [maintainer=@happysalada]
Shell
122
star
57

nix-eval-jobs

Parallel nix evaluator with a streamable json output [maintainers @Mic92, @adisbladis]
C++
119
star
58

flakelight

Framework for simplifying flake setup [maintainer=@accelbread]
Nix
114
star
59

nixdoc

Tool to generate documentation for Nix library functions [maintainer=@infinisil]
Nix
113
star
60

nixago

Generate configuration files using Nix [maintainer=@jmgilman]
Nix
112
star
61

nix-unstable-installer

A place to host Nix unstable releases [maintainer=@lilyinstarlight]
Ruby
105
star
62

wiki

Nixos wiki [maintainer=@samueldr]
104
star
63

go-nix

Elements of Nix re-implemented as Go libraries [maintainer=@flokli]
Go
102
star
64

nixpkgs-lint

A fast semantic linter for Nix using tree-sitter 🌳 + ❄️. [maintainers=@Artturin,@siraben]
Rust
101
star
65

namaka

Snapshot testing for Nix based on haumea [maintainer=@figsoda]
Rust
96
star
66

dns.nix

A Nix DSL for DNS zone files
Nix
93
star
67

nur-combined

A repository of NUR that combines all repositories [maintainer=@Mic92]
Nix
92
star
68

napalm

Support for building npm packages in Nix and lightweight npm registry [maintainer @jtojnar]
Nix
91
star
69

nixos-images

Automatically build (netboot) images for NixOS [maintainer=@Mic92]
Nix
90
star
70

vgo2nix

Convert go.mod files to nixpkgs buildGoPackage compatible deps.nix files [maintainer=@adisbladis]
Nix
89
star
71

nixt

Simple unit-testing for Nix [maintainer=@Lord-Valen]
TypeScript
87
star
72

nur-packages-template

A template for NUR repositories: [maintainer=@fgaz]
Nix
84
star
73

pnpm2nix

Load pnpm lock files into nix :) [maintainer=@adisbladis]
Nix
82
star
74

mineflake

Declarative Minecraft server in NixOS [unmaintained]
Rust
75
star
75

infra

nix-community infrastructure [maintainer=@Mic92]
Nix
74
star
76

kde2nix

Provisional, experimental Plasma 6 (and friends) pre-release packaging [maintainer=@K900]
Nix
69
star
77

nix-data-science

Standard set of packages and overlays for data-scientists [maintainer=@tbenst]
Nix
68
star
78

pyproject.nix

A collection of Nix utilities to work with Python projects [maintainer=@adisbladis]
Nix
65
star
79

ethereum.nix

Nix packages and NixOS modules for the Ethereum ecosystem. [maintainers=@aldoborrero,@brianmcgee,@selfuryon]
Nix
65
star
80

setup.nix

Nixpkgs based build tools for declarative Python packages [maintainer=@datakurre]
Nix
64
star
81

nixpkgs.lib

nixpkgs lib for cheap instantiation [maintainer=@github-action] (with initial help from @blaggacao)
Nix
63
star
82

nix-installers

Nix installers for legacy distributions (rpm & deb & pacman) [maintainer=@adisbladis]
Nix
62
star
83

hydra-check

check hydra for the build status of a package [maintainer=@makefu,@Artturin]
Python
60
star
84

zon2nix

Convert the dependencies in `build.zig.zon` to a Nix expression [maintainer=@figsoda]
Zig
58
star
85

redoxpkgs

Cross-compile to Redox using Nix [maintainer=@aaronjanse]
Nix
51
star
86

nix-github-actions

A library to turn Nix Flake attribute sets into Github Actions matrices [maintainer=@adisbladis]
Nix
49
star
87

nix-ld-rs

Run unpatched dynamic binaries on NixOS [maintainer=@zhaofengli @Mic92]
Rust
47
star
88

patsh

A command-line tool for patching shell scripts inspired by resholve [maintainer=@figsoda]
Rust
46
star
89

mavenix

Deterministic Maven builds using Nix [maintainer=@icetan]
Nix
45
star
90

nixpkgs-pytools

Tools for removing the tedious nature of creating nixpkgs derivations [maintainer=@costrouc]
Python
42
star
91

nix-unit

Unit testing for Nix code [maintainer=@adisbladis]
C++
41
star
92

docker-nix

Docker image for nix [maintainer=@zimbatm] [status=deprecated]
Dockerfile
38
star
93

nix-ts-mode

An Emacs major mode for editing Nix expressions, powered by tree-sitter.
Emacs Lisp
37
star
94

builtwithnix.org

Share the love of Nix [maintainer=@zimbatm]
HTML
37
star
95

nixpkgs-terraform-providers-bin

auto-updating terraform providers for nix [maintainer=@zimbatm]
Nix
35
star
96

nixops-libvirtd

NixOps libvirtd backend plugin [maintainer=@AmineChikhaoui]
Python
34
star
97

flake-nimble

Nimble packages Nix flake [maintainer=?]
Nix
33
star
98

authentik-nix

Nix flake with package, NixOS module and basic VM test for authentik. Trying to provide an alternative deployment mode to the officially supported docker-compose approach. Not affiliated with or officially supported by the authentik project [maintainer=@willibutz]
Nix
31
star
99

flake-firefox-nightly

this provides an auto-updating flake for firefox-nightly-bin from nixpkgs-mozilla [maintainer=@colemickens, @Artturin]
Nix
27
star
100

dreampkgs

A collection of software packages managed with dream2nix [maintainer=@DavHau]
Nix
26
star