From 8b4cb660c8e6b14427221b8f3af35feddd84d2d7 Mon Sep 17 00:00:00 2001 From: Hung Date: Tue, 16 May 2023 09:26:57 -0700 Subject: [PATCH] fix(neovim): Just pin neovim correctly to its latest working nightly --- .envrc | 20 +++- flake.lock | 93 +++++++++++---- flake.nix | 13 +- native_configs/neovim/init.lua | 6 +- nix-conf/home-manager/base/neovim.nix | 17 +-- nix-conf/home-manager/flake.lock | 43 +++---- nix-conf/home-manager/flake.nix | 6 +- .../home-manager/fromYamlSandbox/flake.lock | 44 ------- .../home-manager/fromYamlSandbox/flake.nix | 111 ------------------ nix-conf/home-manager/overlays.nix | 76 ++++++++++++ nix/cells/dotfiles/default.nix | 0 nix/cells/dotfiles/devshells.nix | 3 +- overlays.nix | 76 ------------ 13 files changed, 209 insertions(+), 299 deletions(-) delete mode 100644 nix-conf/home-manager/fromYamlSandbox/flake.lock delete mode 100644 nix-conf/home-manager/fromYamlSandbox/flake.nix create mode 100644 nix-conf/home-manager/overlays.nix delete mode 100644 nix/cells/dotfiles/default.nix diff --git a/.envrc b/.envrc index 9834d0e..2b67239 100644 --- a/.envrc +++ b/.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}" + diff --git a/flake.lock b/flake.lock index cdfd6b8..5ef23d9 100644 --- a/flake.lock +++ b/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": { diff --git a/flake.nix b/flake.nix index f074dd4..34b36b1 100644 --- a/flake.nix +++ b/flake.nix @@ -19,23 +19,22 @@ # All cell blocks are under ./nix/cells// as `.nix` # or `e', vim.diagnostic.open_float) -- opens diag in box -- vim.keymap.set('n', 'wq', vim.diagnostic.setqflist) -- workspace diags vim.keymap.set('n', 'q', 'TroubleToggle loclist') vim.keymap.set('n', 'wq', 'TroubleToggle workspace_diagnostics') -vim.keymap.set('n', 'g', 'GuessIndent') +vim.keymap.set('n', 'gg', 'GuessIndent') -- 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 = { diff --git a/nix-conf/home-manager/base/neovim.nix b/nix-conf/home-manager/base/neovim.nix index 6f28f50..bdb4356 100644 --- a/nix-conf/home-manager/base/neovim.nix +++ b/nix-conf/home-manager/base/neovim.nix @@ -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 = { diff --git a/nix-conf/home-manager/flake.lock b/nix-conf/home-manager/flake.lock index c885170..6e58fe8 100644 --- a/nix-conf/home-manager/flake.lock +++ b/nix-conf/home-manager/flake.lock @@ -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": { diff --git a/nix-conf/home-manager/flake.nix b/nix-conf/home-manager/flake.nix index 367002b..121501b 100644 --- a/nix-conf/home-manager/flake.nix +++ b/nix-conf/home-manager/flake.nix @@ -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; diff --git a/nix-conf/home-manager/fromYamlSandbox/flake.lock b/nix-conf/home-manager/fromYamlSandbox/flake.lock deleted file mode 100644 index 65e798e..0000000 --- a/nix-conf/home-manager/fromYamlSandbox/flake.lock +++ /dev/null @@ -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 -} diff --git a/nix-conf/home-manager/fromYamlSandbox/flake.nix b/nix-conf/home-manager/fromYamlSandbox/flake.nix deleted file mode 100644 index 1bfc84a..0000000 --- a/nix-conf/home-manager/fromYamlSandbox/flake.nix +++ /dev/null @@ -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 } - ''; - }; -} - diff --git a/nix-conf/home-manager/overlays.nix b/nix-conf/home-manager/overlays.nix new file mode 100644 index 0000000..4f08827 --- /dev/null +++ b/nix-conf/home-manager/overlays.nix @@ -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 +] diff --git a/nix/cells/dotfiles/default.nix b/nix/cells/dotfiles/default.nix deleted file mode 100644 index e69de29..0000000 diff --git a/nix/cells/dotfiles/devshells.nix b/nix/cells/dotfiles/devshells.nix index 9d23473..44bc82b 100644 --- a/nix/cells/dotfiles/devshells.nix +++ b/nix/cells/dotfiles/devshells.nix @@ -3,6 +3,7 @@ in { default = std.lib.dev.mkShell { - name = nixpkgs.lib. + name = "default"; + imports = [inputs.std.std.devshellProfiles.default]; }; } diff --git a/overlays.nix b/overlays.nix index f57ca24..8b13789 100644 --- a/overlays.nix +++ b/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 -]