summaryrefslogtreecommitdiff
path: root/guix/packages/emacs.scm
blob: 70d9f21c5edd216cbd29a8da9d60b723b163cfc5 (about) (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
(define-module (packages emacs)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix cvs-download)
  #:use-module (guix download)
  #:use-module (guix deprecation)
  #:use-module (guix bzr-download)
  #:use-module (guix gexp)
  #:use-module (guix i18n)
  #:use-module (guix git-download)
  #:use-module (guix hg-download)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system cmake)
  #:use-module (guix build-system copy)
  #:use-module (guix build-system emacs)
  #:use-module (guix build-system perl)
  #:use-module (guix build-system trivial)
  #:use-module (gnu packages)
  #:use-module (gnu packages emacs-xyz)
  #:use-module (gnu packages video)
  #:use-module (gnu packages tor)
  #:use-module (ice-9 match))


(define-public emacs-gnosis
  (let ((commit "6df4a3d342bee27ef6891dc4930dd3ff17c52c31"))
    (package
      (name "emacs-gnosis")
      (version "0.3.0")
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://git.thanosapollo.org/gnosis")
               (commit commit)))
         (sha256
          (base32
           "18d59gw9k1aj7ki2555vb4mdbrpsz9ib5lkcshf6k0p0qxkzqcxz"))
         (file-name (git-file-name name version))))
      (build-system emacs-build-system)
      (propagated-inputs
       (list emacs-compat
             emacs-emacsql))
      (home-page "https://thanosapollo.org/projects/gnosis")
      (synopsis "Spaced Repetition System for GNU Emacs")
      (description "Gnosis is a spaced repetition system for note-taking and self-testing where notes are formatted as Question/Answer/Explanation. Notes are reviewed at spaced intervals based on the success or failure in recalling the answer to each question.")
      (license license:gpl3+))))


(define-public emacs-yeetube
  (let ((commit "c9721a295f4fd30a44e94b3424151fa8a14d22ae")) ;version bump
    (package
      (name "emacs-yeetube")
      (version "2.1.6")
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://git.thanosapollo.org/yeetube")
               (commit commit)))
         (sha256
          (base32
           "0lrcs0n30h800sm6py4av44a3fcfgasmj223mnl76q34syyrgz6k"))
         (file-name (git-file-name name version))))
      (build-system emacs-build-system)
      (arguments
       (list
        #:phases
        #~(modify-phases %standard-phases
            (add-after 'unpack 'locate-binaries
              (lambda* (#:key inputs #:allow-other-keys)
                (substitute* (find-files "." "\\.el$")
                  (("\\(executable-find \"mpv\"\\)")
                   (format #f "~s"
                           (search-input-file inputs "/bin/mpv")))
                  (("\\(executable-find \"torsocks\"\\)")
                   (format #f "~s"
                           (search-input-file inputs "/bin/torsocks")))
                  (("\\(executable-find \"yt-dlp\"\\)")
                   (format #f "~s"
                           (search-input-file inputs "/bin/yt-dlp")))))))))
      (inputs (list mpv torsocks yt-dlp))
      (propagated-inputs (list emacs-compat))
      (home-page "https://thanosapollo.org/projects/yeetube/")
      (synopsis "Youtube and Invidious front-end for Emacs")
      (description
       "This package offers an Emacs interface that allows you to search YouTube
or an Invidious instance for a specific query.  The search results are shown
as links in an Org mode buffer.  The videos can be opened to a user-defined
video player (by default @command{mpv}) or downloaded using @command{yt-dlp}.
This package also includes a @code{yt-dlp} front-end.")
      (license license:gpl3+))))


(define-public emacs-eshell-git-prompt
  (let ((commit "dfcf9cd93add6763e2c46603b0323274d4c22906"))
    (package
      (name "emacs-eshell-git-prompt")
      (version "0.1.3")
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://github.com/xuchunyang/eshell-git-prompt")
               (commit commit)))
         (file-name (git-file-name name version))
         (sha256
          (base32 "13b7nr0819pgzyvh0szi0zjyazgpxmsbqcz65cccyhh2pq48zb7j"))))
      (build-system emacs-build-system)
      (propagated-inputs
       (list emacs-dash))
      (home-page "https://github.com/xuchunyang/eshell-git-prompt")
      (synopsis "Themes for Emacs Shell (Eshell) prompt.")
      (description "This package provides a variety of themes for Emacs Shell (Eshell) prompt.")
      (license license:gpl3+))))