From 2f354ad448339c4a8f35d49802a9dffba484f28a Mon Sep 17 00:00:00 2001
From: zowoq <59103226+zowoq@users.noreply.github.com>
Date: Sat, 1 Jun 2024 19:33:53 +1000
Subject: [PATCH] flake: allow unfree terraform, treefmt: switch to terraform

---
 dev/treefmt.nix     | 2 +-
 flake.nix           | 7 +++++++
 terraform/shell.nix | 5 +----
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/dev/treefmt.nix b/dev/treefmt.nix
index 368a991..4487045 100644
--- a/dev/treefmt.nix
+++ b/dev/treefmt.nix
@@ -6,12 +6,12 @@
 
   programs = {
     deadnix.enable = true;
-    hclfmt.enable = true;
     nixpkgs-fmt.enable = true;
     prettier.enable = true;
     ruff.check = true;
     ruff.format = true;
     statix.enable = true;
+    terraform.enable = true;
   };
 
   programs.mypy = {
diff --git a/flake.nix b/flake.nix
index 84e22ea..ea92b22 100644
--- a/flake.nix
+++ b/flake.nix
@@ -71,6 +71,13 @@
               imports = [ ./dev/treefmt.nix ];
             };
 
+            _module.args.pkgs = import inputs.nixpkgs {
+              inherit system;
+              config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
+                "terraform"
+              ];
+            };
+
             checks =
               let
                 darwinConfigurations = lib.mapAttrs' (name: config: lib.nameValuePair name config.config.system.build.toplevel) ((lib.filterAttrs (_: config: config.pkgs.system == system)) self.darwinConfigurations);
diff --git a/terraform/shell.nix b/terraform/shell.nix
index 3f2885b..050a496 100644
--- a/terraform/shell.nix
+++ b/terraform/shell.nix
@@ -1,12 +1,9 @@
 { pkgs, ... }:
-let
-  terraform' = pkgs.terraform.overrideAttrs (_: { meta = { }; });
-in
 {
   devShells = {
     terraform = with pkgs; mkShellNoCC {
       packages = [
-        (terraform'.withPlugins (p: [
+        (terraform.withPlugins (p: [
           p.cloudflare
           p.external
           p.hydra