diff --git a/nongnu/packages/productivity.scm b/nongnu/packages/productivity.scm
index 446a654..836cf92 100644
--- a/nongnu/packages/productivity.scm
+++ b/nongnu/packages/productivity.scm
@@ -1,6 +1,6 @@
 ;;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
-;;; Copyright © 2024 Karl Hallsby <karl@hallsby.com
+;;; Copyright © 2024 Raven Hallsby <karl@hallsby.com>
 
 (define-module (nongnu packages productivity)
   #:use-module (gnu packages base)
@@ -10,6 +10,8 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages inkscape)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages photo)
@@ -20,6 +22,7 @@
   #:use-module (guix download)
   #:use-module (guix gexp)
   #:use-module (guix packages)
+  #:use-module (ice-9 match)
   #:use-module (nonguix build-system chromium-binary)
   #:use-module ((nonguix licenses) #:prefix license:)
   #:use-module ((guix licenses) #:prefix free-license:))
@@ -234,3 +237,112 @@ references and bibliographies for any text editor, and directly inside Word,
 LibreOffice, and Google Docs for over 10,000 citation styles.")
     (home-page "https://www.zotero.org")
     (license free-license:agpl3)))
+
+(define-public obsidian
+  (package
+    (name "obsidian")
+    (version "1.6.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://github.com/obsidianmd/obsidian-releases/releases/download/"
+                       "v" version "/obsidian-" version
+                       (match (or (%current-target-system) (%current-system))
+                         ("x86_64-linux" "") ; x86_64 does not have any special indication
+                         ("aarch64-linux" "-arm64")
+                         ;; We should provide a default case.
+                         (_ "unsupported"))
+                       ".tar.gz"))
+       (file-name (string-append "obsidian-" version ".tar.gz"))
+       (sha256
+        (base32
+         (match (or (%current-target-system) (%current-system))
+           ("x86_64-linux" "0pz9jg231bcrjjyw1x189s28wva5r9v5asf1ib0yby3wsdwmykd2")
+           ("aarch64-linux" "0rbq0mpv9rncs2i5gcxhn92dyjssbyly9whr1qhijmldvfy1l468")
+           ;; We need a valid base case for base32
+           (_ "0000000000000000000000000000000000000000000000000000"))))))
+    (build-system chromium-binary-build-system)
+    (arguments
+     (list
+      #:validate-runpath? #f ; TODO: fails on wrapped binary (.obsidian-real)
+      #:substitutable? #f
+      #:wrapper-plan
+      #~(list
+         "libEGL.so"
+         "libffmpeg.so"
+         "libGLESv2.so"
+         "libvk_swiftshader.so"
+         "libvulkan.so.1"
+         "obsidian")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'install-wrapper 'install-entrypoint
+            (lambda _
+              (let* ((bin (string-append #$output "/bin")))
+                (mkdir-p bin)
+                (symlink (string-append #$output "/obsidian")
+                         (string-append bin "/obsidian")))))
+          ;; NOTE: Obsidian's icon SVG does not conform to SVG standards.
+          (add-after 'install 'create-desktop-icons
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let ((convert (search-input-file inputs "/bin/convert"))
+                    (svg (assoc-ref inputs "obsidian-logo-gradient.svg"))
+                    (sizes (list "32x32" "48x48" "64x64" "128x128" "256x256"
+                                 "512x512")))
+                (for-each
+                 (lambda (size)
+                   (mkdir-p (string-append #$output "/share/icons/hicolor/"
+                                           size
+                                           "/apps"))
+                   (invoke convert
+                           "-background" "none"
+                           "-resize" size
+                           svg
+                           (string-append #$output "/share/icons/hicolor/"
+                                          size
+                                          "/apps/obsidian.png")))
+                 sizes))))
+          (add-after 'install 'create-desktop-file
+            (lambda _
+              (make-desktop-entry-file
+               (string-append #$output "/share/applications/obsidian.desktop")
+               #:name "Obsidian"
+               #:type "Application"
+               #:generic-name "Markdown Editor"
+               #:exec (string-append #$output "/obsidian")
+               #:icon "obsidian"
+               #:keywords '("obsidian")
+               #:categories '("Application" "Office")
+               #:terminal #f
+               #:startup-notify #t
+               #:startup-w-m-class "obsidian"
+               #:mime-type "x-scheme-handler/obsidian"
+               #:comment
+               '(("en" "Knowledge base")
+                 (#f "Knowledge base"))))))))
+    (native-inputs
+     (list
+      ;; imagemagick & inkscape needed to create desktop icons. We use the
+      ;; stable versions because we only need them for generating icons.
+      imagemagick/stable
+      inkscape/stable))
+    (inputs
+     (list
+      (origin
+        (method url-fetch)
+        (uri "https://obsidian.md/images/obsidian-logo-gradient.svg")
+        (sha256
+         (base32 "100j8fcrc5q8zv525siapminffri83s2khs2hw4kdxwrdjwh36qi")))))
+    (synopsis "Markdown-based knowledge base")
+    (supported-systems '("x86_64-linux" "aarch64-linux"))
+    (description "Obsidian is a powerful knowledge base that works on top of a
+local folder of plain text Markdown files. Obsidian makes following connections
+frictionless, and with the connections in place, you can explore all of your
+knowledge in the interactive graph view. Obsidian supports CommonMark and GitHub
+Flavored Markdown (GFM), along with other useful notetaking features such as
+tags, LaTeX mathematical expressions, mermaid diagrams, footnotes, internal links
+and embedding Obsidian notes or external files. Obsidian also has a plugin system
+to expand its capabilities.")
+    (home-page "https://obsidian.md")
+    (license (license:nonfree "https://obsidian.md/license"))))