summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2024-01-04 19:58:55 +0100
committerVivien Kraus <vivien@planete-kraus.eu>2024-01-04 21:47:44 +0100
commitc7f850b8e14ee9d9eeb761a67cfa4600886ab7ce (patch)
treec3603f82ccf1cb1cbdf243a09b6f2add18bfc9f7
parent4574bcb6b8544ea509a707a760eb02986139b576 (diff)
Add the emacs-tramp-landing-zone-service-type
-rw-r--r--guix/vkraus/services/emacs-tramp-landing-zone.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/guix/vkraus/services/emacs-tramp-landing-zone.scm b/guix/vkraus/services/emacs-tramp-landing-zone.scm
new file mode 100644
index 0000000..4feaa38
--- /dev/null
+++ b/guix/vkraus/services/emacs-tramp-landing-zone.scm
@@ -0,0 +1,39 @@
+(define-module (vkraus services emacs-tramp-landing-zone)
+ #:use-module ((gnu services)
+ #:select (service-type
+ service-extension
+ special-files-service-type))
+ #:use-module ((gnu packages base)
+ #:select (coreutils findutils grep))
+ #:use-module ((gnu packages version-control)
+ #:select (git))
+ #:use-module ((gnu packages perl)
+ #:select (perl))
+ #:use-module ((guix gexp)
+ #:select (file-append))
+ #:export (emacs-tramp-landing-zone-service-type)
+ #:duplicates (merge-generics)
+ #:declarative? #t)
+
+(define (special-files-extension _)
+ `(("/usr/bin/test" ,(file-append coreutils "/bin/test"))
+ ("/usr/bin/ls" ,(file-append coreutils "/bin/ls"))
+ ("/usr/bin/cp" ,(file-append coreutils "/bin/cp"))
+ ("/usr/bin/mv" ,(file-append coreutils "/bin/mv"))
+ ("/usr/bin/rm" ,(file-append coreutils "/bin/rm"))
+ ("/usr/bin/chmod" ,(file-append coreutils "/bin/chmod"))
+ ("/usr/bin/find" ,(file-append findutils "/bin/find"))
+ ("/usr/bin/cat" ,(file-append coreutils "/bin/cat"))
+ ("/usr/bin/perl" ,(file-append perl "/bin/perl"))
+ ("/usr/bin/grep" ,(file-append grep "/bin/grep"))
+ ;; git is for remote magit
+ ("/usr/bin/git" ,(file-append git "/bin/git"))))
+
+(define emacs-tramp-landing-zone-service-type
+ (service-type
+ (name 'emacs-tramp-landing-zone)
+ (description
+ "Make sure all the coreutils programs (and git) are there when connecting through TRAMP")
+ (extensions
+ (list (service-extension special-files-service-type special-files-extension)))
+ (default-value #t)))