summaryrefslogtreecommitdiff
path: root/guix/vkraus/services/emacs-tramp-landing-zone.scm
blob: 4feaa389f7705afa3193835af64bc847a5f02488 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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)))