summaryrefslogtreecommitdiff
path: root/guix/vkraus/packages/continuous-deployment.scm
blob: 8e1bc4afba25cd440647fc16ac09b750160796c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
(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+)))