···1# `nix-versions` - All versions of nixpkgs at your fingerprints.
23-`nix-versions` is a CLI tool that can help you [find the nixpkgs revision for historical versions of a package](https://nix-versions.alwaysdata.net/getting-started/listing-versions.html).
45It does so by integrating the following services available to the nix ecosystem:
6···1617It also features [version constraint](https://github.com/Masterminds/semver?tab=readme-ov-file#hyphen-range-comparisons) filters, allowing you to restrict packages to a known set of compatible/stable versions that work with you.
1819-When used in conjuction with `nix shell` and `direnv`, `nix-versions`, it can also double as a plain-text [development shell and tools version manager with automatic environment loading](https://nix-versions.alwaysdata.net/tools-version-manager.html) targeting people new to nix, but familiar with tools like npm, rvm, asdf, mise.
2021-Our website provides a flakes generator for version-pinned packages. You can use these generated flakes as inputs on your own flakes, [allowing version constrained package updates](https://nix-versions.alwaysdata.net/flake-generator.html).
2223-Read more at our [website](https://nix-versions.alwaysdata.net/)
2425-### https://nix-versions.alwaysdata.net
···1# `nix-versions` - All versions of nixpkgs at your fingerprints.
23+`nix-versions` is a CLI tool that can help you [find the nixpkgs revision for historical versions of a package](https://nix-versions.oeiuwq.com/getting-started/listing-versions.html).
45It does so by integrating the following services available to the nix ecosystem:
6···1617It also features [version constraint](https://github.com/Masterminds/semver?tab=readme-ov-file#hyphen-range-comparisons) filters, allowing you to restrict packages to a known set of compatible/stable versions that work with you.
1819+When used in conjuction with `nix shell` and `direnv`, `nix-versions`, it can also double as a plain-text [development shell and tools version manager with automatic environment loading](https://nix-versions.oeiuwq.com/tools-version-manager.html) targeting people new to nix, but familiar with tools like npm, rvm, asdf, mise.
2021+Our website provides a flakes generator for version-pinned packages. You can use these generated flakes as inputs on your own flakes, [allowing version constrained package updates](https://nix-versions.oeiuwq.com/flake-generator.html).
2223+Read more at our [website](https://nix-versions.oeiuwq.com/)
2425+### https://nix-versions.oeiuwq.com
+2-2
docs/README.md
···62> You can use our `flake.zip` endpoint as an input on your own `flake.nix` or `devenv.yaml`.<br/>
63> There's also `flake.nix` endpoint that outputs a text file.
64```shell
65-nix develop 'https://nix-versions.alwaysdata.net/flake.zip/cowsay@latest/go@1.24.x' --output-lock-file /dev/null
66```
67<details><summary>see command output</summary>
68<pre class="ansi-to-html">
···74> Our `use_nix_tools.sh` endpoint can get you a `direnv` shell in no time!<br/>
75> You don't even need `nix-versions` installed, just `nix` and `direnv`.
76```shell
77-direnv fetchurl "https://nix-versions.alwaysdata.net/use_nix_tools.sh/ruby/cowsay"
78```
···62> You can use our `flake.zip` endpoint as an input on your own `flake.nix` or `devenv.yaml`.<br/>
63> There's also `flake.nix` endpoint that outputs a text file.
64```shell
65+nix develop 'https://nix-versions.oeiuwq.com/flake.zip/cowsay@latest/go@1.24.x' --output-lock-file /dev/null
66```
67<details><summary>see command output</summary>
68<pre class="ansi-to-html">
···74> Our `use_nix_tools.sh` endpoint can get you a `direnv` shell in no time!<br/>
75> You don't even need `nix-versions` installed, just `nix` and `direnv`.
76```shell
77+direnv fetchurl "https://nix-versions.oeiuwq.com/use_nix_tools.sh/ruby/cowsay"
78```
+7-7
docs/flake-generator.md
···1213```shell
14# Generate a flake.nix containing latest ruby and nodejs.
15-curl https://nix-versions.alwaysdata.net/flake.nix/ruby@latest/nodejs@latest -o flake.nix
1617# An archive containing flake.nix. This is useful as input for your own flakes.
18-curl https://nix-versions.alwaysdata.net/flake.zip/ruby@latest/nodejs@latest -o flake.zip
19```
2021## Keeping up to date with versioned packages
···2425```nix
26{
27- inputs.tools.url = "https://nix-versions.alwaysdata.net/flake.zip/go@~1.24/*.pip@25";
28}
29```
30···41You can inspect the content of generated flake.zip with the following command:
4243```shell
44-nix flake show https://nix-versions.alwaysdata.net/flake.zip/go@1.24.x/ruby@~3.4 --no-write-lock-file
45```
4647Requesting for `go@1.24.x` and `ruby@~3.4` will generate a flake with the following structure:
···68You can create quick one-shot environments by using the following command:
6970```
71-nix develop https://nix-versions.alwaysdata.net/flake.zip/go@1.24.x/ruby@~3.4 --no-write-lock-file
72```
7374## Using as `input` on your own flakes.
···7778```nix
79{
80- inputs.tools.url = "https://nix-versions.alwaysdata.net/flake.zip/go@~1.24";
81 outputs = inputs: {
82 # Go 1.24 is available at:
83 # inputs.tools.packages.${system}.go
···92```yaml
93inputs:
94 tools:
95- url: "https://nix-versions.alwaysdata.net/flake.zip/go@~1.24"
96```
···1213```shell
14# Generate a flake.nix containing latest ruby and nodejs.
15+curl https://nix-versions.oeiuwq.com/flake.nix/ruby@latest/nodejs@latest -o flake.nix
1617# An archive containing flake.nix. This is useful as input for your own flakes.
18+curl https://nix-versions.oeiuwq.com/flake.zip/ruby@latest/nodejs@latest -o flake.zip
19```
2021## Keeping up to date with versioned packages
···2425```nix
26{
27+ inputs.tools.url = "https://nix-versions.oeiuwq.com/flake.zip/go@~1.24/*.pip@25";
28}
29```
30···41You can inspect the content of generated flake.zip with the following command:
4243```shell
44+nix flake show https://nix-versions.oeiuwq.com/flake.zip/go@1.24.x/ruby@~3.4 --no-write-lock-file
45```
4647Requesting for `go@1.24.x` and `ruby@~3.4` will generate a flake with the following structure:
···68You can create quick one-shot environments by using the following command:
6970```
71+nix develop https://nix-versions.oeiuwq.com/flake.zip/go@1.24.x/ruby@~3.4 --no-write-lock-file
72```
7374## Using as `input` on your own flakes.
···7778```nix
79{
80+ inputs.tools.url = "https://nix-versions.oeiuwq.com/flake.zip/go@~1.24";
81 outputs = inputs: {
82 # Go 1.24 is available at:
83 # inputs.tools.packages.${system}.go
···92```yaml
93inputs:
94 tools:
95+ url: "https://nix-versions.oeiuwq.com/flake.zip/go@~1.24"
96```
+1-1
docs/getting-started/cli-help.ansi.html
···1011 List available package versions.
1213- See <a href="https://nix-versions.alwaysdata.net">https://nix-versions.alwaysdata.net</a> for a complete guide.
1415OPTIONS
16
···1011 List available package versions.
1213+ See <a href="https://nix-versions.oeiuwq.com">https://nix-versions.oeiuwq.com</a> for a complete guide.
1415OPTIONS
16
+2-2
docs/non-flake-environments.md
···9They are intended for usage on non-flake environments.
1011```shell
12-curl https://nix-versions.alwaysdata.net/default.nix/ruby@latest -o default.nix
1314-nix-shell https://nix-versions.alwaysdata.net/default.zip/ruby@latest -A devShell
15```
16The reason we mention them as *experimental* is because generating a `default.nix` file
17requires our server to download and generate a sri-checksum for fetching each tools'
···9They are intended for usage on non-flake environments.
1011```shell
12+curl https://nix-versions.oeiuwq.com/default.nix/ruby@latest -o default.nix
1314+nix-shell https://nix-versions.oeiuwq.com/default.zip/ruby@latest -A devShell
15```
16The reason we mention them as *experimental* is because generating a `default.nix` file
17requires our server to download and generate a sri-checksum for fetching each tools'
+3-3
docs/tools-version-manager.md
···4041```bash
42# Place this on your .envrc
43-source_url "https://nix-versions.alwaysdata.net/use_nix_tools.sh/go/ruby" HASH
44```
4546Where `HASH` can be obtained with:
4748```bash
49-direnv fetchurl "https://nix-versions.alwaysdata.net/use_nix_tools.sh/go/ruby"
50```
5152You can obtian package updates by doing `direnv reload`.
···126```shell
127mkdir -p ~/.config/direnv/lib
128# You can always inspect the downloaded function before installing it
129-curl "https://nix-versions.alwaysdata.net/use_nix_tools.sh" -o ~/.config/direnv/lib/use_nix_tools.sh
130```
131132Then, on your project directory, besides your `.nix_tools` file, create an `.envrc` file that will be
···4041```bash
42# Place this on your .envrc
43+source_url "https://nix-versions.oeiuwq.com/use_nix_tools.sh/go/ruby" HASH
44```
4546Where `HASH` can be obtained with:
4748```bash
49+direnv fetchurl "https://nix-versions.oeiuwq.com/use_nix_tools.sh/go/ruby"
50```
5152You can obtian package updates by doing `direnv reload`.
···126```shell
127mkdir -p ~/.config/direnv/lib
128# You can always inspect the downloaded function before installing it
129+curl "https://nix-versions.oeiuwq.com/use_nix_tools.sh" -o ~/.config/direnv/lib/use_nix_tools.sh
130```
131132Then, on your project directory, besides your `.nix_tools` file, create an `.envrc` file that will be
+3-3
nix/packages.nix
···10 vendorHash = builtins.readFile ./../cli/vendor-hash;
11 meta = with pkgs.lib; {
12 description = "Go CLI for searching nix packages versions using lazamar or nixhub";
13- homepage = "https://nix-versions.alwaysdata.net";
14 mainProgram = "nix-versions";
15 };
16 };
···28 dontInstall = true;
29 meta = with pkgs.lib; {
30 description = "Site for docs and flake generation services.";
31- homepage = "https://nix-versions.alwaysdata.net";
32 };
33 };
34···40 env.CGO_ENABLED = 0; # static build
41 meta = with pkgs.lib; {
42 description = "Web UI for docs and flake generation services.";
43- homepage = "https://nix-versions.alwaysdata.net";
44 mainProgram = "web";
45 };
46 };
···10 vendorHash = builtins.readFile ./../cli/vendor-hash;
11 meta = with pkgs.lib; {
12 description = "Go CLI for searching nix packages versions using lazamar or nixhub";
13+ homepage = "https://nix-versions.oeiuwq.com";
14 mainProgram = "nix-versions";
15 };
16 };
···28 dontInstall = true;
29 meta = with pkgs.lib; {
30 description = "Site for docs and flake generation services.";
31+ homepage = "https://nix-versions.oeiuwq.com";
32 };
33 };
34···40 env.CGO_ENABLED = 0; # static build
41 meta = with pkgs.lib; {
42 description = "Web UI for docs and flake generation services.";
43+ homepage = "https://nix-versions.oeiuwq.com";
44 mainProgram = "web";
45 };
46 };