diff --git a/homelab.scm b/homelab.scm index 55ad5d6..5523d1f 100644 --- a/homelab.scm +++ b/homelab.scm @@ -40,6 +40,31 @@ (home-page "http://home.metznet.ca") (license licenses:gpl3+))) +(define-record-type* + metznet-system-configuration make-metznet-system-configuration + metznet-system-configuration? + (repo metznet-system-configuration-repo + (default metznet-system)) + (directory metznet-system-configuration-directory + (default "/etc/system"))) + +(define-public metznet-system-activation + (match-lambda + (($ repo directory) + #~(begin + (use-modules (guix build utils)) + (if (directory-exists? #$directory) + (rmdir #$directory)) + (symlink #$repo #$directory))))) + +(define-public metznet-system-service-type + (service-type + (name 'metznet-system) + (description "GUIX System service using metznet files") + (extensions (list + (service-extension activation-service-type metznet-system-activation))) + (default-value (metznet-system-configuration)))) + (define-public nvim-vimtex (package (name "nvim-vimtex")