summaryrefslogtreecommitdiff
path: root/suweren/update.scm
diff options
context:
space:
mode:
Diffstat (limited to 'suweren/update.scm')
-rw-r--r--suweren/update.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/suweren/update.scm b/suweren/update.scm
new file mode 100644
index 0000000..05c0376
--- /dev/null
+++ b/suweren/update.scm
@@ -0,0 +1,40 @@
+(define-module (suweren update)
+ #:use-module (gnu home services shells)
+ #:use-module (gnu services))
+
+(define-public update-commands
+ (let* ((and "&& ")
+ (collect-garbage "sudo guix gc -d 7d ")
+ (pull-guix "guix pull ")
+ (reconfigure-home (string-append "guix home "
+ "delete-generations 7d ; "
+ "guix home "
+ "reconfigure -e "
+ "'(@ (people marekpasnikowski)"
+ " home)'"))
+ (reconfigure-system (string-append "sudo guix system "
+ "delete-generations 7d ;"
+ "sudo guix system "
+ "reconfigure -e "
+ "'(@ (systems ayase "
+ "system-configuration) ayase)'"))
+
+ (update-system (string-append pull-guix
+ and
+ reconfigure-system
+ and
+ reconfigure-home
+ and
+ collect-garbage))
+
+ (aliases `(("collect-garbage" . ,collect-garbage)
+ ("pull-guix" . ,pull-guix)
+ ("reconfigure-home" . ,reconfigure-home)
+ ("reconfigure-system" . ,reconfigure-system)
+ ("update-system" . ,update-system)))
+
+ (value (home-bash-extension (aliases aliases))))
+
+ (simple-service 'update-commands
+ home-bash-service-type
+ value)))