summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMurilo <[email protected]>2024-11-29 11:36:24 -0300
committerEfraim Flashner <[email protected]>2025-01-06 12:18:11 +0200
commit438762e5b0fb0966e2a3bd06e5e4bf9bca8549dc (patch)
treec6180b5f223c04c5073916d7b657fa723524d31c /gnu
parent5a8676df5bb00decdec3d6009effc656830b1a2e (diff)
gnu: Add helix.
* gnu/packages/text-editors.scm (helix): New variable. Change-Id: Ib2d83d3985f09e19601b126749b9a7faa4926bb9 Signed-off-by: Efraim Flashner <[email protected]>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/text-editors.scm106
1 files changed, 106 insertions, 0 deletions
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 9060fc72e2..859b297b94 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2023 David Pflug <[email protected]>
;;; Copyright © 2024 Herman Rimm <[email protected]>
;;; Copyright © 2024 Spencer King <[email protected]>
+;;; Copyright © 2024 Murilo <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -76,6 +77,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crates-io)
+ #:use-module (gnu packages crates-vcs)
#:use-module (gnu packages crates-web)
#:use-module (gnu packages crates-windows)
#:use-module (gnu packages crypto)
@@ -514,6 +516,110 @@ library intended to be loaded by the @command{emacs-parinfer-rust-mode} Emacs
plugin, though a standalone binary is built also.")
(license license:isc)))
+(define-public helix
+ (package
+ (name "helix")
+ (version "23.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/helix-editor/helix")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gl5iplj9x58pgqvb296d70xgq8fslqk8chai2arn65bcbgaw014"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list
+ #:install-source? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'disable-grammar-build
+ (lambda _
+ (setenv "HELIX_DISABLE_AUTO_GRAMMAR_BUILD" "1")))
+ (replace 'install
+ (lambda _
+ (let* ((bin (string-append #$output "/bin"))
+ (hx (string-append bin "/hx"))
+ (share (string-append #$output "/share/helix"))
+ (runtime (string-append share "/runtime"))
+ (applications (string-append share "/applications")))
+ (install-file "target/release/hx" bin)
+ (install-file "contrib/Helix.desktop" applications)
+ (copy-recursively "runtime" runtime)
+ (wrap-program hx
+ `("HELIX_RUNTIME" prefix
+ (,runtime)))))))
+ #:cargo-inputs
+ (list rust-ahash-0.8
+ rust-anyhow-1
+ rust-arc-swap-1
+ rust-bitflags-2
+ rust-cassowary-0.3
+ rust-cc-1
+ rust-chardetng-0.1
+ rust-chrono-0.4
+ rust-clipboard-win-4
+ rust-content-inspector-0.2
+ rust-crossterm-0.27
+ rust-dunce-1
+ rust-encoding-rs-0.8
+ rust-etcetera-0.8
+ rust-fern-0.6
+ rust-futures-executor-0.3
+ rust-futures-util-0.3
+ rust-gix-0.55
+ rust-globset-0.4
+ rust-grep-regex-0.1
+ rust-grep-searcher-0.1
+ rust-hashbrown-0.14
+ rust-ignore-0.4
+ rust-imara-diff-0.1
+ rust-libc-0.2
+ rust-libloading-0.8
+ rust-log-0.4
+ rust-lsp-types-0.94
+ rust-nucleo-0.2
+ rust-once-cell-1
+ rust-parking-lot-0.12
+ rust-pulldown-cmark-0.9
+ rust-regex-1
+ rust-ropey-1
+ rust-rustix-0.38
+ rust-serde-1
+ rust-serde-json-1
+ rust-signal-hook-0.3
+ rust-signal-hook-tokio-0.3
+ rust-slotmap-1
+ rust-smallvec-1
+ rust-smartstring-1
+ rust-tempfile-3
+ rust-termini-1
+ rust-textwrap-0.16
+ rust-thiserror-1
+ rust-threadpool-1
+ rust-tokio-1
+ rust-tokio-stream-0.1
+ rust-toml-0.7
+ rust-tree-sitter-0.20
+ rust-unicode-general-category-0.6
+ rust-unicode-segmentation-1
+ rust-unicode-width-0.1
+ rust-url-2
+ rust-which-4)
+ #:cargo-development-inputs
+ (list rust-fern-0.6
+ rust-indoc-2
+ rust-quickcheck-1
+ rust-smallvec-1
+ rust-tempfile-3)))
+ (inputs (list bash-minimal))
+ (home-page "https://helix-editor.com/")
+ (synopsis "Post-modern modal text editor")
+ (description "A Kakoune / Neovim inspired editor, written in Rust.")
+ (license (list license:mpl2.0))))
+
(define-public joe
(package
(name "joe")