mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 19:13:26 +03:00
parent
1fd9bc9a38
commit
7c1bc83f56
2 changed files with 67 additions and 69 deletions
|
@ -1297,7 +1297,7 @@ in {
|
|||
xscreensaver = handleTest ./xscreensaver.nix {};
|
||||
xss-lock = handleTest ./xss-lock.nix {};
|
||||
xterm = handleTest ./xterm.nix {};
|
||||
xxh = handleTest ./xxh.nix {};
|
||||
xxh = runTest ./xxh.nix;
|
||||
yabar = runTest ./yabar.nix;
|
||||
ydotool = handleTest ./ydotool.nix {};
|
||||
yggdrasil = runTest ./yggdrasil.nix;
|
||||
|
|
|
@ -1,76 +1,74 @@
|
|||
import ./make-test-python.nix (
|
||||
{ pkgs, lib, ... }:
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey;
|
||||
xxh-shell-zsh = pkgs.stdenv.mkDerivation {
|
||||
pname = "xxh-shell-zsh";
|
||||
version = "";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "xxh";
|
||||
repo = "xxh-shell-zsh";
|
||||
# gets rarely updated, we can then just replace the hash
|
||||
rev = "91e1f84f8d6e0852c3235d4813f341230cac439f";
|
||||
sha256 = "sha256-Y1FrIRxTd0yooK+ZzKcCd6bLSy5E2fRXYAzrIsm7rIc=";
|
||||
let
|
||||
inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey;
|
||||
xxh-shell-zsh = pkgs.stdenv.mkDerivation {
|
||||
pname = "xxh-shell-zsh";
|
||||
version = "";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "xxh";
|
||||
repo = "xxh-shell-zsh";
|
||||
# gets rarely updated, we can then just replace the hash
|
||||
rev = "91e1f84f8d6e0852c3235d4813f341230cac439f";
|
||||
sha256 = "sha256-Y1FrIRxTd0yooK+ZzKcCd6bLSy5E2fRXYAzrIsm7rIc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace build.sh \
|
||||
--replace "echo Install wget or curl" "cp ${zsh-portable-binary} zsh-5.8-linux-x86_64.tar.gz" \
|
||||
--replace "command -v curl" "command -v this-should-not-trigger"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
mv * $out/
|
||||
'';
|
||||
};
|
||||
|
||||
zsh-portable-binary = pkgs.fetchurl {
|
||||
# kept in sync with https://github.com/xxh/xxh-shell-zsh/tree/master/build.sh#L27
|
||||
url = "https://github.com/romkatv/zsh-bin/releases/download/v3.0.1/zsh-5.8-linux-x86_64.tar.gz";
|
||||
sha256 = "sha256-i8flMd2Isc0uLoeYQNDnOGb/kK3oTFVqQgIx7aOAIIo=";
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "xxh";
|
||||
meta = with lib.maintainers; {
|
||||
maintainers = [ lom ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
server =
|
||||
{ ... }:
|
||||
{
|
||||
services.openssh.enable = true;
|
||||
users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ];
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace build.sh \
|
||||
--replace "echo Install wget or curl" "cp ${zsh-portable-binary} zsh-5.8-linux-x86_64.tar.gz" \
|
||||
--replace "command -v curl" "command -v this-should-not-trigger"
|
||||
'';
|
||||
client =
|
||||
{ ... }:
|
||||
{
|
||||
programs.zsh.enable = true;
|
||||
users.users.root.shell = pkgs.zsh;
|
||||
environment.systemPackages = with pkgs; [
|
||||
xxh
|
||||
git
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
mv * $out/
|
||||
'';
|
||||
};
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
zsh-portable-binary = pkgs.fetchurl {
|
||||
# kept in sync with https://github.com/xxh/xxh-shell-zsh/tree/master/build.sh#L27
|
||||
url = "https://github.com/romkatv/zsh-bin/releases/download/v3.0.1/zsh-5.8-linux-x86_64.tar.gz";
|
||||
sha256 = "sha256-i8flMd2Isc0uLoeYQNDnOGb/kK3oTFVqQgIx7aOAIIo=";
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "xxh";
|
||||
meta = with lib.maintainers; {
|
||||
maintainers = [ lom ];
|
||||
};
|
||||
client.succeed("mkdir -m 700 /root/.ssh")
|
||||
|
||||
nodes = {
|
||||
server =
|
||||
{ ... }:
|
||||
{
|
||||
services.openssh.enable = true;
|
||||
users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ];
|
||||
};
|
||||
client.succeed(
|
||||
"cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa"
|
||||
)
|
||||
client.succeed("chmod 600 /root/.ssh/id_ecdsa")
|
||||
|
||||
client =
|
||||
{ ... }:
|
||||
{
|
||||
programs.zsh.enable = true;
|
||||
users.users.root.shell = pkgs.zsh;
|
||||
environment.systemPackages = with pkgs; [
|
||||
xxh
|
||||
git
|
||||
];
|
||||
};
|
||||
};
|
||||
server.wait_for_unit("sshd")
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
client.succeed("mkdir -m 700 /root/.ssh")
|
||||
|
||||
client.succeed(
|
||||
"cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa"
|
||||
)
|
||||
client.succeed("chmod 600 /root/.ssh/id_ecdsa")
|
||||
|
||||
server.wait_for_unit("sshd")
|
||||
|
||||
client.succeed("xxh server -i /root/.ssh/id_ecdsa +hc \'echo $0\' +i +s zsh +I xxh-shell-zsh+path+${xxh-shell-zsh} | grep -Fq '/root/.xxh/.xxh/shells/xxh-shell-zsh/build/zsh-bin/bin/zsh'")
|
||||
'';
|
||||
}
|
||||
)
|
||||
client.succeed("xxh server -i /root/.ssh/id_ecdsa +hc \'echo $0\' +i +s zsh +I xxh-shell-zsh+path+${xxh-shell-zsh} | grep -Fq '/root/.xxh/.xxh/shells/xxh-shell-zsh/build/zsh-bin/bin/zsh'")
|
||||
'';
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue