(define-module (snamellit packages lazygit-bin) #:use-module (ice-9 string-fun) #:use-module (gnu packages base) #:use-module (gnu packages curl) #:use-module (gnu packages version-control) #:use-module (gnu packages xorg) #:use-module (gnu packages tls) #:use-module (gnu packages compression) #:use-module (gnu packages gcc) #:use-module (guix download) #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (nonguix build-system binary)) (define libstdc++ ;; Libstdc++ matching the default GCC. (make-libstdc++ gcc)) (define-public lazygit-bin (package (name "lazygit-bin") (version "0.43.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/jesseduffield/lazygit/releases/download/v" version "/lazygit_" version "_Linux_x86_64.tar.gz")) (sha256 (base32 "1vksgxas32n6ic89c9jixjlpy6586fxddzqgc56ip009vjicgqfy")))) (build-system binary-build-system) (arguments `( #:install-plan `(("lazygit" "/bin/")))) (synopsis "A simple terminal UI for git commands") (description "Rant time: You've heard it before, git is powerful, but what good is that power when everything is so damn hard to do? Interactive rebasing requires you to edit a goddamn TODO file in your editor? Are you kidding me? To stage part of a file you need to use a command line program to step through each hunk and if a hunk can't be split down any further but contains code you don't want to stage, you have to edit an arcane patch file by hand? Are you KIDDING me?! Sometimes you get asked to stash your changes when switching branches only to realise that after you switch and unstash that there weren't even any conflicts and it would have been fine to just checkout the branch directly? YOU HAVE GOT TO BE KIDDING ME! If you're a mere mortal like me and you're tired of hearing how powerful git is when in your daily life it's a powerful pain in your ass, lazygit might be for you.") (home-page "https://lazygit.sh/") (license license:expat))) lazygit-bin