GitHub - nix-community/nix-init: Generate Nix packages from URLs with hash prefe...
source link: https://github.com/nix-community/nix-init
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
nix-init
Generate Nix packages from URLs
Note: It is likely that the generated package will not work without some tweaks, also remember to double check the license and description even if it does work
- Hash prefetching powered by nurl with support for
cargoHash
andvendorHash
- Dependency inference for Rust and Python projects
- Interactive prompts with fuzzy tab completions
- License detection
Installation
The latest release of nix-init is packaged in nixpkgs and kept up to date on the unstable branches
If you want to use a more recent snapshot of nix-init, it is also available as a flake.
The following command is equivalent to running nix-init --help
:
nix run github:nix-community/nix-init -- --help
or if you don't have flakes enabled:
nix run --extra-experimental-features "flakes nix-command" github:nix-community/nix-init -- --help
Usage
Usage: nix-init [OPTIONS] [OUTPUT]
Arguments:
[OUTPUT] The path or directory to output the generated file to
Options:
-u, --url <URL> Specify the URL
-n, --nixpkgs <NIXPKGS> Path to nixpkgs (in nix)
-c, --config <CONFIG> Specify the config file
-h, --help Print help
-V, --version Print version
Supported builders
stdenv.mkDerivation
buildRustPackage
buildPythonApplication
andbuildPythonPackage
buildGoModule
Supported fetchers
fetchCrate
fetchFromGitHub
fetchFromGitLab
fetchFromGitea
fetchPypi
- All other fetchers supported by nurl are also supported, you just have to manually input the tag/revision of the package
Configuration
nix-init will try to find nix-init/config.toml
under XDG configuration directories
# ~/.config/nix-init/config.toml
# maintainers that will get added to the package meta
maintainers = ["figsoda"]
# path to nixpkgs, equivalent to `--nixpkgs`
nixpkgs = "<nixpkgs>"
# access tokens to access private repositories and avoid rate limits
[access-tokens]
"github.com" = "ghp_blahblahblah..."
"gitlab.com".command = ["secret-tool", "or", "whatever", "you", "use"]
"gitlab.gnome.org".file = "/path/to/api/token"
Changelog
See CHANGELOG.md
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK