(define-module (vkraus packages continuous-deployment) #:use-module (guix packages) #:use-module (guix licenses) #:use-module (guix build-system trivial) #:use-module (guix gexp) #:use-module (gnu packages bash) #:use-module (gnu packages package-management)) (define builder '(let ((out (assoc-ref %outputs "out")) (bash-in (assoc-ref %build-inputs "bash")) (guix-in (assoc-ref %build-inputs "guix"))) (mkdir out) (mkdir (string-append out "/bin")) (call-with-output-file (string-append out "/bin/continuous-deployment") (lambda (port) (format port "#!~a/bin/bash ~a/bin/guix pull -c 4 && ~a/bin/guix system reconfigure -c 4 /etc/config.scm" bash-in guix-in guix-in))) (chmod (string-append out "/bin/continuous-deployment") #o755) #t)) (define-public continuous-deployment (package (name "continuous-deployment") (version "0.0.0") (source (plain-file "empty" "")) (build-system trivial-build-system) (arguments `(#:builder ,builder)) (inputs `(("bash" ,bash) ("guix" ,guix))) (synopsis "Reconfigure your system.") (description "Reconfigure your system.") (home-page "https://labo.planete-kraus.eu/continuous-deployment.git") (license gpl3+)))