mirror of
				https://github.com/wlcx/home.git
				synced 2025-11-03 22:33:45 +00:00 
			
		
		
		
	Compare commits
	
		
			No commits in common. "74b11aead415d68ca6e7143ef2111adafce5d705" and "8eef537cba4b1843154e699e0fc120da0c0068a2" have entirely different histories.
		
	
	
		
			74b11aead4
			...
			8eef537cba
		
	
		
							
								
								
									
										46
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										46
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							@ -10,11 +10,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1667210711,
 | 
					        "lastModified": 1654858401,
 | 
				
			||||||
        "narHash": "sha256-IoErjXZAkzYWHEpQqwu/DeRNJGFdR7X2OGbkhMqMrpw=",
 | 
					        "narHash": "sha256-53bw34DtVJ2bnF6WEwy6Tym+qY0pNEiEwARUlvmTZjs=",
 | 
				
			||||||
        "owner": "numtide",
 | 
					        "owner": "numtide",
 | 
				
			||||||
        "repo": "devshell",
 | 
					        "repo": "devshell",
 | 
				
			||||||
        "rev": "96a9dd12b8a447840cc246e17a47b81a4268bba7",
 | 
					        "rev": "f55e05c6d3bbe9acc7363bc8fc739518b2f02976",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@ -25,11 +25,11 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "flake-utils": {
 | 
					    "flake-utils": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1667395993,
 | 
					        "lastModified": 1653893745,
 | 
				
			||||||
        "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
 | 
					        "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
 | 
				
			||||||
        "owner": "numtide",
 | 
					        "owner": "numtide",
 | 
				
			||||||
        "repo": "flake-utils",
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
        "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
 | 
					        "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@ -42,36 +42,35 @@
 | 
				
			|||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "nixpkgs": [
 | 
					        "nixpkgs": [
 | 
				
			||||||
          "nixpkgs"
 | 
					          "nixpkgs"
 | 
				
			||||||
        ],
 | 
					        ]
 | 
				
			||||||
        "utils": "utils"
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1670253003,
 | 
					        "lastModified": 1654113405,
 | 
				
			||||||
        "narHash": "sha256-/tJIy4+FbsQyslq1ipyicZ2psOEd8dvl4OJ9lfisjd0=",
 | 
					        "narHash": "sha256-VpK+0QaWG2JRgB00lw77N9TjkE3ec0iMYIX1TzGpxa4=",
 | 
				
			||||||
        "owner": "nix-community",
 | 
					        "owner": "nix-community",
 | 
				
			||||||
        "repo": "home-manager",
 | 
					        "repo": "home-manager",
 | 
				
			||||||
        "rev": "0e8125916b420e41bf0d23a0aa33fadd0328beb3",
 | 
					        "rev": "ac2287df5a2d6f0a44bbcbd11701dbbf6ec43675",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
        "owner": "nix-community",
 | 
					        "owner": "nix-community",
 | 
				
			||||||
        "ref": "release-22.11",
 | 
					        "ref": "release-22.05",
 | 
				
			||||||
        "repo": "home-manager",
 | 
					        "repo": "home-manager",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs": {
 | 
					    "nixpkgs": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1671040593,
 | 
					        "lastModified": 1662874738,
 | 
				
			||||||
        "narHash": "sha256-W5aZNwYBjaEaLifDWGEfecvnCiDkXjI26rHgidSftUM=",
 | 
					        "narHash": "sha256-kG29aU9f5UTWhPf/QEh5LanDmqqbbcErWYAcPptC/Cg=",
 | 
				
			||||||
        "owner": "nixos",
 | 
					        "owner": "nixos",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "rev": "170e39462b516bd1475ce9184f7bb93106d27c59",
 | 
					        "rev": "dd1f4d982445a7d1b1869baa42f8f0f9bc606714",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
        "owner": "nixos",
 | 
					        "owner": "nixos",
 | 
				
			||||||
        "ref": "nixos-22.11",
 | 
					        "ref": "nixos-22.05",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -83,21 +82,6 @@
 | 
				
			|||||||
        "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",
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										18
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								flake.nix
									
									
									
									
									
								
							@ -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.11";};
 | 
					    nixpkgs = {url = "github:nixos/nixpkgs/nixos-22.05";};
 | 
				
			||||||
    # Other modules
 | 
					    # Other modules
 | 
				
			||||||
    home-manager = {
 | 
					    home-manager = {
 | 
				
			||||||
      url = "github:nix-community/home-manager/release-22.11";
 | 
					      url = "github:nix-community/home-manager/release-22.05";
 | 
				
			||||||
      inputs.nixpkgs.follows = "nixpkgs";
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    flake-utils.url = "github:numtide/flake-utils";
 | 
					    flake-utils.url = "github:numtide/flake-utils";
 | 
				
			||||||
@ -21,6 +21,8 @@
 | 
				
			|||||||
      (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 {
 | 
				
			||||||
@ -32,17 +34,17 @@
 | 
				
			|||||||
          username ? "samw",
 | 
					          username ? "samw",
 | 
				
			||||||
        }:
 | 
					        }:
 | 
				
			||||||
          inputs.home-manager.lib.homeManagerConfiguration {
 | 
					          inputs.home-manager.lib.homeManagerConfiguration {
 | 
				
			||||||
            pkgs = inputs.nixpkgs.legacyPackages.${system};
 | 
					            inherit username system;
 | 
				
			||||||
            modules = [
 | 
					            stateVersion = "21.11";
 | 
				
			||||||
              { 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}";
 | 
				
			||||||
              stateVersion = "21.11";
 | 
					            # In home-manager 22.11 configuration/extraModules go away and are replaced
 | 
				
			||||||
            };}] ++ profiles ++ [{nixpkgs.overlays = overlays;}];
 | 
					            # by a single "modules". So let's get ready for that.
 | 
				
			||||||
 | 
					            configuration = {...}: {};
 | 
				
			||||||
            extraSpecialArgs = {inherit system;};
 | 
					            extraSpecialArgs = {inherit system;};
 | 
				
			||||||
 | 
					            extraModules = profiles ++ [{nixpkgs.overlays = overlays;}];
 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -18,12 +18,9 @@ in {
 | 
				
			|||||||
    [
 | 
					    [
 | 
				
			||||||
      # More fancy shit
 | 
					      # More fancy shit
 | 
				
			||||||
      nvim-treesitter
 | 
					      nvim-treesitter
 | 
				
			||||||
      trouble-nvim
 | 
					      # Language stuff
 | 
				
			||||||
      # Language server/completions 
 | 
					 | 
				
			||||||
      nvim-lspconfig
 | 
					      nvim-lspconfig
 | 
				
			||||||
      nvim-cmp
 | 
					      trouble-nvim
 | 
				
			||||||
      cmp-nvim-lsp
 | 
					 | 
				
			||||||
      # Language specific
 | 
					 | 
				
			||||||
      rust-vim
 | 
					      rust-vim
 | 
				
			||||||
      vim-terraform
 | 
					      vim-terraform
 | 
				
			||||||
      vim-protobuf
 | 
					      vim-protobuf
 | 
				
			||||||
 | 
				
			|||||||
@ -9,35 +9,12 @@ local on_attach = function(client, bufnr)
 | 
				
			|||||||
  vim.api.nvim_buf_set_keymap(bufnr, 'n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
 | 
					  vim.api.nvim_buf_set_keymap(bufnr, 'n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- Completion
 | 
					-- Enable Language LSPs
 | 
				
			||||||
local cmp = require'cmp'
 | 
					 | 
				
			||||||
cmp.setup({
 | 
					 | 
				
			||||||
  window = {
 | 
					 | 
				
			||||||
    -- completion = cmp.config.window.bordered(),
 | 
					 | 
				
			||||||
    -- documentation = cmp.config.window.bordered(),
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  mapping = cmp.mapping.preset.insert({
 | 
					 | 
				
			||||||
    ['<C-Space>'] = cmp.mapping.complete(),
 | 
					 | 
				
			||||||
    ['<C-e>'] = cmp.mapping.abort(),
 | 
					 | 
				
			||||||
    ['<CR>'] = cmp.mapping.confirm({ select = true }),
 | 
					 | 
				
			||||||
  }),
 | 
					 | 
				
			||||||
  sources = cmp.config.sources({
 | 
					 | 
				
			||||||
    { name = 'nvim_lsp' },
 | 
					 | 
				
			||||||
  }),
 | 
					 | 
				
			||||||
}, {
 | 
					 | 
				
			||||||
  { name = 'buffer' },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- Language servers
 | 
					 | 
				
			||||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
require'lspconfig'.gopls.setup{
 | 
					require'lspconfig'.gopls.setup{
 | 
				
			||||||
  on_attach = on_attach,
 | 
					  on_attach = on_attach,
 | 
				
			||||||
  capabilities = capabilities,
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
require'lspconfig'.pylsp.setup{
 | 
					require'lspconfig'.pylsp.setup{
 | 
				
			||||||
  on_attach = on_attach,
 | 
					  on_attach = on_attach,
 | 
				
			||||||
  capabilities = capabilities,
 | 
					 | 
				
			||||||
  handlers = {
 | 
					  handlers = {
 | 
				
			||||||
    ["textDocument/publishDiagnostics"] = vim.lsp.with(
 | 
					    ["textDocument/publishDiagnostics"] = vim.lsp.with(
 | 
				
			||||||
      vim.lsp.diagnostic.on_publish_diagnostics, {
 | 
					      vim.lsp.diagnostic.on_publish_diagnostics, {
 | 
				
			||||||
@ -48,26 +25,21 @@ require'lspconfig'.pylsp.setup{
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
require'lspconfig'.rnix.setup{
 | 
					require'lspconfig'.rnix.setup{
 | 
				
			||||||
  on_attach = on_attach,
 | 
					  on_attach = on_attach
 | 
				
			||||||
  capabilities = capabilities,
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
require'lspconfig'.rust_analyzer.setup{
 | 
					require'lspconfig'.rust_analyzer.setup{
 | 
				
			||||||
  on_attach = on_attach,
 | 
					  on_attach = on_attach
 | 
				
			||||||
  capabilities = capabilities,
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
require'lspconfig'.dhall_lsp_server.setup{
 | 
					require'lspconfig'.dhall_lsp_server.setup{
 | 
				
			||||||
  on_attach = on_attach,
 | 
					  on_attach = on_attach
 | 
				
			||||||
  capabilities = capabilities,
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
require'lspconfig'.eslint.setup{
 | 
					require'lspconfig'.eslint.setup{
 | 
				
			||||||
  on_attach = on_attach,
 | 
					  on_attach = on_attach
 | 
				
			||||||
  capabilities = capabilities,
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
-- Configure volar (vuejs language server stuff) in "takeover" mode
 | 
					-- Configure volar (vuejs language server stuff) in "takeover" mode
 | 
				
			||||||
require'lspconfig'.volar.setup{
 | 
					require'lspconfig'.volar.setup{
 | 
				
			||||||
  on_attach = on_attach,
 | 
					 | 
				
			||||||
  capabilities = capabilities,
 | 
					 | 
				
			||||||
  filetypes = {'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue', 'json'},
 | 
					  filetypes = {'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue', 'json'},
 | 
				
			||||||
 | 
					  on_attach = on_attach
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
--[[ If we didn't have takeover mode enabled above, we'd want this
 | 
					--[[ If we didn't have takeover mode enabled above, we'd want this
 | 
				
			||||||
require'lspconfig'.tsserver.setup{
 | 
					require'lspconfig'.tsserver.setup{
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,6 @@
 | 
				
			|||||||
# TODO: auto import everything
 | 
					# TODO: auto import everything
 | 
				
			||||||
{pkgs, ...}: {
 | 
					{pkgs, ...}: {
 | 
				
			||||||
  qrclip = pkgs.callPackage ./qrclip {};
 | 
					  qrclip = pkgs.callPackage ./qrclip {};
 | 
				
			||||||
 | 
					  zbar = pkgs.callPackage ./zbar {};
 | 
				
			||||||
 | 
					  yubikey-manager = pkgs.callPackage ./yubikey-manager {};
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@
 | 
				
			|||||||
  lib,
 | 
					  lib,
 | 
				
			||||||
  stdenv,
 | 
					  stdenv,
 | 
				
			||||||
}: let
 | 
					}: let
 | 
				
			||||||
  zbar = pkgs.zbar.override {enableVideo = false;};
 | 
					  zbar = pkgs.mypkgs.zbar.override {enableVideo = false;};
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
  (pkgs.writeShellScriptBin "qrclip" ''
 | 
					  (pkgs.writeShellScriptBin "qrclip" ''
 | 
				
			||||||
    set -eo pipefail
 | 
					    set -eo pipefail
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										78
									
								
								pkgs/yubikey-manager/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								pkgs/yubikey-manager/default.nix
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,78 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  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];
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										12
									
								
								pkgs/yubikey-manager/lol.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								pkgs/yubikey-manager/lol.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					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"
 | 
				
			||||||
							
								
								
									
										94
									
								
								pkgs/zbar/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								pkgs/zbar/default.nix
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,94 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  stdenv,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  fetchFromGitHub,
 | 
				
			||||||
 | 
					  imagemagickBig,
 | 
				
			||||||
 | 
					  pkg-config,
 | 
				
			||||||
 | 
					  libX11,
 | 
				
			||||||
 | 
					  libv4l,
 | 
				
			||||||
 | 
					  libiconv,
 | 
				
			||||||
 | 
					  qtbase ? null,
 | 
				
			||||||
 | 
					  darwin,
 | 
				
			||||||
 | 
					  qtx11extras ? null,
 | 
				
			||||||
 | 
					  wrapQtAppsHook ? null,
 | 
				
			||||||
 | 
					  wrapGAppsHook,
 | 
				
			||||||
 | 
					  gtk3,
 | 
				
			||||||
 | 
					  xmlto,
 | 
				
			||||||
 | 
					  docbook_xsl,
 | 
				
			||||||
 | 
					  autoreconfHook,
 | 
				
			||||||
 | 
					  dbus,
 | 
				
			||||||
 | 
					  enableVideo ? stdenv.isLinux,
 | 
				
			||||||
 | 
					  # The implementation is buggy and produces an error like
 | 
				
			||||||
 | 
					  # Name Error (Connection ":1.4380" is not allowed to own the service "org.linuxtv.Zbar" due to security policies in the configuration file)
 | 
				
			||||||
 | 
					  # for every scanned code.
 | 
				
			||||||
 | 
					  # see https://github.com/mchehab/zbar/issues/104
 | 
				
			||||||
 | 
					  enableDbus ? false,
 | 
				
			||||||
 | 
					  libintl,
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					stdenv.mkDerivation rec {
 | 
				
			||||||
 | 
					  pname = "zbar";
 | 
				
			||||||
 | 
					  version = "0.23.90";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  outputs = ["out" "lib" "dev" "doc" "man"];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  src = fetchFromGitHub {
 | 
				
			||||||
 | 
					    owner = "mchehab";
 | 
				
			||||||
 | 
					    repo = "zbar";
 | 
				
			||||||
 | 
					    rev = version;
 | 
				
			||||||
 | 
					    sha256 = "sha256-FvV7TMc4JbOiRjWLka0IhtpGGqGm5fis7h870OmJw2U=";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  nativeBuildInputs =
 | 
				
			||||||
 | 
					    [pkg-config xmlto autoreconfHook docbook_xsl] ++ lib.optionals enableVideo [wrapQtAppsHook wrapGAppsHook];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  buildInputs =
 | 
				
			||||||
 | 
					    [imagemagickBig libX11 libintl]
 | 
				
			||||||
 | 
					    ++ lib.optionals enableDbus [dbus]
 | 
				
			||||||
 | 
					    ++ lib.optionals enableVideo [libv4l gtk3 qtbase qtx11extras]
 | 
				
			||||||
 | 
					    ++ lib.optionals stdenv.isDarwin [libiconv darwin.apple_sdk.frameworks.Foundation];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Disable assertions which include -dev QtBase file paths.
 | 
				
			||||||
 | 
					  NIX_CFLAGS_COMPILE = "-DQT_NO_DEBUG";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  configureFlags =
 | 
				
			||||||
 | 
					    ["--without-python"]
 | 
				
			||||||
 | 
					    ++ (
 | 
				
			||||||
 | 
					      if enableDbus
 | 
				
			||||||
 | 
					      then ["--with-dbusconfdir=${placeholder "out"}/share"]
 | 
				
			||||||
 | 
					      else ["--without-dbus"]
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					    ++ (
 | 
				
			||||||
 | 
					      if enableVideo
 | 
				
			||||||
 | 
					      then ["--with-gtk=gtk3"]
 | 
				
			||||||
 | 
					      else [
 | 
				
			||||||
 | 
					        "--disable-video"
 | 
				
			||||||
 | 
					        "--without-gtk"
 | 
				
			||||||
 | 
					        "--without-qt"
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  dontWrapQtApps = true;
 | 
				
			||||||
 | 
					  dontWrapGApps = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  postFixup = lib.optionalString enableVideo ''
 | 
				
			||||||
 | 
					    wrapGApp "$out/bin/zbarcam-gtk"
 | 
				
			||||||
 | 
					    wrapQtApp "$out/bin/zbarcam-qt"
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  enableParallelBuilding = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  meta = with lib; {
 | 
				
			||||||
 | 
					    description = "Bar code reader";
 | 
				
			||||||
 | 
					    longDescription = ''
 | 
				
			||||||
 | 
					      ZBar is an open source software suite for reading bar codes from various
 | 
				
			||||||
 | 
					      sources, such as video streams, image files and raw intensity sensors. It
 | 
				
			||||||
 | 
					      supports many popular symbologies (types of bar codes) including
 | 
				
			||||||
 | 
					      EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 and QR
 | 
				
			||||||
 | 
					      Code.
 | 
				
			||||||
 | 
					    '';
 | 
				
			||||||
 | 
					    maintainers = with maintainers; [delroth raskin];
 | 
				
			||||||
 | 
					    platforms = platforms.unix;
 | 
				
			||||||
 | 
					    license = licenses.lgpl21;
 | 
				
			||||||
 | 
					    homepage = "https://github.com/mchehab/zbar";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user