mirror of https://github.com/wlcx/home.git
Compare commits
No commits in common. "74b11aead415d68ca6e7143ef2111adafce5d705" and "8eef537cba4b1843154e699e0fc120da0c0068a2" have entirely different histories.
74b11aead4
...
8eef537cba
46
flake.lock
46
flake.lock
|
@ -10,11 +10,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1667210711,
|
||||
"narHash": "sha256-IoErjXZAkzYWHEpQqwu/DeRNJGFdR7X2OGbkhMqMrpw=",
|
||||
"lastModified": 1654858401,
|
||||
"narHash": "sha256-53bw34DtVJ2bnF6WEwy6Tym+qY0pNEiEwARUlvmTZjs=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "96a9dd12b8a447840cc246e17a47b81a4268bba7",
|
||||
"rev": "f55e05c6d3bbe9acc7363bc8fc739518b2f02976",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -25,11 +25,11 @@
|
|||
},
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
"lastModified": 1653893745,
|
||||
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||
"rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -42,36 +42,35 @@
|
|||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"utils": "utils"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1670253003,
|
||||
"narHash": "sha256-/tJIy4+FbsQyslq1ipyicZ2psOEd8dvl4OJ9lfisjd0=",
|
||||
"lastModified": 1654113405,
|
||||
"narHash": "sha256-VpK+0QaWG2JRgB00lw77N9TjkE3ec0iMYIX1TzGpxa4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "0e8125916b420e41bf0d23a0aa33fadd0328beb3",
|
||||
"rev": "ac2287df5a2d6f0a44bbcbd11701dbbf6ec43675",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-22.11",
|
||||
"ref": "release-22.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1671040593,
|
||||
"narHash": "sha256-W5aZNwYBjaEaLifDWGEfecvnCiDkXjI26rHgidSftUM=",
|
||||
"lastModified": 1662874738,
|
||||
"narHash": "sha256-kG29aU9f5UTWhPf/QEh5LanDmqqbbcErWYAcPptC/Cg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "170e39462b516bd1475ce9184f7bb93106d27c59",
|
||||
"rev": "dd1f4d982445a7d1b1869baa42f8f0f9bc606714",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-22.11",
|
||||
"ref": "nixos-22.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -83,21 +82,6 @@
|
|||
"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",
|
||||
|
|
18
flake.nix
18
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.11";};
|
||||
nixpkgs = {url = "github:nixos/nixpkgs/nixos-22.05";};
|
||||
# Other modules
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-22.11";
|
||||
url = "github:nix-community/home-manager/release-22.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
|
@ -21,6 +21,8 @@
|
|||
(final: prev: rec {
|
||||
# Make my local packages available as pkgs.mypkgs.<foo>
|
||||
mypkgs = prev.callPackage ./pkgs {};
|
||||
# Directly override yubikey-manager
|
||||
yubikey-manager = mypkgs.yubikey-manager;
|
||||
})
|
||||
];
|
||||
in (rec {
|
||||
|
@ -32,17 +34,17 @@
|
|||
username ? "samw",
|
||||
}:
|
||||
inputs.home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
||||
modules = [
|
||||
{ home = {
|
||||
inherit username;
|
||||
inherit username system;
|
||||
stateVersion = "21.11";
|
||||
homeDirectory =
|
||||
if (inputs.nixpkgs.lib.systems.elaborate system).isDarwin
|
||||
then "/Users/${username}"
|
||||
else "/home/${username}";
|
||||
stateVersion = "21.11";
|
||||
};}] ++ profiles ++ [{nixpkgs.overlays = overlays;}];
|
||||
# In home-manager 22.11 configuration/extraModules go away and are replaced
|
||||
# by a single "modules". So let's get ready for that.
|
||||
configuration = {...}: {};
|
||||
extraSpecialArgs = {inherit system;};
|
||||
extraModules = profiles ++ [{nixpkgs.overlays = overlays;}];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -18,12 +18,9 @@ in {
|
|||
[
|
||||
# More fancy shit
|
||||
nvim-treesitter
|
||||
trouble-nvim
|
||||
# Language server/completions
|
||||
# Language stuff
|
||||
nvim-lspconfig
|
||||
nvim-cmp
|
||||
cmp-nvim-lsp
|
||||
# Language specific
|
||||
trouble-nvim
|
||||
rust-vim
|
||||
vim-terraform
|
||||
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)
|
||||
end
|
||||
|
||||
-- Completion
|
||||
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()
|
||||
|
||||
-- Enable Language LSPs
|
||||
require'lspconfig'.gopls.setup{
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
require'lspconfig'.pylsp.setup{
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
handlers = {
|
||||
["textDocument/publishDiagnostics"] = vim.lsp.with(
|
||||
vim.lsp.diagnostic.on_publish_diagnostics, {
|
||||
|
@ -48,26 +25,21 @@ require'lspconfig'.pylsp.setup{
|
|||
}
|
||||
}
|
||||
require'lspconfig'.rnix.setup{
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach
|
||||
}
|
||||
require'lspconfig'.rust_analyzer.setup{
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach
|
||||
}
|
||||
require'lspconfig'.dhall_lsp_server.setup{
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach
|
||||
}
|
||||
require'lspconfig'.eslint.setup{
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach
|
||||
}
|
||||
-- Configure volar (vuejs language server stuff) in "takeover" mode
|
||||
require'lspconfig'.volar.setup{
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
filetypes = {'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue', 'json'},
|
||||
on_attach = on_attach
|
||||
}
|
||||
--[[ If we didn't have takeover mode enabled above, we'd want this
|
||||
require'lspconfig'.tsserver.setup{
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
# TODO: auto import everything
|
||||
{pkgs, ...}: {
|
||||
qrclip = pkgs.callPackage ./qrclip {};
|
||||
zbar = pkgs.callPackage ./zbar {};
|
||||
yubikey-manager = pkgs.callPackage ./yubikey-manager {};
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
lib,
|
||||
stdenv,
|
||||
}: let
|
||||
zbar = pkgs.zbar.override {enableVideo = false;};
|
||||
zbar = pkgs.mypkgs.zbar.override {enableVideo = false;};
|
||||
in
|
||||
(pkgs.writeShellScriptBin "qrclip" ''
|
||||
set -eo pipefail
|
||||
|
|
|
@ -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];
|
||||
};
|
||||
}
|
|
@ -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"
|
|
@ -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…
Reference in New Issue