Reformat all projects; switch to overlay format
This commit is contained in:
parent
bf45826289
commit
fca8041d90
13
README.md
13
README.md
|
@ -35,8 +35,7 @@ Once your preferred template has been initialized, you can use the provided shel
|
||||||
| [Elixir] | [`elixir`](./elixir/) |
|
| [Elixir] | [`elixir`](./elixir/) |
|
||||||
| [Elm] | [`elm`](./elm/) |
|
| [Elm] | [`elm`](./elm/) |
|
||||||
| [Gleam] | [`gleam`](./gleam/) |
|
| [Gleam] | [`gleam`](./gleam/) |
|
||||||
| [Go] 1.17 | [`go1_17`](./go1.17/) |
|
| [Go] | [`go`](./go/) |
|
||||||
| [Go] 1.18 | [`go1_18`](./go1.18/) |
|
|
||||||
| [Hashicorp] tools | [`hashi`](./hashi/) |
|
| [Hashicorp] tools | [`hashi`](./hashi/) |
|
||||||
| [Java] | [`java`](./java/) |
|
| [Java] | [`java`](./java/) |
|
||||||
| [Kotlin] | [`kotlin`](./kotlin/) |
|
| [Kotlin] | [`kotlin`](./kotlin/) |
|
||||||
|
@ -96,15 +95,9 @@ The sections below list what each template includes. In all cases, you're free t
|
||||||
|
|
||||||
- [Gleam] 0.22.1
|
- [Gleam] 0.22.1
|
||||||
|
|
||||||
### [`go1.17`](./go1.17/)
|
### [`go`](./go/)
|
||||||
|
|
||||||
- [Go] 1.17
|
- [Go] 1.19
|
||||||
- Standard Go tools ([goimports], [godoc], and others)
|
|
||||||
- [golangci-lint]
|
|
||||||
|
|
||||||
### [`go1.18`](./go1.18/)
|
|
||||||
|
|
||||||
- [Go] 1.18
|
|
||||||
- Standard Go tools ([goimports], [godoc], and others)
|
- Standard Go tools ([goimports], [godoc], and others)
|
||||||
- [golangci-lint]
|
- [golangci-lint]
|
||||||
|
|
||||||
|
|
|
@ -6,31 +6,38 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
jdk = "jdk17";
|
javaVersion = 17;
|
||||||
|
overlays = [
|
||||||
config = {
|
(self: super: rec {
|
||||||
packageOverrides = p: {
|
jdk = super."jdk${toString javaVersion}";
|
||||||
boot = p.boot.override { jdk = p.${jdk}; };
|
boot = super.boot.override {
|
||||||
clojure = p.clojure.override { jdk = p.${jdk}; };
|
inherit jdk;
|
||||||
leiningen = p.leiningen.override { jdk = p.${jdk}; };
|
|
||||||
};
|
};
|
||||||
|
clojure = super.clojure.override {
|
||||||
|
inherit jdk;
|
||||||
};
|
};
|
||||||
|
leiningen = super.leiningen.override {
|
||||||
pkgs = import nixpkgs { inherit config system; };
|
inherit jdk;
|
||||||
inherit (pkgs) boot clojure leiningen mkShell;
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
pkgs = import nixpkgs { inherit overlays system; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ boot clojure leiningen ];
|
||||||
buildInputs = [ boot clojure leiningen ];
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${clojure}/bin/clj --version
|
${pkgs.clojure}/bin/clj --version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,21 +6,23 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
inherit (pkgs) cue mkShell;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ cue ];
|
||||||
buildInputs = [ cue ];
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${cue}/bin/cue version
|
${pkgs.cue}/bin/cue version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,22 +6,21 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
dhall = pkgs.dhall;
|
|
||||||
|
|
||||||
inherit (pkgs) mkShell;
|
|
||||||
inherit (pkgs.lib) optionals;
|
|
||||||
inherit (pkgs.stdenv) isLinux;
|
|
||||||
|
|
||||||
# Helper function for building dhall-* tools
|
# Helper function for building dhall-* tools
|
||||||
mkDhallTools = ls:
|
mkDhallTools = ls:
|
||||||
builtins.map (tool: pkgs.haskellPackages."dhall-${tool}") ls;
|
builtins.map (tool: pkgs.haskellPackages."dhall-${tool}") ls;
|
||||||
|
|
||||||
# dhall-* tools available only on all platforms
|
dhallTools = mkDhallTools [
|
||||||
dhallToolsCommon = mkDhallTools [
|
|
||||||
"bash"
|
"bash"
|
||||||
"docs"
|
"docs"
|
||||||
"json"
|
"json"
|
||||||
|
@ -31,22 +30,15 @@
|
||||||
"openapi"
|
"openapi"
|
||||||
"toml"
|
"toml"
|
||||||
"yaml"
|
"yaml"
|
||||||
];
|
] ++ pkgs.lib.optionals (pkgs.stdenv.isLinux) (mkDhallTools [ "csv" "text" ]); # Linux only
|
||||||
|
|
||||||
# dhall-* tools available only on Linux
|
|
||||||
dhallToolsLinux = optionals isLinux (mkDhallTools [ "csv" "text" ]);
|
|
||||||
|
|
||||||
dhallTools = dhallToolsCommon ++ dhallToolsLinux;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = (with pkgs; [ dhall ]) ++ dhallTools;
|
||||||
buildInputs = [ dhall ] ++ dhallTools;
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
echo "dhall `${dhall}/bin/dhall --version`"
|
echo "dhall `${pkgs.dhall}/bin/dhall --version`"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,32 +6,27 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
|
|
||||||
inherit (pkgs)
|
|
||||||
darwin gigalixir inotify-tools libnotify mkShell terminal-notifier;
|
|
||||||
inherit (pkgs.beam.packages.erlangR25) elixir elixir_ls;
|
|
||||||
inherit (pkgs.darwin.apple_sdk.frameworks) CoreFoundation CoreServices;
|
|
||||||
inherit (pkgs.lib) optionals;
|
|
||||||
inherit (pkgs.stdenv) isDarwin isLinux;
|
|
||||||
|
|
||||||
linuxDeps = optionals isLinux [ gigalixir inotify-tools libnotify ];
|
|
||||||
darwinDeps = optionals isDarwin [ terminal-notifier ]
|
|
||||||
++ [ CoreFoundation CoreServices ];
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = (with pkgs; [ elixir ]) ++
|
||||||
buildInputs = [ elixir elixir_ls ] ++ linuxDeps ++ darwinDeps;
|
pkgs.lib.optionals (pkgs.stdenv.isLinux) (with pkgs; [ gigalixir inotify-tools libnotify ]) ++ # Linux only
|
||||||
|
pkgs.lib.optionals (pkgs.stdenv.isDarwin) (with pkgs; [ terminal-notifier ]) ++ # macOS only
|
||||||
|
(with pkgs.darwin.apple_sdk.frameworks; [ CoreFoundation CoreServices ]);
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${elixir}/bin/mix --version
|
${pkgs.elixir}/bin/mix --version
|
||||||
${elixir}/bin/iex --version
|
${pkgs.elixir}/bin/iex --version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,23 +6,23 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
inherit (pkgs) mkShell;
|
|
||||||
|
|
||||||
elm = pkgs.elmPackages.elm;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = (with pkgs.elmPackages; [ elm ]) ++ (with pkgs; [ elm2nix ]);
|
||||||
buildInputs = [ elm ] ++ (with pkgs; [ elm2nix ]);
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = with pkgs.elmPackages; ''
|
||||||
echo "elm `${elm}/bin/elm --version`"
|
echo "elm `${elm}/bin/elm --version`"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,23 +6,23 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
gleamPkg = pkgs.gleam;
|
|
||||||
|
|
||||||
inherit (pkgs) mkShell;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ gleam ];
|
||||||
buildInputs = [ gleamPkg ];
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${gleamPkg}/bin/gleam --version
|
${pkgs.gleam}/bin/gleam --version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
39
go/flake.nix
Normal file
39
go/flake.nix
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{
|
||||||
|
description = "A Nix-flake-based Go 1.17 development environment";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
|
let
|
||||||
|
goVersion = 19;
|
||||||
|
overlays = [ (self: super: { go = super."go_1_${toString goVersion}"; }) ];
|
||||||
|
pkgs = import nixpkgs { inherit overlays system; };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
devShell = pkgs.mkShellNoCC {
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
# go 1.17.1 (specified by overlay)
|
||||||
|
go
|
||||||
|
|
||||||
|
# goimports, godoc, etc.
|
||||||
|
gotools
|
||||||
|
|
||||||
|
# https://github.com/golangci/golangci-lint
|
||||||
|
golangci-lint
|
||||||
|
];
|
||||||
|
|
||||||
|
shellHook = ''
|
||||||
|
${pkgs.go}/bin/go version
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
|
@ -1,42 +0,0 @@
|
||||||
{
|
|
||||||
description = "A Nix-flake-based Go 1.17 development environment";
|
|
||||||
|
|
||||||
inputs = {
|
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
|
||||||
let
|
|
||||||
pkgs = import nixpkgs { inherit system; };
|
|
||||||
goPkg = pkgs.go_1_17;
|
|
||||||
|
|
||||||
inherit (pkgs) mkShellNoCC;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
apps.default = {
|
|
||||||
type = "app";
|
|
||||||
program = "${goPkg}/bin/go";
|
|
||||||
};
|
|
||||||
|
|
||||||
devShells = {
|
|
||||||
default = mkShellNoCC {
|
|
||||||
buildInputs = with pkgs; [
|
|
||||||
# go 1.17.1
|
|
||||||
goPkg
|
|
||||||
|
|
||||||
# goimports, godoc, etc.
|
|
||||||
gotools
|
|
||||||
|
|
||||||
# https://github.com/golangci/golangci-lint
|
|
||||||
golangci-lint
|
|
||||||
];
|
|
||||||
|
|
||||||
shellHook = ''
|
|
||||||
${goPkg}/bin/go version
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
use flake .
|
|
|
@ -1,42 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": {
|
|
||||||
"flake-utils": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1659877975,
|
|
||||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1660984654,
|
|
||||||
"narHash": "sha256-fDcsh8rm2o8cj+WFL8Y2cAqnsej0UGJa+Sy8U2nFg0Q=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "392c83491dcc21d17ab8ea1f809f8f7bd567a5a3",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": "nixpkgs"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": "root",
|
|
||||||
"version": 7
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
{
|
|
||||||
description = "A Nix-flake-based Go 1.18 development environment";
|
|
||||||
|
|
||||||
inputs = {
|
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
|
||||||
let
|
|
||||||
pkgs = import nixpkgs { inherit system; };
|
|
||||||
goPkg = pkgs.go_1_18;
|
|
||||||
|
|
||||||
inherit (pkgs) mkShellNoCC;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
apps.default = {
|
|
||||||
type = "app";
|
|
||||||
program = "${goPkg}/bin/go";
|
|
||||||
};
|
|
||||||
|
|
||||||
devShells = {
|
|
||||||
default = mkShellNoCC {
|
|
||||||
buildInputs = with pkgs; [
|
|
||||||
# go 1.18.3
|
|
||||||
goPkg
|
|
||||||
|
|
||||||
# goimports, godoc, etc.
|
|
||||||
gotools
|
|
||||||
|
|
||||||
# https://github.com/golangci/golangci-lint
|
|
||||||
golangci-lint
|
|
||||||
];
|
|
||||||
|
|
||||||
shellHook = ''
|
|
||||||
${goPkg}/bin/go version
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
|
@ -7,16 +7,19 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
|
in
|
||||||
inherit (pkgs)
|
{
|
||||||
damon levant mkShell nomad nomad-autoscaler nomad-pack packer
|
devShell = pkgs.mkShell {
|
||||||
terraform vault;
|
buildInputs = with pkgs; [
|
||||||
|
|
||||||
hashiTools = [
|
|
||||||
packer
|
packer
|
||||||
terraform
|
terraform
|
||||||
nomad
|
nomad
|
||||||
|
@ -25,22 +28,15 @@
|
||||||
nomad-pack
|
nomad-pack
|
||||||
levant
|
levant
|
||||||
damon
|
damon
|
||||||
|
terragrunt
|
||||||
];
|
];
|
||||||
|
|
||||||
relatedTools = with pkgs; [ terragrunt ];
|
shellHook = with pkgs; ''
|
||||||
in
|
|
||||||
{
|
|
||||||
devShells = {
|
|
||||||
default = mkShell {
|
|
||||||
buildInputs = hashiTools ++ relatedTools;
|
|
||||||
|
|
||||||
shellHook = ''
|
|
||||||
echo "packer `${packer}/bin/packer --version`"
|
echo "packer `${packer}/bin/packer --version`"
|
||||||
${terraform}/bin/terraform --version
|
${terraform}/bin/terraform --version
|
||||||
${nomad}/bin/nomad --version
|
${nomad}/bin/nomad --version
|
||||||
${vault}/bin/vault --version
|
${vault}/bin/vault --version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,22 +6,24 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
inherit (pkgs) cabal-install ghc mkShell;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ cabal-install ghc ];
|
||||||
buildInputs = [ cabal-install ghc ];
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = with pkgs; ''
|
||||||
${ghc}/bin/ghc --version
|
${ghc}/bin/ghc --version
|
||||||
${cabal-install}/bin/cabal --version
|
${cabal-install}/bin/cabal --version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,31 +6,37 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
jdk = pkgs.jdk17;
|
javaVersion = 17;
|
||||||
|
|
||||||
config = {
|
overlays = [
|
||||||
packageOverrides = p: {
|
(self: super: rec {
|
||||||
gradle = (p.gradle.override { java = jdk; });
|
jdk = super."jdk${toString javaVersion}";
|
||||||
};
|
gradle = super.gradle.override {
|
||||||
};
|
|
||||||
|
|
||||||
pkgs = import nixpkgs { inherit config jdk system; };
|
|
||||||
java = jdk;
|
java = jdk;
|
||||||
buildTools = with pkgs; [ ant gradle maven ];
|
};
|
||||||
inherit (pkgs) mkShell;
|
maven = super.maven.override {
|
||||||
|
inherit jdk;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
pkgs = import nixpkgs { inherit overlays system; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ gradle jdk maven ];
|
||||||
buildInputs = [ java ] ++ buildTools;
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${java}/bin/java -version
|
${pkgs.jdk}/bin/java -version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,35 +6,37 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
jdk = pkgs.jdk17;
|
javaVersion = 17;
|
||||||
|
|
||||||
config = {
|
overlays = [
|
||||||
packageOverrides = p: {
|
(self: super: rec {
|
||||||
gradle = (p.gradle.override { java = jdk; });
|
jdk = pkgs."jdk${toString javaVersion}";
|
||||||
|
gradle = super.gradle.override {
|
||||||
kotlin = (p.kotlin.override { jre = jdk; });
|
java = jdk;
|
||||||
};
|
};
|
||||||
|
kotlin = super.kotlin.override {
|
||||||
|
jre = jdk;
|
||||||
};
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
pkgs = import nixpkgs { inherit config system; };
|
pkgs = import nixpkgs { inherit overlays system; };
|
||||||
inherit (pkgs) mkShell;
|
|
||||||
|
|
||||||
kotlin = pkgs.kotlin;
|
|
||||||
buildTools = with pkgs; [ gradle ];
|
|
||||||
otherTools = with pkgs; [ gcc ncurses patchelf zlib ];
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ kotlin gradle gcc ncurses patchelf zlib ];
|
||||||
buildInputs = [ kotlin ] ++ buildTools ++ otherTools;
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${kotlin}/bin/kotlin -version
|
${pkgs.kotlin}/bin/kotlin -version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,21 +6,23 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
inherit (pkgs) mkShell nickel;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ nickel ];
|
||||||
buildInputs = [ nickel ];
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${nickel}/bin/nickel --version
|
${pkgs.nickel}/bin/nickel --version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,21 +6,23 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
inherit (pkgs) mkShell nim;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ nim ];
|
||||||
buildInputs = [ nim ];
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${nim}/bin/nim --version
|
${pkgs.nim}/bin/nim --version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,26 +6,27 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
|
in
|
||||||
dhallNix = pkgs.haskellPackages.dhall-nix;
|
{
|
||||||
|
devShell = {
|
||||||
nixRelatedTools = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
cachix
|
cachix
|
||||||
dhallNix
|
|
||||||
lorri
|
lorri
|
||||||
niv
|
niv
|
||||||
nixfmt
|
nixfmt
|
||||||
statix
|
statix
|
||||||
vulnix
|
vulnix
|
||||||
|
haskellPackages.dhall-nix
|
||||||
];
|
];
|
||||||
|
};
|
||||||
inherit (pkgs) mkShell;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
devShells = { default = mkShell { buildInputs = nixRelatedTools; }; };
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,26 +6,30 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
nodeOverlay = self: super: rec {
|
overlays = [
|
||||||
|
(self: super: rec {
|
||||||
nodejs = super.nodejs-18_x;
|
nodejs = super.nodejs-18_x;
|
||||||
pnpm = super.nodePackages.pnpm;
|
pnpm = super.nodePackages.pnpm;
|
||||||
yarn = (super.yarn.override { inherit nodejs; });
|
yarn = (super.yarn.override { inherit nodejs; });
|
||||||
};
|
})
|
||||||
overlays = [ nodeOverlay ];
|
];
|
||||||
pkgs = import nixpkgs { inherit overlays system; };
|
pkgs = import nixpkgs { inherit overlays system; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = pkgs.mkShell {
|
|
||||||
buildInputs = with pkgs; [ node2nix nodejs pnpm yarn ];
|
buildInputs = with pkgs; [ node2nix nodejs pnpm yarn ];
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
echo "node `${pkgs.nodejs}/bin/node --version`"
|
echo "node `${pkgs.nodejs}/bin/node --version`"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,24 +6,24 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
inherit (pkgs) mkShell;
|
|
||||||
ocaml = pkgs.ocamlPackages.ocaml;
|
|
||||||
ocamlTools = with pkgs.ocamlPackages;
|
|
||||||
[ dune_3 odoc ] ++ (with pkgs; [ ocamlformat ]);
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ ocaml ocamlformat ] ++
|
||||||
buildInputs = [ ocaml ] ++ ocamlTools;
|
(with pkgs.ocamlPackages; [ dune_3 odoc ]);
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${ocaml}/bin/ocaml --version
|
${pkgs.ocaml}/bin/ocaml --version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,23 +6,23 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
inherit (pkgs) conftest mkShell open-policy-agent;
|
|
||||||
|
|
||||||
opaTools = [ conftest open-policy-agent ];
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ open-policy-agent conftest ];
|
||||||
buildInputs = opaTools;
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${open-policy-agent}/bin/opa version
|
${pkgs.open-policy-agent}/bin/opa version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,22 +6,23 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
inherit (pkgs) buf mkShell protobuf;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ buf protobuf ];
|
||||||
buildInputs = [ buf protobuf ];
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = with pkgs; ''
|
||||||
echo "buf `${buf}/bin/buf --version`"
|
echo "buf `${buf}/bin/buf --version`"
|
||||||
${protobuf}/bin/protoc --version
|
${protobuf}/bin/protoc --version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,29 +7,31 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, mach-nix, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, mach-nix
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
overlays = [
|
||||||
inherit (pkgs) mkShell;
|
(self: super: {
|
||||||
|
|
||||||
python = pkgs.python311;
|
|
||||||
|
|
||||||
machNix = mach-nix.defaultPackage.${system};
|
machNix = mach-nix.defaultPackage.${system};
|
||||||
|
python = super.python311;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
pythonTools = with pkgs;
|
pkgs = import nixpkgs { inherit overlays system; };
|
||||||
[ virtualenv ] ++ (with pkgs.python311Packages; [ pip ]);
|
|
||||||
nixTools = [ machNix ];
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ python machNix virtualenv ] ++
|
||||||
buildInputs = [ python ] ++ pythonTools ++ nixTools;
|
(with pkgs.python311Packages; [ pip ]);
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${python}/bin/python --version
|
${pkgs.python}/bin/python --version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,23 +6,27 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
overlays = [
|
||||||
inherit (pkgs) mkShell;
|
(self: super: {
|
||||||
|
ruby = super.ruby_3_1;
|
||||||
ruby = pkgs.ruby_3_1;
|
})
|
||||||
|
];
|
||||||
|
pkgs = import nixpkgs { inherit overlays system; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ ruby ];
|
||||||
buildInputs = [ ruby ];
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${ruby}/bin/ruby --version
|
${pkgs.ruby}/bin/ruby --version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,41 +7,48 @@
|
||||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs, rust-overlay }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
, rust-overlay
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
overlays = [ (import rust-overlay) ];
|
overlays = [
|
||||||
|
(import rust-overlay)
|
||||||
|
(self: super: {
|
||||||
|
rustToolchain =
|
||||||
|
let
|
||||||
|
rust = super.rust-bin;
|
||||||
|
in
|
||||||
|
if builtins.pathExists ./rust-toolchain.toml then
|
||||||
|
rust.fromRustupToolchainFile ./rust-toolchain.toml
|
||||||
|
else if builtins.pathExists ./rust-toolchain then
|
||||||
|
rust.fromRustupToolchainFile ./rust-toolchain
|
||||||
|
else
|
||||||
|
rust.stable.latest.default;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
pkgs = import nixpkgs { inherit system overlays; };
|
pkgs = import nixpkgs { inherit system overlays; };
|
||||||
|
|
||||||
inherit (pkgs) mkShell rust-bin;
|
|
||||||
inherit (pkgs.lib) optionals;
|
|
||||||
inherit (pkgs.stdenv) isLinux;
|
|
||||||
|
|
||||||
rust =
|
|
||||||
if builtins.pathExists ./rust-toolchain.toml then
|
|
||||||
rust-bin.fromRustupToolchainFile ./rust-toolchain.toml
|
|
||||||
else if builtins.pathExists ./rust-toolchain then
|
|
||||||
rust-bin.fromRustupToolchainFile ./rust-toolchain
|
|
||||||
else
|
|
||||||
rust-bin.stable.latest.default;
|
|
||||||
|
|
||||||
deps = with pkgs; [ openssl pkgconfig ];
|
|
||||||
rustTools = with pkgs;
|
|
||||||
[ cargo-audit cargo-deny cargo-cross rust-analyzer ]
|
|
||||||
++ optionals isLinux (with pkgs; [ cargo-watch ]);
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
packages.default = rust;
|
devShell = pkgs.mkShell {
|
||||||
|
nativeBuildInputs = with pkgs; [
|
||||||
devShells = {
|
rustToolchain
|
||||||
default = mkShell {
|
openssl
|
||||||
nativeBuildInputs = [ rust ] ++ deps ++ rustTools;
|
pkg-config
|
||||||
|
cargo-audit
|
||||||
|
cargo-deny
|
||||||
|
cargo-cross
|
||||||
|
rust-analyzer
|
||||||
|
] ++ pkgs.lib.optionals (pkgs.stdenv.isLinux) (with pkgs; [ cargo-watch ]); # Currently broken on macOS
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${rust}/bin/cargo --version
|
${pkgs.rustToolchain}/bin/cargo --version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,35 +6,37 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
|
|
||||||
let
|
let
|
||||||
jdk = "jdk17";
|
javaVersion = 17;
|
||||||
|
|
||||||
config = {
|
overlays = [
|
||||||
packageOverrides = p: {
|
(self: super: rec {
|
||||||
sbt = p.sbt.override { jre = p.${jdk}; };
|
jdk = super."jdk${toString javaVersion}";
|
||||||
scala_3 = p.scala_3.override { jre = p.${jdk}; };
|
sbt = super.sbt.override {
|
||||||
|
jre = jdk;
|
||||||
};
|
};
|
||||||
|
scala = super.scala_3.override {
|
||||||
|
jre = jdk;
|
||||||
};
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
pkgs = import nixpkgs { inherit config jdk system; };
|
pkgs = import nixpkgs { inherit overlays system; };
|
||||||
|
|
||||||
inherit (pkgs) mkShell;
|
|
||||||
|
|
||||||
scala = pkgs.scala_3;
|
|
||||||
|
|
||||||
buildTools = with pkgs; [ sbt ];
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ scala sbt coursier ];
|
||||||
buildInputs = [ scala ] ++ buildTools;
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${scala}/bin/scala -version
|
${pkgs.scala}/bin/scala -version
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,23 +6,23 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }:
|
outputs =
|
||||||
|
{ self
|
||||||
|
, flake-utils
|
||||||
|
, nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
zigPkg = pkgs.zig;
|
|
||||||
|
|
||||||
inherit (pkgs) mkShell;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = {
|
devShell = pkgs.mkShell {
|
||||||
default = mkShell {
|
buildInputs = with pkgs; [ zig ];
|
||||||
buildInputs = [ zigPkg ];
|
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
echo "zig `${zigPkg}/bin/zig version`"
|
echo "zig `${pkgs.zig}/bin/zig version`"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue