(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+))))