diff --git a/config/scwrypts/config.zsh b/config/scwrypts/config.zsh
index 09f7995..3dd526c 100644
--- a/config/scwrypts/config.zsh
+++ b/config/scwrypts/config.zsh
@@ -5,6 +5,9 @@
 SCWRYPTS_SHORTCUT=''     # CTRL + W
 SCWRYPTS_ENV_SHORTCUT='' # CTRL + /
 
+SCWRYPTS_ENVIRONMENT__SHOW_ENV_HELP=false
+SCWRYPTS_ENVIRONMENT__PREFERRED_EDIT_MODE=quiet
+
 for SEARCH_DIR in \
 	"$HOME/.wryn/scwrypts" \
 	"$HOME/Projects/yage/" \
diff --git a/config/scwrypts/dotfiles.zsh b/config/scwrypts/dotfiles.zsh
index f22ec6f..5752a69 100644
--- a/config/scwrypts/dotfiles.zsh
+++ b/config/scwrypts/dotfiles.zsh
@@ -40,22 +40,18 @@ $DOTWRYN/config/xinitrc.i3                        X11/xinitrc
 $DOTWRYN/bin/vim                                  ../.local/bin/vim
 $DOTWRYN/bin/$(hostnamectl --static)              ../.$(hostnamectl --static)
 
-$DOTWRYN/config/scwrypts/environments/scwrypts/local            scwrypts/environments/scwrypts/local
-$DOTWRYN/config/scwrypts/environments/scwrypts/local.altaria    scwrypts/environments/scwrypts/local.altaria
-$DOTWRYN/config/scwrypts/environments/scwrypts/local.blaziken   scwrypts/environments/scwrypts/local.blaziken
-$DOTWRYN/config/scwrypts/environments/scwrypts/local.butterfree scwrypts/environments/scwrypts/local.butterfree
-$DOTWRYN/config/scwrypts/environments/scwrypts/local.gardevoir  scwrypts/environments/scwrypts/local.gardevoir
-$DOTWRYN/config/scwrypts/environments/scwrypts/local.umbreon    scwrypts/environments/scwrypts/local.umbreon
-$DOTWRYN/config/scwrypts/environments/dotwryn/local             scwrypts/environments/dotwryn/local
-$DOTWRYN/config/scwrypts/environments/dotwryn/local.altaria     scwrypts/environments/dotwryn/local.altaria
-$DOTWRYN/config/scwrypts/environments/dotwryn/local.blaziken    scwrypts/environments/dotwryn/local.blaziken
-$DOTWRYN/config/scwrypts/environments/dotwryn/local.butterfree  scwrypts/environments/dotwryn/local.butterfree
-$DOTWRYN/config/scwrypts/environments/dotwryn/local.gardevoir   scwrypts/environments/dotwryn/local.gardevoir
-$DOTWRYN/config/scwrypts/environments/dotwryn/local.umbreon     scwrypts/environments/dotwryn/local.umbreon
-$DOTWRYN/config/scwrypts/environments/remote/local			    scwrypts/environments/remote/local
-$DOTWRYN/config/scwrypts/environments/remote/local.altaria      scwrypts/environments/remote/local.altaria
-$DOTWRYN/config/scwrypts/environments/remote/local.blaziken     scwrypts/environments/remote/local.blaziken
-$DOTWRYN/config/scwrypts/environments/remote/local.butterfree   scwrypts/environments/remote/local.butterfree
-$DOTWRYN/config/scwrypts/environments/remote/local.gardevoir    scwrypts/environments/remote/local.gardevoir
-$DOTWRYN/config/scwrypts/environments/remote/local.umbreon      scwrypts/environments/remote/local.umbreon
+$( () {
+	local SOURCE_CONTROLLED_GROUPS=(dotwryn remote scwrypts)
+	local GROUP_MATCH_STRING="\\($(printf '\|%s' ${SOURCE_CONTROLLED_GROUPS[@]} | sed 's/^\\|//')\\)"
+
+	local _LOCAL='scwrypts/environments'
+	local _DOTWRYN="$DOTWRYN/config/scwrypts/environments"
+
+	find "$HOME/.config/$_LOCAL" -mindepth 1 -maxdepth 1 -name \*.env.yaml \
+		| sed -n "s^.*/\(local\(\.[^.]\+\)\{0,\}\.$GROUP_MATCH_STRING.env.yaml\)$$_DOTWRYN/\1^$_LOCAL/\1p" \
+		| grep -v '\.secret\.' \
+		| sort --unique \
+		| column -ts '^' \
+		;
+} )
 "
diff --git a/config/scwrypts/environments/local.altaria.dotwryn.env.yaml b/config/scwrypts/environments/local.altaria.dotwryn.env.yaml
new file mode 100644
index 0000000..6d7c97a
--- /dev/null
+++ b/config/scwrypts/environments/local.altaria.dotwryn.env.yaml
@@ -0,0 +1,2 @@
+---  # local.altaria > dotwryn
+# no configuration set
diff --git a/config/scwrypts/environments/local.altaria.remote.env.yaml b/config/scwrypts/environments/local.altaria.remote.env.yaml
new file mode 100644
index 0000000..0516005
--- /dev/null
+++ b/config/scwrypts/environments/local.altaria.remote.env.yaml
@@ -0,0 +1,2 @@
+---  # local.altaria > remote
+# no configuration set
diff --git a/config/scwrypts/environments/local.altaria.scwrypts.env.yaml b/config/scwrypts/environments/local.altaria.scwrypts.env.yaml
new file mode 100644
index 0000000..1c2f607
--- /dev/null
+++ b/config/scwrypts/environments/local.altaria.scwrypts.env.yaml
@@ -0,0 +1,11 @@
+---  # local.altaria > scwrypts
+media-sync:
+  targets:
+    value:
+      - Pictures
+      - Documents
+      - Media
+      - .local/.porn
+      - Games/roms
+      - .local/share/dolphin-emu
+      - Games/archives
diff --git a/config/scwrypts/environments/local.blaziken.dotwryn.env.yaml b/config/scwrypts/environments/local.blaziken.dotwryn.env.yaml
new file mode 100644
index 0000000..29ad381
--- /dev/null
+++ b/config/scwrypts/environments/local.blaziken.dotwryn.env.yaml
@@ -0,0 +1,2 @@
+---  # local.blaziken > dotwryn
+# no configuration set
diff --git a/config/scwrypts/environments/local.blaziken.remote.env.yaml b/config/scwrypts/environments/local.blaziken.remote.env.yaml
new file mode 100644
index 0000000..20843b3
--- /dev/null
+++ b/config/scwrypts/environments/local.blaziken.remote.env.yaml
@@ -0,0 +1,2 @@
+---  # local.blaziken > remote
+# no configuration set
diff --git a/config/scwrypts/environments/local.blaziken.scwrypts.env.yaml b/config/scwrypts/environments/local.blaziken.scwrypts.env.yaml
new file mode 100644
index 0000000..da7ec4b
--- /dev/null
+++ b/config/scwrypts/environments/local.blaziken.scwrypts.env.yaml
@@ -0,0 +1,9 @@
+---  # local.blaziken > scwrypts
+media-sync:
+  targets:
+    value:
+      - .local/share/dolphin-emu
+      - Games/roms/gameboy-advance
+      - Games/roms/gameboy-color
+      - Media
+      - Pictures
diff --git a/config/scwrypts/environments/local.butterfree.dotwryn.env.yaml b/config/scwrypts/environments/local.butterfree.dotwryn.env.yaml
new file mode 100644
index 0000000..5f68e91
--- /dev/null
+++ b/config/scwrypts/environments/local.butterfree.dotwryn.env.yaml
@@ -0,0 +1,2 @@
+---  # local.butterfree > dotwryn
+# no configuration set
diff --git a/config/scwrypts/environments/local.butterfree.remote.env.yaml b/config/scwrypts/environments/local.butterfree.remote.env.yaml
new file mode 100644
index 0000000..c1e0413
--- /dev/null
+++ b/config/scwrypts/environments/local.butterfree.remote.env.yaml
@@ -0,0 +1,2 @@
+---  # local.butterfree > remote
+# no configuration set
diff --git a/config/scwrypts/environments/local.butterfree.scwrypts.env.yaml b/config/scwrypts/environments/local.butterfree.scwrypts.env.yaml
new file mode 100644
index 0000000..32583c3
--- /dev/null
+++ b/config/scwrypts/environments/local.butterfree.scwrypts.env.yaml
@@ -0,0 +1,10 @@
+---  # local.butterfree > scwrypts
+media-sync:
+  targets:
+    value:
+      - .local/share/dolphin-emu
+      - Games/roms
+      - Games/wrynscape
+      - Documents
+      - Media
+      - Pictures
diff --git a/config/scwrypts/environments/local.dotwryn.env.yaml b/config/scwrypts/environments/local.dotwryn.env.yaml
new file mode 100644
index 0000000..3e644ef
--- /dev/null
+++ b/config/scwrypts/environments/local.dotwryn.env.yaml
@@ -0,0 +1,6 @@
+---  # local > dotwryn
+desktop:
+  sfx-path:
+    value: $HOME/Media/sfx
+  wallpaper-path:
+    value: $HOME/Pictures/bg
diff --git a/config/scwrypts/environments/local.gardevoir.dotwryn.env.yaml b/config/scwrypts/environments/local.gardevoir.dotwryn.env.yaml
new file mode 100644
index 0000000..2cd9eee
--- /dev/null
+++ b/config/scwrypts/environments/local.gardevoir.dotwryn.env.yaml
@@ -0,0 +1,2 @@
+---  # local.gardevoir > dotwryn
+# no configuration set
diff --git a/config/scwrypts/environments/local.gardevoir.remote.env.yaml b/config/scwrypts/environments/local.gardevoir.remote.env.yaml
new file mode 100644
index 0000000..cdd95b5
--- /dev/null
+++ b/config/scwrypts/environments/local.gardevoir.remote.env.yaml
@@ -0,0 +1,2 @@
+---  # local.gardevoir > remote
+# no configuration set
diff --git a/config/scwrypts/environments/local.gardevoir.scwrypts.env.yaml b/config/scwrypts/environments/local.gardevoir.scwrypts.env.yaml
new file mode 100644
index 0000000..111c38c
--- /dev/null
+++ b/config/scwrypts/environments/local.gardevoir.scwrypts.env.yaml
@@ -0,0 +1,7 @@
+---  # local.gardevoir > scwrypts
+media-sync:
+  targets:
+    value:
+      - Documents
+      - Media
+      - Pictures
diff --git a/config/scwrypts/environments/local.remote.env.yaml b/config/scwrypts/environments/local.remote.env.yaml
new file mode 100644
index 0000000..1f6b786
--- /dev/null
+++ b/config/scwrypts/environments/local.remote.env.yaml
@@ -0,0 +1,2 @@
+---  # local > remote
+# no configuration set
diff --git a/config/scwrypts/environments/local.scwrypts.env.yaml b/config/scwrypts/environments/local.scwrypts.env.yaml
new file mode 100644
index 0000000..ff6be82
--- /dev/null
+++ b/config/scwrypts/environments/local.scwrypts.env.yaml
@@ -0,0 +1,23 @@
+---  # local > scwrypts
+aws:
+  account:
+    value: "088935110352"
+  efs:
+    local-mount-point:
+      value: /mnt/efs/yage
+  profile:
+    value: yage
+  region:
+    value: us-east-2
+directus:
+  base-url:
+    value: https://heretic.directus.app
+discord:
+  content-header:
+    value: '<@380809228450922507> '
+media-sync:
+  s3-bucket:
+    value: yage
+twilio:
+  account-sid:
+    value: ACac926b109b3cd8a78685a2a0994d0271
diff --git a/config/scwrypts/environments/local.umbreon.dotwryn.env.yaml b/config/scwrypts/environments/local.umbreon.dotwryn.env.yaml
new file mode 100644
index 0000000..1cffe38
--- /dev/null
+++ b/config/scwrypts/environments/local.umbreon.dotwryn.env.yaml
@@ -0,0 +1,2 @@
+---  # local.umbreon > dotwryn
+# no configuration set
diff --git a/config/scwrypts/environments/local.umbreon.remote.env.yaml b/config/scwrypts/environments/local.umbreon.remote.env.yaml
new file mode 100644
index 0000000..fd042ba
--- /dev/null
+++ b/config/scwrypts/environments/local.umbreon.remote.env.yaml
@@ -0,0 +1,2 @@
+---  # local.umbreon > remote
+# no configuration set
diff --git a/config/scwrypts/environments/local.umbreon.scwrypts.env.yaml b/config/scwrypts/environments/local.umbreon.scwrypts.env.yaml
new file mode 100644
index 0000000..40f7e9b
--- /dev/null
+++ b/config/scwrypts/environments/local.umbreon.scwrypts.env.yaml
@@ -0,0 +1,16 @@
+---  # local.umbreon > scwrypts
+discord:
+  default-avatar-url:
+    value: https://heretic.directus.app/assets/9c975a20-d6f3-47f5-8f77-74014f5d0024
+  default-username:
+    value: umbreon
+media-sync:
+  targets:
+    value:
+      - Documents
+      - Pictures
+      - .local/.porn
+      - Media/commission
+      - Media/music
+      - Media/recordings
+      - Media/sfx
