Update to 22.11, remove ykman workaround

This commit is contained in:
Sam W 2022-12-15 17:31:22 +00:00
parent 8eef537cba
commit d173f84fc0
5 changed files with 43 additions and 120 deletions

View File

@ -10,11 +10,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1654858401, "lastModified": 1667210711,
"narHash": "sha256-53bw34DtVJ2bnF6WEwy6Tym+qY0pNEiEwARUlvmTZjs=", "narHash": "sha256-IoErjXZAkzYWHEpQqwu/DeRNJGFdR7X2OGbkhMqMrpw=",
"owner": "numtide", "owner": "numtide",
"repo": "devshell", "repo": "devshell",
"rev": "f55e05c6d3bbe9acc7363bc8fc739518b2f02976", "rev": "96a9dd12b8a447840cc246e17a47b81a4268bba7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -25,11 +25,11 @@
}, },
"flake-utils": { "flake-utils": {
"locked": { "locked": {
"lastModified": 1653893745, "lastModified": 1667395993,
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -42,35 +42,36 @@
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ],
"utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1654113405, "lastModified": 1670253003,
"narHash": "sha256-VpK+0QaWG2JRgB00lw77N9TjkE3ec0iMYIX1TzGpxa4=", "narHash": "sha256-/tJIy4+FbsQyslq1ipyicZ2psOEd8dvl4OJ9lfisjd0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "ac2287df5a2d6f0a44bbcbd11701dbbf6ec43675", "rev": "0e8125916b420e41bf0d23a0aa33fadd0328beb3",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-22.05", "ref": "release-22.11",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1662874738, "lastModified": 1671040593,
"narHash": "sha256-kG29aU9f5UTWhPf/QEh5LanDmqqbbcErWYAcPptC/Cg=", "narHash": "sha256-W5aZNwYBjaEaLifDWGEfecvnCiDkXjI26rHgidSftUM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "dd1f4d982445a7d1b1869baa42f8f0f9bc606714", "rev": "170e39462b516bd1475ce9184f7bb93106d27c59",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-22.05", "ref": "nixos-22.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -82,6 +83,21 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
} }
},
"utils": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@ -2,10 +2,10 @@
description = "Samw's home environment, as managed by nix/home-manager."; description = "Samw's home environment, as managed by nix/home-manager.";
inputs = { inputs = {
# Nixpkgs # Nixpkgs
nixpkgs = {url = "github:nixos/nixpkgs/nixos-22.05";}; nixpkgs = {url = "github:nixos/nixpkgs/nixos-22.11";};
# Other modules # Other modules
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-22.05"; url = "github:nix-community/home-manager/release-22.11";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
@ -21,8 +21,6 @@
(final: prev: rec { (final: prev: rec {
# Make my local packages available as pkgs.mypkgs.<foo> # Make my local packages available as pkgs.mypkgs.<foo>
mypkgs = prev.callPackage ./pkgs {}; mypkgs = prev.callPackage ./pkgs {};
# Directly override yubikey-manager
yubikey-manager = mypkgs.yubikey-manager;
}) })
]; ];
in (rec { in (rec {
@ -34,17 +32,17 @@
username ? "samw", username ? "samw",
}: }:
inputs.home-manager.lib.homeManagerConfiguration { inputs.home-manager.lib.homeManagerConfiguration {
inherit username system; pkgs = inputs.nixpkgs.legacyPackages.${system};
stateVersion = "21.11"; modules = [
{ home = {
inherit username;
homeDirectory = homeDirectory =
if (inputs.nixpkgs.lib.systems.elaborate system).isDarwin if (inputs.nixpkgs.lib.systems.elaborate system).isDarwin
then "/Users/${username}" then "/Users/${username}"
else "/home/${username}"; else "/home/${username}";
# In home-manager 22.11 configuration/extraModules go away and are replaced stateVersion = "21.11";
# by a single "modules". So let's get ready for that. };}] ++ profiles ++ [{nixpkgs.overlays = overlays;}];
configuration = {...}: {};
extraSpecialArgs = {inherit system;}; extraSpecialArgs = {inherit system;};
extraModules = profiles ++ [{nixpkgs.overlays = overlays;}];
}; };
}; };

View File

@ -2,5 +2,4 @@
{pkgs, ...}: { {pkgs, ...}: {
qrclip = pkgs.callPackage ./qrclip {}; qrclip = pkgs.callPackage ./qrclip {};
zbar = pkgs.callPackage ./zbar {}; zbar = pkgs.callPackage ./zbar {};
yubikey-manager = pkgs.callPackage ./yubikey-manager {};
} }

View File

@ -1,78 +0,0 @@
{
python3Packages,
fetchFromGitHub,
lib,
yubikey-personalization,
libu2f-host,
libusb1,
procps,
}:
python3Packages.buildPythonPackage rec {
pname = "yubikey-manager";
version = "4.0.8";
format = "pyproject";
src = fetchFromGitHub {
repo = "yubikey-manager";
rev = version;
owner = "Yubico";
sha256 = "sha256-OszXOu/NhoX4WutsT4Z1LsY54KTOWRKt13yDo2fzDbA=";
};
patches = [./lol.patch];
doCheck = false;
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'cryptography = "^2.1 || ^3.0"' 'cryptography = "*"'
substituteInPlace "ykman/pcsc/__init__.py" \
--replace 'pkill' '${procps}/bin/pkill'
'';
nativeBuildInputs = with python3Packages; [poetry-core];
propagatedBuildInputs = with python3Packages;
[
click
cryptography
pyscard
pyusb
six
fido2
]
++ [
libu2f-host
libusb1
yubikey-personalization
];
makeWrapperArgs = [
"--prefix"
"LD_LIBRARY_PATH"
":"
(lib.makeLibraryPath [libu2f-host libusb1 yubikey-personalization])
];
postInstall = ''
mkdir -p "$out/man/man1"
cp man/ykman.1 "$out/man/man1"
mkdir -p $out/share/bash-completion/completions
_YKMAN_COMPLETE=source $out/bin/ykman > $out/share/bash-completion/completions/ykman || :
mkdir -p $out/share/zsh/site-functions/
_YKMAN_COMPLETE=source_zsh "$out/bin/ykman" > "$out/share/zsh/site-functions/_ykman" || :
substituteInPlace "$out/share/zsh/site-functions/_ykman" \
--replace 'compdef _ykman_completion ykman;' '_ykman_completion "$@"'
'';
checkInputs = with python3Packages; [pytestCheckHook makefun];
meta = with lib; {
homepage = "https://developers.yubico.com/yubikey-manager";
description = "Command line tool for configuring any YubiKey over all USB transports";
license = licenses.bsd2;
platforms = platforms.unix;
maintainers = with maintainers; [benley lassulus pinpox];
};
}

View File

@ -1,12 +0,0 @@
diff --git a/pyproject.toml b/pyproject.toml
index 7544201..9caa5c6 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -30,7 +30,6 @@ packages = [
python = "^3.6"
dataclasses = {version = "^0.8", python = "<3.7"}
cryptography = ">=2.1, <39"
-pyOpenSSL = {version = ">=0.15.1", optional = true}
pyscard = "^1.9 || ^2.0"
fido2 = ">=0.9, <1.0"
click = "^6.0 || ^7.0 || ^8.0"