make it a real flake template
This commit is contained in:
parent
92fff1b0b4
commit
56ebe90450
|
@ -11,9 +11,9 @@
|
||||||
2. Otherwise, proceed to enable flakes (still an experimental feature in `nix`):
|
2. Otherwise, proceed to enable flakes (still an experimental feature in `nix`):
|
||||||
https://nixos.wiki/wiki/Flakes#Installing_flakes
|
https://nixos.wiki/wiki/Flakes#Installing_flakes
|
||||||
|
|
||||||
2. Get this nix flake template:
|
2. Get this nix flake template, it will be setup in a new directory `./tritonshell` (feel free to adjust this):
|
||||||
```
|
```
|
||||||
nix flake new 'git+https://git.greenbaum.cloud/greenbaum.cloud/tritonshell'
|
nix flake new --template "git+https://git.greenbaum.cloud/greenbaum.cloud/tritonshell?ref=main" ./tritonshell
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Ready to go:
|
3. Ready to go:
|
||||||
|
|
51
flake.nix
51
flake.nix
|
@ -1,51 +1,10 @@
|
||||||
{
|
{
|
||||||
description = "devs & ops environment for nix'ing with triton";
|
description = "nix flake template for devs & ops environment with triton";
|
||||||
|
|
||||||
inputs.devshell.url = "github:numtide/devshell";
|
outputs = { self }: {
|
||||||
inputs.flake-utils.url = "github:numtide/flake-utils";
|
defaultTemplate = {
|
||||||
inputs.nixpkgs.url = "github:nixos/nixpkgs/release-21.11";
|
description = "nix flake new --template 'git+https://git.greenbaum.cloud/greenbaum.cloud/tritonshell?ref=main' ./tritonshell";
|
||||||
inputs.nixpkgsUnstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
path = ./template;
|
||||||
inputs.nixpkgs20-09.url = "github:nixos/nixpkgs/release-20.09";
|
|
||||||
|
|
||||||
outputs = { self, flake-utils, devshell, nixpkgs, nixpkgsUnstable, nixpkgs20-09 }:
|
|
||||||
flake-utils.lib.eachDefaultSystem (system: {
|
|
||||||
|
|
||||||
# Internal utility package with shell function and env vars helper.
|
|
||||||
# These get source'd in devshell.bash.extra when starting tritonshell
|
|
||||||
packages.triton-utils = import ./pkgs/triton-utils.nix { inherit nixpkgs; inherit system; };
|
|
||||||
|
|
||||||
devShell =
|
|
||||||
let
|
|
||||||
pkgs = import nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
|
|
||||||
overlays = [ devshell.overlay ];
|
|
||||||
};
|
};
|
||||||
pkgsUnstable = import nixpkgsUnstable {
|
|
||||||
inherit system;
|
|
||||||
|
|
||||||
overlays = [ devshell.overlay ];
|
|
||||||
};
|
|
||||||
pkgs20-09 = import nixpkgs20-09 {
|
|
||||||
inherit system;
|
|
||||||
|
|
||||||
overlays = [ devshell.overlay ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# HINT: add your extra pkgs here,
|
|
||||||
# they'll get appended to devshell.packages in ./tritonshell.nix
|
|
||||||
extraDevshellPkgs = [
|
|
||||||
pkgsUnstable.consul
|
|
||||||
pkgsUnstable.nomad
|
|
||||||
pkgsUnstable.terraform
|
|
||||||
pkgsUnstable.vault
|
|
||||||
];
|
|
||||||
|
|
||||||
in
|
|
||||||
import ./tritonshell.nix { inherit extraDevshellPkgs devshell pkgs pkgsUnstable pkgs20-09 self system; };
|
|
||||||
}) // {
|
|
||||||
# merge this into the attr set above
|
|
||||||
defaultTemplate.description = "nix flake new -t 'git+https://git.greenbaum.cloud/greenbaum.cloud/tritonshell' tritonshell";
|
|
||||||
defaultTemplate.path = "./";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
47
template/flake.nix
Normal file
47
template/flake.nix
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
{
|
||||||
|
description = "devs & ops environment for nix'ing with triton";
|
||||||
|
|
||||||
|
inputs.devshell.url = "github:numtide/devshell";
|
||||||
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
inputs.nixpkgs.url = "github:nixos/nixpkgs/release-21.11";
|
||||||
|
inputs.nixpkgsUnstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
inputs.nixpkgs20-09.url = "github:nixos/nixpkgs/release-20.09";
|
||||||
|
|
||||||
|
outputs = { self, flake-utils, devshell, nixpkgs, nixpkgsUnstable, nixpkgs20-09 }:
|
||||||
|
flake-utils.lib.eachDefaultSystem (system: {
|
||||||
|
|
||||||
|
# Internal utility package with shell function and env vars helper.
|
||||||
|
# These get source'd in devshell.bash.extra when starting tritonshell
|
||||||
|
packages.triton-utils = import ./pkgs/triton-utils.nix { inherit nixpkgs; inherit system; };
|
||||||
|
|
||||||
|
devShell =
|
||||||
|
let
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
|
||||||
|
overlays = [ devshell.overlay ];
|
||||||
|
};
|
||||||
|
pkgsUnstable = import nixpkgsUnstable {
|
||||||
|
inherit system;
|
||||||
|
|
||||||
|
overlays = [ devshell.overlay ];
|
||||||
|
};
|
||||||
|
pkgs20-09 = import nixpkgs20-09 {
|
||||||
|
inherit system;
|
||||||
|
|
||||||
|
overlays = [ devshell.overlay ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# HINT: add your extra pkgs here,
|
||||||
|
# they'll get appended to devshell.packages in ./tritonshell.nix
|
||||||
|
extraDevshellPkgs = [
|
||||||
|
pkgsUnstable.consul
|
||||||
|
pkgsUnstable.nomad
|
||||||
|
pkgsUnstable.terraform
|
||||||
|
pkgsUnstable.vault
|
||||||
|
];
|
||||||
|
|
||||||
|
in
|
||||||
|
import ./tritonshell.nix { inherit extraDevshellPkgs devshell pkgs pkgsUnstable pkgs20-09 self system; };
|
||||||
|
});
|
||||||
|
}
|
Loading…
Reference in a new issue