atuin: 18.3.0 -> 18.4.0 (#369322)

Changed files
+49 -46
nixos
pkgs
by-name
at
atuin
+1 -1
nixos/tests/all-tests.nix
···
atd = handleTest ./atd.nix {};
atop = handleTest ./atop.nix {};
atticd = runTest ./atticd.nix;
-
atuin = handleTest ./atuin.nix {};
audiobookshelf = handleTest ./audiobookshelf.nix {};
auth-mysql = handleTest ./auth-mysql.nix {};
authelia = handleTest ./authelia.nix {};
···
atd = handleTest ./atd.nix {};
atop = handleTest ./atop.nix {};
atticd = runTest ./atticd.nix;
+
atuin = runTest ./atuin.nix;
audiobookshelf = handleTest ./audiobookshelf.nix {};
auth-mysql = handleTest ./auth-mysql.nix {};
authelia = handleTest ./authelia.nix {};
+44 -35
nixos/tests/atuin.nix
···
-
import ./make-test-python.nix (
-
{ pkgs, lib, ... }:
-
let
-
testPort = 8888;
-
testUser = "testerman";
-
testPass = "password";
-
testEmail = "test.testerman@test.com";
-
in
-
{
-
name = "atuin";
-
meta.maintainers = with lib.maintainers; [ devusb ];
-
nodes = {
-
server =
-
{ ... }:
-
{
-
services.postgresql.enable = true;
-
services.atuin = {
-
enable = true;
-
port = testPort;
-
host = "0.0.0.0";
-
openFirewall = true;
-
openRegistration = true;
-
};
};
-
client = { ... }: { };
-
};
-
testScript = with pkgs; ''
start_all()
# wait for atuin server startup
···
server.execute("echo 'sync_address = \"http://localhost:${toString testPort}\"' > ~/.config/atuin/config.toml")
# register with atuin server on server node
-
server.succeed("${atuin}/bin/atuin register -u ${testUser} -p ${testPass} -e ${testEmail}")
-
_, key = server.execute("${atuin}/bin/atuin key")
# store test record in atuin server and sync
-
server.succeed("ATUIN_SESSION=$(${atuin}/bin/atuin uuid) ${atuin}/bin/atuin history start 'shazbot'")
-
server.succeed("${atuin}/bin/atuin sync")
# configure atuin client on client node
client.execute("mkdir -p ~/.config/atuin")
client.execute("echo 'sync_address = \"http://server:${toString testPort}\"' > ~/.config/atuin/config.toml")
# log in to atuin server on client node
-
client.succeed(f"${atuin}/bin/atuin login -u ${testUser} -p ${testPass} -k \"{key}\"")
# pull records from atuin server
-
client.succeed("${atuin}/bin/atuin sync -f")
# check for test record
-
client.succeed("ATUIN_SESSION=$(${atuin}/bin/atuin uuid) ${atuin}/bin/atuin history list | grep shazbot")
'';
-
}
-
)
···
+
{ lib, ... }:
+
let
+
testPort = 8888;
+
testUser = "testerman";
+
testPass = "password";
+
testEmail = "test.testerman@test.com";
+
in
+
{
+
name = "atuin";
+
meta.maintainers = with lib.maintainers; [ devusb ];
+
defaults =
+
{ pkgs, ... }:
+
{
+
environment.systemPackages = [
+
pkgs.atuin
+
];
+
};
+
nodes = {
+
server =
+
{ ... }:
+
{
+
services.postgresql.enable = true;
+
+
services.atuin = {
+
enable = true;
+
port = testPort;
+
host = "0.0.0.0";
+
openFirewall = true;
+
openRegistration = true;
};
+
};
+
client = { ... }: { };
+
};
+
testScript =
+
{ nodes, ... }:
+
#python
+
''
start_all()
# wait for atuin server startup
···
server.execute("echo 'sync_address = \"http://localhost:${toString testPort}\"' > ~/.config/atuin/config.toml")
# register with atuin server on server node
+
server.succeed("atuin register -u ${testUser} -p ${testPass} -e ${testEmail}")
+
_, key = server.execute("atuin key")
# store test record in atuin server and sync
+
server.succeed("ATUIN_SESSION=$(atuin uuid) atuin history start 'shazbot'")
+
server.succeed("ATUIN_SESSION=$(atuin uuid) atuin sync")
# configure atuin client on client node
client.execute("mkdir -p ~/.config/atuin")
client.execute("echo 'sync_address = \"http://server:${toString testPort}\"' > ~/.config/atuin/config.toml")
# log in to atuin server on client node
+
client.succeed(f"atuin login -u ${testUser} -p ${testPass} -k \"{key}\"")
# pull records from atuin server
+
client.succeed("atuin sync -f")
# check for test record
+
client.succeed("ATUIN_SESSION=$(atuin uuid) atuin history list | grep shazbot")
'';
+
}
+4 -10
pkgs/by-name/at/atuin/package.nix
···
fetchFromGitHub,
installShellFiles,
rustPlatform,
-
buildPackages,
apple-sdk_11,
nixosTests,
}:
rustPlatform.buildRustPackage rec {
pname = "atuin";
-
version = "18.3.0";
src = fetchFromGitHub {
owner = "atuinsh";
repo = "atuin";
rev = "v${version}";
-
hash = "sha256-Q3UI1IUD5Jz2O4xj3mFM7DqY3lTy3WhWYPa8QjJHTKE=";
};
# TODO: unify this to one hash because updater do not support this
cargoHash =
if stdenv.hostPlatform.isLinux then
-
"sha256-K4Vw/d0ZOROWujWr76I3QvfKefLhXLeFufUrgStAyjQ="
else
-
"sha256-8NAfE7cGFT64ntNXK9RT0D/MbDJweN7vvsG/KlrY4K4=";
# atuin's default features include 'check-updates', which do not make sense
# for distribution builds. List all other default features.
···
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
apple-sdk_11
];
-
-
preBuild = ''
-
export PROTOC=${buildPackages.protobuf}/bin/protoc
-
export PROTOC_INCLUDE="${buildPackages.protobuf}/include";
-
'';
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd atuin \
···
fetchFromGitHub,
installShellFiles,
rustPlatform,
apple-sdk_11,
nixosTests,
}:
rustPlatform.buildRustPackage rec {
pname = "atuin";
+
version = "18.4.0";
src = fetchFromGitHub {
owner = "atuinsh";
repo = "atuin";
rev = "v${version}";
+
hash = "sha256-P/q4XYhpXo9kwiltA0F+rQNSlqI+s8TSi5v5lFJWJ/4=";
};
# TODO: unify this to one hash because updater do not support this
cargoHash =
if stdenv.hostPlatform.isLinux then
+
"sha256-JDm7HWMaLSodpOhrR7rm6ZS/ATX/q8fRK+OJ/EKqg3U="
else
+
"sha256-mrsqaqJHMyNi3yFDIyAXFBS+LY71VWXE8O7mjvgI6lo=";
# atuin's default features include 'check-updates', which do not make sense
# for distribution builds. List all other default features.
···
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
apple-sdk_11
];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd atuin \