diff --git a/guix/guix-drv.scm b/guix/guix-drv.scm
new file mode 100644
index 0000000..e35326a
--- /dev/null
+++ b/guix/guix-drv.scm
@@ -0,0 +1,24 @@
+(use-modules (guix config)
+             (guix store)
+             (guix grafts)
+             (guix packages)
+             (guix ui)
+             (guix deriviations)
+             (guix monads)
+             (guix profiles)
+             (gnu packages)
+             (srfi srfi-1))
+
+(define (drv-package store package)
+  (λ ()
+    `((#:job-name . ,(string-append (package-name package) "-" (package-version package) "-job"))
+      (#:derivation . ,(derivation-file-name (package-derivation store package #:graft? #f))))))
+
+(define (drv-list store arguments)
+  (let* ((manifest (load* "/home/steve/conf/guix/manifest.scm" (make-user-module
+                                                                '((guix profiles) (gnu)))))
+         (packages (map manifest-entry-item (manifest-entries manifest))))
+    (parameterize ((%graft? #f))
+      (map (λ (package)
+             (drv-package store package))
+           (delete-duplicates! packages)))))
diff --git a/guix/manifest.scm b/guix/manifest.scm
new file mode 100644
index 0000000..9753e6c
--- /dev/null
+++ b/guix/manifest.scm
@@ -0,0 +1,108 @@
+;(setenv "GUIX_PACKAGE_PATH" "/home/steve/Source/bbbsd/:$GUIX_PACKAGE_PATH")
+
+(packages->manifest
+ (map (compose list specification->package+output symbol->string)
+      '(glibc-locales
+
+        gcc-toolchain gdb
+        strace
+
+        curl wget rsync
+        openssh gnupg pinentry
+
+        zip unzip bzip2 tar xz
+        file net-tools nmap
+
+        git
+
+        guile-bytestructures
+        guile-chickadee
+        guile-config
+        guile-fibers
+        guile-json
+        guile-irregex
+
+        vim emacs
+        emacs-guix
+        emacs-magit emacs-magit-todos
+        emacs-anzu emacs-better-defaults
+        emacs-bash-completion emacs-diminish
+        emacs-emojify
+        emacs-evil
+        emacs-evil-anzu emacs-evil-collection
+        emacs-evil-magit emacs-evil-org
+        emacs-evil-surround
+        emacs-flycheck emacs-geiser
+        emacs-js2-mode
+        emacs-nodejs-repl emacs-npm-mode
+        emacs-markdown-mode
+        emacs-web-mode
+        emacs-nix-mode
+        emacs-racket-mode
+        emacs-shell-switcher
+        emacs-slack
+
+        node
+        racket
+        rust
+
+
+        virt-manager virt-viewer
+
+        guile-readline
+
+        graphicsmagick graphviz inkscape
+
+        vlc ffmpeg audacity
+        flac shntool vorbis-tools
+        alsa-utils
+        gstreamer gst-transcoder 
+        gst-libav gst-plugins-bad gst-plugins-base gst-plugins-good gst-plugins-ugly
+        kodi kodi-cli
+
+        aspell aspell-dict-en
+        hunspell hunspell-dict-en
+
+        evince
+
+        xkbutils xmodmap xprop xwininfo xev xcb-util
+        arandr
+
+        font-adobe100dpi
+        font-adobe75dpi
+        font-anonymous-pro        
+        font-alias
+        font-anonymous-pro 
+        font-awesome
+        font-bitstream-vera
+        font-comic-neue 
+        font-dejavu 
+        font-fira-code
+        font-fira-mono
+        font-fira-sans
+        font-gnu-freefont-ttf
+        font-gnu-unifont
+        font-go
+        font-google-material-design-icons
+        font-google-noto
+        font-google-roboto
+        font-hack
+        font-ibm-plex
+        font-inconsolata
+        font-iosevka
+        font-isas-misc
+        font-lato
+        font-liberation
+        font-linuxlibertine
+        font-mathjax
+        font-micro-misc
+        font-misc-misc
+        font-mutt-misc
+        font-sony-misc
+        font-sun-misc
+        font-tamzen
+        font-terminus
+        font-ubuntu
+        font-util
+        font-xfree86-type1
+        fontconfig)))
diff --git a/guix/yaddith.scm b/guix/yaddith.scm
new file mode 100644
index 0000000..10789dd
--- /dev/null
+++ b/guix/yaddith.scm
@@ -0,0 +1,70 @@
+(use-modules (gnu)
+             (guix)
+             (guix packages)
+             (guix git))
+
+(use-service-modules admin base cuirass networking shepherd web ssh)
+(use-packages-modules admin ci linux ssh tls package-management web wget)
+
+(define %cuirass-specs
+  #~list `((#:name . "guix")
+           (#:url . "git://git.savannah.gnu.org/guix.git")
+           (#:branch . "master")
+           (#:no-compile? #t)
+           (#:load-path . ".")
+           (#:proc . drv-list)
+           (#:file . #$(local-file "/home/steve/conf/guix/cuirass/guix-drv.scm"))))
+
+(operating-system
+ (host-name "yaddith")
+ (timezone "America/New_York")
+ (locale "en_US.utf8")
+
+ (bootloader (bootloader-configuration
+              (bootloader grub-efi-bootloader)
+              (target "/boot")))
+
+ (file-systems (cons*
+                (file-system
+                 (device (file-system-label "guixsd"))
+                 (mount-point "/")
+                 (type "ext4"))
+                (file-system
+                 (device (uuid "074D-884c" 'fat))
+                 (mount-point "/boot")
+                 (type "vfat"))
+                %base-file-systems))
+
+ (users (cons (user-account
+               (name "steve")
+               (comments "Steve")
+               (group "users")
+               (supplementary-groups '("wheel" "netdev" "audio" "video"))
+               (home-directory "/home/steve"))))
+
+ (packages (cons*
+            nss-certs
+            %base-packages))
+
+ (services
+  (cons*
+   (service dhcp-client-service-type)
+   (services ntp-service-type)
+   (service openssh-service-type
+            (openssh-configuration
+             (password-authentication? #f)
+             (authorized-keys
+              `(("steve" ,(local-file "/home/steve/.ssh/id_rsa.pub"))))))
+   (services cuirass-service-type
+             (cuirass-configuration
+              (interval 30)
+              (use-substitutes? #f)
+              (port 8082)
+              (load-path '("/home/steve/Source/bbbsd"))
+              (specifications &cuirass-specs)))
+   (service guix-publish-service-type
+            (guix-publish-configuration
+             (host "0.0.0.0")))
+   %base-services))
+
+ (name-service-switch %mdns-host-lookup-nss))