diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-06-12 01:54:21 +0200 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-06-12 01:54:21 +0200 |
| commit | bbdf38018b47328b5faa2cef635c37095045be72 (patch) | |
| tree | 8983817d547551ae12508a8ae8731b622d990af4 /nix/package.nix | |
| parent | feat(server): Make user stuff stateless (diff) | |
| download | atuin-bbdf38018b47328b5faa2cef635c37095045be72.zip | |
feat(server): Really make users stateless (with tests)
This commit also remove another load of unneeded features.
Diffstat (limited to 'nix/package.nix')
| -rw-r--r-- | nix/package.nix | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/nix/package.nix b/nix/package.nix new file mode 100644 index 00000000..82a348b8 --- /dev/null +++ b/nix/package.nix @@ -0,0 +1,63 @@ +# Atuin package definition +# +# This file will be similar to the package definition in nixpkgs: +# https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/at/atuin/package.nix +# +# Helpful documentation: https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/rust.section.md +{ + lib, + stdenv, + installShellFiles, + rustPlatform, + libiconv, +}: +rustPlatform.buildRustPackage { + name = "turtle"; + + src = lib.cleanSourceWith { + src = lib.cleanSource ./..; + filter = name: type: + (type == "directory") + || (builtins.elem (builtins.baseNameOf name) [ + "Cargo.toml" + "Cargo.lock" + "CONTRIBUTORS" + + "atuin.bash" + "atuin.fish" + "atuin.nu" + "atuin.ps1" + "atuin.xsh" + "atuin.zsh" + ]) + || (lib.strings.hasSuffix ".rs" (builtins.baseNameOf name)) + || (lib.strings.hasSuffix ".proto" (builtins.baseNameOf name)) + || (lib.strings.hasSuffix ".sql" (builtins.baseNameOf name)); + }; + + 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]; + + 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; + mainProgram = "atuin"; + }; +} |
