summary refs log tree commit diff
path: root/etc/snippets/scheme-mode/guix-origin
diff options
context:
space:
mode:
Diffstat (limited to 'etc/snippets/scheme-mode/guix-origin')
-rw-r--r--etc/snippets/scheme-mode/guix-origin23
1 files changed, 23 insertions, 0 deletions
diff --git a/etc/snippets/scheme-mode/guix-origin b/etc/snippets/scheme-mode/guix-origin
new file mode 100644
index 0000000000..68d47135db
--- /dev/null
+++ b/etc/snippets/scheme-mode/guix-origin
@@ -0,0 +1,23 @@
+# -*- mode: snippet -*-
+# name: guix-origin
+# key: origin...
+# --
+(origin
+ (method ${1:$$(yas-choose-value "url-fetch"
+                                 "url-fetch/tarbomb"
+                                 "url-fetch/zipbomb"
+                                 "cvs-fetch"
+                                 "git-fetch"
+                                 "hg-fetch"
+                                 "svn-fetch")})
+ (uri ${1:$(cond ((equal yas-text "git-fetch") "git-reference...")
+                 ((equal yas-text "svn-fetch") "svn-reference...")
+                 ((equal yas-text "hg-fetch")  "hg-reference...")
+                 ((equal yas-text "cvs-fetch") "cvs-reference...")
+                 (t "(string-append \\"https://\\" version \\".tar.gz\\")"))}$0)
+ ${1:$(cond ((member yas-text '("git-fetch" "svn-fetch" "hg-fetch" "cvs-fetch"))
+             "(file-name (string-append name \\"-\\" version \\"-checkout\\"))")
+            (t ""))}
+ (sha256
+  (base32
+    "$2")))
\ No newline at end of file