From d173f84fc093f4003fc82bd65ad357bffba3eb8e Mon Sep 17 00:00:00 2001 From: Sam Willcocks Date: Thu, 15 Dec 2022 17:31:22 +0000 Subject: [PATCH] Update to 22.11, remove ykman workaround --- flake.lock | 46 +++++++++++++------ flake.nix | 26 +++++------ pkgs/default.nix | 1 - pkgs/yubikey-manager/default.nix | 78 -------------------------------- pkgs/yubikey-manager/lol.patch | 12 ----- 5 files changed, 43 insertions(+), 120 deletions(-) delete mode 100644 pkgs/yubikey-manager/default.nix delete mode 100644 pkgs/yubikey-manager/lol.patch diff --git a/flake.lock b/flake.lock index 1aebfba..6340a3d 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ ] }, "locked": { - "lastModified": 1654858401, - "narHash": "sha256-53bw34DtVJ2bnF6WEwy6Tym+qY0pNEiEwARUlvmTZjs=", + "lastModified": 1667210711, + "narHash": "sha256-IoErjXZAkzYWHEpQqwu/DeRNJGFdR7X2OGbkhMqMrpw=", "owner": "numtide", "repo": "devshell", - "rev": "f55e05c6d3bbe9acc7363bc8fc739518b2f02976", + "rev": "96a9dd12b8a447840cc246e17a47b81a4268bba7", "type": "github" }, "original": { @@ -25,11 +25,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -42,35 +42,36 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ] + ], + "utils": "utils" }, "locked": { - "lastModified": 1654113405, - "narHash": "sha256-VpK+0QaWG2JRgB00lw77N9TjkE3ec0iMYIX1TzGpxa4=", + "lastModified": 1670253003, + "narHash": "sha256-/tJIy4+FbsQyslq1ipyicZ2psOEd8dvl4OJ9lfisjd0=", "owner": "nix-community", "repo": "home-manager", - "rev": "ac2287df5a2d6f0a44bbcbd11701dbbf6ec43675", + "rev": "0e8125916b420e41bf0d23a0aa33fadd0328beb3", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-22.05", + "ref": "release-22.11", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1662874738, - "narHash": "sha256-kG29aU9f5UTWhPf/QEh5LanDmqqbbcErWYAcPptC/Cg=", + "lastModified": 1671040593, + "narHash": "sha256-W5aZNwYBjaEaLifDWGEfecvnCiDkXjI26rHgidSftUM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dd1f4d982445a7d1b1869baa42f8f0f9bc606714", + "rev": "170e39462b516bd1475ce9184f7bb93106d27c59", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-22.05", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } @@ -82,6 +83,21 @@ "home-manager": "home-manager", "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", diff --git a/flake.nix b/flake.nix index 607b262..622afb6 100644 --- a/flake.nix +++ b/flake.nix @@ -2,10 +2,10 @@ description = "Samw's home environment, as managed by nix/home-manager."; inputs = { # Nixpkgs - nixpkgs = {url = "github:nixos/nixpkgs/nixos-22.05";}; + nixpkgs = {url = "github:nixos/nixpkgs/nixos-22.11";}; # Other modules home-manager = { - url = "github:nix-community/home-manager/release-22.05"; + url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-utils.url = "github:numtide/flake-utils"; @@ -21,8 +21,6 @@ (final: prev: rec { # Make my local packages available as pkgs.mypkgs. mypkgs = prev.callPackage ./pkgs {}; - # Directly override yubikey-manager - yubikey-manager = mypkgs.yubikey-manager; }) ]; in (rec { @@ -34,17 +32,17 @@ username ? "samw", }: inputs.home-manager.lib.homeManagerConfiguration { - inherit username system; - stateVersion = "21.11"; - homeDirectory = - if (inputs.nixpkgs.lib.systems.elaborate system).isDarwin - then "/Users/${username}" - else "/home/${username}"; - # In home-manager 22.11 configuration/extraModules go away and are replaced - # by a single "modules". So let's get ready for that. - configuration = {...}: {}; + pkgs = inputs.nixpkgs.legacyPackages.${system}; + modules = [ + { home = { + inherit username; + homeDirectory = + if (inputs.nixpkgs.lib.systems.elaborate system).isDarwin + then "/Users/${username}" + else "/home/${username}"; + stateVersion = "21.11"; + };}] ++ profiles ++ [{nixpkgs.overlays = overlays;}]; extraSpecialArgs = {inherit system;}; - extraModules = profiles ++ [{nixpkgs.overlays = overlays;}]; }; }; diff --git a/pkgs/default.nix b/pkgs/default.nix index b9c1a90..526b1c6 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -2,5 +2,4 @@ {pkgs, ...}: { qrclip = pkgs.callPackage ./qrclip {}; zbar = pkgs.callPackage ./zbar {}; - yubikey-manager = pkgs.callPackage ./yubikey-manager {}; } diff --git a/pkgs/yubikey-manager/default.nix b/pkgs/yubikey-manager/default.nix deleted file mode 100644 index eb96c53..0000000 --- a/pkgs/yubikey-manager/default.nix +++ /dev/null @@ -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]; - }; -} diff --git a/pkgs/yubikey-manager/lol.patch b/pkgs/yubikey-manager/lol.patch deleted file mode 100644 index c14be96..0000000 --- a/pkgs/yubikey-manager/lol.patch +++ /dev/null @@ -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"