diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fdd99635365509876d1b40d4af22e51d5c7fa298..1eedd1d2e6c7ef8fa32f376ab1b777bea3a69591 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,10 +4,6 @@ stages:
   - build
 
 before_script:
-  - apt-get -y update
-  - apt-get -y install wget gnupg2
-  - echo "deb http://ci.puri.sm/ scratch librem5" > /etc/apt/sources.list.d/ci.list
-  - wget -O- https://ci.puri.sm/ci-repo.key | apt-key add -
   - apt-get -y update
   - apt-get -y build-dep .
 
diff --git a/data/dbus/sm.puri.OSK0.xml b/data/dbus/sm.puri.OSK0.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a543ee1d2b15f1d42ed255603e35c25484ff1fc1
--- /dev/null
+++ b/data/dbus/sm.puri.OSK0.xml
@@ -0,0 +1,20 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+  <interface name="sm.puri.OSK0">
+    <method name="SetVisible">
+      <arg name="visible" type="b" direction="in"/>
+      <doc:doc><doc:description>
+        Switch keyboard visibility
+      </doc:description></doc:doc>
+    </method>
+    <method name="GetVisible">
+      <arg name="visible" type="b" direction="out"/>
+      <doc:doc><doc:description>
+        Get keyboard visibility
+      </doc:description></doc:doc>
+    </method>
+    <property name="Visible" type="b" access="read">
+    </property>
+  </interface>
+</node>
diff --git a/debian/control b/debian/control
index 85507c701d962d5a6d505394abfe8de543b27d16..b4d16a57679d8a48464b469059610b83127fbc93 100644
--- a/debian/control
+++ b/debian/control
@@ -11,7 +11,6 @@ Build-Depends:
  libcroco3-dev,
  libwayland-dev (>= 1.16),
  rustc,
- virtboard,
  wayland-protocols (>= 1.14)
 Standards-Version: 4.1.3
 Homepage: https://source.puri.sm/Librem5/squeekboard
diff --git a/src/meson.build b/src/meson.build
index 1b304308c72460ec72d147175595b298ef4e3cb9..fc3ddc0494991d9744a2f8f657ecc458d235ceed 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,7 +1,7 @@
 gnome = import('gnome')
 dbus_src = gnome.gdbus_codegen(
     'sm.puri.OSK0',
-    join_paths(dbusdir, 'sm.puri.OSK0.xml')
+    join_paths(meson.source_root() / 'data' / 'dbus', 'sm.puri.OSK0.xml')
 )
 
 squeekboard_resources = gnome.compile_resources(