diff --git a/internal/command/init.go b/internal/command/init.go
index cd44c899bd..bef2426475 100644
--- a/internal/command/init.go
+++ b/internal/command/init.go
@@ -8,6 +8,7 @@ package command
 import (
 	"context"
 	"fmt"
+	"os"
 	"log"
 	"reflect"
 	"slices"
@@ -78,6 +79,11 @@ func (c *InitCommand) Run(rawArgs []string) int {
 	// continue to mutate the Meta object state for now.
 	c.Meta.input = args.ViewOptions.InputEnabled
 
+	val, ok := os.LookupEnv("NIX_TERRAFORM_PLUGIN_DIR")
+	if ok {
+		args.FlagPluginPath = append(args.FlagPluginPath, val)
+	}
+
 	if len(args.FlagPluginPath) > 0 {
 		c.pluginPath = args.FlagPluginPath
 	}
