• Stars
    star
    451
  • Rank 96,968 (Top 2 %)
  • Language
    Rust
  • License
    Mozilla Public Li...
  • Created almost 2 years ago
  • Updated 3 months 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
6,972
star
2

awesome-nix

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

nixvim

Configure Neovim with Nix! [maintainer=@GaetanLepage, @traxys, @mattsturgeon, @khaneliman]
Nix
1,579
star
4

nixos-anywhere

install nixos everywhere via ssh [maintainer=@numtide]
Shell
1,574
star
5

disko

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

nixos-generators

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

nix-on-droid

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

NixOS-WSL

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

nix-direnv

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

impermanence

Modules to help you handle persistent state on systems with ephemeral root storage [maintainer=@talyz]
Nix
1,134
star
11

dream2nix

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

NUR

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

nix-init

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

nixd

Nix language server, based on nix libraries [maintainer=@inclyc,@Aleksanaa]
C++
842
star
15

comma

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

nix-index

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

poetry2nix

Convert poetry projects to nix automagically [maintainer=@adisbladis,@cpcloud]
Nix
812
star
18

lanzaboote

Secure Boot for NixOS [maintainers=@blitz @raitobezarius @nikstur]
Rust
798
star
19

naersk

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

rnix-lsp

WIP Language Server for Nix! [maintainer=@aaronjanse]
Rust
702
star
21

lorri

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

fenix

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

nixGL

A wrapper tool for nix OpenGL application [maintainer=@guibou]
Nix
650
star
24

nix-bundle

Bundle Nix derivations to run anywhere!
Nix
645
star
25

robotnix

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

plasma-manager

Manage KDE Plasma with Home Manager
Nix
575
star
27

nixpkgs-wayland

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

nixpkgs-fmt

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

emacs-overlay

Bleeding edge emacs overlay [maintainer=@adisbladis]
Nix
484
star
30

vulnix

Vulnerability (CVE) scanner for Nix/NixOS.
Python
447
star
31

nixpkgs-update

Updating nixpkgs packages since 2018
Haskell
415
star
32

nixos-vscode-server

Visual Studio Code Server support in NixOS
Nix
377
star
33

crate2nix

rebuild only changed crates in CI with crate2nix and nix
Nix
354
star
34

rnix-parser

A Nix parser written in Rust [maintainer=@oberblastmeister]
Nix
353
star
35

terraform-nixos

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

neovim-nightly-overlay

[maintainer=@GaetanLepage, @willruggiano]
Nix
315
star
37

srvos

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

haumea

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

trustix

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

nixbox

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

vscode-nix-ide

Nix language support for VSCode editor [maintainer: @jnoortheen]
TypeScript
260
star
42

NixNG

A linux distribution based on Nix [maintainer=@MagicRB]
Nix
256
star
43

nix-user-chroot

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

nix-index-database

Weekly updated nix-index database [maintainer=@Mic92]
Nix
237
star
45

dconf2nix

🐾 Convert dconf files (e.g. GNOME Shell) to Nix, as expected by Home Manager [maintainer=@jtojnar]
Nix
228
star
46

nix-emacs

A set of useful Emacs modes and functions for users of Nix and Nix OS.
Emacs Lisp
226
star
47

nix-zsh-completions

ZSH Completions for Nix
Shell
225
star
48

nix-melt

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

gomod2nix

Convert applications using Go modules to Nix expressions [maintainer=@adisbladis]
Nix
216
star
50

kickstart-nix.nvim

❄️ A dead simple Nix flake template repository for Neovim derivations [maintainer=@mrcjkb]
Lua
194
star
51

noogle

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

pypi2nix

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

pip2nix

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

todomvc-nix

Example on how to nixify a project [maintainer=@Rizary]
Nix
169
star
55

flakelight

Framework for simplifying flake setup [maintainer=@accelbread]
Nix
159
star
56

tree-sitter-nix

Nix grammar for tree-sitter [maintainer=@cstrahan]
JavaScript
158
star
57

nix-environments

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

nix-eval-jobs

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

docker-nixpkgs

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

nix-ld-rs

Run unpatched dynamic binaries on NixOS [maintainer=@zhaofengli @Mic92]
Rust
137
star
61

linuxkit-nix

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

nix-vscode-extensions

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

npmlock2nix

nixify npm based packages [maintainer=@andir]
Nix
130
star
64

nixos-install-scripts

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

nixago

Generate configuration files using Nix [maintainer=@jmgilman]
Nix
125
star
66

nixdoc

Tool to generate documentation for Nix library functions [maintainer=@infinisil]
Nix
124
star
67

yarn2nix

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

nixpkgs-lint

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

dns.nix

A Nix DSL for DNS zone files [maintainers=@raitobezarius @kirelagin @Tom-Hubrecht]
Nix
116
star
70

namaka

Snapshot testing for Nix based on haumea [maintainer=@figsoda]
Rust
106
star
71

nix-unstable-installer

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

go-nix

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

wiki

Nixos wiki [maintainer=@samueldr]
102
star
74

pyproject.nix

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

nur-combined

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

napalm

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

nixos-images

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

vgo2nix

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

nixt

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

nur-packages-template

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

pnpm2nix

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

mineflake

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

nix-github-actions

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

buildbot-nix

A nixos module to make buildbot a proper Nix-CI [maintainer=@Mic92]
Python
74
star
85

infra

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

nix-data-science

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

zon2nix

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

hydra-check

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

kde2nix

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

nixpkgs.lib

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

ethereum.nix

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

setup.nix

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

nix-installers

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

nix-unit

Unit testing for Nix code [maintainer=@adisbladis]
C++
60
star
95

nix4vscode

Rust
53
star
96

redoxpkgs

Cross-compile to Redox using Nix [maintainer=@aaronjanse]
Nix
52
star
97

nix-ts-mode

An Emacs major mode for editing Nix expressions, powered by tree-sitter [maintainer=@remi-gelinas]
Emacs Lisp
50
star
98

patsh

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

mavenix

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

nixpkgs-pytools

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