2025-06-21 21:32:26 +02:00
( define-module ( snamellit packages atuin-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 atuin-bin
( package
( name "atuin-bin" )
2025-06-22 00:12:09 +02:00
( version "18.6.1" )
2025-06-21 21:32:26 +02:00
( source
( origin
( method url-fetch )
( uri ( string-append
"https://github.com/atuinsh/atuin/releases/download/v" version
"/atuin-x86_64-unknown-linux-gnu.tar.gz" ) )
( sha256
( base32
2025-06-22 00:12:09 +02:00
"18k26k0p7mq7jp778q4qnfij0ckk1dyfkg3268vgnq0s37f8spi4" ) ) ) )
2025-06-21 21:32:26 +02:00
( build-system binary-build-system )
( arguments
` ( # :phases
( modify-phases %standard-phases
( delete 'binary-unpack )
( replace 'unpack
( lambda* ( # :key inputs # :allow-other-keys )
( invoke "tar" "xvzf" ( assoc-ref inputs "source" )
"--strip-components" "1" ) ) ) )
# :install-plan
` ( ( "atuin" "/bin/" ) )
# :patchelf-plan
` ( ( "atuin" ( "glibc" "libgccjit" "libstdc++" ) ) ) ) )
( inputs
` ( ( "curl" , curl )
( "libgccjit" , libgccjit )
( "libstdc++" , libstdc++ )
( "glibc" , glibc )
( "zlib" , zlib ) ) )
( synopsis "Sync, search and backup shell history" )
( description "Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronisation of your history between machines, via an Atuin server." )
( home-page "https://atuin.sh/" )
( license license:expat ) ) )
atuin-bin