Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
Nix
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394{ pkgs, ... }:
{ name = "keepassxc"; meta = with pkgs.lib.maintainers; { maintainers = [ turion ]; timeout = 1800; };
nodes.machine = { ... }:
{ imports = [ ./common/user-account.nix ./common/x11.nix ];
services.xserver.enable = true; programs.dconf.enable = true;
# for better OCR environment.etc."icewm/prefoverride".text = '' ColorActiveTitleBar = "rgb:FF/FF/FF" '';
# Regression test for https://github.com/NixOS/nixpkgs/issues/163482 qt = { enable = true; platformTheme = "gnome"; style = "adwaita-dark"; };
test-support.displayManager.auto.user = "alice"; environment.systemPackages = with pkgs; [ keepassxc xdotool ]; };
enableOCR = true;
testScript = { nodes, ... }: let aliceDo = cmd: ''machine.succeed("su - alice -c '${cmd}' >&2 &");''; in '' with subtest("Ensure X starts"): start_all() machine.wait_for_x()
with subtest("Can create database and entry with CLI"): ${aliceDo "keepassxc-cli db-create --set-key-file foo.keyfile foo.kdbx"} ${aliceDo "keepassxc-cli add --no-password -k foo.keyfile foo.kdbx bar"}
with subtest("Ensure KeePassXC starts"): # start KeePassXC window ${aliceDo "keepassxc >&2 &"}
machine.wait_for_text("KeePassXC ${pkgs.keepassxc.version}") machine.screenshot("KeePassXC")
with subtest("Can open existing database"): machine.send_key("ctrl-o") machine.sleep(5) # Regression #163482: keepassxc did not crash machine.succeed("ps -e | grep keepassxc") machine.wait_for_text("Open database") machine.send_key("ret")
# Wait for the enter password screen to appear. machine.wait_for_text("/home/alice/foo.kdbx")
# Click on "I have key file" button to open keyfile dialog machine.send_key("tab") machine.send_key("tab") machine.send_key("tab") machine.send_key("ret")
# Select keyfile machine.wait_for_text("Select key file") machine.send_chars("/home/alice/foo.keyfile") machine.send_key("ret")
# Open database machine.wait_for_text("foo.kdbx \\[Locked] - KeePassXC") machine.send_key("ret")
# Database is unlocked (doesn't have "[Locked]" in the title anymore) machine.wait_for_text("foo.kdbx - KeePassXC") '';}