-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathenvil-state.yaml
67 lines (66 loc) · 2.26 KB
/
envil-state.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
## This is an example of how to define an envil set of environments,
## each one with its set of packages (tools)
includes:
[] # You can refer to a list of other statedirs that will be included in the state.
# If this yaml defines envs or inputs that are named the same than
# inputs/envs defined by an imported statedir, the ones here will
# override the imported ones.
# Relative paths in "includes" are considered relative to this file
inputs: # 'inputs' are "package sources" in nix flakes parlance
pkgs: # Here we just give a name to an input
"github:NixOS/nixpkgs/nixpkgs-unstable"
# ^^ Here we tell envil & Nix where to fetch it. This is a nix flake URL
nushellWith:
"github:YPares/nushellWith": # A flake URL like above, but with some extra config
nixpkgs: pkgs
# ^^ This is a "follows" link. It means that the 'nushellWith' input
# has a 'nixpkgs' input, that we ask to follow our own 'pkgs' input declared just above,
# instead of using its own locked version
envs:
nix: # This declares an environment and names it
contents: # Which packages should be provided by the environment when it is activated
pkgs: # A package source (from 'inputs')
- nil # Which packages to use from that source
- nixfmt-classic
- cachix
description: # (optional) A quick comment about what the env is for
"Tools to work with nix code in vscode"
devops:
description: "Tools to work with kube"
extends: # This is how an environment "inherits" from others, so you
# don't have to repeat yourself
- nix
contents:
pkgs:
- kind
- k9s
- kubectl
- kubernetes-helm
- jsonnet
nushell:
contents:
nushellWith:
- nushellWithExtras
pkgs:
- jq
vcs:
description: "git & jj"
contents:
pkgs:
- git
- jujutsu
vscode-bins:
description: "Tools needed by some VSCode extensions"
extends:
- vcs
- nix
- nushell
node:
description: "Tools for JS & TS"
contents:
pkgs:
- nodePackages: # A shortcut (every package nested here is under the "nodePackages" attr)
- npm
- yarn
- typescript
- typescript-language-server