-
Notifications
You must be signed in to change notification settings - Fork 166
Expand file tree
/
Copy pathdevenv.nix
More file actions
88 lines (80 loc) · 1.59 KB
/
devenv.nix
File metadata and controls
88 lines (80 loc) · 1.59 KB
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
{
pkgs,
lib,
config,
inputs,
...
}:
let
pkgs-unstable = import inputs.nixpkgs-unstable { system = pkgs.stdenv.system; config.allowUnfree = true; };
in
{
packages = with pkgs; [
aws-iam-authenticator
aws-vault
awscli
detect-secrets
git
gnumake
jq
libyaml
openssl
pkgs-unstable.chromedriver
pkgs-unstable.google-chrome
ssm-session-manager-plugin
yubikey-manager
zlib
];
languages = {
ruby = {
enable = true;
bundler.enable = true;
versionFile = ./.ruby-version;
};
javascript = {
enable = true;
package = pkgs-unstable.nodejs-slim;
npm.enable = true;
};
};
enterShell = ''
# Conflicts with bundler
export RUBYLIB=
'';
tasks = {
"ruby:install_gems" = {
exec = "bundle install";
status = "bundle check";
before = [ "devenv:enterShell" ];
};
};
services = {
postgres = {
enable = true;
package = pkgs.postgresql_16;
listen_addresses = "127.0.0.1";
};
redis = {
enable = true;
};
};
dotenv.enable = true;
env = {
AWS_VAULT_KEYCHAIN_NAME = "login";
AWS_VAULT_PROMPT = "ykman";
NIX_GOOGLE_CHROME = "${pkgs-unstable.google-chrome}/bin/google-chrome-stable";
};
git-hooks.hooks = {
detect-secrets = {
enable = true;
name = "detect-secrets";
description = "Detects high entropy strings that are likely to be passwords.";
entry = "detect-secrets-hook";
language = "python";
args = [
"--baseline"
".secrets.baseline"
];
};
};
}