aboutsummaryrefslogtreecommitdiffstats
path: root/oni/packages
diff options
context:
space:
mode:
authorGravatar Tom Willemse2021-07-13 23:19:54 -0700
committerGravatar Tom Willemse2021-07-13 23:19:54 -0700
commit28ae399d87bc356ad9729a74a124571654d87cc5 (patch)
tree910ce569d5cf89876c42bc07ea9a4208862c4181 /oni/packages
parent15476ff1dc5202f3904d6e2b3b8c55d2c93528ba (diff)
downloadguix-packages-28ae399d87bc356ad9729a74a124571654d87cc5.tar.gz
guix-packages-28ae399d87bc356ad9729a74a124571654d87cc5.zip
Add ‘emacs-oni-bats’ and related packages
Diffstat (limited to 'oni/packages')
-rw-r--r--oni/packages/emacs-config.scm61
-rw-r--r--oni/packages/emacs.scm24
-rw-r--r--oni/packages/go.scm182
3 files changed, 266 insertions, 1 deletions
diff --git a/oni/packages/emacs-config.scm b/oni/packages/emacs-config.scm
index bfe3f4e..812e1f5 100644
--- a/oni/packages/emacs-config.scm
+++ b/oni/packages/emacs-config.scm
@@ -5,7 +5,9 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages emacs-xyz)
#:use-module (gnu packages llvm)
- #:use-module (oni packages emacs))
+ #:use-module (gnu packages bash)
+ #:use-module (oni packages emacs)
+ #:use-module (oni packages go))
(define-public emacs-oni-config
(let ((commit "a7bf05b48c47740de50c2adbc0fa8da703958f7b")
@@ -150,6 +152,17 @@ Emacs")))
(synopsis "My core Emacs configuration")
(description "This package provides my core configuration for Emacs")))
+(define-public emacs-oni-smartparens
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-smartparens")
+ (arguments
+ '(#:include '("oni-smartparens.el")))
+ (propagated-inputs
+ `(("emacs-smartparens" ,emacs-smartparens)))
+ (synopsis "My Emacs smartparens configuration")
+ (description "This package provides my configuration for Emacs smartparens")))
+
(define-public emacs-oni-flycheck
(package
(inherit emacs-oni-config)
@@ -191,3 +204,49 @@ Emacs")))
("clang" ,clang)))
(synopsis "My Emacs C coding configuration")
(description "This package provides my configuration for coding in C")))
+
+(define-public emacs-oni-sh
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-sh")
+ (arguments
+ '(#:include '("oni-sh.el")))
+ (propagated-inputs
+ `(("emacs-reformatter" ,emacs-reformatter)
+ ("emacs-oni-flycheck" ,emacs-oni-flycheck)
+ ("emacs-oni-smartparens" ,emacs-oni-smartparens)
+ ("shfmt" ,shfmt)))
+ (synopsis "My Emacs Shell coding configuration")
+ (description "This package provides my configuration for coding in Shell")))
+
+(define-public emacs-oni-yasnippet
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-yasnippet")
+ (arguments
+ '(#:include '("oni-yasnippet.el")))
+ (propagated-inputs
+ `(("emacs-yasnippet" ,emacs-yasnippet)
+ ("emacs-yasnippet-snippets" ,emacs-yasnippet-snippets)
+ ("emacs-diminish" ,emacs-diminish)))
+ (synopsis "My Emacs yasnippet configuration")
+ (description "This package provides my configuration for yasnippet")))
+
+(define-public emacs-oni-bats
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-bats")
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir-oni-org
+ (lambda _
+ (chdir "oni-bats"))))
+ #:include '("\\.el$" "^snippets\\/bats-mode\\/")))
+ (propagated-inputs
+ `(("emacs-bats" ,emacs-bats)
+ ("emacs-oni-sh" ,emacs-oni-sh)
+ ("emacs-oni-yasnippet" ,emacs-oni-yasnippet)
+ ("bats" ,bats)))
+ (synopsis "My Emacs Bats coding configuration")
+ (description "This package provides my configuration for coding in Bats")))
diff --git a/oni/packages/emacs.scm b/oni/packages/emacs.scm
index f8963fc..52fa781 100644
--- a/oni/packages/emacs.scm
+++ b/oni/packages/emacs.scm
@@ -102,6 +102,30 @@ custom pairs?)")
with character preview in completion prompt.")
(license license:gpl3+))))
+(define-public emacs-bats
+ (let ((commit "d519f7c89f5ae17dfc33400596df4564b478315f")
+ (revision "0"))
+ (package
+ (name "emacs-bats")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (uri (git-reference
+ (url "https://github.com/dougm/bats-mode")
+ (commit commit)))
+ (method git-fetch)
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ikb4rb20ng1yq95g3ydwpk37axmiw38rjzn1av9m4cs81qby4jv"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/dougm/bats-mode")
+ (synopsis "Emacs mode for editing and running Bats tests")
+ (description "bats-mode is an Emacs mode for editing and running Bats tests.
+
+bats-mode derives from the bash flavor of sh-mode, adding font-lock for bats
+keywords.")
+ (license license:gpl2+))))
+
(define-public emacs-flycheck-posframe
(let ((commit "8f60c9bf124ab9597d681504a73fdf116a0bde12")
(revision "0"))
diff --git a/oni/packages/go.scm b/oni/packages/go.scm
new file mode 100644
index 0000000..31f98c8
--- /dev/null
+++ b/oni/packages/go.scm
@@ -0,0 +1,182 @@
+(define-module (oni packages go)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system go)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages golang)
+ #:use-module (gnu packages cmake))
+
+(define-public go-github-com-creack-pty
+ (package
+ (name "go-github-com-creack-pty")
+ (version "1.1.13")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/creack/pty")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09glkl7f86njv78l849rpi80pw1ji5n1zbh48rd9ysl9rfzy34zq"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/creack/pty"))
+ (home-page "https://github.com/creack/pty")
+ (synopsis "pty")
+ (description
+ "Package pty provides functions for working with Unix terminals.")
+ (license license:expat)))
+
+(define-public go-golang-org-x-term
+ (package
+ (name "go-golang-org-x-term")
+ (version "0.0.0-20210615171337-6886f2dfbf5b")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/term")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0661w7dp2ak1k4ii90v6chw2x8a6g4sc5j0ba58qlplaj4k5l0xs"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "golang.org/x/term"))
+ (propagated-inputs
+ `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
+ (home-page "https://golang.org/x/term")
+ (synopsis "Go terminal/console support")
+ (description
+ "Package term provides support functions for dealing with terminals, as
+commonly found on UNIX systems.")
+ (license license:bsd-3)))
+
+(define-public go-mvdan-cc-editorconfig
+ (package
+ (name "go-mvdan-cc-editorconfig")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mvdan/editorconfig")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1rav1rp8pi921gsffqr2wjdhbr12w81g31yv6iw4yb1zyh726qqg"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "mvdan.cc/editorconfig"))
+ (native-inputs
+ `(("cmake" ,cmake)))
+ (home-page "https://mvdan.cc/editorconfig")
+ (synopsis "editorconfig")
+ (description
+ "Package editorconfig allows parsing and using EditorConfig files, as defined
+in @url{https://editorconfig.org/,https://editorconfig.org/}.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-google-renameio-v1
+ (package
+ (name "go-github-com-google-renameio")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/renameio")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qn84nra9nxqyqg4i496b6ijbhnxvx66hdndwl7qh7r6q8lz2ba5"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/google/renameio"))
+ (home-page "https://github.com/google/renameio")
+ (synopsis "Atomicity vs durability")
+ (description
+ "Package renameio provides a way to atomically create or replace a file or
+symbolic link.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-pkg-diff
+ (package
+ (name "go-github-com-pkg-diff")
+ (version "0.0.0-20210226163009-20ebb0f2a09e")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pkg/diff")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1g3dzgwhz4fx3ddpsv7fsa4r1v5clsp2lbw2qrkdk9y1vc5gi8yi"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/pkg/diff"))
+ (home-page "https://github.com/pkg/diff")
+ (synopsis "diff")
+ (description
+ "Package diff contains high level routines that generate a textual diff.")
+ (license license:bsd-3)))
+
+(define-public shfmt
+ (package
+ (name "shfmt")
+ (version "3.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mvdan/sh")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1d3bn9l7k1df9prsz9zwakxi2q5750vdhrz8r91d1r3hn28nfgd4"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "mvdan.cc/sh/v3"
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ (with-directory-excursion "src/mvdan.cc/sh/v3/cmd/shfmt"
+ (invoke "go" "build" "-ldflags" "-linkmode=external"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion "src/mvdan.cc/sh/v3/cmd/shfmt"
+ (install-file "shfmt" (string-append out "/bin"))))))
+ ;; (replace 'check
+ ;; (lambda _
+ ;; (with-directory-excursion "src/mvdan.cc/sh/v3"
+ ;; (invoke "go" "test" "./..."))))
+ )
+ #:tests? #f
+ #:install-source? #f))
+ (propagated-inputs
+ `(("go-mvdan-cc-editorconfig" ,go-mvdan-cc-editorconfig)
+ ("go-golang-org-x-term" ,go-golang-org-x-term)
+ ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+ ("go-golang-org-x-sync" ,go-golang-org-x-sync)
+ ("go-github-com-rogpeppe-go-internal" ,go-github-com-rogpeppe-go-internal)
+ ("go-github-com-pkg-diff" ,go-github-com-pkg-diff)
+ ("go-github-com-kr-text" ,go-github-com-kr-text)
+ ("go-github-com-kr-pretty" ,go-github-com-kr-pretty)
+ ("go-github-com-google-renameio" ,go-github-com-google-renameio-v1)
+ ("go-github-com-creack-pty" ,go-github-com-creack-pty)))
+ (home-page "https://mvdan.cc/sh/v3")
+ (synopsis "sh")
+ (description
+ "This package provides a shell parser, formatter, and interpreter. Supports @url{https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html,POSIX Shell}, @url{https://www.gnu.org/software/bash/,Bash}, and
+@url{http://www.mirbsd.org/mksh.htm,mksh}. Requires Go 1.15 or later.")
+ (license license:bsd-3)))