atuin/atuin.nix
Ellie Huxtable e53c7c9dd6
chore: disable nix tests (#1646)
For a few reasons

1. This step is really, really slow. I don't think there's sufficient
   value in a slow CI step to keep it
2. Whenever we add an integration test it needs to be added to the
   ignore list. I want to keep friction on adding such tests as low as
   is possible.
3. We already run tests in a bunch of places, so I don't think this is
   needed

Ref: #1123
2024-01-29 12:44:06 +00:00

47 lines
1.3 KiB
Nix

# Atuin package definition
#
# This file will be similar to the package definition in nixpkgs:
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/atuin/default.nix
#
# Helpful documentation: https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/rust.section.md
{
lib,
stdenv,
installShellFiles,
rustPlatform,
libiconv,
Security,
SystemConfiguration,
AppKit,
}:
rustPlatform.buildRustPackage {
name = "atuin";
src = lib.cleanSource ./.;
cargoLock = {
lockFile = ./Cargo.lock;
# Allow dependencies to be fetched from git and avoid having to set the outputHashes manually
allowBuiltinFetchGit = true;
};
nativeBuildInputs = [installShellFiles];
buildInputs = lib.optionals stdenv.isDarwin [libiconv Security SystemConfiguration AppKit];
postInstall = ''
installShellCompletion --cmd atuin \
--bash <($out/bin/atuin gen-completions -s bash) \
--fish <($out/bin/atuin gen-completions -s fish) \
--zsh <($out/bin/atuin gen-completions -s zsh)
'';
doCheck = false;
meta = with lib; {
description = "Replacement for a shell history which records additional commands context with optional encrypted synchronization between machines";
homepage = "https://github.com/atuinsh/atuin";
license = licenses.mit;
};
}