(use-modules (ice-9 filesystem) (ice-9 pretty-print) (logging logger) (ordo) (ordo action filesystem)) (playbook #:name "Basic filesystem operations" #:plays (list (play #:name "Temporary files on localhost" #:host "localhost" #:tasks (list (task #:name "Create temporary directory" #:action (lambda () (fs:create-tmp-dir (current-connection))) #:register-play-var #:tmp-dir) (task #:name "Create hello.txt" #:action (lambda () (fs:install-file (current-connection) (file-name-join* ($ #:tmp-dir) "hello.txt") #:content "Hello, world!")) #:register-play-var #:hello) (task #:name "Stat hello.txt" #:action (lambda () (fs:stat (current-connection) ($ #:hello))) #:register-play-var #:hello-stat) (task #:name "Debug variables" #:action (lambda () (pretty-print (list #:hello ($ #:hello) #:hello-stat ($ #:hello-stat))))) (task #:name "Clean up tmp dir" #:action (lambda () (fs:remove (current-connection) ($ #:tmp-dir) #:recurse? #t #:verbose? #t)))))))