aboutsummaryrefslogtreecommitdiffstats
path: root/oni
diff options
context:
space:
mode:
Diffstat (limited to 'oni')
-rw-r--r--oni/packages/count-emails.scm42
-rw-r--r--oni/packages/emacs-config.scm501
-rw-r--r--oni/packages/emacs.scm643
-rw-r--r--oni/packages/go.scm1
-rw-r--r--oni/packages/hlwm-run-or-raise.scm43
-rw-r--r--oni/packages/hlwm-switch-to-window.scm39
-rw-r--r--oni/packages/inbox-size.scm41
-rw-r--r--oni/packages/inkplate.scm43
-rw-r--r--oni/packages/mpd.scm106
-rw-r--r--oni/packages/notmuch-collect-tasks.scm41
-rw-r--r--oni/packages/notmuch-tag-mailinglists.scm41
-rw-r--r--oni/packages/pick-random-wallpaper.scm43
-rw-r--r--oni/packages/python-xyz.scm71
-rw-r--r--oni/packages/sawfish.scm24
-rw-r--r--oni/packages/shutdown-rofi.scm40
-rw-r--r--oni/packages/stumpwm.scm2
-rw-r--r--oni/packages/terminals.scm37
-rw-r--r--oni/packages/utilities.scm42
-rw-r--r--oni/packages/zsh.scm31
19 files changed, 1596 insertions, 235 deletions
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/go.scm b/oni/packages/go.scm
index 31f98c8..0a0d234 100644
--- a/oni/packages/go.scm
+++ b/oni/packages/go.scm
@@ -5,6 +5,7 @@
#:use-module (guix build-system go)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages golang)
+ #:use-module (gnu packages golang-build)
#:use-module (gnu packages cmake))
(define-public go-github-com-creack-pty
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"))))