summary refs log tree commit diff stats
path: root/system/modules/development
diff options
context:
space:
mode:
Diffstat (limited to 'system/modules/development')
-rw-r--r--system/modules/development/base.nix32
-rw-r--r--system/modules/development/javascript.nix50
-rw-r--r--system/modules/development/kubernetes.nix21
-rw-r--r--system/modules/development/lisp.nix13
4 files changed, 116 insertions, 0 deletions
diff --git a/system/modules/development/base.nix b/system/modules/development/base.nix
new file mode 100644
index 00000000..2beed5b3
--- /dev/null
+++ b/system/modules/development/base.nix
@@ -0,0 +1,32 @@
+{ config, pkgs, ... }:
+
+{ environment.systemPackages = with pkgs; [
+    gitAndTools.gitFull
+    gitAndTools.git-extras
+    git-lfs
+
+    checkbashisms
+    editorconfig-core-c
+    go
+
+    wrk
+
+    ag
+    (ripgrep.override { withPCRE2 = true; })
+
+    httpie
+    jq
+
+    discount
+  ] ++ (
+    if !stdenv.isDarwin
+    then [
+      whois
+      ldns
+      httping
+      http-prompt
+      firefox-devedition-bin
+    ] else [
+    ]
+  );
+}
diff --git a/system/modules/development/javascript.nix b/system/modules/development/javascript.nix
new file mode 100644
index 00000000..1bdd4a4c
--- /dev/null
+++ b/system/modules/development/javascript.nix
@@ -0,0 +1,50 @@
+{ config, pkgs, ... }:
+
+let
+  node = pkgs.unstable.nodejs-10_x;
+  npmPackages = pkgs.unstable.nodePackages_10_x;
+  node2nixPackages = import ../../packages/node2nix/default.nix {
+    pkgs = pkgs.unstable;
+    nodejs = node;
+  };
+in
+{ environment.systemPackages = (with pkgs.unstable; [
+    node
+  ] ++ (
+    if stdenv.isDarwin
+    then
+    [
+    ]
+    else
+    [
+    # npm install may use any of these
+    binutils
+    gcc
+    gnumake
+    python2
+    ]
+  )) ++ (with npmPackages; [
+    node-gyp
+    node-gyp-build
+    node-pre-gyp
+
+    tern
+    node2nix
+    nodemon
+    javascript-typescript-langserver
+    typescript-language-server
+    vscode-css-languageserver-bin
+    vscode-html-languageserver-bin
+    csslint
+    eslint_d
+    prettier
+    typescript
+
+    node2nixPackages.bunyan
+    node2nixPackages.pino-pretty
+    node2nixPackages."pnpm-3.6.2"
+    node2nixPackages.prettier_d
+    node2nixPackages.dockerfile-language-server-nodejs
+    node2nixPackages.yaml-language-server
+  ]);
+}
diff --git a/system/modules/development/kubernetes.nix b/system/modules/development/kubernetes.nix
new file mode 100644
index 00000000..692e46d6
--- /dev/null
+++ b/system/modules/development/kubernetes.nix
@@ -0,0 +1,21 @@
+{ config, pkgs, ... }:
+
+{
+  networking.bridges = {
+    cbr0.interfaces = [];
+  };
+  networking.interfaces = {
+    cbr0 = {
+      ipv4.addresses = [
+      { address = "10.10.0.1";
+        prefixLength = 24;
+      }
+      ];
+    };
+  };
+  services.kubernetes.roles = ["master" "node"];
+  services.kubernetes.kubelet.extraOpts = "--fail-swap-on=false";
+  virtualisation.docker.extraOptions = ''
+    --iptables=false --ip-masq=false -b cbr0
+  '';
+}
diff --git a/system/modules/development/lisp.nix b/system/modules/development/lisp.nix
new file mode 100644
index 00000000..dc521feb
--- /dev/null
+++ b/system/modules/development/lisp.nix
@@ -0,0 +1,13 @@
+{ config, pkgs, ... }:
+
+{ environment.systemPackages = with pkgs; [
+    ccl
+    sbcl
+    lispPackages.quicklisp
+    asdf
+    cl-launch
+
+    dust
+    pixie
+  ];
+}