Compare commits
2 Commits
b50bd9964c
...
632104be69
Author | SHA1 | Date |
---|---|---|
Hung | 632104be69 | |
Hung | 8b4cb660c8 |
20
.envrc
20
.envrc
|
@ -1,6 +1,16 @@
|
|||
# If nix-shell available, then nix is installed. We're going to use nix-direnv.
|
||||
if command -v nix-shell &> /dev/null
|
||||
then
|
||||
use flake
|
||||
fi
|
||||
#! /bin/sh
|
||||
|
||||
source "$(
|
||||
nix eval \
|
||||
--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"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682063650,
|
||||
"narHash": "sha256-VaDHh2z6xlnTHaONlNVHP7qEMcK5rZ8Js3sT6mKb2XY=",
|
||||
"lastModified": 1683779844,
|
||||
"narHash": "sha256-sIeOU0GsCeQEn5TpqE/jFRN4EGsPsjqVRsPdrzIDABM=",
|
||||
"owner": "serokell",
|
||||
"repo": "deploy-rs",
|
||||
"rev": "c2ea4e642dc50fd44b537e9860ec95867af30d39",
|
||||
"rev": "c80189917086e43d49eece2bd86f56813500a0eb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -87,11 +87,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1678957337,
|
||||
"narHash": "sha256-Gw4nVbuKRdTwPngeOZQOzH/IFowmz4LryMPDiJN/ah4=",
|
||||
"lastModified": 1682700442,
|
||||
"narHash": "sha256-qjaAAcCYgp1pBBG7mY9z95ODUBZMtUpf0Qp3Gt/Wha0=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "3e0e60ab37cd0bf7ab59888f5c32499d851edb47",
|
||||
"rev": "fb6673fe9fe4409e3f43ca86968261e970918a83",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -117,6 +117,8 @@
|
|||
},
|
||||
"dmerge": {
|
||||
"inputs": {
|
||||
"haumea": "haumea_2",
|
||||
"namaka": "namaka",
|
||||
"nixlib": [
|
||||
"std",
|
||||
"nixpkgs"
|
||||
|
@ -127,16 +129,17 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1659548052,
|
||||
"narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=",
|
||||
"lastModified": 1684178600,
|
||||
"narHash": "sha256-EtSQcCHRQUBBEj4vbYU0vgPUYiKP261ero5k1QfQ3Bc=",
|
||||
"owner": "divnix",
|
||||
"repo": "data-merge",
|
||||
"rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497",
|
||||
"repo": "dmerge",
|
||||
"rev": "ac9932f26325afac5baa59cf6478432d17762a4e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "divnix",
|
||||
"repo": "data-merge",
|
||||
"ref": "0.2.0",
|
||||
"repo": "dmerge",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -243,6 +246,28 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"colmena": "colmena",
|
||||
|
@ -328,6 +353,34 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
|
@ -344,11 +397,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682297764,
|
||||
"narHash": "sha256-KcE95ua4IA+nwpaP53Se0x1TZxR538fGGEm8edaLuzU=",
|
||||
"lastModified": 1683210100,
|
||||
"narHash": "sha256-bhGDOlkWtlhVECpoOog4fWiFJmLCpVEg09a40aTjCbw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixago",
|
||||
"rev": "d68634526733c79a2ca4fcc87c25a1ceabf132f4",
|
||||
"rev": "1da60ad9412135f9ed7a004669fdcf3d378ec630",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -406,11 +459,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1683014792,
|
||||
"narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=",
|
||||
"lastModified": 1684215771,
|
||||
"narHash": "sha256-fsum28z+g18yreNa1Y7MPo9dtps5h1VkHfZbYQ+YPbk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42",
|
||||
"rev": "963006aab35e3e8ebbf6052b6bf4ea712fdd3c28",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -687,11 +740,11 @@
|
|||
"yants": "yants_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682297963,
|
||||
"narHash": "sha256-lB89W0c4/gqArk2g7bOhsDHMgYz29E+yaYyCK35D9A4=",
|
||||
"lastModified": 1684180498,
|
||||
"narHash": "sha256-kA58ms4yunOVPhe3r7V0IIKeWUV+vl4r2GTcfFfYW5o=",
|
||||
"owner": "divnix",
|
||||
"repo": "std",
|
||||
"rev": "a0f9dd33cff37e2c532e2c236d011e2ecd77286d",
|
||||
"rev": "45b431ae09df98e046bcc8271aa209bdfc87444d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
16
flake.nix
16
flake.nix
|
@ -19,23 +19,23 @@
|
|||
# All cell blocks are under ./nix/cells/<cell>/<cellblock> as `<cellblock>.nix`
|
||||
# or `<cellblock/default.nix`
|
||||
cellsFrom = ./nix/cells;
|
||||
modules = ./nix/modules;
|
||||
# modules = ./nix/modules;
|
||||
|
||||
cellBlocks =
|
||||
let
|
||||
inherit (std.blockTypes) devShells;
|
||||
inherit (hive.blockTypes) nixosConfigurations homeConfigurations;
|
||||
inherit (std.blockTypes) devshells functions;
|
||||
in
|
||||
[
|
||||
(devShells "devshells")
|
||||
(nixosConfigurations "host_profile")
|
||||
(homeConfigurations "home_profile")
|
||||
(devshells "devshells")
|
||||
(devshells "userShells")
|
||||
# (functions "host_profile")
|
||||
# (functions "home_profile")
|
||||
|
||||
];
|
||||
}
|
||||
{
|
||||
devShells = std.harvest [ [ "dotfiles" "devshells" ] ];
|
||||
nixosConfigurations = std.harvest [ [ "dotfiles" "nixos" ] ];
|
||||
homeConfigurations = std.harvest [ [ "dotfiles" "home" ] ];
|
||||
# nixosConfigurations = std.pick [ [ "dotfiles" "nixos" ] ];
|
||||
# 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('clojure-vim/vim-jack-in') -- Clojure: ":Boot", ":Clj", ":Lein"
|
||||
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('kylechui/nvim-surround') -- surrounds with tags/parenthesis
|
||||
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>q', '<cmd>TroubleToggle loclist<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
|
||||
vim.cmd([[
|
||||
|
@ -605,7 +605,7 @@ local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
|||
local servers = {
|
||||
'clangd', 'rust_analyzer', 'pyright', 'tsserver', 'sumneko_lua', 'cmake', 'tailwindcss', 'prismals',
|
||||
'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({
|
||||
ui = {
|
||||
|
|
|
@ -16,19 +16,18 @@ let
|
|||
(
|
||||
toolchain:
|
||||
toolchain.default.override {
|
||||
extensions = [ "rust-src" ];
|
||||
extensions = [ "rust-src" "rust-analyzer" "rust-docs" "rustfmt" "clippy" "miri" ];
|
||||
}
|
||||
));
|
||||
nvim_pkgs = [
|
||||
# pkgs.gccStdenv
|
||||
pkgs.gcc
|
||||
pkgs.tree-sitter
|
||||
pkgs.fzf # file name fuzzy search
|
||||
pkgs.ripgrep # content fuzzy search
|
||||
pkgs.zk # Zettelkasten (limited support)
|
||||
pkgs.fd # Required by a Telescope plugin (?)
|
||||
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.nickel
|
||||
pkgs.lsp-nls
|
||||
|
@ -52,10 +51,14 @@ let
|
|||
# pkgs.rust-analyzer
|
||||
# rust_pkgs
|
||||
# pkgs.evcxr # Rust REPL for Conjure!
|
||||
] ++ lib.optionals (pkgs.stdenv.isDarwin) (let
|
||||
inherit (pkgs.darwin.apple_sdk.frameworks) System CoreFoundation; in [
|
||||
System CoreFoundation pkgs.cc
|
||||
]);
|
||||
] ++ lib.optionals (pkgs.stdenv.isDarwin) (
|
||||
let
|
||||
inherit (pkgs.darwin.apple_sdk.frameworks) System CoreFoundation; in
|
||||
[
|
||||
System
|
||||
CoreFoundation
|
||||
]
|
||||
);
|
||||
in
|
||||
{
|
||||
options.base.neovim = {
|
||||
|
|
|
@ -803,11 +803,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682977601,
|
||||
"narHash": "sha256-F1Va/Uiw2tVNn27FLqWyBkiqDyIm/eCamw9wA/GK8Fw=",
|
||||
"lastModified": 1684189380,
|
||||
"narHash": "sha256-GUp9OkZynocyppLur1VX8oAjtXGue0oKRHbsksOMUm0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "0e4c33d76006c9080d2f228ba1c2308e3e4d7be6",
|
||||
"rev": "b7d814c5744dca7e70b3dc2638f06568dce96ca6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -914,16 +914,17 @@
|
|||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682955971,
|
||||
"narHash": "sha256-6Orm5CIh/Zz3X/RHbMbLnii5jSyEjLxV9KF7lrrI5pA=",
|
||||
"lastModified": 1684067841,
|
||||
"narHash": "sha256-UzOHzcx5KrysKdLZuyU2k5RipVa6wP8EbVeqF/C7OLM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "a9719c5050b1abbb0adada7dd9f98e0cdbd3ed53",
|
||||
"rev": "88a6c749a7d126c49f3374f9f28ca452ea9419b8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "88a6c749a7d126c49f3374f9f28ca452ea9419b8",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -937,11 +938,11 @@
|
|||
"topiary": "topiary"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682671784,
|
||||
"narHash": "sha256-TEH6J7OZKqVvHbzGIIO6jIlEIEUfFX/nq/fVd/DmU2c=",
|
||||
"lastModified": 1684220170,
|
||||
"narHash": "sha256-Vl6KHfZCmG016cN3xkaHgVtB9p2eODwjHQuMXF3KUsg=",
|
||||
"owner": "tweag",
|
||||
"repo": "nickel",
|
||||
"rev": "9ba6a37e59b0f3c606ae99869a9ef663cdf8a336",
|
||||
"rev": "f11b7b09e2fbbcaa6384e511ef95cde1f4aae93a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1021,11 +1022,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682417654,
|
||||
"narHash": "sha256-XtUhq1GTRzV7QebHkxjd7Z58E6lVEk6Iv1/pF/GnBB4=",
|
||||
"lastModified": 1683638468,
|
||||
"narHash": "sha256-tQEaGZfZ2Hpw+XIVEHaJ8FaF1yNQyMDDhUyIQ7LTIEg=",
|
||||
"owner": "mic92",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "e3e320b19c192f40a5b98e8776e3870df62dee8a",
|
||||
"rev": "219067a5e3cf4b9581c8b4fcfc59ecd5af953d07",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1181,11 +1182,11 @@
|
|||
},
|
||||
"nixpkgs_12": {
|
||||
"locked": {
|
||||
"lastModified": 1683014792,
|
||||
"narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=",
|
||||
"lastModified": 1684215771,
|
||||
"narHash": "sha256-fsum28z+g18yreNa1Y7MPo9dtps5h1VkHfZbYQ+YPbk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42",
|
||||
"rev": "963006aab35e3e8ebbf6052b6bf4ea712fdd3c28",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1213,11 +1214,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1682929865,
|
||||
"narHash": "sha256-jxVrgnf5QNjO+XoxDxUWtN2G5xyJSGZ5SWDQFxMuHxc=",
|
||||
"lastModified": 1683968890,
|
||||
"narHash": "sha256-FuNtjMvT07cJydY5NRyRhIni/dEwkSkijmFEdsmqdkA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f2e9a130461950270f87630b11132323706b4d91",
|
||||
"rev": "ea11a3977f4cba013d8680667616be827c967ac0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1752,11 +1753,11 @@
|
|||
"nixpkgs": "nixpkgs_13"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682993975,
|
||||
"narHash": "sha256-LlI5vwUw97NLAwcOYHRLRfhICVdp7MK2KFcUSj0Zwdg=",
|
||||
"lastModified": 1684203630,
|
||||
"narHash": "sha256-ZOWNixdHU4qFZUgYNEULFB3ifctMQO9H4Oo+Zrz+4L8=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "07f421299826591e2b28e03bbbe19a5292395afe",
|
||||
"rev": "65c3f2655f52a81e1b3e629d4c07df4873d0f2bb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -33,9 +33,7 @@
|
|||
flake = false;
|
||||
};
|
||||
neovim-nightly-overlay = {
|
||||
url = "github:nix-community/neovim-nightly-overlay";
|
||||
# Pin to a nixpkgs revision that doesn't have NixOS/nixpkgs#208103 yet
|
||||
# inputs.nixpkgs.url = "github:nixos/nixpkgs?rev=fad51abd42ca17a60fc1d4cb9382e2d79ae31836";
|
||||
url = "github:nix-community/neovim-nightly-overlay?rev=88a6c749a7d126c49f3374f9f28ca452ea9419b8";
|
||||
};
|
||||
nix-index-database = {
|
||||
url = "github:mic92/nix-index-database";
|
||||
|
@ -69,7 +67,7 @@
|
|||
in
|
||||
cross_platform (system:
|
||||
let
|
||||
overlays = import ./../../overlays.nix (flake_inputs // { inherit system; });
|
||||
overlays = import ./overlays.nix (flake_inputs // { inherit system; });
|
||||
# pkgs = nixpkgs.legacyPackages.${system}.appendOverlays overlays;
|
||||
pkgs = import nixpkgs {
|
||||
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
|
||||
]
|
|
@ -1,8 +1,9 @@
|
|||
{inputs, cells}: let
|
||||
{inputs, cell}: let
|
||||
inherit (inputs) std nixpkgs;
|
||||
|
||||
in {
|
||||
default = std.lib.dev.mkShell {
|
||||
name = nixpkgs.lib.
|
||||
name = "default";
|
||||
imports = [inputs.std.std.devshellProfiles.default];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
{inputs, cell}: {
|
||||
htran = inputs.cells.dotfiles.devshells.default;
|
||||
hungtran = inputs.cells.dotfiles.devshells.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