fix(neovim): Just pin neovim correctly to its latest working nightly

std
Hung 2023-05-16 09:26:57 -07:00
parent b50bd9964c
commit 8b4cb660c8
13 changed files with 209 additions and 299 deletions

20
.envrc
View File

@ -1,6 +1,16 @@
# If nix-shell available, then nix is installed. We're going to use nix-direnv. #! /bin/sh
if command -v nix-shell &> /dev/null
then source "$(
use flake nix eval \
fi --no-update-lock-file \
--no-write-lock-file \
--no-warn-dirty \
--accept-flake-config \
.#__std.direnv_lib 2>/dev/null \
|| nix eval .#__std.direnv_lib # show the errors
)"
# FIXME: This should check if $USER is in userShells, if not,
# fall back to `use nix`
use std nix "//repo/userShells:${USER}"

View File

@ -62,11 +62,11 @@
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1682063650, "lastModified": 1683779844,
"narHash": "sha256-VaDHh2z6xlnTHaONlNVHP7qEMcK5rZ8Js3sT6mKb2XY=", "narHash": "sha256-sIeOU0GsCeQEn5TpqE/jFRN4EGsPsjqVRsPdrzIDABM=",
"owner": "serokell", "owner": "serokell",
"repo": "deploy-rs", "repo": "deploy-rs",
"rev": "c2ea4e642dc50fd44b537e9860ec95867af30d39", "rev": "c80189917086e43d49eece2bd86f56813500a0eb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -87,11 +87,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1678957337, "lastModified": 1682700442,
"narHash": "sha256-Gw4nVbuKRdTwPngeOZQOzH/IFowmz4LryMPDiJN/ah4=", "narHash": "sha256-qjaAAcCYgp1pBBG7mY9z95ODUBZMtUpf0Qp3Gt/Wha0=",
"owner": "numtide", "owner": "numtide",
"repo": "devshell", "repo": "devshell",
"rev": "3e0e60ab37cd0bf7ab59888f5c32499d851edb47", "rev": "fb6673fe9fe4409e3f43ca86968261e970918a83",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -117,6 +117,8 @@
}, },
"dmerge": { "dmerge": {
"inputs": { "inputs": {
"haumea": "haumea_2",
"namaka": "namaka",
"nixlib": [ "nixlib": [
"std", "std",
"nixpkgs" "nixpkgs"
@ -127,16 +129,17 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1659548052, "lastModified": 1684178600,
"narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=", "narHash": "sha256-EtSQcCHRQUBBEj4vbYU0vgPUYiKP261ero5k1QfQ3Bc=",
"owner": "divnix", "owner": "divnix",
"repo": "data-merge", "repo": "dmerge",
"rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497", "rev": "ac9932f26325afac5baa59cf6478432d17762a4e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "divnix", "owner": "divnix",
"repo": "data-merge", "ref": "0.2.0",
"repo": "dmerge",
"type": "github" "type": "github"
} }
}, },
@ -243,6 +246,28 @@
"type": "github" "type": "github"
} }
}, },
"haumea_2": {
"inputs": {
"nixpkgs": [
"std",
"dmerge",
"nixlib"
]
},
"locked": {
"lastModified": 1681176209,
"narHash": "sha256-bJLDun6esIyWtwRVXcsgzGbh4UKu8wJDrPgykqPyzmg=",
"owner": "nix-community",
"repo": "haumea",
"rev": "b915b66b27da3a595d77b139e945bb0a2fcac926",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "haumea",
"type": "github"
}
},
"hive": { "hive": {
"inputs": { "inputs": {
"colmena": "colmena", "colmena": "colmena",
@ -328,6 +353,34 @@
"type": "github" "type": "github"
} }
}, },
"namaka": {
"inputs": {
"haumea": [
"std",
"dmerge",
"haumea"
],
"nixpkgs": [
"std",
"dmerge",
"nixlib"
]
},
"locked": {
"lastModified": 1683059428,
"narHash": "sha256-ZTMqleCWmuNWhZE375gtF1j1JRkaKEUFN1AM43e7h4Y=",
"owner": "nix-community",
"repo": "namaka",
"rev": "2deba2f416454aec770bc1cc7365e39c73e6b1d7",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "v0.1.1",
"repo": "namaka",
"type": "github"
}
},
"nixago": { "nixago": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
@ -344,11 +397,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1682297764, "lastModified": 1683210100,
"narHash": "sha256-KcE95ua4IA+nwpaP53Se0x1TZxR538fGGEm8edaLuzU=", "narHash": "sha256-bhGDOlkWtlhVECpoOog4fWiFJmLCpVEg09a40aTjCbw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixago", "repo": "nixago",
"rev": "d68634526733c79a2ca4fcc87c25a1ceabf132f4", "rev": "1da60ad9412135f9ed7a004669fdcf3d378ec630",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -406,11 +459,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1683014792, "lastModified": 1684215771,
"narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=", "narHash": "sha256-fsum28z+g18yreNa1Y7MPo9dtps5h1VkHfZbYQ+YPbk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42", "rev": "963006aab35e3e8ebbf6052b6bf4ea712fdd3c28",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -687,11 +740,11 @@
"yants": "yants_2" "yants": "yants_2"
}, },
"locked": { "locked": {
"lastModified": 1682297963, "lastModified": 1684180498,
"narHash": "sha256-lB89W0c4/gqArk2g7bOhsDHMgYz29E+yaYyCK35D9A4=", "narHash": "sha256-kA58ms4yunOVPhe3r7V0IIKeWUV+vl4r2GTcfFfYW5o=",
"owner": "divnix", "owner": "divnix",
"repo": "std", "repo": "std",
"rev": "a0f9dd33cff37e2c532e2c236d011e2ecd77286d", "rev": "45b431ae09df98e046bcc8271aa209bdfc87444d",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -19,23 +19,22 @@
# All cell blocks are under ./nix/cells/<cell>/<cellblock> as `<cellblock>.nix` # All cell blocks are under ./nix/cells/<cell>/<cellblock> as `<cellblock>.nix`
# or `<cellblock/default.nix` # or `<cellblock/default.nix`
cellsFrom = ./nix/cells; cellsFrom = ./nix/cells;
modules = ./nix/modules; # modules = ./nix/modules;
cellBlocks = cellBlocks =
let let
inherit (std.blockTypes) devShells; inherit (std.blockTypes) devShells functions;
inherit (hive.blockTypes) nixosConfigurations homeConfigurations;
in in
[ [
(devShells "devshells") (devShells "devshells")
(nixosConfigurations "host_profile") (functions "host_profile")
(homeConfigurations "home_profile") (functions "home_profile")
]; ];
} }
{ {
devShells = std.harvest [ [ "dotfiles" "devshells" ] ]; devShells = std.harvest [ [ "dotfiles" "devshells" ] ];
nixosConfigurations = std.harvest [ [ "dotfiles" "nixos" ] ]; nixosConfigurations = std.pick [ [ "dotfiles" "nixos" ] ];
homeConfigurations = std.harvest [ [ "dotfiles" "home" ] ]; homeConfigurations = std.pick [ [ "dotfiles" "home" ] ];
}; };
} }

View File

@ -72,7 +72,7 @@ Plug('folke/trouble.nvim') -- File-grouped workspace diagnostics
Plug('tpope/vim-dispatch') -- Allows quick build/compile/test vim commands Plug('tpope/vim-dispatch') -- Allows quick build/compile/test vim commands
Plug('clojure-vim/vim-jack-in') -- Clojure: ":Boot", ":Clj", ":Lein" Plug('clojure-vim/vim-jack-in') -- Clojure: ":Boot", ":Clj", ":Lein"
Plug('radenling/vim-dispatch-neovim') -- Add support for neovim's terminal emulator Plug('radenling/vim-dispatch-neovim') -- Add support for neovim's terminal emulator
-- Plug('Olical/conjure') -- REPL on the source for Clojure (and other LISPs) Plug('Olical/conjure') -- REPL on the source for Clojure (and other LISPs)
Plug('gennaro-tedesco/nvim-jqx') -- JSON formatter (use :Jqx*) Plug('gennaro-tedesco/nvim-jqx') -- JSON formatter (use :Jqx*)
Plug('kylechui/nvim-surround') -- surrounds with tags/parenthesis Plug('kylechui/nvim-surround') -- surrounds with tags/parenthesis
Plug('simrat39/rust-tools.nvim') -- config rust-analyzer and nvim integration Plug('simrat39/rust-tools.nvim') -- config rust-analyzer and nvim integration
@ -200,7 +200,7 @@ vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float) -- opens diag in box
-- vim.keymap.set('n', '<leader>wq', vim.diagnostic.setqflist) -- workspace diags -- vim.keymap.set('n', '<leader>wq', vim.diagnostic.setqflist) -- workspace diags
vim.keymap.set('n', '<leader>q', '<cmd>TroubleToggle loclist<cr>') vim.keymap.set('n', '<leader>q', '<cmd>TroubleToggle loclist<cr>')
vim.keymap.set('n', '<leader>wq', '<cmd>TroubleToggle workspace_diagnostics<cr>') vim.keymap.set('n', '<leader>wq', '<cmd>TroubleToggle workspace_diagnostics<cr>')
vim.keymap.set('n', '<leader>g', '<cmd>GuessIndent<cr>') vim.keymap.set('n', '<leader>gg', '<cmd>GuessIndent<cr>')
-- color, highlighting, UI stuffs -- color, highlighting, UI stuffs
vim.cmd([[ vim.cmd([[
@ -605,7 +605,7 @@ local capabilities = require('cmp_nvim_lsp').default_capabilities()
local servers = { local servers = {
'clangd', 'rust_analyzer', 'pyright', 'tsserver', 'sumneko_lua', 'cmake', 'tailwindcss', 'prismals', 'clangd', 'rust_analyzer', 'pyright', 'tsserver', 'sumneko_lua', 'cmake', 'tailwindcss', 'prismals',
'rnix', 'eslint', 'terraformls', 'tflint', 'svelte', 'astro', 'clojure_lsp', "bashls", 'yamlls', "ansiblels", 'rnix', 'eslint', 'terraformls', 'tflint', 'svelte', 'astro', 'clojure_lsp', "bashls", 'yamlls', "ansiblels",
"jsonls", "denols", "gopls", "nickel_ls" "jsonls", "denols", "gopls", "nickel_ls", 'pylsp',
} }
require("mason").setup({ require("mason").setup({
ui = { ui = {

View File

@ -16,19 +16,18 @@ let
( (
toolchain: toolchain:
toolchain.default.override { toolchain.default.override {
extensions = [ "rust-src" ]; extensions = [ "rust-src" "rust-analyzer" "rust-docs" "rustfmt" "clippy" "miri" ];
} }
)); ));
nvim_pkgs = [ nvim_pkgs = [
# pkgs.gccStdenv # pkgs.gccStdenv
pkgs.gcc
pkgs.tree-sitter pkgs.tree-sitter
pkgs.fzf # file name fuzzy search pkgs.fzf # file name fuzzy search
pkgs.ripgrep # content fuzzy search pkgs.ripgrep # content fuzzy search
pkgs.zk # Zettelkasten (limited support) pkgs.zk # Zettelkasten (limited support)
pkgs.fd # Required by a Telescope plugin (?) pkgs.fd # Required by a Telescope plugin (?)
pkgs.stdenv.cc.cc.lib pkgs.stdenv.cc.cc.lib
pkgs.rnix-lsp # doesn't work, Mason just installs it using cargo pkgs.rnix-lsp # doesn't work, Mason just installs it using cargo
pkgs.rust4cargo pkgs.rust4cargo
pkgs.nickel pkgs.nickel
pkgs.lsp-nls pkgs.lsp-nls
@ -52,10 +51,14 @@ let
# pkgs.rust-analyzer # pkgs.rust-analyzer
# rust_pkgs # rust_pkgs
# pkgs.evcxr # Rust REPL for Conjure! # pkgs.evcxr # Rust REPL for Conjure!
] ++ lib.optionals (pkgs.stdenv.isDarwin) (let ] ++ lib.optionals (pkgs.stdenv.isDarwin) (
inherit (pkgs.darwin.apple_sdk.frameworks) System CoreFoundation; in [ let
System CoreFoundation pkgs.cc inherit (pkgs.darwin.apple_sdk.frameworks) System CoreFoundation; in
]); [
System
CoreFoundation
]
);
in in
{ {
options.base.neovim = { options.base.neovim = {

View File

@ -803,11 +803,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1682977601, "lastModified": 1684189380,
"narHash": "sha256-F1Va/Uiw2tVNn27FLqWyBkiqDyIm/eCamw9wA/GK8Fw=", "narHash": "sha256-GUp9OkZynocyppLur1VX8oAjtXGue0oKRHbsksOMUm0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "0e4c33d76006c9080d2f228ba1c2308e3e4d7be6", "rev": "b7d814c5744dca7e70b3dc2638f06568dce96ca6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -914,16 +914,17 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1682955971, "lastModified": 1684067841,
"narHash": "sha256-6Orm5CIh/Zz3X/RHbMbLnii5jSyEjLxV9KF7lrrI5pA=", "narHash": "sha256-UzOHzcx5KrysKdLZuyU2k5RipVa6wP8EbVeqF/C7OLM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "a9719c5050b1abbb0adada7dd9f98e0cdbd3ed53", "rev": "88a6c749a7d126c49f3374f9f28ca452ea9419b8",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "88a6c749a7d126c49f3374f9f28ca452ea9419b8",
"type": "github" "type": "github"
} }
}, },
@ -937,11 +938,11 @@
"topiary": "topiary" "topiary": "topiary"
}, },
"locked": { "locked": {
"lastModified": 1682671784, "lastModified": 1684220170,
"narHash": "sha256-TEH6J7OZKqVvHbzGIIO6jIlEIEUfFX/nq/fVd/DmU2c=", "narHash": "sha256-Vl6KHfZCmG016cN3xkaHgVtB9p2eODwjHQuMXF3KUsg=",
"owner": "tweag", "owner": "tweag",
"repo": "nickel", "repo": "nickel",
"rev": "9ba6a37e59b0f3c606ae99869a9ef663cdf8a336", "rev": "f11b7b09e2fbbcaa6384e511ef95cde1f4aae93a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1021,11 +1022,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1682417654, "lastModified": 1683638468,
"narHash": "sha256-XtUhq1GTRzV7QebHkxjd7Z58E6lVEk6Iv1/pF/GnBB4=", "narHash": "sha256-tQEaGZfZ2Hpw+XIVEHaJ8FaF1yNQyMDDhUyIQ7LTIEg=",
"owner": "mic92", "owner": "mic92",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "e3e320b19c192f40a5b98e8776e3870df62dee8a", "rev": "219067a5e3cf4b9581c8b4fcfc59ecd5af953d07",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1181,11 +1182,11 @@
}, },
"nixpkgs_12": { "nixpkgs_12": {
"locked": { "locked": {
"lastModified": 1683014792, "lastModified": 1684215771,
"narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=", "narHash": "sha256-fsum28z+g18yreNa1Y7MPo9dtps5h1VkHfZbYQ+YPbk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42", "rev": "963006aab35e3e8ebbf6052b6bf4ea712fdd3c28",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1213,11 +1214,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1682929865, "lastModified": 1683968890,
"narHash": "sha256-jxVrgnf5QNjO+XoxDxUWtN2G5xyJSGZ5SWDQFxMuHxc=", "narHash": "sha256-FuNtjMvT07cJydY5NRyRhIni/dEwkSkijmFEdsmqdkA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f2e9a130461950270f87630b11132323706b4d91", "rev": "ea11a3977f4cba013d8680667616be827c967ac0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1752,11 +1753,11 @@
"nixpkgs": "nixpkgs_13" "nixpkgs": "nixpkgs_13"
}, },
"locked": { "locked": {
"lastModified": 1682993975, "lastModified": 1684203630,
"narHash": "sha256-LlI5vwUw97NLAwcOYHRLRfhICVdp7MK2KFcUSj0Zwdg=", "narHash": "sha256-ZOWNixdHU4qFZUgYNEULFB3ifctMQO9H4Oo+Zrz+4L8=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "07f421299826591e2b28e03bbbe19a5292395afe", "rev": "65c3f2655f52a81e1b3e629d4c07df4873d0f2bb",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -33,9 +33,7 @@
flake = false; flake = false;
}; };
neovim-nightly-overlay = { neovim-nightly-overlay = {
url = "github:nix-community/neovim-nightly-overlay"; url = "github:nix-community/neovim-nightly-overlay?rev=88a6c749a7d126c49f3374f9f28ca452ea9419b8";
# Pin to a nixpkgs revision that doesn't have NixOS/nixpkgs#208103 yet
# inputs.nixpkgs.url = "github:nixos/nixpkgs?rev=fad51abd42ca17a60fc1d4cb9382e2d79ae31836";
}; };
nix-index-database = { nix-index-database = {
url = "github:mic92/nix-index-database"; url = "github:mic92/nix-index-database";
@ -69,7 +67,7 @@
in in
cross_platform (system: cross_platform (system:
let let
overlays = import ./../../overlays.nix (flake_inputs // { inherit system; }); overlays = import ./overlays.nix (flake_inputs // { inherit system; });
# pkgs = nixpkgs.legacyPackages.${system}.appendOverlays overlays; # pkgs = nixpkgs.legacyPackages.${system}.appendOverlays overlays;
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system overlays; inherit system overlays;

View File

@ -1,44 +0,0 @@
{
"nodes": {
"from-yaml": {
"flake": false,
"locked": {
"lastModified": 1667993008,
"narHash": "sha256-X5RWyebq+j56mUGGCmZTVcJBy6Y/QgFEMHklaz+GOt0=",
"owner": "pegasust",
"repo": "fromYaml",
"rev": "23d2616051f5a781dcfe2915a526925fd9cdd08c",
"type": "github"
},
"original": {
"owner": "pegasust",
"repo": "fromYaml",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1667811565,
"narHash": "sha256-HYml7RdQPQ7X13VNe2CoDMqmifsXbt4ACTKxHRKQE3Q=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "667e5581d16745bcda791300ae7e2d73f49fff25",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"from-yaml": "from-yaml",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

View File

@ -1,111 +0,0 @@
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
from-yaml = {
url = "github:pegasust/fromYaml";
flake = false;
};
};
outputs = { nixpkgs, from-yaml, ... }:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
lib = {
fromYaml = import "${from-yaml}/fromYaml.nix" { lib = pkgs.lib; };
};
in
{
inherit nixpkgs;
inherit from-yaml;
inherit lib;
inherit pkgs;
fromYamlFn = lib.fromYaml;
yamlCmd = str: (builtins.fromJSON (pkgs.runCommand "echo ${str} | yq"));
test_0 = ''
key_bindings:
- hello:
"N"
'';
key_bind = ''
key_bindings:
- { key: N, mods: Control, action: CreateNewWindow }
# - { key: Paste, action: Paste }
# - { key: Copy, action: Copy }
#- { key: L, mods: Control, action: ClearLogNotice }
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp }
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop }
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
# Vi Mode
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
- { key: Escape, mods: Shift, mode: ~Search, action: ToggleViMode }
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
#- { key: Y, mode: Vi|~Search, action: Copy }
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
#- { key: Return, mode: Vi|~Search, action: Open }
#- { key: Z, mode: Vi|~Search, action: CenterAroundViCursor }
#- { key: K, mode: Vi|~Search, action: Up }
#- { key: J, mode: Vi|~Search, action: Down }
#- { key: H, mode: Vi|~Search, action: Left }
#- { key: L, mode: Vi|~Search, action: Right }
#- { key: Up, mode: Vi|~Search, action: Up }
#- { key: Down, mode: Vi|~Search, action: Down }
#- { key: Left, mode: Vi|~Search, action: Left }
#- { key: Right, mode: Vi|~Search, action: Right }
#- { key: Key0, mode: Vi|~Search, action: First }
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
#- { key: W, mode: Vi|~Search, action: SemanticRight }
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
#- { key: N, mode: Vi|~Search, action: SearchNext }
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
# Search Mode
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
#- { key: Escape, mode: Search, action: SearchCancel }
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
#- { key: U, mods: Control, mode: Search, action: SearchClear }
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
#- { key: Down, mode: Search, action: SearchHistoryNext }
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
# (Windows, Linux, and BSD only)
- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
- { key: C, mods: Control|Shift, action: Copy }
'';
};
}

View File

@ -0,0 +1,76 @@
flake_input@{ kpcli-py
, nixgl
, rust-overlay
, neovim-nightly-overlay
, system
, nickel
, nix-boost
, ...
}:
let
kpcli-py = (final: prev: {
# use python3.9, which works because of cython somehow?
kpcli-py = final.poetry2nix.mkPoetryApplication {
projectDir = flake_input.kpcli-py;
python = final.python39;
overrides = final.poetry2nix.defaultPoetryOverrides.extend (self: super: {
# tableformatter requires setuptools
tableformatter = super.tableformatter.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools self.cython_3 ];
src = old.src;
}
);
kpcli = super.kpcli.overridePythonAttrs (old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
});
# ubersmith = super.ubersmith.overridePythonAttrs (old: {
# buildInputs = builtins.filter (x: ! builtins.elem x [ ]) ((old.buildInputs or [ ]) ++ [
# py-final.setuptools
# py-final.pip
# ]);
#
# src = final.fetchFromGitHub {
# owner = "jasonkeene";
# repo = "python-ubersmith";
# rev = "0c594e2eb41066d1fe7860e3a6f04b14c14f6e6a";
# sha256 = "sha256-Dystt7CBtjpLkgzCsAif8WkkYYeLyh7VMehAtwoDGuM=";
# };
# });
});
};
});
rust = (final: prev:
let
nightlyRustWithExts = exts: final.rust-bin.selectLatestNightlyWith (
toolchain: (toolchain.minimal.override {
extensions = exts;
})
);
# https://rust-lang.github.io/rustup/concepts/profiles.html
rust-default-components = [ "rust-docs" "rustfmt" "clippy" ];
rust-dev-components = rust-default-components ++ [ "rust-src" "rust-analyzer" "miri" ];
in
{
rust4devs = nightlyRustWithExts rust-dev-components;
rust4cargo = nightlyRustWithExts [ ];
rust4normi = nightlyRustWithExts rust-default-components;
});
nickel = (final: prev: {
inherit (flake_input.nickel.packages.${system})
lsp-nls nickel nickelWasm;
});
in
[
nix-boost.overlays.default
nixgl.overlays.default
rust-overlay.overlays.default
neovim-nightly-overlay.overlay
rust
kpcli-py
nickel
]

View File

@ -3,6 +3,7 @@
in { in {
default = std.lib.dev.mkShell { default = std.lib.dev.mkShell {
name = nixpkgs.lib. name = "default";
imports = [inputs.std.std.devshellProfiles.default];
}; };
} }

View File

@ -1,77 +1 @@
flake_input@{ kpcli-py
, nixgl
, rust-overlay
, neovim-nightly-overlay
, system
, nickel
, nix-boost
, ...
}:
let
kpcli-py = (final: prev: {
# use python3.9, which works because of cython somehow?
kpcli-py = final.poetry2nix.mkPoetryApplication {
projectDir = flake_input.kpcli-py;
python = final.python39;
overrides = final.poetry2nix.defaultPoetryOverrides.extend (self: super: {
# tableformatter requires setuptools
tableformatter = super.tableformatter.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools self.cython_3 ];
src = old.src;
}
);
kpcli = super.kpcli.overridePythonAttrs (old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
});
# ubersmith = super.ubersmith.overridePythonAttrs (old: {
# buildInputs = builtins.filter (x: ! builtins.elem x [ ]) ((old.buildInputs or [ ]) ++ [
# py-final.setuptools
# py-final.pip
# ]);
#
# src = final.fetchFromGitHub {
# owner = "jasonkeene";
# repo = "python-ubersmith";
# rev = "0c594e2eb41066d1fe7860e3a6f04b14c14f6e6a";
# sha256 = "sha256-Dystt7CBtjpLkgzCsAif8WkkYYeLyh7VMehAtwoDGuM=";
# };
# });
});
};
});
rust = (final: prev:
let
nightlyRustWithExts = exts: final.rust-bin.selectLatestNightlyWith (
toolchain: (toolchain.minimal.override {
extensions = exts;
})
);
# https://rust-lang.github.io/rustup/concepts/profiles.html
rust-default-components = [ "rust-docs" "rustfmt" "clippy" ];
rust-dev-components = rust-default-components ++ [ "rust-src" "rust-analyzer" "miri" ];
in
{
rust4devs = nightlyRustWithExts rust-dev-components;
rust4cargo = nightlyRustWithExts [ ];
rust4normi = nightlyRustWithExts rust-default-components;
});
nickel = (final: prev: {
inherit (flake_input.nickel.packages.${system})
lsp-nls nickel nickelWasm;
});
in
[
nix-boost.overlays.default
nixgl.overlays.default
rust-overlay.overlays.default
neovim-nightly-overlay.overlay
rust
kpcli-py
nickel
]