diff --git a/shard.lock b/shard.lock
index 308912c..8d43fbc 100644
--- a/shard.lock
+++ b/shard.lock
@@ -1,5 +1,8 @@
 version: 2.0
 shards:
+  crinja:
+    git: https://github.com/straight-shoota/crinja.git
+    version: 0.8.1
   shellwords:
     git: https://github.com/sztheory/shellwords-crystal.git
     version: 0.1.0
diff --git a/shard.yml b/shard.yml
index 314293a..746f2c8 100644
--- a/shard.yml
+++ b/shard.yml
@@ -18,6 +18,8 @@ targets:
 #   Short description of gx-vault
 
 dependencies:
+  crinja:
+    github: straight-shoota/crinja
   shellwords:
     github: szTheory/shellwords-crystal
 
diff --git a/src/config.cr b/src/config.cr
index 34df337..279d166 100644
--- a/src/config.cr
+++ b/src/config.cr
@@ -3,6 +3,8 @@
 # SPDX-FileCopyrightText: 2023 Glenn Y. Rolland <glenux@glenux.net>
 # Copyright © 2023 Glenn Y. Rolland <glenux@glenux.net>
 
+require "crinja"
+
 require "./filesystems"
 
 module GX
@@ -52,7 +54,11 @@ module GX
     end
 
     private def load_filesystems(config_path : String)
-      yaml_data = YAML.parse(File.read(config_path))
+      file_data = File.read(config_path)
+      # FIXME: render template on a value basis (instead of global)
+      file_patched = Crinja.render(file_data, {"env" => ENV.to_h}) 
+
+      yaml_data = YAML.parse(file_patched)
       vaults_data = yaml_data["filesystems"].as_a
 
       vaults_data.each do |filesystem_data|