diff --git a/scripts/sysupdate.rkt b/scripts/sysupdate.rkt new file mode 100755 index 0000000..f9e6b88 --- /dev/null +++ b/scripts/sysupdate.rkt @@ -0,0 +1,24 @@ +#!/usr/bin/env racket +#lang racket + +(current-print void) + +(define noint (make-parameter #f)) +(command-line #:program "sysupdate" + #:usage-help "Update the system" + #:once-each [("-n" "--noint") "Don't require user interaction" (noint #t)]) + +(define (cmd exe . args) + (match (find-executable-path exe) + [#f (printf "skipping command ~a, command not found\n" (cons exe args))] + [exepath + (printf ">>> ~a\n" (cons exe args)) + (apply system* exepath args)])) + +(apply cmd (if (noint) + '("paru" "-Syu" "--noconfirm") + '("paru" "-Syu"))) +(cmd "zupper" "update") +(cmd "rustup" "update") +(cmd "update-nvim-plugins") +(cmd "tldr" "--update") diff --git a/setup/commands/install-scripts.rkt b/setup/commands/install-scripts.rkt index b739f1a..c0f5cb6 100644 --- a/setup/commands/install-scripts.rkt +++ b/setup/commands/install-scripts.rkt @@ -11,6 +11,7 @@ ;; Symlink interpreted scripts (install-link "scripts/map-touch-display.rkt" (bin-path "map-touch-display")) (install-link "scripts/startriver.sh" (bin-path "startriver")) + (install-link "scripts/sysupdate.rkt" (bin-path "sysupdate")) (install-link "scripts/update-nvim-plugins.rkt" (bin-path "update-nvim-plugins")) (install-link "scripts/use-country-mirrors.sh" (bin-path "use-country-mirrors")) (install-link "scripts/videos-duration.sh" (bin-path "videos-duration"))