aboutsummaryrefslogtreecommitdiff
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
+ '';
+}