fix(neovim): Just pin neovim correctly to its latest working nightly
parent
b50bd9964c
commit
8b4cb660c8
20
.envrc
20
.envrc
|
@ -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}"
|
||||||
|
|
||||||
|
|
||||||
|
|
93
flake.lock
93
flake.lock
|
@ -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": {
|
||||||
|
|
13
flake.nix
13
flake.nix
|
@ -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" ] ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
|
@ -16,12 +16,11 @@ 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
|
||||||
|
@ -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 = {
|
||||||
|
|
|
@ -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": {
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
|
||||||
}
|
|
|
@ -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 }
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
|
@ -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
|
||||||
|
]
|
|
@ -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];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
76
overlays.nix
76
overlays.nix
|
@ -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
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue