;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2018, 2019 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
over ssh connections.")
(license license:gpl2+)))
+(define-public hss
+ (package
+ (name "hss")
+ (version "1.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/six-ddc/hss.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1rpysj65j9ls30bf2c5k5hykzzjfknrihs58imp178bx1wqzw4jl"))))
+ (inputs
+ `(("readline" ,readline)))
+ (arguments
+ `(#:tests? #f ;no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-env
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr/local/bin")
+ (string-append (assoc-ref outputs "out") "/bin"))
+ (("/usr/local/opt/readline")
+ (assoc-ref inputs "readline")))
+ (setenv "CC" "gcc")))
+ (delete 'configure))))
+ (build-system gnu-build-system)
+ (home-page "https://github.com/six-ddc/hss/")
+ (synopsis "Interactive SSH client for multiple servers")
+ (description "@command{hss} is an interactive SSH client for multiple
+servers. It will provide almost the same experience as in the Bash
+environment. It supports:
+
+@itemize @bullet
+@item interactive input: based on @code{libreadline}.
+@item history: responding to the @key{C-r} key.
+@item auto-completion: completion from remote server on the @key{TAB} key, for
+commands and paths.
+@end itemize
+
+Command is executed on all servers in parallel. Execution on one server does
+not need to wait for that on another server to finish before starting. So we
+can run a command on hundreds of servers at the same time.")
+ (license license:expat)))
+
(define-public rename
(package
(name "rename")
everyone's screenshots nowadays.")
(license license:gpl3)))
+(define-public ufetch
+ (let ((commit "98b622023e03fe24dbc137e9a68104dfe1fbd04a")
+ (revision "1"))
+ (package
+ (name "ufetch")
+ (version (git-version "0.2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/jschx/ufetch.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09c4zmikza16xpydinnqbi3hmcibfrrn10wij7j0j1wv1pj2sl2l"))))
+ (build-system trivial-build-system)
+ (inputs
+ `(("bash" ,bash)
+ ("tput" ,ncurses)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (output (assoc-ref %outputs "out"))
+ (bindir (string-append output "/bin"))
+ (docdir (string-append output "/share/doc/ufetch-" ,version))
+ (tput (string-append (assoc-ref %build-inputs "tput") "/bin/tput")))
+ (install-file (string-append source "/LICENSE") docdir)
+ (setenv "PATH" (string-append (assoc-ref %build-inputs "bash") "/bin"))
+ (mkdir-p bindir)
+ (for-each (lambda (src)
+ (let ((dst (string-append bindir "/" (basename src))))
+ (copy-file src dst)
+ (patch-shebang dst)
+ (substitute* dst (("tput") tput))))
+ (find-files source "ufetch-[[:alpha:]]*$"))
+ ;; Note: the `ufetch` we create below will only work if run under
+ ;; the Guix System. I.e. a user trying to run `ufetch` on a
+ ;; foreign distro will not get great results. The `screenfetch`
+ ;; program does actual runtime detection of the operating system,
+ ;; and would be a better choice in such a situation.
+ (symlink "ufetch-guix" (string-append bindir "/ufetch"))))))
+ (home-page "https://gitlab.com/jschx/ufetch")
+ (synopsis "Tiny system info")
+ (description "This package provides a tiny system info utility.")
+ (license license:isc))))
+
+(define-public pfetch
+ (let ((commit "e18a0959ab98b963744755ec4687e59dc11db3c5")
+ (revision "0"))
+ (package
+ (name "pfetch")
+ (version (git-version "0.7.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dylanaraps/pfetch")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1md40av6i3xvvwig5jzhy4kf3s5sgxxk35r0vcyrjd8qyndk927l"))))
+ (build-system trivial-build-system)
+ (inputs `(("bash" ,bash)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((source (lambda (f)
+ (string-append (assoc-ref %build-inputs "source") "/" f)))
+ (output (assoc-ref %outputs "out"))
+ (docdir (string-append output "/share/doc/pfetch-" ,version)))
+ (install-file (source "LICENSE.md") docdir)
+ (install-file (source "README.md") docdir)
+ (install-file (source "pfetch") (string-append output "/bin"))
+ (patch-shebang
+ (string-append output "/bin/pfetch")
+ (list (string-append (assoc-ref %build-inputs "bash") "/bin")))
+ #t))))
+ (home-page "https://github.com/dylanaraps/pfetch")
+ (synopsis "System information tool")
+ (description "This package provides a simple, configurable system
+information tool.")
+ (license license:expat))))
+
(define-public nnn
(package
(name "nnn")