diff --git a/radix/packages/fish-xyz.scm b/radix/packages/fish-xyz.scm new file mode 100644 index 0000000..9483f5d --- /dev/null +++ b/radix/packages/fish-xyz.scm @@ -0,0 +1,104 @@ +(define-module (radix packages fish-xyz) + #:use-module (gnu packages shells) + #:use-module (guix packages) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module (guix build-system copy) + #:use-module (guix build-system trivial) + #:use-module ((guix licenses) #:prefix license:) + + #:export (fish-plugin-union)) + +(define-public fish-autopair + (package + (name "fish-autopair") + (version "1.0.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jorgebucaran/autopair.fish") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mfx43n3ngbmyfp4a4m9a04gcgwlak6f9myx2089bhp5qkrkanmk")))) + (build-system copy-build-system) + (arguments + (list #:install-plan #~'(("conf.d" "share/") + ("functions" "share/")))) + (home-page "https://github.com/jorgebucaran/autopair.fish") + (synopsis "Auto-complete matching pairs for the Fish shell.") + (description "This package aims to provide auto-complete matching pairs +for the Fish shell.") + (license license:expat))) + +(define-public fish-bang-bang + (package + (name "fish-bang-bang") + (version "1.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/oh-my-fish/plugin-bang-bang") + (commit "ec991b80ba7d4dda7a962167b036efc5c2d79419"))) + (sha256 + (base32 + "1bf61f6h5p7mc0schwbd693cafp1vcjz2f7pzy6gn33nafsc5wx0")))) + (build-system copy-build-system) + (arguments + (list #:install-plan #~'(("conf.d" "share/") + ("functions" "share/")))) + (home-page "https://github.com/oh-my-fish/plugin-bang-bang") + (synopsis "Bash style history substitution for the Fish shell.") + (description "This package aims to provide Bash style history substitution +for the Fish shell.") + (license license:expat))) + +(define-public fish-functional + (package + (name "fish-functional") + (version "1.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/oh-my-fish/plugin-functional") + (commit "0d3ab3169ff489714761c7a9ad21e268914afa31"))) + (sha256 + (base32 + "0vnq4kpilg0z470d7782pp8wdj57cfkfad27d6mcylwl8n7wnhrn")))) + (build-system copy-build-system) + (arguments + (list #:install-plan #~'(("functions" "share/")))) + (home-page "https://github.com/oh-my-fish/plugin-functional") + (synopsis "Higher order functions for the Fish shell.") + (description "This plugin aims to provide higher order functions for the +Fish shell.") + (license license:expat))) + +(define* (fish-plugin-union packages) + "Return 'fish-plugin-union' package which is a union of PACKAGES." + (package + (name "fish-plugin-union") + (version (package-version fish)) + (source #f) + (build-system trivial-build-system) + (arguments + '(#:modules ((guix build union)) + #:builder (begin + (use-modules (ice-9 match) + (guix build union)) + (match %build-inputs + (((names . directories) ...) + (union-build (assoc-ref %outputs "out") + directories) + #t))))) + (inputs (map (lambda (package) + (list (package-name package) package)) + packages)) + (synopsis "Union of fish plugins.") + (description + "A union of fish plugins. A union is required because +fish assumes that all of the functions, hooks and conf.d files are in the same +directory.") + (home-page (package-home-page fish)) + (license license:expat)))