about summary refs log tree commit diff
path: root/ops/github
diff options
context:
space:
mode:
Diffstat (limited to 'ops/github')
-rw-r--r--ops/github/README.org4
-rw-r--r--ops/github/default.nix29
2 files changed, 31 insertions, 2 deletions
diff --git a/ops/github/README.org b/ops/github/README.org
index 86c664a..5906fbd 100644
--- a/ops/github/README.org
+++ b/ops/github/README.org
@@ -5,8 +5,8 @@ This terraform configuration is to manage my GitHub configuration (repositories,
 There's nothing special regarding how to use this repository.
 
 #+begin_src sh
-GITHUB_TOKEN=(pass api/github/terraform) terraform plan
-GITHUB_TOKEN=(pass api/github/terraform) terraform apply
+GITHUB_TOKEN=(pass api/github/terraform) nix run .#ops.github.plan
+GITHUB_TOKEN=(pass api/github/terraform) nix run .#ops.github.init
 #+end_src
 
 * Credentials
diff --git a/ops/github/default.nix b/ops/github/default.nix
new file mode 100644
index 0000000..a36aa12
--- /dev/null
+++ b/ops/github/default.nix
@@ -0,0 +1,29 @@
+{ pkgs }:
+let
+  terraform = pkgs.terraform.withPlugins (p: [
+    p.google
+    p.github
+  ]);
+in
+pkgs.stdenv.mkDerivation rec {
+  name = "tf-github";
+  src = ./.;
+
+  init = pkgs.writeShellScriptBin "tf-github-init" ''
+    set -ueo pipefail
+    cd $(git rev-parse --show-toplevel)/ops/github
+    ${terraform}/bin/terraform init
+  '';
+
+  plan = pkgs.writeShellScriptBin "tf-github-plan" ''
+    set -ueo pipefail
+    cd $(git rev-parse --show-toplevel)/ops/github
+    ${terraform}/bin/terraform plan
+  '';
+
+  apply = pkgs.writeShellScriptBin "tf-github-apply" ''
+    set -ueo pipefail
+    cd $(git rev-parse --show-toplevel)/ops/github
+    ${terraform}/bin/terraform apply
+  '';
+}