More README info
This commit is contained in:
parent
6a70f079c7
commit
37df0c0575
68
README.md
68
README.md
|
@ -69,25 +69,93 @@ The sections below list what each template includes. In all cases, you're free t
|
||||||
|
|
||||||
- [Gleam] 0.22.1
|
- [Gleam] 0.22.1
|
||||||
|
|
||||||
|
### [`java`](./java)
|
||||||
|
|
||||||
|
- [Java] 17.0.3
|
||||||
|
- [Maven] 3.8.5
|
||||||
|
- [Gradle] 7.5
|
||||||
|
- [Ant] 1.10.11
|
||||||
|
|
||||||
|
### [`kotlin`](./kotlin/)
|
||||||
|
|
||||||
|
- [Kotlin] 1.7.10-release-333
|
||||||
|
- [Gradle] 7.5
|
||||||
|
|
||||||
|
### [`nix`](./nix/)
|
||||||
|
|
||||||
|
- [Cachix]
|
||||||
|
- [dhall-to-nix] 1.1.23
|
||||||
|
- [lorri]
|
||||||
|
- [niv]
|
||||||
|
- [nixfmt]
|
||||||
|
- [statix]
|
||||||
|
- [vulnix]
|
||||||
|
|
||||||
|
### [`node`](./node/)
|
||||||
|
|
||||||
|
- [Node.js][node] 18.7.0
|
||||||
|
- [pnpm] 7.3.0
|
||||||
|
- [Yarn] 1.22.19
|
||||||
|
|
||||||
|
### [`protobuf`](./protobuf/)
|
||||||
|
|
||||||
|
- The [Buf CLI][buf] 1.7.0
|
||||||
|
- [protoc][protobuf] 3.19.4
|
||||||
|
|
||||||
|
### [`rust`](./rust/)
|
||||||
|
|
||||||
|
- [Rust], including [cargo], [Clippy], and the other standard tools. The Rust version is determined as follows, in order:
|
||||||
|
|
||||||
|
- From the `rust-toolchain.toml` file if present
|
||||||
|
- From the `rust-toolchain` file if present
|
||||||
|
- Version 1.6.2 if neither is present
|
||||||
|
|
||||||
|
- [rust-analyzer] 2022-07-11
|
||||||
|
|
||||||
|
### [`scala`](./scala/)
|
||||||
|
|
||||||
|
- [Scala] 3.1.0 ([Java] 17.0.3)
|
||||||
|
- [sbt] 1.6.2
|
||||||
|
|
||||||
|
### [`zig`](./zig/)
|
||||||
|
|
||||||
|
- [Zig] 0.9.1
|
||||||
|
|
||||||
## Code organization
|
## Code organization
|
||||||
|
|
||||||
All of the templates have only the root [flake](./flake.nix) as a flake input. That root flake provides a common revision of [Nixpkgs] and [`flake-utils`][flake-utils] to all the templates.
|
All of the templates have only the root [flake](./flake.nix) as a flake input. That root flake provides a common revision of [Nixpkgs] and [`flake-utils`][flake-utils] to all the templates.
|
||||||
|
|
||||||
|
[ant]: https://ant.apache.org
|
||||||
|
[buf]: https://github.com/bufbuild/buf
|
||||||
|
[cachix]: https://www.cachix.org
|
||||||
|
[cargo]: https://doc.rust-lang.org/cargo
|
||||||
|
[clippy]: https://github.com/rust-lang/rust-clippy
|
||||||
[dhall]: https://dhall-lang.org
|
[dhall]: https://dhall-lang.org
|
||||||
|
[dhall-to-nix]: https://github.com/dhall-lang/dhall-haskell/tree/master/dhall-nix
|
||||||
[elixir]: https://elixir-lang.org
|
[elixir]: https://elixir-lang.org
|
||||||
[flake-utils]: https://github.com/numtide/flake-utils
|
[flake-utils]: https://github.com/numtide/flake-utils
|
||||||
[gleam]: https://gleam.run
|
[gleam]: https://gleam.run
|
||||||
[go]: https://go.dev
|
[go]: https://go.dev
|
||||||
|
[gradle]: https://gradle.org
|
||||||
[iex]: https://hexdocs.pm/iex/IEx.html
|
[iex]: https://hexdocs.pm/iex/IEx.html
|
||||||
[java]: https://java.com
|
[java]: https://java.com
|
||||||
[kotlin]: https://kotlinlang.org
|
[kotlin]: https://kotlinlang.org
|
||||||
|
[lorri]: https://github.com/target/lorri
|
||||||
|
[maven]: https://maven.apache.org
|
||||||
[mix]: https://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html
|
[mix]: https://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html
|
||||||
|
[niv]: https://github.com/nmattia/niv
|
||||||
[nix]: https://nixos.org
|
[nix]: https://nixos.org
|
||||||
|
[nixfmt]: https://github.com/serokell/nixfmt
|
||||||
[nixpkgs]: https://github.com/NixOS/nixpkgs
|
[nixpkgs]: https://github.com/NixOS/nixpkgs
|
||||||
[nix-direnv]: https://github.com/nix-community/nix-direnv
|
[nix-direnv]: https://github.com/nix-community/nix-direnv
|
||||||
[node]: https://nodejs.org
|
[node]: https://nodejs.org
|
||||||
[phoenix]: https://phoenixframework.org
|
[phoenix]: https://phoenixframework.org
|
||||||
|
[pnpm]: https://pnpm.io
|
||||||
[protobuf]: https://developers.google.com/protocol-buffers
|
[protobuf]: https://developers.google.com/protocol-buffers
|
||||||
[rust]: https://rust-lang.org
|
[rust]: https://rust-lang.org
|
||||||
[scala]: https://scala-lang.org
|
[scala]: https://scala-lang.org
|
||||||
|
[statix]: https://github.com/nerdypepper/statix
|
||||||
|
[sbt]: https://www.scala-sbt.org
|
||||||
|
[vulnix]: https://github.com/flyingcircusio/vulnix
|
||||||
|
[yarn]: https://yarnpkg.com
|
||||||
[zig]: https://ziglang.org
|
[zig]: https://ziglang.org
|
||||||
|
|
|
@ -7,16 +7,16 @@
|
||||||
let inherit (dev.lib) flake-utils nixpkgs;
|
let inherit (dev.lib) flake-utils nixpkgs;
|
||||||
in flake-utils.lib.eachDefaultSystem (system:
|
in flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
jdk = "jdk17";
|
jdk = pkgs.jdk17;
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
packageOverrides = p: {
|
packageOverrides = p: {
|
||||||
gradle = (p.gradle.override { java = p.${jdk}; });
|
gradle = (p.gradle.override { java = jdk; });
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
pkgs = import nixpkgs { inherit config jdk system; };
|
pkgs = import nixpkgs { inherit config jdk system; };
|
||||||
java = pkgs.${jdk};
|
java = jdk;
|
||||||
buildTools = with pkgs; [ ant gradle maven ];
|
buildTools = with pkgs; [ ant gradle maven ];
|
||||||
inherit (pkgs) mkShell;
|
inherit (pkgs) mkShell;
|
||||||
in {
|
in {
|
||||||
|
|
|
@ -7,22 +7,22 @@
|
||||||
let inherit (dev.lib) flake-utils nixpkgs;
|
let inherit (dev.lib) flake-utils nixpkgs;
|
||||||
in flake-utils.lib.eachDefaultSystem (system:
|
in flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
jdk = "jdk17";
|
jdk = pkgs.jdk17;
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
packageOverrides = p: {
|
packageOverrides = p: {
|
||||||
gradle = (p.gradle.override { java = p.${jdk}; });
|
gradle = (p.gradle.override { java = jdk; });
|
||||||
|
|
||||||
kotlin = (p.kotlin.override { jre = p.${jdk}; });
|
kotlin = (p.kotlin.override { jre = jdk; });
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
pkgs = import nixpkgs { inherit config system; };
|
pkgs = import nixpkgs { inherit config system; };
|
||||||
|
inherit (pkgs) mkShell;
|
||||||
|
|
||||||
kotlin = pkgs.kotlin;
|
kotlin = pkgs.kotlin;
|
||||||
buildTools = with pkgs; [ gradle ];
|
buildTools = with pkgs; [ gradle ];
|
||||||
otherTools = with pkgs; [ gcc ncurses patchelf zlib ];
|
otherTools = with pkgs; [ gcc ncurses patchelf zlib ];
|
||||||
|
|
||||||
inherit (pkgs) mkShell;
|
|
||||||
in {
|
in {
|
||||||
devShells = {
|
devShells = {
|
||||||
default = mkShell {
|
default = mkShell {
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
|
|
||||||
nix = pkgs.nixUnstable;
|
|
||||||
dhallNix = pkgs.haskellPackages.dhall-nix;
|
dhallNix = pkgs.haskellPackages.dhall-nix;
|
||||||
|
|
||||||
nixRelatedTools = with pkgs; [
|
nixRelatedTools = with pkgs; [
|
||||||
|
@ -18,14 +17,12 @@
|
||||||
lorri
|
lorri
|
||||||
niv
|
niv
|
||||||
nixfmt
|
nixfmt
|
||||||
nixpkgs-fmt
|
|
||||||
statix
|
statix
|
||||||
|
vulnix
|
||||||
];
|
];
|
||||||
|
|
||||||
inherit (pkgs) mkShell;
|
inherit (pkgs) mkShell;
|
||||||
in {
|
in {
|
||||||
devShells = {
|
devShells = { default = mkShell { buildInputs = nixRelatedTools; }; };
|
||||||
default = mkShell { buildInputs = [ nix ] ++ nixRelatedTools; };
|
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,13 +11,13 @@
|
||||||
|
|
||||||
inherit (pkgs) mkShell;
|
inherit (pkgs) mkShell;
|
||||||
|
|
||||||
nodejs = pkgs.nodejs;
|
nodejs = pkgs.nodejs-18_x;
|
||||||
pnpm = pkgs.nodePackages.pnpm;
|
pnpm = pkgs.nodePackages.pnpm;
|
||||||
yarn = pkgs.yarn;
|
yarn = (pkgs.yarn.override { inherit nodejs; });
|
||||||
in {
|
in {
|
||||||
devShells = {
|
devShells = {
|
||||||
default = mkShell {
|
default = mkShell {
|
||||||
buildInputs = [ nodejs pnpm (yarn.override { inherit nodejs; }) ];
|
buildInputs = [ nodejs pnpm yarn ];
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
echo "node `${nodejs}/bin/node --version`"
|
echo "node `${nodejs}/bin/node --version`"
|
||||||
|
|
|
@ -27,8 +27,7 @@
|
||||||
|
|
||||||
deps = with pkgs; [ openssl pkgconfig ];
|
deps = with pkgs; [ openssl pkgconfig ];
|
||||||
rustTools = with pkgs;
|
rustTools = with pkgs;
|
||||||
[ cargo-profiler rust-analyzer ]
|
[ rust-analyzer ] ++ optionals isLinux (with pkgs; [ cargo-watch ]);
|
||||||
++ optionals isLinux (with pkgs; [ cargo-watch ]);
|
|
||||||
in {
|
in {
|
||||||
packages.default = rust;
|
packages.default = rust;
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
in flake-utils.lib.eachDefaultSystem (system:
|
in flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
jdk = "jdk17";
|
jdk = "jdk17";
|
||||||
jdkPkg = pkgs.${jdk};
|
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
packageOverrides = p: {
|
packageOverrides = p: {
|
||||||
|
@ -27,7 +26,7 @@
|
||||||
in {
|
in {
|
||||||
devShells = {
|
devShells = {
|
||||||
default = mkShell {
|
default = mkShell {
|
||||||
buildInputs = [ scala jdkPkg ] ++ buildTools;
|
buildInputs = [ scala ] ++ buildTools;
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${scala}/bin/scala -version
|
${scala}/bin/scala -version
|
||||||
|
|
Loading…
Reference in a new issue