From eea636e04e76e772380f8f96c41eb77bea24a0cd Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Mon, 1 Jul 2024 15:27:57 -0700 Subject: Copy package definitions from my ‘new-dotfiles’ project --- oni/packages/count-emails.scm | 42 ++ oni/packages/emacs-config.scm | 501 ++++++++++++++++++++--- oni/packages/emacs.scm | 643 +++++++++++++++++++++--------- oni/packages/hlwm-run-or-raise.scm | 43 ++ oni/packages/hlwm-switch-to-window.scm | 39 ++ oni/packages/inbox-size.scm | 41 ++ oni/packages/inkplate.scm | 43 ++ oni/packages/mpd.scm | 106 +++++ oni/packages/notmuch-collect-tasks.scm | 41 ++ oni/packages/notmuch-tag-mailinglists.scm | 41 ++ oni/packages/pick-random-wallpaper.scm | 43 ++ oni/packages/python-xyz.scm | 71 ++++ oni/packages/sawfish.scm | 24 ++ oni/packages/shutdown-rofi.scm | 40 ++ oni/packages/stumpwm.scm | 2 +- oni/packages/terminals.scm | 37 ++ oni/packages/utilities.scm | 42 ++ oni/packages/zsh.scm | 31 ++ 18 files changed, 1595 insertions(+), 235 deletions(-) create mode 100644 oni/packages/count-emails.scm create mode 100644 oni/packages/hlwm-run-or-raise.scm create mode 100644 oni/packages/hlwm-switch-to-window.scm create mode 100644 oni/packages/inbox-size.scm create mode 100644 oni/packages/inkplate.scm create mode 100644 oni/packages/mpd.scm create mode 100644 oni/packages/notmuch-collect-tasks.scm create mode 100644 oni/packages/notmuch-tag-mailinglists.scm create mode 100644 oni/packages/pick-random-wallpaper.scm create mode 100644 oni/packages/python-xyz.scm create mode 100644 oni/packages/sawfish.scm create mode 100644 oni/packages/shutdown-rofi.scm create mode 100644 oni/packages/terminals.scm create mode 100644 oni/packages/utilities.scm create mode 100644 oni/packages/zsh.scm diff --git a/oni/packages/count-emails.scm b/oni/packages/count-emails.scm new file mode 100644 index 0000000..0f527e8 --- /dev/null +++ b/oni/packages/count-emails.scm @@ -0,0 +1,42 @@ +(define-module (oni packages count-emails) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages shells) + #:use-module (gnu packages mail)) + +(define-public count-emails + (let ((commit "66165bdecea54888967fcc6a8c29a3df09a18256") + (revision "0")) + (package + (name "count-emails") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "git://ryuslash.org/util/tom/count-emails") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "0pv4wbxbg0szs2jiskmxvivrq44ha5ljdn18j3j2pi8q1dp9rmb3")) + (file-name (git-file-name name version)))) + (propagated-inputs + (list scsh notmuch)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "count-emails" bin))))))) + (home-page "https://ryuslash.org/") + (synopsis "A simple script that counts the number of unread emails.") + (description "Counts the number of unread emails.") + (license license:gpl3+)))) diff --git a/oni/packages/emacs-config.scm b/oni/packages/emacs-config.scm index c77395c..9fe2d7c 100644 --- a/oni/packages/emacs-config.scm +++ b/oni/packages/emacs-config.scm @@ -7,11 +7,14 @@ #:use-module (gnu packages llvm) #:use-module (gnu packages cmake) #:use-module (gnu packages bash) - #:use-module (oni packages emacs) - #:use-module (oni packages go)) + #:use-module ((gnu packages mail) + #:select (emacs-notmuch)) + #:use-module ((gnu packages python-xyz) + #:select (python-black)) + #:use-module (oni packages emacs)) (define-public emacs-oni-config - (let ((commit "8eb16a8db6424eeca3fc82bdd806529edd94bd5e") + (let ((commit "6747a3693c6320f0b0f3a49283c6b4d1a53fc3fa") (revision "0")) (package (name "emacs-oni-config") @@ -20,13 +23,13 @@ (origin (method git-fetch) (uri (git-reference - (url "https://code.ryuslash.org/ryuslash/emacs-config.git") + (url "git://code.ryuslash.org/emacs-config.git") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0m88z982j113jdyy1zsii4m0hg5p1l6g3gj47s3msspr2dz2b9hi")))) + (base32 "0k4jqbiakxmahxxylfvzhbmhw4a12wid0smk83x016bmhb068slg")))) (build-system emacs-build-system) - (home-page "https://code.ryuslash.org/ryuslash/emacs-config") + (home-page "https://code.ryuslash.org/emacs-config/about/") (synopsis "My Emacs configuration") (description "This package provides my configuration for emacs") (license license:gpl3+)))) @@ -42,16 +45,55 @@ (synopsis "My Emacs vterm configuration") (description "This package provides my configuration for emacs-vterm"))) -(define-public emacs-oni-elfeed +(define-public emacs-oni-ui + (package + (inherit emacs-oni-config) + (name "emacs-oni-ui") + (arguments + '(#:include '("oni-ui.el"))) + (propagated-inputs + (list emacs-beacon + emacs-diminish)) + (synopsis "My Emacs vterm configuration") + (description "This package provides my configuration for emacs-vterm"))) + +(define-public emacs-oni-gui (package (inherit emacs-oni-config) - (name "emacs-oni-elfeed") + (name "emacs-oni-gui") (arguments - '(#:include '("oni-elfeed.el"))) + '(#:include '("oni-gui.el"))) (propagated-inputs - `(("emacs-elfeed" ,emacs-elfeed))) - (synopsis "My Emacs elfeed configuration") - (description "This package provides my configuration for emacs-elfeed"))) + (list emacs-oni-ui + emacs-oni-hydra + emacs-yoshi-theme + emacs-diminish)) + (synopsis "My Emacs vterm configuration") + (description "This package provides my configuration for emacs-vterm"))) + +(define-public emacs-oni-elfeed + (package + (inherit emacs-oni-config) + (name "emacs-oni-elfeed") + (arguments + '(#:include '("oni-elfeed.el"))) + (propagated-inputs + `(("emacs-elfeed" ,emacs-elfeed))) + (synopsis "My Emacs elfeed configuration") + (description "This package provides my configuration for emacs-elfeed"))) + +(define-public emacs-oni-magit + (package + (inherit emacs-oni-config) + (name "emacs-oni-magit") + (arguments + '(#:include '("oni-magit.el"))) + (propagated-inputs + (list emacs-magit + emacs-magit-popup + emacs-oni-hydra)) + (synopsis "My Emacs elfeed configuration") + (description "This package provides my configuration for emacs-elfeed"))) (define-public emacs-oni-alert (package @@ -226,7 +268,8 @@ Emacs"))) `(("emacs-reformatter" ,emacs-reformatter) ("emacs-oni-flycheck" ,emacs-oni-flycheck) ("emacs-oni-smartparens" ,emacs-oni-smartparens) - ("shfmt" ,shfmt))) + ;; ("shfmt" ,shfmt) + )) (synopsis "My Emacs Shell coding configuration") (description "This package provides my configuration for coding in Shell"))) @@ -251,8 +294,7 @@ Emacs"))) `(#:phases (modify-phases %standard-phases (add-after 'unpack 'chdir-oni-bats - (lambda _ - (chdir "oni-bats")))) + (λ _ (chdir "oni-bats")))) #:include '("\\.el$" "^snippets\\/bats-mode\\/"))) (propagated-inputs `(("emacs-bats" ,emacs-bats) @@ -262,7 +304,7 @@ Emacs"))) (synopsis "My Emacs Bats coding configuration") (description "This package provides my configuration for coding in Bats"))) -(define-public emacs-oni-org +(define-public (emacs-oni-org emacs) (package (inherit emacs-oni-config) (name "emacs-oni-org") @@ -270,36 +312,42 @@ Emacs"))) `(#:phases (modify-phases %standard-phases (add-after 'unpack 'chdir-oni-org - (lambda _ - (chdir "oni-org")))) + (λ _ (chdir "oni-org")))) #:include '("\\.el$" "^snippets\\/org-mode\\/" "^capture-templates\\/" - "^icons\\/"))) + "^icons\\/") + ;; The default #:emacs (emacs-minimal) doesn't include `range.el' and + ;; throws an error while trying to byte-compile oni-org. + #:emacs ,emacs)) (propagated-inputs - `(("emacs-oni-yasnippet" ,emacs-oni-yasnippet) - ("emacs-oni-alert" ,emacs-oni-alert) - ("emacs-oni-hydra" ,emacs-oni-hydra) - ("emacs-org" ,emacs-org) - ("emacs-org-contrib" ,emacs-org-contrib) - ("emacs-org-bullets" ,emacs-org-bullets) - ("emacs-org-edna" ,emacs-org-edna) - ("emacs-diminish" ,emacs-diminish) - ("emacs-all-the-icons" ,emacs-all-the-icons) - ("emacs-olivetti" ,emacs-olivetti) - ("emacs-form-feed" ,emacs-form-feed) - ("emacs-org-pretty-table" ,emacs-org-pretty-table))) + (list emacs-oni-yasnippet + emacs-oni-alert + emacs-oni-hydra + emacs-org-roam + emacs-org + emacs-org-contrib + emacs-org-bullets + emacs-org-edna + emacs-diminish + emacs-all-the-icons + emacs-olivetti + emacs-form-feed + emacs-org-pretty-table + emacs-ob-async + emacs-org-ql + emacs-org-super-agenda)) (synopsis "My Emacs Org configuration") (description "This package provides my configuration for org"))) -(define-public emacs-oni-org-roam +(define-public (emacs-oni-org-roam emacs) (package (inherit emacs-oni-config) (name "emacs-oni-org-roam") (arguments '(#:include '("oni-org-roam.el"))) (propagated-inputs - `(("emacs-oni-org" ,emacs-oni-org) + `(("emacs-oni-org" ,(emacs-oni-org emacs)) ("emacs-org-roam" ,emacs-org-roam))) (synopsis "My Emacs Org Roam configuration") (description "This package provides my configuration for Org Roam"))) @@ -351,21 +399,41 @@ Emacs"))) (synopsis "My Emacs paredit configuration") (description "This package provides my configuration for paredit"))) +(define-public emacs-oni-python + (package + (inherit emacs-oni-config) + (name "emacs-oni-python") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-oni-python + (λ _ (chdir "oni-python")))) + #:include '("\\.el$" "^snippets\\/python-mode\\/"))) + (propagated-inputs + (list emacs-oni-yasnippet + emacs-oni-company + emacs-oni-flycheck + emacs-oni-hydra + emacs-oni-lsp + emacs-rainbow-delimiters + emacs-reformatter + python-black)))) + (define-public emacs-oni-clojure (package - (inherit emacs-oni-config) - (name "emacs-oni-clojure") - (arguments - '(#:include '("oni-clojure.el"))) - (propagated-inputs - `(("emacs-clojure-mode" ,emacs-clojure-mode) - ("emacs-oni-company" ,emacs-oni-company) - ("emacs-cider" ,emacs-cider) - ("emacs-oni-paredit" ,emacs-oni-paredit) - ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters) - ("emacs-oni-data-dir" ,emacs-oni-data-dir))) - (synopsis "My Emacs Clojure configuration") - (description "This package provides my configuration for Clojure"))) + (inherit emacs-oni-config) + (name "emacs-oni-clojure") + (arguments + '(#:include '("oni-clojure.el"))) + (propagated-inputs + `(("emacs-clojure-mode" ,emacs-clojure-mode) + ("emacs-oni-company" ,emacs-oni-company) + ("emacs-cider" ,emacs-cider) + ("emacs-oni-paredit" ,emacs-oni-paredit) + ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters) + ("emacs-oni-data-dir" ,emacs-oni-data-dir))) + (synopsis "My Emacs Clojure configuration") + (description "This package provides my configuration for Clojure"))) (define-public emacs-oni-cmake (package @@ -419,7 +487,7 @@ Emacs"))) `(#:phases (modify-phases %standard-phases (add-after 'unpack 'chdir-oni-conf - (lambda _ (chdir "oni-conf")))) + (λ _ (chdir "oni-conf")))) #:include '("\\.el$" "^snippets\\/conf-mode\\/"))) (propagated-inputs @@ -459,7 +527,7 @@ Emacs"))) '(#:phases (modify-phases %standard-phases (add-after 'unpack 'chdir-oni-csharp - (lambda _ (chdir "oni-csharp")))) + (λ _ (chdir "oni-csharp")))) #:include '("\\.el$" "^snippets\\/"))) (propagated-inputs `(("emacs-csharp-mode" ,emacs-csharp-mode) @@ -480,7 +548,7 @@ Emacs"))) '(#:phases (modify-phases %standard-phases (add-after 'unpack 'chdir-oni-css - (lambda _ (chdir "oni-css")))) + (λ _ (chdir "oni-css")))) #:include '("\\.el$" "^snippets\\/"))) (propagated-inputs `(("emacs-oni-company" ,emacs-oni-company) @@ -509,7 +577,7 @@ Emacs"))) '(#:phases (modify-phases %standard-phases (add-after 'unpack 'chdir-oni-elisp - (lambda _ (chdir "oni-elisp")))) + (λ _ (chdir "oni-elisp")))) #:include '("\\.el$" "^snippets\\/"))) (propagated-inputs `(("emacs-oni-company" ,emacs-oni-company) @@ -539,3 +607,336 @@ Emacs"))) ("emacs-eshell-fringe-status" ,emacs-eshell-fringe-status))) (synopsis "My Emacs Lisp configuration") (description "This package provides my configuration for Emacs Lisp."))) + +(define-public emacs-oni-sendmail + (package + (inherit emacs-oni-config) + (name "emacs-oni-sendmail") + (arguments + '(#:include '("oni-sendmail.el"))) + (synopsis "My configuration to send email through Emacs.") + (description "This package provides my configuration for sending mail through Emacs."))) + +(define-public emacs-oni-notmuch + (package + (inherit emacs-oni-config) + (name "emacs-oni-notmuch") + (arguments + '(#:include '("oni-notmuch.el"))) + (propagated-inputs + (list emacs-oni-sendmail + emacs-notmuch + emacs-ol-notmuch + emacs-olivetti)) + (synopsis "My notmuch configuration for Emacs.") + (description "This package provides my configuration for notmuch."))) + +(define-public emacs-oni-hy + (package + (inherit emacs-oni-config) + (name "emacs-oni-hy") + (arguments + '(#:include '("oni-hy\\.el$"))) + (propagated-inputs + (list emacs-hy-mode + emacs-oni-paredit + emacs-oni-yasnippet + emacs-rainbow-delimiters)) + (synopsis "My Hy configuration") + (description "This package provides my configuration for Hy."))) + +(define-public emacs-oni-project + (package + (inherit emacs-oni-config) + (name "emacs-oni-project") + (arguments + '(#:include '("oni-project\\.el$"))) + (synopsis "My project.el configuration") + (description "This package provides my configuration for project.el."))) + +(define-public emacs-oni-dired + (package + (inherit emacs-oni-config) + (name "emacs-oni-dired") + (arguments + '(#:include '("oni-dired\\.el$"))) + (synopsis "My Dired configuration") + (description "This package provides my configuration for Dired."))) + +(define-public emacs-oni-ediff + (package + (inherit emacs-oni-config) + (name "emacs-oni-ediff") + (arguments + '(#:include '("oni-ediff\\.el$"))) + (synopsis "My Ediff configuration") + (description "This package provides my configuration for Ediff."))) + +(define-public emacs-oni-elm + (package + (inherit emacs-oni-config) + (name "emacs-oni-elm") + (arguments + '(#:include '("oni-elm\\.el$"))) + (propagated-inputs + (list emacs-elm-mode + emacs-oni-lsp + emacs-rainbow-delimiters)) + (synopsis "My Elm configuration") + (description "This package provides my configuration for writing Elm code."))) + +(define-public emacs-oni-emms + (package + (inherit emacs-oni-config) + (name "emacs-oni-emms") + (arguments + '(#:include '("oni-emms\\.el$"))) + (propagated-inputs + (list emacs-emms)) + (synopsis "My EMMS configuration") + (description "This package provides my configuration for EMMS."))) + +(define-public emacs-oni-epub + (package + (inherit emacs-oni-config) + (name "emacs-oni-epub") + (arguments + '(#:include '("oni-epub\\.el$"))) + (propagated-inputs + (list emacs-nov-el)) + (synopsis "My configuration for reading ePub files") + (description "This package provides my configuration for reading ePub files."))) + +(define-public emacs-oni-eww + (package + (inherit emacs-oni-config) + (name "emacs-oni-eww") + (arguments + '(#:include '("oni-eww\\.el"))) + (propagated-inputs + (list emacs-oni-data-dir)) + (synopsis "My configuration for EWW") + (description "This package provides my configuration for EWW."))) + +(define-public emacs-oni-grep + (package + (inherit emacs-oni-config) + (name "emacs-oni-grep") + (arguments + '(#:include '("oni-grep\\.el$"))) + (synopsis "My grep configuration") + (description "This package provides my configuration for grep."))) + +(define-public emacs-oni-haskell + (package + (inherit emacs-oni-config) + (name "emacs-oni-haskell") + (arguments + '(#:include '("oni-haskell\\.el$"))) + (propagated-inputs + (list emacs-haskell-mode)) + (synopsis "My configuration for Haskell programming") + (description "This package provides my configuration for programming Haskell."))) + +(define-public emacs-oni-highlight-indent-guides + (package + (inherit emacs-oni-config) + (name "emacs-oni-highlight-indent-guides") + (arguments + '(#:include '("oni-highlight-indent-guides\\.el$"))) + (propagated-inputs + (list emacs-highlight-indent-guides)) + (synopsis "My configuration for highlight indent guides") + (description "This package provides my configuration for highlight indent guides."))) + +(define-public emacs-oni-html + (package + (inherit emacs-oni-config) + (name "emacs-oni-html") + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-oni-html + (λ _ (chdir "oni-html")))) + #:include '("\\.el$" "^snippets\\/"))) + (propagated-inputs + (list emacs-oni-yasnippet)) + (synopsis "My HTML configuration") + (description "This package provides my configuration for HTML."))) + +(define-public emacs-oni-java + (package + (inherit emacs-oni-config) + (name "emacs-oni-java") + (arguments + '(#:include '("oni-java\\.el$"))) + (propagated-inputs + (list emacs-oni-data-dir + emacs-oni-lsp + emacs-oni-hydra + emacs-lsp-java + emacs-rainbow-delimiters)) + (synopsis "My configuration for Java") + (description "This package provides my configuration for writing Java."))) + +(define-public emacs-oni-json + (package + (inherit emacs-oni-config) + (name "emacs-oni-json") + (arguments + '(#:include '("oni-json\\.el$"))) + (propagated-inputs + (list emacs-json-mode)) + (synopsis "My configuration for json") + (description "This package provides my configuration for writing json."))) + +(define-public emacs-oni-log-edit + (package + (inherit emacs-oni-config) + (name "emacs-oni-log-edit") + (arguments + '(#:include '("oni-log-edit\\.el$"))) + (synopsis "My configuration for log-edit") + (description "This package provides my configuration for log-edit."))) + +(define-public emacs-oni-lua + (package + (inherit emacs-oni-config) + (name "emacs-oni-lua") + (arguments + '(#:include '("oni-lua\\.el$"))) + (propagated-inputs + (list emacs-lua-mode)) + (synopsis "My configuration for Lua") + (description "This package provides my configuration for writing Lua."))) + +(define-public emacs-oni-makefile + (package + (inherit emacs-oni-config) + (name "emacs-oni-makefile") + (arguments + '(#:include '("oni-makefile\\.el$"))) + (synopsis "My configuration for GNU Make") + (description "This package provides my configuration for writing Makefiles."))) + +(define-public emacs-oni-nxml + (package + (inherit emacs-oni-config) + (name "emacs-oni-nxml") + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-oni-nxml + (λ _ (chdir "oni-nxml")))) + #:include '("\\.el$" "^snippets\\/"))) + (propagated-inputs + (list emacs-oni-yasnippet + emacs-reformatter)) + (synopsis "My XML configuration") + (description "This package provides my configuration for writing XML."))) + +(define-public emacs-oni-package + (package + (inherit emacs-oni-config) + (name "emacs-oni-package") + (arguments + '(#:include '("oni-package\\.el$"))) + (synopsis "My configuration for package.el") + (description "This package provides my configuration for package.el."))) + +(define-public emacs-oni-projectile + (package + (inherit emacs-oni-config) + (name "emacs-oni-projectile") + (arguments + '(#:include '("oni-projectile\\.el$"))) + (propagated-inputs + (list emacs-projectile)) + (synopsis "My configuration for Projectile") + (description "This package provides my configuration for Projectile."))) + +(define-public emacs-oni-scheme + (package + (inherit emacs-oni-config) + (name "emacs-oni-scheme") + (arguments + '(#:include '("oni-scheme\\.el$"))) + (propagated-inputs + (list emacs-oni-company + emacs-oni-paredit + emacs-rainbow-delimiters + emacs-geiser + emacs-geiser-guile)) + (synopsis "My configuration for Scheme") + (description "This package provides my configuration for writing Scheme."))) + +(define-public emacs-oni-shr + (package + (inherit emacs-oni-config) + (name "emacs-oni-shr") + (arguments + '(#:include '("oni-shr\\.el$"))) + (synopsis "My configuration for shr") + (description "This package provides my configuration for shr."))) + +(define-public emacs-oni-tramp + (package + (inherit emacs-oni-config) + (name "emacs-oni-tramp") + (arguments + '(#:include '("oni-tramp\\.el$"))) + (synopsis "My configuration for TRAMP") + (description "This package provides my configuration for TRAMP."))) + +(define-public emacs-oni-git-commit + (package + (inherit emacs-oni-config) + (name "emacs-oni-git-commit") + (arguments + '(#:include '("oni-git-commit\\.el$"))) + (propagated-inputs + (list + emacs-magit)) + (synopsis "My configuration for git-commit-mode") + (description "This package provides my configuration for git-commit-mode."))) + +(define-public emacs-oni-yaml + (package + (inherit emacs-oni-config) + (name "emacs-oni-yaml") + (arguments + '(#:include '("oni-yaml\\.el$"))) + (propagated-inputs + (list + emacs-yaml-mode + emacs-oni-flycheck + emacs-oni-highlight-indent-guides + emacs-indent-tools + emacs-yaml-imenu + emacs-yaml-pro)) + (synopsis "My configuration for yaml-mode.") + (description "This package provides my configuration for editing Yaml files."))) + +(define-public emacs-oni-php + (package + (inherit emacs-oni-config) + (name "emacs-oni-php") + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-oni-php + (λ _ (chdir "oni-php")))) + #:include '("\\.el$" "^snippets\\/"))) + (propagated-inputs + (list emacs-php-mode + emacs-oni-yasnippet + emacs-oni-flycheck + emacs-oni-company + emacs-oni-hydra + emacs-ggtags + emacs-fic-mode + emacs-ac-php + ;; Actually a dependency of emacs-ac-php for using company-php. + emacs-xcscope)) + (synopsis "My configuration for php-mode.") + (description "This package provides my configuration for editing PHP files."))) diff --git a/oni/packages/emacs.scm b/oni/packages/emacs.scm index e2af759..591a32a 100644 --- a/oni/packages/emacs.scm +++ b/oni/packages/emacs.scm @@ -2,106 +2,40 @@ #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix download) + #:use-module ((guix gexp) + #:select (gexp)) #:use-module (guix git-download) #:use-module (guix build-system emacs) #:use-module ((guix licenses) #:prefix license:) - #:use-module (gnu packages emacs-xyz)) + #:use-module (gnu packages emacs-xyz) + #:use-module ((gnu packages mail) + #:select (notmuch)) + #:use-module (gnu packages ruby) + #:use-module (rosenthal packages tree-sitter)) -(define-public emacs-inkplate - (let ((commit "0897721a7b3d84aa3f200ae85fddd5fdd370fc42") +(define-public emacs-ace-link-notmuch + (let ((commit "fb09673881ef0f7b7ad744c576a19f578df7c51d") (revision "0")) (package - (name "emacs-inkplate") - (version (git-version "0.0.1" revision commit)) + (name "emacs-ace-link-notmuch") + (version (git-version "0.0.0" revision commit)) (source (origin (uri (git-reference - (url "https://git.sr.ht/~ryuslash/inkplatel") + (url "https://git.sr.ht/~ryuslash/ace-link-notmuch") (commit commit))) (method git-fetch) (sha256 - (base32 "0mqnpf4vrzn3013pcwcr9150k4jy4klrdg0pd3amhg2y25054w4s")) + (base32 "1wpdimvwkrbic0hybsp5pqaql066yvl1aar37fr5kcm19gbgvcf6")) (file-name (git-file-name name version)))) + (propagated-inputs + (list emacs-ace-link)) (build-system emacs-build-system) - (synopsis "Interface for my Inkplate") + (synopsis "ace-link functionality for notmuch") (description - "This package provides a way to communicate with Inkplate in peripheral mode.") + "ace-link functionality for notmuch") (license license:gpl3+) - (home-page "https://sr.ht/~ryuslash/inkplate/")))) - -(define-public emacs-circe-serenity - (let ((commit "6dbc0944755b198c923689c33e7287e444f6a310") - (revision "0")) - (package - (name "emacs-circe-serenity") - (version (git-version "0.0.1" revision commit)) - (source - (origin - (uri (git-reference - (url "https://github.com/ryuslash/circe-serenity.git") - (commit commit))) - (method git-fetch) - (sha256 - (base32 "05fpbvqx6ii8kypv880j3mdc8kql7k16dcs42vpaaabjwn3kv4kn")) - (file-name (git-file-name name version)))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-circe" ,emacs-circe))) - (synopsis "Someone's idea of a more serene Circe configuration") - (description "A configuration for Circe") - (license license:gpl3) - (home-page "https://github.com/ryuslash/circe-serenity")))) - -(define-public emacs-embrace - (package - (name "emacs-embrace") - (version "0.1.4") - (source - (origin - (uri (git-reference - (url "https://github.com/cute-jumper/embrace.el") - (commit version))) - (method git-fetch) - (file-name (git-file-name name version)) - (sha256 - (base32 "1m0qyipkp5ydgcav8d0m58fbj1gilipbj7g8mg40iajr8wfqcjdc")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-expand-region" ,emacs-expand-region))) - (home-page "https://github.com/cute-jumper/embrace.el") - (synopsis "Add/Change/Delete pairs based on `expand-region', similar to `evil-surround'") - (description "This package is heavily inspired by evil-surround (which is a port of the vim -plugin surround.vim). But instead of using evil and its text objects, this -package relies on another excellent package expand-region. - -For Emacs users who don’t like evil and thus don’t use evil-surround, embrace -provides similar commands that can be found in evil-surround. Evil is absolutely -not required. For evil-surround users, embrace can make your evil-surround -commands even better! (Have you noticed that evil-surround doesn’t work on many -custom pairs?)") - (license license:gpl3+))) - -(define-public emacs-insert-char-preview - (let ((commit "0e4a62b5407fb1bed8920a4c13cf9a91065e15ad") - (revision "0")) - (package - (name "emacs-insert-char-preview") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (uri (git-reference - (url "https://gitlab.com/matsievskiysv/insert-char-preview") - (commit commit))) - (method git-fetch) - (file-name (git-file-name name version)) - (sha256 - (base32 "0cqc23y9n63a7kl2p1zrfcsxnclfxcszfmbh2hmbrs6q05ys0kzg")))) - (build-system emacs-build-system) - (home-page "https://gitlab.com/matsievskiysv/insert-char-preview") - (synopsis "Insert Unicode char") - (description "Insert Unicode char via insert-char-preview similar to insert-char command, but -with character preview in completion prompt.") - (license license:gpl3+)))) + (home-page "https://sr.ht/~ryuslash/ace-link-notmuch/")))) (define-public emacs-bats (let ((commit "d519f7c89f5ae17dfc33400596df4564b478315f") @@ -127,6 +61,29 @@ bats-mode derives from the bash flavor of sh-mode, adding font-lock for bats keywords.") (license license:gpl2+)))) +(define-public emacs-circe-serenity + (let ((commit "6dbc0944755b198c923689c33e7287e444f6a310") + (revision "0")) + (package + (name "emacs-circe-serenity") + (version (git-version "0.0.1" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/ryuslash/circe-serenity.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "05fpbvqx6ii8kypv880j3mdc8kql7k16dcs42vpaaabjwn3kv4kn")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-circe" ,emacs-circe))) + (synopsis "Someone's idea of a more serene Circe configuration") + (description "A configuration for Circe") + (license license:gpl3) + (home-page "https://github.com/ryuslash/circe-serenity")))) + (define-public emacs-docstr (let ((commit "4a991860c1259657c07c726bc482c97a1f597394") (revision "0")) @@ -151,84 +108,6 @@ keywords.") strings into code.") (license license:gpl3+)))) -(define-public emacs-flycheck-posframe - (let ((commit "8f60c9bf124ab9597d681504a73fdf116a0bde12") - (revision "0")) - (package - (name "emacs-flycheck-posframe") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (uri (git-reference - (url "https://github.com/alexmurray/flycheck-posframe") - (commit commit))) - (method git-fetch) - (file-name (git-file-name name version)) - (sha256 - (base32 "0qh9hzvs95jvfrspglzkwhfq6a5pinab94bbh5vzkg8jc2fq6drf")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-flycheck" ,emacs-flycheck) - ("emacs-posframe" ,emacs-posframe))) - (home-page "https://github.com/alexmurray/flycheck-posframe") - (synopsis "Show flycheck errors via posframe.el") - (description "Show flycheck errors via posframe.el") - (license license:gpl3+)))) - -(define-public emacs-flycheck-cask - (package - (name "emacs-flycheck-cask") - (version "0.4") - (source - (origin - (uri (git-reference - (url "https://github.com/flycheck/flycheck-cask") - (commit version))) - (method git-fetch) - (file-name (git-file-name name version)) - (sha256 - (base32 "1wm5saf29gw0gp0qq5glf9qq3iras99npc2rip7bsnn0czr2mscy")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-flycheck" ,emacs-flycheck) - ("emacs-dash" ,emacs-dash))) - (home-page "https://github.com/flycheck/flycheck-cask") - (synopsis "Cask support for Flycheck") - (description "Make Flycheck use Cask packages in Cask projects.") - (license license:gpl3+))) - -(define-public emacs-nroam - (package - (name "emacs-nroam") - (version "20210325.2015") - (source - (origin - (method url-fetch) - (uri (string-append - "https://melpa.org/packages/nroam-" - version - ".tar")) - (sha256 - (base32 - "1aybc2k8kyf2dlpbq39p3k1nsvzrhw58xarbwwq0qgz91r49m4xq")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-org-roam" ,emacs-org-roam) - ("emacs-org" ,emacs-org))) - (home-page - "https://github.com/NicolasPetton/nroam") - (synopsis - "Org-roam backlinks within org-mode buffers") - (description - "nroam is a supplementary package for org-roam that replaces the backlink side -buffer of Org-roam. Instead, it displays org-roam backlinks at the end of -org-roam buffers. - -To setup nroam for all org-roam buffers, evaluate the following: -(add-hook 'org-mode-hook #'nroam-setup-maybe) -") - (license license:gpl3+))) - (define-public emacs-eldoc-cmake (package (name "emacs-eldoc-cmake") @@ -277,6 +156,35 @@ See function `eldoc-cmake-enable'. (description "This package is format by itself, so you can view format effect.") (license license:gpl3+)))) +(define-public emacs-embrace + (package + (name "emacs-embrace") + (version "0.1.4") + (source + (origin + (uri (git-reference + (url "https://github.com/cute-jumper/embrace.el") + (commit version))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "1m0qyipkp5ydgcav8d0m58fbj1gilipbj7g8mg40iajr8wfqcjdc")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-expand-region" ,emacs-expand-region))) + (home-page "https://github.com/cute-jumper/embrace.el") + (synopsis "Add/Change/Delete pairs based on `expand-region', similar to `evil-surround'") + (description "This package is heavily inspired by evil-surround (which is a port of the vim +plugin surround.vim). But instead of using evil and its text objects, this +package relies on another excellent package expand-region. + +For Emacs users who don’t like evil and thus don’t use evil-surround, embrace +provides similar commands that can be found in evil-surround. Evil is absolutely +not required. For evil-surround users, embrace can make your evil-surround +commands even better! (Have you noticed that evil-surround doesn’t work on many +custom pairs?)") + (license license:gpl3+))) + (define-public emacs-erefactor (let ((commit "bfe27a1b8c7cac0fe054e76113e941efa3775fe8") (revision "0")) @@ -298,6 +206,73 @@ See function `eldoc-cmake-enable'. (description "Simple refactoring, linting utilities for Emacs-Lisp.") (license license:gpl3+)))) +(define-public emacs-eshell-fringe-status + (let ((commit "047e9b9c75a39ac9f903bab937918165261d44f8") + (revision "0")) + (package + (name "emacs-eshell-fringe-status") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "git://code.ryuslash.org/eshell-fringe-status.git") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "0frx1lc0rf6p01m5gjyaazl64f839856qn88v263rdls5rpncmz9")))) + (build-system emacs-build-system) + (home-page "https://code.ryuslash.org/eshell-fringe-status") + (synopsis "Show last status in fringe") + (description "Show last status in fringe") + (license license:gpl3+)))) + +(define-public emacs-flycheck-cask + (package + (name "emacs-flycheck-cask") + (version "0.4") + (source + (origin + (uri (git-reference + (url "https://github.com/flycheck/flycheck-cask") + (commit version))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wm5saf29gw0gp0qq5glf9qq3iras99npc2rip7bsnn0czr2mscy")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-flycheck" ,emacs-flycheck) + ("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/flycheck/flycheck-cask") + (synopsis "Cask support for Flycheck") + (description "Make Flycheck use Cask packages in Cask projects.") + (license license:gpl3+))) + +(define-public emacs-flycheck-posframe + (let ((commit "8f60c9bf124ab9597d681504a73fdf116a0bde12") + (revision "0")) + (package + (name "emacs-flycheck-posframe") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/alexmurray/flycheck-posframe") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "0qh9hzvs95jvfrspglzkwhfq6a5pinab94bbh5vzkg8jc2fq6drf")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-flycheck" ,emacs-flycheck) + ("emacs-posframe" ,emacs-posframe))) + (home-page "https://github.com/alexmurray/flycheck-posframe") + (synopsis "Show flycheck errors via posframe.el") + (description "Show flycheck errors via posframe.el") + (license license:gpl3+)))) + (define-public emacs-flycheck-relint (let ((commit "84b66d364ba583c1d5173a326997d11c6946b463") (revision "0")) @@ -323,47 +298,347 @@ See function `eldoc-cmake-enable'. in Emacs Lisp files, using relint.") (license license:gpl3+)))) -(define-public emacs-outli - (let ((commit "f16f3ab90c5e4194b62f461e82f01709ae80f6e9") +(define-public emacs-golden-ratio + (let ((commit "375c9f287dfad68829582c1e0a67d0c18119dab9") + (revision "0")) + (package + (name "emacs-golden-ratio") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/roman/golden-ratio.el.git") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "0a635a3h6jx0clgwmhwc48i14y3xy5q29y37lp2sjnbxx1hlmkli")))) + (build-system emacs-build-system) + (home-page "https://github.com/roman/golden-ratio.el") + (synopsis "Automatic resizing of Emacs windows to the golden ratio") + (description "When working with many windows at the same time, each window has a size that is +not convenient for editing. + +golden-ratio helps on this issue by resizing automatically the windows you are +working on to the size specified in the \"Golden Ratio\". The window that has +the main focus will have the perfect size for editing, while the ones that are +not being actively edited will be re-sized to a smaller size that doesn't get in +the way, but at the same time will be readable enough to know it's content.") + (license license:expat)))) + +(define-public emacs-indent-bars + (package + (name "emacs-indent-bars") + (version "0.2.3") + (source + (origin + (uri (git-reference + (url "https://github.com/jdtsmith/indent-bars") + (commit (string-append "v" version)))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mis93rh01i1zk8bix79l3q46zrfwlkpq1c1l6msng22ydxs1mw1")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-compat)) + (home-page "https://github.com/jdtsmith/indent-bars") + (synopsis "Fast, configurable indentation guide-bars for Emacs.") + (description "This package provides vertical indentation guide bars") + (license license:gpl3+))) + +(define-public emacs-indent-tools + (let ((commit "c731f05fa3950e2e8580ec61b88abbc705639830") + (revision "0")) + (package + (name "emacs-indent-tools") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://gitlab.com/emacs-stuff/indent-tools.git") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "0jri2vxd5a4sx93xq6kjcc5zx9yrhv789x3lyq6r2p2422diw2jr")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-s + emacs-hydra + emacs-yafolding)) + (home-page "https://gitlab.com/emacs-stuff/indent-tools/") + (synopsis "Indent, navigate around and act on indentation units: perfect for yaml, python +and the like.") + (description "Indent, move around and act on code based on indentation (yaml, + python, jade, etc). + +Meant for indentation-based languages, but can be used any time with indented +text.") + ;; I'm not sure this license is correct, there doesn't seem to be a wtfpl + ;; v1 in the licenses file. + (license license:wtfpl2)))) + +(define-public emacs-inkplate + (let ((commit "0897721a7b3d84aa3f200ae85fddd5fdd370fc42") (revision "0")) (package - (name "emacs-outli") + (name "emacs-inkplate") + (version (git-version "0.0.1" revision commit)) + (source + (origin + (uri (git-reference + (url "https://git.sr.ht/~ryuslash/inkplatel") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "0mqnpf4vrzn3013pcwcr9150k4jy4klrdg0pd3amhg2y25054w4s")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (synopsis "Interface for my Inkplate") + (description + "This package provides a way to communicate with Inkplate in peripheral mode.") + (license license:gpl3+) + (home-page "https://sr.ht/~ryuslash/inkplate/")))) + +(define-public emacs-insert-char-preview + (let ((commit "0e4a62b5407fb1bed8920a4c13cf9a91065e15ad") + (revision "0")) + (package + (name "emacs-insert-char-preview") (version (git-version "0.0.0" revision commit)) (source (origin + (uri (git-reference + (url "https://gitlab.com/matsievskiysv/insert-char-preview") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cqc23y9n63a7kl2p1zrfcsxnclfxcszfmbh2hmbrs6q05ys0kzg")))) + (build-system emacs-build-system) + (home-page "https://gitlab.com/matsievskiysv/insert-char-preview") + (synopsis "Insert Unicode char") + (description "Insert Unicode char via insert-char-preview similar to insert-char command, but +with character preview in completion prompt.") + (license license:gpl3+)))) + +(define-public emacs-nginx-mode + (let ((commit "de0519941ee235dcd1587f6aab68152285e1aaaa") + (revision "0")) + (package + (name "emacs-nginx-mode") + (version (git-version "1.1.9" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://ryuslash.org/nginx-mode.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nqyz2mkhvm8ixgxla93nfmxqn0qs8vx7ma598kmyp292b3k9whr")))) + (build-system emacs-build-system) + (home-page "https://github.com/ajc/nginx-mode") + (synopsis "Emacs major mode for editing nginx config files") + (description "This package provides an Emacs major mode for +editing nginx config files.") + (license license:gpl2+)))) + +(define-public emacs-nroam + (package + (name "emacs-nroam") + (version "20210325.2015") + (source + (origin + (method url-fetch) + (uri (string-append + "https://melpa.org/packages/nroam-" + version + ".tar")) + (sha256 + (base32 + "1aybc2k8kyf2dlpbq39p3k1nsvzrhw58xarbwwq0qgz91r49m4xq")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-org-roam" ,emacs-org-roam) + ("emacs-org" ,emacs-org))) + (home-page + "https://github.com/NicolasPetton/nroam") + (synopsis + "Org-roam backlinks within org-mode buffers") + (description + "nroam is a supplementary package for org-roam that replaces the backlink side +buffer of Org-roam. Instead, it displays org-roam backlinks at the end of +org-roam buffers. + +To setup nroam for all org-roam buffers, evaluate the following: +(add-hook 'org-mode-hook #'nroam-setup-maybe) +") + (license license:gpl3+))) + +(define-public emacs-outli + (package + (name "emacs-outli") + (version "0.1.0") + (source + (origin (uri (git-reference (url "https://github.com/jdtsmith/outli") - (commit commit))) + (commit (string-append "v" version)))) (method git-fetch) (file-name (git-file-name name version)) (sha256 - (base32 "03xirf5q6n1iy3h1gqhzwbiw7vadfmna1h3gkfkdrjqfd3jjq6qm")))) - (build-system emacs-build-system) - (home-page "https://github.com/jdtsmith/outli") - (synopsis "Simple comment-based outlines for Emacs") - (description "outli is a simple Emacs outliner for code, documents, and more which styles your + (base32 "1yyh334r26pjgcx51rrxacwiranysnhbdz83xgpjwaby280xwlgb")))) + (build-system emacs-build-system) + (home-page "https://github.com/jdtsmith/outli") + (synopsis "Simple comment-based outlines for Emacs") + (description "outli is a simple Emacs outliner for code, documents, and more which styles your headings, and emulates org-mode navigation and structure editing. It is based on the built-in outline-minor-mode and is simple by design, providing just a few key features.") - (license license:gpl3+)))) + (license license:gpl3+))) -(define-public emacs-eshell-fringe-status - (let ((commit "047e9b9c75a39ac9f903bab937918165261d44f8") +(define-public emacs-syncthing-status + (let ((commit "3d521e3929cc4e4060205b969a1a37f516758b77") (revision "0")) (package - (name "emacs-eshell-fringe-status") - (version (git-version "0.0.0" revision commit)) + (name "emacs-syncthing-status") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/bharadswami/syncthing-status.el.git") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bvfnkr851ghnax9aj13dw9kmhf34734qfnkmjdzfri5dcad10ck")))) + (propagated-inputs + (list emacs-request)) + (build-system emacs-build-system) + (home-page "https://github.com/bharadswami/syncthing-status.el") + (synopsis "Elisp to quickly get sync status of folders and devices on Syncthing") + (description "Elisp to quickly get sync status of folders and devices on Syncthing. Uses the +Syncthing REST API and request package to get this data and display it in an +Emacs buffer.") + (license license:expat)))) + +(define-public emacs-yafolding + (package + (name "emacs-yafolding") + (version "0.4.1") + (source + (origin + (uri (git-reference + (url "https://github.com/emacsorphanage/yafolding") + (commit (string-append "v" version)))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bb763lx5cs5z06irjllip8z9c61brjsamfcjajibi24wcajkprx")))) + (build-system emacs-build-system) + (home-page "https://github.com/emacsorphanage/yafolding") + (synopsis "Yet another folding extension for Emacs") + (description "Folding code blocks based on indentation.") + (license license:gpl3+))) + +(define-public emacs-yaml-imenu + (let ((commit "c1fbba8b03a7bef4fc2b87404914fa9c6eb67b55") + (revision "0")) + (package + (name "emacs-yaml-imenu") + (version (git-version "1.0.3" revision commit)) (source (origin + (uri (git-reference + (url "https://github.com/knu/yaml-imenu.el") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "1p5zyjj9hvqjfhyp68c04w6cxj5qh4psd4y8kafyrz3n05wimzl5")))) + (build-system emacs-build-system) + (inputs + (list ruby + emacs-yaml-mode)) + (home-page "https://github.com/knu/yaml-imenu.el") + (synopsis "Enhancement for the imenu support in yaml-mode") + (description "This package enhances the imenu support in yaml-mode. It generates an index +containing a full list of keys that contain any child, with key names in the +dot-separated path form like @code{jobs.build.docker} and +@code{ja.activerecord.attributes.user.nickname}. It shines best with +@code{which-function-mode} enabled.") + (license license:bsd-2)))) + +(define-public emacs-yaml-pro + (package + (name "emacs-yaml-pro") + (version "0.3.4") + (source + (origin (uri (git-reference - (url "https://code.ryuslash.org/ryuslash/eshell-fringe-status.git") - (commit commit))) + (url "https://github.com/zkry/yaml-pro") + (commit (string-append "v" version)))) (method git-fetch) (file-name (git-file-name name version)) (sha256 - (base32 "0frx1lc0rf6p01m5gjyaazl64f839856qn88v263rdls5rpncmz9")))) - (build-system emacs-build-system) - (home-page "https://code.ryuslash.org/ryuslash/eshell-fringe-status") - (synopsis "Show last status in fringe") - (description "Show last status in fringe") - (license license:gpl3+)))) + (base32 "0zz8cl400grdip8c2jl27sf4prysyg0rcp91kah6qghmns87f3z9")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-yaml + tree-sitter-yaml)) + (home-page "https://github.com/zkry/yaml-pro") + (synopsis "Edit YAML in Emacs like a pro") + (description "yaml-pro is a package that provides conveniences for editing yaml. + +This package has been written to leverage tree-sitter parsing facilities, +allowing all of these actions to be performed fast and accurate, even in the +absence of parsing errors. The tree-sitter version is orders of magnitudes +faster and I highly recommend its usage if your Emacs version permits.") + (license license:gpl3+))) + +(define-public emacs-yasnippet-capf + (let ((commit "40654214db7a44db3a99321447632b43a10fae57") + (revision "0")) + (package + (name "emacs-yasnippet-capf") + (version (git-version "7.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/elken/yasnippet-capf.git") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kywl7jblrmixr0vwycpil5hyk4p5qlc3gxg9w25xga4jj91r663")))) + (propagated-inputs + (list emacs-yasnippet)) + (build-system emacs-build-system) + (home-page "https://github.com/elken/yasnippet-capf") + (synopsis "Completion-At-Point Extension for YASnippet") + (description "A simple capf (Completion-At-Point Function) for completing yasnippet snippets.") + (license license:gpl3)))) + +(define-public emacs-yoshi-theme + (let ((commit "8faa406152f76452bda765ed4dafd41cd67f3afb") + (revision "0")) + (package + (name "emacs-yoshi-theme") + (version (git-version "7.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "git://code.ryuslash.org/yoshi-theme.git") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bb5mf194iw72w7zcvs9jmlxx5ngvslx5i6c6rna9bj3y0zm8jlb")))) + (build-system emacs-build-system) + (home-page "https://code.ryuslash.org/yoshi-theme") + (synopsis "Emacs theme named after my cat") + (description "My cat is named Yoshi and I was just working on a random new theme, which was +new-theme for a while. I couldn't think of a name so I named it after him.") + (license license:gpl3+)))) diff --git a/oni/packages/hlwm-run-or-raise.scm b/oni/packages/hlwm-run-or-raise.scm new file mode 100644 index 0000000..ebf4ed8 --- /dev/null +++ b/oni/packages/hlwm-run-or-raise.scm @@ -0,0 +1,43 @@ +(define-module (oni packages hlwm-run-or-raise) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages base) + #:use-module (oni packages scsh) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages gawk) + #:use-module (oni packages hlwm-switch-to-window)) + +(define-public hlwm-run-or-raise + (let ((commit "deda13603d44e0a0aaab5a5f94f103864c64f257") + (revision "0")) + (package + (name "hlwm-run-or-raise") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "git://ryuslash.org/util/tom/hlwm-run-or-raise.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "12z44bk68pyiyl44hfhb1p85fy968p0x7qqjmzh8na0p8lah4x01")) + (file-name (git-file-name name version)))) + (propagated-inputs + (list wmctrl gawk grep hlwm-switch-to-window scsh)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There is no test suite. + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "hlwm-run-or-raise" bin))))))) + (home-page "https://ryuslash.org/") + (synopsis "A simple script that either starts a program or switches to it with herbstluftwm.") + (description "Can be bound to a key to either switch to a program or start it up if it isn't running.") + (license license:gpl3+)))) diff --git a/oni/packages/hlwm-switch-to-window.scm b/oni/packages/hlwm-switch-to-window.scm new file mode 100644 index 0000000..a0721d8 --- /dev/null +++ b/oni/packages/hlwm-switch-to-window.scm @@ -0,0 +1,39 @@ +(define-module (oni packages hlwm-switch-to-window) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages wm)) + +(define-public hlwm-switch-to-window + (let ((commit "9001a3391f17aa71cc299be8bc8ffadbb9b9ac12") + (revision "0")) + (package + (name "hlwm-switch-to-window") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "git://ryuslash.org/util/tom/hlwm-switch-to-window.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "153rw46012pvbq624hwmfdfv36wl12g7m87vdf1nv4kp91am1nkm")) + (file-name (git-file-name name version)))) + (propagated-inputs + (list herbstluftwm)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "hlwm-switch-to-window" bin))))))) + (home-page "https://ryuslash.org/") + (synopsis "A simple script that checks which monitor to use to switch to a window before switching.") + (description "Can be bound to a key to make sure that when you switch to a window a specific monitor is always used.") + (license license:gpl3+)))) diff --git a/oni/packages/inbox-size.scm b/oni/packages/inbox-size.scm new file mode 100644 index 0000000..f89b05b --- /dev/null +++ b/oni/packages/inbox-size.scm @@ -0,0 +1,41 @@ +(define-module (oni packages inbox-size) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages shells)) + +(define-public (inbox-size emacs) + (let ((commit "e9a94db05e45be9357ccc757601c1cd890a6254c") + (revision "0")) + (package + (name "inbox-size") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "git://code.ryuslash.org/util/tom/inbox-size.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "09mjxk85cqvcxk5n51izfqap36pjd35z476fmvd5vq7d5kgnczzw")) + (file-name (git-file-name name version)))) + (propagated-inputs + (list bash scsh emacs)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "inbox-size" bin))))))) + (home-page "https://ryuslash.org/") + (synopsis "A simple script that checks the size of my GTD inbox.") + (description "Counts the number of items in my GTD inbox.") + (license license:gpl3+)))) diff --git a/oni/packages/inkplate.scm b/oni/packages/inkplate.scm new file mode 100644 index 0000000..50d27c4 --- /dev/null +++ b/oni/packages/inkplate.scm @@ -0,0 +1,43 @@ +(define-module (oni packages inkplate) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages autotools) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages guile) + #:use-module (gnu packages guile-xyz) + #:use-module ((guix licenses) #:prefix license:)) + +(define-public guile-inkplate + (package + (name "guile-inkplate") + (version "0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://code.ryuslash.org/guile-inkplate/") + (commit "27cbc844dee8f9f9b8a0a175f7ebf005cb205046"))) + (file-name "guile-inkplate-0.1-checkout") + (sha256 (base32 "00qx2d16xma19myq4lla3gnq8rljsqbns53ma5hwamkyvwwyd55s")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'autoreconf + (lambda* (#:key inputs #:allow-other-keys) + (system* (string-append (assoc-ref inputs "autoconf") "/bin/autoreconf"))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) + (inputs `(("guile" ,guile-3.0))) + (propagated-inputs + (list guile-termios)) + (synopsis "") + (description "") + (home-page "") + (license license:gpl3+))) + diff --git a/oni/packages/mpd.scm b/oni/packages/mpd.scm new file mode 100644 index 0000000..a2c1e49 --- /dev/null +++ b/oni/packages/mpd.scm @@ -0,0 +1,106 @@ +(define-module (oni packages mpd) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages base) + #:use-module (gnu packages shells) + #:use-module (gnu packages bash) + #:use-module (gnu packages mpd) + #:use-module (gnu packages gnome) + #:use-module (guix build-system gnu) + #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (gnu packages python-web) + #:use-module (gnu packages music) + #:use-module (gnu packages check)) + +(define-public mpd-notify + (let ((commit "1bf3786878eb499b6a0c56e47ba3f3e07cd81182") + (revision "0")) + (package + (name "mpd-notify") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "git://code.ryuslash.org/util/tom/mpd-notify.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "1i72h3mxsifymnmpmrgfqhgrbq9sjhgn1b9d64f164m1m0g0smq3")) + (file-name (git-file-name name version)))) + (propagated-inputs + (list mpd-mpc zsh libnotify)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "mpd-notify" bin))))))) + (home-page "https://ryuslash.org/") + (synopsis "A simple script that notifies you of MPD player state changes.") + (description "Uses `mpc idleloop' to listen to player state changes and sends notifications.") + (license license:gpl3+)))) + +(define-public mpd-random-albums + (let ((commit "c12a766e1920e726129dfd1161a2ef15471f89e8") + (revision "0")) + (package + (name "mpd-random-albums") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "git://ryuslash.org/util/tom/mpd-random-albums") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "0mgs9377hw3x1nfcah3wwr3zijvzrkqicvgrbcjl3g1p4fmlb8mr")) + (file-name (git-file-name name version)))) + (propagated-inputs + (list mpd bash scsh)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin")) + (site (string-append (assoc-ref outputs "out") "/share/scsh-0.7"))) + (install-file "mpd-random-albums" bin) + (install-file "mpd.scm" site))))))) + (home-page "https://ryuslash.org/") + (synopsis "A simple script that populates the MPD playlist with all of my albums in random order.") + (description "Creates a new playlist in MPD with all of the albums in my database and shuffles them by album.") + (license license:gpl3+)))) + +(define-public mpdscrobble + (let ((commit "c4314b026183a2b38673db898deb98f24dfb3901") + (revision "0")) + (package + (name "python-mpdscrobble") + (version (git-version "0.3.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dbeley/mpdscrobble") + (commit commit))) + (sha256 + (base32 "1kixss0s182hhl52qrr646zswx0c81si6jxz08jc8sal8y1rm4ql")))) + (build-system pyproject-build-system) + (native-inputs (list python-pytest)) + (propagated-inputs (list python-httpx python-pylast python-mpd2)) + (home-page "https://github.com/dbeley/mpdscrobble") + (synopsis "A simple Last.fm scrobbler for MPD.") + (description "This package provides a simple Last.fm scrobbler for MPD.") + (license license:expat)))) diff --git a/oni/packages/notmuch-collect-tasks.scm b/oni/packages/notmuch-collect-tasks.scm new file mode 100644 index 0000000..0d82117 --- /dev/null +++ b/oni/packages/notmuch-collect-tasks.scm @@ -0,0 +1,41 @@ +(define-module (oni packages notmuch-collect-tasks) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages mail)) + +(define-public notmuch-collect-tasks + (let ((commit "c0399a2bbd499d3fcdf2cfce2d9a8162d5865de0") + (revision "0")) + (package + (name "notmuch-collect-tasks") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "git://ryuslash.org/util/tom/notmuch-collect-tasks.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "1rkxcmlmz5ncd3x59kgffg889wibi3q8d3gv2vm1nvaayzj58zm9")) + (file-name (git-file-name name version)))) + (propagated-inputs + (list bash notmuch)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "notmuch-collect-tasks" bin))))))) + (home-page "https://ryuslash.org/") + (synopsis "A simple script that scans email subjects for tasks to add.") + (description "Creates tasks based on incoming email.") + (license license:gpl3+)))) diff --git a/oni/packages/notmuch-tag-mailinglists.scm b/oni/packages/notmuch-tag-mailinglists.scm new file mode 100644 index 0000000..97bc6b7 --- /dev/null +++ b/oni/packages/notmuch-tag-mailinglists.scm @@ -0,0 +1,41 @@ +(define-module (oni packages notmuch-tag-mailinglists) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages mail)) + +(define-public notmuch-tag-mailinglists + (let ((commit "b20cf1593c98b415cb144bd23c9c60926161d359") + (revision "0")) + (package + (name "notmuch-tag-mailinglists") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "git://ryuslash.org/util/tom/notmuch-tag-mailinglists.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "0c3pn3ns4n5sh97plvbxv59i5rh8840fq73ic66kvhkij1c6l4rb")) + (file-name (git-file-name name version)))) + (propagated-inputs + (list bash notmuch)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "notmuch-tag-mailinglists" bin))))))) + (home-page "https://ryuslash.org/") + (synopsis "A simple script that scans email subjects for tasks to add.") + (description "Creates tasks based on incoming email.") + (license license:gpl3+)))) diff --git a/oni/packages/pick-random-wallpaper.scm b/oni/packages/pick-random-wallpaper.scm new file mode 100644 index 0000000..7f4a706 --- /dev/null +++ b/oni/packages/pick-random-wallpaper.scm @@ -0,0 +1,43 @@ +(define-module (oni packages pick-random-wallpaper) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages wm) + #:use-module (gnu packages xorg) + #:use-module (gnu packages image-viewers)) + +(define-public pick-random-wallpaper + (let ((commit "6ab43c64aa34c6a13705435f7825d183a59544d8") + (revision "0")) + (package + (name "pick-random-wallpaper") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "git://ryuslash.org/util/tom/pick-random-wallpaper.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "1vkns0a46adaxx0qrw1iq3af1zmc3wy7gmsid0v8893a2688842d")) + (file-name (git-file-name name version)))) + (propagated-inputs + (list findutils bash herbstluftwm xwininfo coreutils feh)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There is no test suite. + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "pick-random-wallpaper" bin))))))) + (home-page "https://ryuslash.org/") + (synopsis "A simple script that sets a random wallpaper using feh.") + (description "Sets a random wallpaper using feh and stores which wallpaper was added in a herbstluftwm attribute.") + (license license:gpl3+)))) diff --git a/oni/packages/python-xyz.scm b/oni/packages/python-xyz.scm new file mode 100644 index 0000000..46ce4d9 --- /dev/null +++ b/oni/packages/python-xyz.scm @@ -0,0 +1,71 @@ +(define-module (oni packages python-xyz) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (guix download) + #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages check) + #:use-module (gnu packages python-check) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-build)) + +(define-public python-docopt-subcommands + (package + (name "python-docopt-subcommands") + (version "4.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "docopt_subcommands" version)) + (sha256 + (base32 "0fi4s9q6cx6mq3w53l0lfr7c4h8n7d20jw316d1paka7jqzw64g5")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-docopt)) + (native-inputs (list python-hypothesis python-pytest python-twine + python-wheel)) + (home-page "https://github.com/abingham/docopt-subcommands") + (synopsis "create subcommand-based CLI programs with docopt") + (description "create subcommand-based CLI programs with docopt") + (license license:expat))) + +(define-public python-ultan + (package + (name "python-ultan") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ultan" version)) + (sha256 + (base32 "1rwka329xmxpa0h9j175gfmw0y8r7axb7bs9v1pp3lzhcbzg23qi")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-docopt-subcommands)) + (native-inputs (list python-hypothesis python-pytest python-tox)) + (home-page "https://github.com/sixty-north/ultan") + (synopsis "Python name and documentation server") + (description "Python name and documentation server") + (license license:expat))) + +(define-public python-traad + (package + (name "python-traad") + (version "3.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "traad" version)) + (sha256 + (base32 "1mr0cfy4ch7lqvyf5b6sr04l0jgdqjcbgpz7k9h7swrr9ns0mmzk")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-rope python-ultan)) + (native-inputs (list python-pytest python-tox python-twine python-webtest + python-wheel)) + (home-page "http://github.com/abingham/traad") + (synopsis "A JSON+HTTP server for the rope Python refactoring library.") + (description + "This package provides a JSON+HTTP server for the rope Python refactoring +library.") + (license license:expat))) + diff --git a/oni/packages/sawfish.scm b/oni/packages/sawfish.scm new file mode 100644 index 0000000..22350c8 --- /dev/null +++ b/oni/packages/sawfish.scm @@ -0,0 +1,24 @@ +(define-module (oni packages sawfish) + #:use-module ((gnu packages sawfish) + #:select (sawfish)) + #:use-module ((guix packages) + #:select (package)) + #:use-module ((guix build-system emacs) + #:select (emacs-build-system))) + +(define-public emacs-sawfish + (package + (inherit sawfish) + (name "emacs-sawfish") + (build-system emacs-build-system) + (arguments + '(#:include '("sawfish.el"))) + (synopsis "Sawfish mode") + (native-inputs (list)) + (inputs (list)) + (description "\"sawfish.el\" provides +* A major mode for writing Sawfish code. + This include symbol / var / func completion and help access, + both from doc-string and info file. +* sawfish-client wrapper, i.e. an interface to interact with + running Sawfish window manager."))) diff --git a/oni/packages/shutdown-rofi.scm b/oni/packages/shutdown-rofi.scm new file mode 100644 index 0000000..85805f3 --- /dev/null +++ b/oni/packages/shutdown-rofi.scm @@ -0,0 +1,40 @@ +(define-module (oni packages shutdown-rofi) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages wm) + #:use-module (gnu packages xdisorg) + #:use-module (guix build-system gnu) + #:use-module (guix git-download) + #:use-module (guix packages)) + +(define-public shutdown-rofi + (let ((commit "79cc1bdbabe5d4a1521723de1a5b9c32a1df1c7c") + (revision "0")) + (package + (name "shutdown-rofi") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "git://ryuslash.org/util/tom/shutdown-rofi") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "17c5hr3yrafmmgcxi6m0njhp113yfcylv7ifpgds06sxxn8wdzv0")) + (file-name (git-file-name name version)))) + (propagated-inputs + (list herbstluftwm rofi)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "shutdown-rofi" bin))))))) + (home-page "https://ryuslash.org/") + (synopsis "A simple script that shows a shutdown menu using rofi.") + (description "Uses rofi to show a simple shutdown menu.") + (license license:gpl3+)))) diff --git a/oni/packages/stumpwm.scm b/oni/packages/stumpwm.scm index d7dc60a..15c2478 100644 --- a/oni/packages/stumpwm.scm +++ b/oni/packages/stumpwm.scm @@ -10,7 +10,7 @@ (name "stumpwm-with-swank") (outputs '("out")) (inputs - `(("stumpwm" ,stumpwm "lib") + `(("stumpwm" ,stumpwm) ("swank" ,sbcl-slime-swank))) (arguments (substitute-keyword-arguments (package-arguments stumpwm) diff --git a/oni/packages/terminals.scm b/oni/packages/terminals.scm new file mode 100644 index 0000000..dc74fc1 --- /dev/null +++ b/oni/packages/terminals.scm @@ -0,0 +1,37 @@ +(define-module (oni packages terminals) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages lua) + #:use-module (gnu packages gnome) + #:use-module (gnu packages autotools) + #:use-module (gnu packages pkg-config)) + +(define-public tym + (package + (name "tym") + (version "3.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/endaaman/tym.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "084db9nvzw5dj671m1qnp4yq1h7xp74gka5x5pyhzin7v167fxb9")))) + (build-system gnu-build-system) + (native-inputs + (list + luajit + vte + autoconf + automake + pkg-config)) + (arguments + '(#:configure-flags '("--enable-luajit"))) + (home-page "https://github.com/endaaman/tym/") + (synopsis "Lua-configurable terminal emulator") + (description "tym is a Lua-configurable terminal emulator base on VTE.") + (license license:expat))) diff --git a/oni/packages/utilities.scm b/oni/packages/utilities.scm new file mode 100644 index 0000000..9b2cafa --- /dev/null +++ b/oni/packages/utilities.scm @@ -0,0 +1,42 @@ +(define-module (oni packages utilities) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages guile) + #:use-module (oni packages inkplate)) + +(define-public inkplate-display + (let ((commit "74cfa41b83a18469ed470fa47a208f74abedc0b6") + (revision "0")) + (package + (name "inkplate-display") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "git://code.ryuslash.org/util/tom/inkplate-display.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "1w35wqw9y77gcx7rcc74b0f7n0vjk4yh8xicjkfc5by5vzffrhc6")) + (file-name (git-file-name name version)))) + (propagated-inputs + (list guile-3.0 guile-inkplate)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "inkplate-display" bin))))))) + (home-page "https://ryuslash.org/") + (synopsis "My script for displaying information on my Inkplate") + (description "My script for displaying information on my Inkplate.") + (license license:gpl3+)))) diff --git a/oni/packages/zsh.scm b/oni/packages/zsh.scm new file mode 100644 index 0000000..e5cad34 --- /dev/null +++ b/oni/packages/zsh.scm @@ -0,0 +1,31 @@ +(define-module (oni packages zsh) + #:use-module ((guix licenses) #:prefix license:) + #:use-module ((guix packages) #:select (package origin base32)) + #:use-module ((guix git-download) #:select (git-version + git-reference + git-fetch + git-file-name)) + #:use-module ((guix build-system copy) #:select (copy-build-system))) + +(define-public zsh-contextual-abbrevs + (let ((commit "232ac42d70dba257fa904fc9a96f2a3bfed16585") + (revision "0")) + (package + (name "zsh-contextual-abbrevs") + (version (git-version "0.0.0" revision commit)) + (source (origin + (uri (git-reference + (url "https://github.com/langston-barrett/zsh-contextual-abbrevs.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "02r6k0bhdbj585mchz8m9z5yjzk7xd48mz4mamirb9nap4n870zh")) + (file-name (git-file-name name version)))) + (build-system copy-build-system) + (arguments + '(#:install-plan '(("src" + "/share/zsh/plugins/zsh-contextual-abbrevs")))) + (synopsis "Auto") + (description "Something") + (license license:expat) + (home-page "https://example.org")))) -- cgit v1.2.3-54-g00ecf