Crates.io | nvrs |
lib.rs | nvrs |
version | |
source | src |
created_at | 2024-11-17 14:13:38.870203 |
updated_at | 2024-12-03 20:35:21.424417 |
description | π¦ fast new version checker for software releases π¦ |
homepage | |
repository | https://github.com/adamperkowski/nvrs |
max_upload_size | |
id | 1451285 |
Cargo.toml error: | TOML parse error at line 28, column 1 | 28 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
check the release notes for compatibility updates
command | time per updated package | details |
---|---|---|
nvrs |
~ 0.03s | API requests included depends on internet speed |
nvrs --cmp |
~ 0.0008s | depends on disk speed |
nvrs --take |
~ 0.001s | depends on disk speed |
aur
github
gitlab
(with custom hosts)ALL
argument for the --take
command--no-fail
flag to prevent exiting on recoverable errors--nuke
command to delete packages from all files--list-sources
command to list all available sourcesnvrs is available as a package in the AUR.
you can install it with your preferred AUR helper, example:
paru -S nvrs
or manually:
git clone https://aur.archlinux.org/nvrs.git
cd nvrs
makepkg -si
nvrs can be installed via Cargo with:
cargo install nvrs
note that crates installed using cargo install
require manual updating with cargo install --force
.
chmod +x nvrs
$PATH
(using /usr/bin
as an example)sudo mv nvrs /usr/bin/nvrs
nvrs relies on a configuration file. see configuration.
the core commands are:
nvrs
- fetches latest versions of defined packagesnvrs --cmp
- compares newver with oldver and displays differencesnvrs --take
- automatically updates oldver. takes in a comma-separated list of package names (ALL
for all packages)nvrs --nuke
- deletes packages from all files. takes in a comma-separated list of names (yes, just like a hitman)--no-fail
flag - as the name suggests, specifying this will make nvrs not exit on recoverable errors# download the example configuration file
curl -L 'https://github.com/adamperkowski/nvrs/raw/main/nvrs.toml' -o nvrs.toml
# fetch latest package versions (should return `NONE -> version` for all packages)
nvrs --no-fail
# compare them to latest known versions (should also return `NONE -> version`)
nvrs -c
# update the known versions
nvrs -t ALL
nvrs relies on a configuration file (example) containing basic settings, such as oldver
, newver
& keyfile
paths, as well as package entries. supported config paths:
$XDG_CONFIG_HOME/nvrs.toml
(~/.config/nvrs.toml
if the variable is not set)./nvrs.toml
nvrs --config
__config__
tablethis configures the behavior of nvrs. see the example config.
available fields:
name | description | type | required |
---|---|---|---|
oldver |
path to the oldver file |
string | βοΈ |
newver |
path to the newver file |
string | βοΈ |
keyfile |
path to a keyfile (see keyfile structure) | string | β |
package entries are custom entries in the main config file. they contain values such as:
name | description | type | required | custom |
---|---|---|---|---|
source |
see sources | string | βοΈ | β |
source name | the "target". eg. repo path for github |
string | βοΈ | βοΈ |
host |
domain name the source is hosted on | string | β | β |
prefix |
the prefix used in releases / tags example: v for tags like v0.1.0 |
string | β | β |
use_max_tag |
use max git tag instead of the latest release | bool | β | β |
this file contains API keys for various sources. example can be found here.
[keys]
github = "your_secret_github_api_key_that_you_shouldnt_push_to_a_public_nor_a_private_remote_repo_because_there_will_definitely_be_serious_consequences_sooner_or_later_if_you_do_trust_me_just_dont"
gitlab = "remember_to_replace_the_example_values_here_here_with_your_actual_keys_otherwise_it_wont_work_but_dont_push_keyfiles_to_remote_repos"
"I think that example value is not long enough" - orhun
the nvrs library documentation can be found at docs.rs/nvrs
Copyright (c) 2024 Adam Perkowski
see LICENSE