diff --git a/.config/dconf.ini b/.config/dconf.ini
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/.githooks/post-merge b/.githooks/post-merge
index be076ab03a78a600c2ef59517d7b3d05158421ca..0c269552a3c624ff4fdfa22f22e428d578cbe942 100755
--- a/.githooks/post-merge
+++ b/.githooks/post-merge
@@ -3,3 +3,5 @@ set -eu
 cd "$(git rev-parse --show-toplevel)"
 echo Generating SSH config
 Documents/bin/gen-ssh-config
+echo Loading dconf config
+Documents/bin/dconf-load
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 358618cceb2f64acdf8949c33ff930ceb045f457..fa995dba921f32242dac0632108184227996e3ac 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -9,6 +9,6 @@
     sha: v0.5.4
     hooks:
     -   id: shell-lint
-        files: &shellscripts 'bashrc|post-merge|profile|docker-|train-wifi|renew-certs|dma-clean|gen-ssh-config'
+        files: &shellscripts 'bashrc|post-merge|profile|docker-|train-wifi|renew-certs|dma-clean|gen-ssh-config|dconf-load'
     -   id: shellcheck
         files: *shellscripts
diff --git a/Documents/bin/dconf-load b/Documents/bin/dconf-load
new file mode 100755
index 0000000000000000000000000000000000000000..84b1cd11dc627dc713885853c426566ede706480
--- /dev/null
+++ b/Documents/bin/dconf-load
@@ -0,0 +1,10 @@
+#!/bin/sh
+set -eu
+
+if ! which dconf > /dev/null
+then
+    echo "Can't find dconf, exiting."
+    exit 0
+fi
+
+dconf-load < "$HOME/.config/dconf.ini"