From f4aa6d3cdaf6095265a88829a6e7e51df8baa5c2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin Date: Thu, 7 Nov 2024 01:11:48 +0100 Subject: [PATCH] nvim: use neovim-nightly --- flake.lock | 233 ++++++++++++++++++++++++++++++++--- flake.nix | 1 + home/common/nvim/default.nix | 27 ++-- home/common/nvim/init.lua | 2 +- overlays/default.nix | 1 - 5 files changed, 235 insertions(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index 8f07eb6..6b69def 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,79 @@ { "nodes": { + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "neovim-nightly-overlay", + "hercules-ci-effects", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -29,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1730776162, - "narHash": "sha256-ODmmTWz3jqaPmJ1UiJgHD3oy90BTEd871GZHyT5Xn9M=", + "lastModified": 1730931741, + "narHash": "sha256-UMqGcC+14MCiTdyMrUrVX/4wJvOBXhCNdR/bt6mTank=", "ref": "refs/heads/main", - "rev": "f9199a46118f173ac7a005130f871fdf050f94d1", - "revCount": 7881, + "rev": "444cf3b402f658f33b76a05b9e43dfc2df89f892", + "revCount": 7904, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -57,6 +131,77 @@ "type": "github" } }, + "git-hooks": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore", + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ], + "nixpkgs-stable": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730814269, + "narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "d70155fdc00df4628446352fc58adc640cd705c2", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "neovim-nightly-overlay", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "hercules-ci-effects": { + "inputs": { + "flake-parts": "flake-parts_2", + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730903510, + "narHash": "sha256-mnynlrPeiW0nUQ8KGZHb3WyxAxA3Ye/BH8gMjdoKP6E=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "b89ac4d66d618b915b1f0a408e2775fe3821d141", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -64,11 +209,11 @@ ] }, "locked": { - "lastModified": 1730633670, - "narHash": "sha256-ZFJqIXpvVKvzOVFKWNRDyIyAo+GYdmEPaYi1bZB6uf0=", + "lastModified": 1730837930, + "narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=", "owner": "nix-community", "repo": "home-manager", - "rev": "8f6ca7855d409aeebe2a582c6fd6b6a8d0bf5661", + "rev": "2f607e07f3ac7e53541120536708e824acccfaa8", "type": "github" }, "original": { @@ -77,18 +222,57 @@ "type": "github" } }, - "nixpkgs": { + "neovim-nightly-overlay": { + "inputs": { + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "git-hooks": "git-hooks", + "hercules-ci-effects": "hercules-ci-effects", + "neovim-src": "neovim-src", + "nixpkgs": "nixpkgs" + }, "locked": { - "lastModified": 1730531603, - "narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d", + "lastModified": 1730914682, + "narHash": "sha256-UHFvVeJY64rA5HKoeKCLuJET224GEDGdj7/m1PuShgw=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "59630b2edb91b71ac0a60b865aaa91cd39946577", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, + "neovim-src": { + "flake": false, + "locked": { + "lastModified": 1730893053, + "narHash": "sha256-ifiJfPkhyg/9I9aJSbtcHy3jRV4CLig7iF9ACQUycPU=", + "owner": "neovim", + "repo": "neovim", + "rev": "f7e32fb6e626ab198bf401765236783890f3a0d6", + "type": "github" + }, + "original": { + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1730831018, + "narHash": "sha256-2S0HwIFRxYp+afuoFORcZA9TjryAf512GmE0MTfEOPU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "8c4dc69b9732f6bbe826b5fbb32184987520ff26", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -109,12 +293,29 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1730785428, + "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "ghostty": "ghostty", "ghostty-hm": "ghostty-hm", "home-manager": "home-manager", - "nixpkgs": "nixpkgs", + "neovim-nightly-overlay": "neovim-nightly-overlay", + "nixpkgs": "nixpkgs_2", "nixpkgs-stable": "nixpkgs-stable" } }, diff --git a/flake.nix b/flake.nix index 3cf27e9..236418f 100644 --- a/flake.nix +++ b/flake.nix @@ -2,6 +2,7 @@ description = "NixOS configuration"; inputs = { + neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 3f61773..7dac9e1 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -1,13 +1,19 @@ -{ lib, pkgs, ... }: +{ + inputs, + lib, + pkgs, + ... +}: { programs.neovim = { - enable = true; + enable = true; + package = inputs.neovim-nightly-overlay.packages.${pkgs.system}.default; defaultEditor = true; - viAlias = true; - vimAlias = true; - withNodeJs = false; - withPython3 = false; - withRuby = false; + viAlias = true; + vimAlias = true; + withNodeJs = false; + withPython3 = false; + withRuby = false; extraLuaConfig = lib.fileContents ./init.lua; @@ -21,9 +27,9 @@ nil nixd nodePackages.prettier - nodePackages.typescript + nodePackages.typescript nodePackages.typescript-language-server - nodePackages.bash-language-server + nodePackages.bash-language-server rust-analyzer rustfmt shellcheck @@ -61,11 +67,10 @@ vscode-langservers-extracted ]; - plugins = with pkgs.vimPlugins; [ go-nvim rustaceanvim - targets-vim + targets-vim ts-comments-nvim { diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 4f01f68..b9372e9 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -60,7 +60,7 @@ vim.o.updatetime = 50 vim.o.timeout = true vim.o.timeoutlen = 10 vim.o.icm = "split" --- vim.o.cia = 'kind,abbr,menu' wait for nightly to drop +vim.o.cia = 'kind,abbr,menu' vim.o.showmode = false diff --git a/overlays/default.nix b/overlays/default.nix index b058a14..5b1e25a 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -9,7 +9,6 @@ gnome-keyring = prev.gnome-keyring.overrideAttrs (oldAttrs: { configureFlags = oldAttrs.configureFlags or [ ] ++ [ "--disable-ssh-agent" ]; }); - }; unstable-packages = final: _prev: {