diff --git a/Makefile b/Makefile
index a0fc6c3..d70e6b8 100644
--- a/Makefile
+++ b/Makefile
@@ -8,6 +8,7 @@ keyrings: \
 	desktop/etc/apt/keyrings/microsoft-archive-keyring.gpg \
 	desktop/etc/apt/keyrings/slack-archive-keyring.gpg \
 	desktop/etc/apt/keyrings/syncthing-archive-keyring.gpg \
+	desktop/etc/apt/keyrings/windsurf-stable-archive-keyring.gpg \
 	etc/apt/keyrings/cloudflare-archive-keyring.gpg \
 	etc/apt/keyrings/docker-archive-keyring.gpg \
 	etc/apt/keyrings/nodesource-archive-keyring.gpg \
@@ -28,6 +29,10 @@ desktop/etc/apt/keyrings/slack-archive-keyring.gpg:
 desktop/etc/apt/keyrings/syncthing-archive-keyring.gpg:
 	curl -sSf --tlsv1.3 -o $@ https://syncthing.net/release-key.gpg
 
+desktop/etc/apt/keyrings/windsurf-stable-archive-keyring.gpg:
+	curl -sSf --tlsv1.3 https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/windsurf.gpg \
+		| gpg --dearmor >$@
+
 etc/apt/keyrings/cloudflare-archive-keyring.gpg:
 	curl -sSf --tlsv1.3 https://pkg.cloudflare.com/cloudflare-main.gpg \
 		| gpg --dearmor >$@
diff --git a/desktop/etc/apt/keyrings/windsurf-stable-archive-keyring.gpg b/desktop/etc/apt/keyrings/windsurf-stable-archive-keyring.gpg
new file mode 100644
index 0000000..08e34df
Binary files /dev/null and b/desktop/etc/apt/keyrings/windsurf-stable-archive-keyring.gpg differ
diff --git a/desktop/etc/apt/sources.list.d/windsurf.sources b/desktop/etc/apt/sources.list.d/windsurf.sources
new file mode 100644
index 0000000..76e7e55
--- /dev/null
+++ b/desktop/etc/apt/sources.list.d/windsurf.sources
@@ -0,0 +1,6 @@
+Types: deb
+URIs: https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt
+Suites: stable
+Components: main
+Signed-By: /usr/share/keyrings/windsurf-stable-archive-keyring.gpg
+Architectures: amd64
diff --git a/desktop/packages.bash b/desktop/packages.bash
index be02ceb..834b5ae 100644
--- a/desktop/packages.bash
+++ b/desktop/packages.bash
@@ -8,5 +8,6 @@ mozc-utils-gui
 slack-desktop
 syncthing
 timeshift
+windsurf
 xsel
 )