feat: Expose neovim config as a package

This commit is contained in:
uttarayan21
2025-01-17 14:03:48 +05:30
parent 2352b28566
commit fcc4de84ba
8 changed files with 792 additions and 722 deletions

View File

@@ -20,6 +20,7 @@ lib.attrsets.optionalAttrs device.hasGui {
WantedBy = ["graphical-session.target"]; WantedBy = ["graphical-session.target"];
}; };
}; };
imports = [./kitty.nix];
programs = { programs = {
# Only for checking markdown previews # Only for checking markdown previews
@@ -34,10 +35,10 @@ lib.attrsets.optionalAttrs device.hasGui {
# ghostty = { # ghostty = {
# enable = true; # enable = true;
# installBatSyntax = false; # installBatSyntax = false;
# package = # settings = {
# if pkgs.stdenv.isLinux # theme = "catppuccin-mocha";
# then pkgs.ghostty # };
# else pkgs.hello; # package = pkgs.ghostty;
# }; # };
}; };
home.packages = with pkgs; home.packages = with pkgs;

View File

@@ -45,7 +45,7 @@ in {
./ncmpcpp.nix ./ncmpcpp.nix
./sops.nix ./sops.nix
./tmux.nix ./tmux.nix
../neovim # ../neovim
] ]
++ lib.optionals device.isLinux [../linux] ++ lib.optionals device.isLinux [../linux]
# ++ lib.optionals.device.isMac [../macos] # ++ lib.optionals.device.isMac [../macos]
@@ -54,6 +54,7 @@ in {
home.packages = with pkgs; home.packages = with pkgs;
[ [
(nixvim.makeNixvim (import ../neovim))
_1password-cli _1password-cli
alejandra alejandra
ast-grep ast-grep

40
flake.lock generated
View File

@@ -2263,6 +2263,8 @@
"tree-sitter-just": "tree-sitter-just", "tree-sitter-just": "tree-sitter-just",
"tree-sitter-nu": "tree-sitter-nu", "tree-sitter-nu": "tree-sitter-nu",
"tree-sitter-slint": "tree-sitter-slint", "tree-sitter-slint": "tree-sitter-slint",
"typr": "typr",
"volt": "volt",
"zjstatus": "zjstatus" "zjstatus": "zjstatus"
} }
}, },
@@ -2730,11 +2732,11 @@
"rust-overlay": "rust-overlay_8" "rust-overlay": "rust-overlay_8"
}, },
"locked": { "locked": {
"lastModified": 1735044950, "lastModified": 1737007026,
"narHash": "sha256-8Au07voKXOa70Cq874FIPLi4Cj+4GdLMketKFwwuaas=", "narHash": "sha256-j1EwjCV2ttZC2Sm7gGHqhtgGPpRAv2Z+C+rQIOtRYnw=",
"owner": "uttarayan21", "owner": "uttarayan21",
"repo": "tmux-float", "repo": "tmux-float",
"rev": "11b2cf83ebe8478135483d9a165e828e33fee038", "rev": "f3ae743b473d4767e31d61a209c378d88dfddd7d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -2849,6 +2851,22 @@
"type": "github" "type": "github"
} }
}, },
"typr": {
"flake": false,
"locked": {
"lastModified": 1736915269,
"narHash": "sha256-iVLxQeQqpqohCPZAE3SxReEo3KmWAo+xGAiJJnRBbUE=",
"owner": "nvzone",
"repo": "typr",
"rev": "a60c7f237be94d4b39228a3bd2ced80fe9fe2781",
"type": "github"
},
"original": {
"owner": "nvzone",
"repo": "typr",
"type": "github"
}
},
"utils": { "utils": {
"inputs": { "inputs": {
"systems": "systems_5" "systems": "systems_5"
@@ -2867,6 +2885,22 @@
"type": "github" "type": "github"
} }
}, },
"volt": {
"flake": false,
"locked": {
"lastModified": 1736777974,
"narHash": "sha256-2SO847Un74kNFGxARaebB+WCCgexnaJdjUkQLZ6ROQ8=",
"owner": "nvzone",
"repo": "volt",
"rev": "f02b065caf0327bf4d443ff6d91cb0edd6948ddb",
"type": "github"
},
"original": {
"owner": "nvzone",
"repo": "volt",
"type": "github"
}
},
"xdph": { "xdph": {
"inputs": { "inputs": {
"hyprland-protocols": [ "hyprland-protocols": [

View File

@@ -146,6 +146,14 @@
ghostty = { ghostty = {
url = "github:ghostty-org/ghostty"; url = "github:ghostty-org/ghostty";
}; };
typr = {
url = "github:nvzone/typr";
flake = false;
};
volt = {
url = "github:nvzone/volt";
flake = false;
};
}; };
outputs = { outputs = {
@@ -283,8 +291,15 @@
system: let system: let
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system; inherit system;
overlays = import ./overlays.nix {
inherit inputs;
};
}; };
in { in {
packages = rec {
default = neovim;
neovim = pkgs.nixvim.makeNixvim (import ./neovim);
};
devShells = { devShells = {
default = pkgs.mkShell { default = pkgs.mkShell {
packages = with pkgs; [sops just]; packages = with pkgs; [sops just];

View File

@@ -1,6 +1,6 @@
{ {
pkgs, pkgs,
config, # config,
... ...
}: let }: let
mkMappings = mappings: mkMappings = mappings:
@@ -24,8 +24,7 @@
${lua} ${lua}
''; '';
}; };
neovim = (pkgs.nixvim.makeNixvim nvim-config) // {config = nvim-config;}; in {
nvim-config = {
plugins = { plugins = {
fugitive.enable = true; fugitive.enable = true;
gitsigns.enable = true; gitsigns.enable = true;
@@ -62,7 +61,7 @@
chatgpt = { chatgpt = {
enable = true; enable = true;
settings = { settings = {
api_key_cmd = "cat ${config.sops.secrets."openai/api_key".path}"; # api_key_cmd = "cat ${config.sops.secrets."openai/api_key".path}";
}; };
}; };
@@ -766,17 +765,16 @@
octo-nvim octo-nvim
outline-nvim outline-nvim
plenary-nvim plenary-nvim
# typr
vim-abolish vim-abolish
vim-speeddating vim-speeddating
webapi-vim webapi-vim
pkgs.tree-sitter-grammars.tree-sitter-just pkgs.tree-sitter-grammars.tree-sitter-just
pkgs.tree-sitter-grammars.tree-sitter-nu
pkgs.tree-sitter-grammars.tree-sitter-norg pkgs.tree-sitter-grammars.tree-sitter-norg
pkgs.tree-sitter-grammars.tree-sitter-norg-meta pkgs.tree-sitter-grammars.tree-sitter-norg-meta
pkgs.tree-sitter-grammars.tree-sitter-nu
]; ];
extraLuaPackages = luaPkgs: with luaPkgs; [lua-utils-nvim nvim-nio pathlib-nvim]; extraLuaPackages = luaPkgs: with luaPkgs; [lua-utils-nvim nvim-nio pathlib-nvim];
extraPackages = [pkgs.lldb pkgs.taplo pkgs.d2 pkgs.sleek pkgs.graphqurl]; extraPackages = [pkgs.lldb pkgs.taplo pkgs.d2 pkgs.sleek pkgs.graphqurl];
};
in {
home.packages = [neovim];
} }

View File

@@ -8,7 +8,28 @@
version = "1"; version = "1";
src = inputs.d2; src = inputs.d2;
}; };
# typr = final.pkgs.vimUtils.buildVimPlugin {
# name = "typr";
# version = "1";
# src = inputs.typr;
# buildInputs = [final.pkgs.lua52Packages.volt];
# };
}; };
# volt = final.pkgs.neovimUtils.buildNeovimPlugin {
# name = "volt";
# pname = "volt";
# version = "1";
# src = inputs.volt;
# };
# lua = prev.lua.override {
# packageOverrides = luaself: luaprev: {
# volt = final.stdenv.buildLuaPackage {
# pname = "volt";
# version = "1.0.0";
# src = inputs.volt;
# };
# };
# };
}; };
tree-sitter-grammars = final: prev: { tree-sitter-grammars = final: prev: {
tree-sitter-grammars = tree-sitter-grammars =

View File

@@ -1,6 +1,5 @@
{ {
config, config,
lib,
pkgs, pkgs,
... ...
}: { }: {
@@ -8,7 +7,7 @@
# Include the results of the hardware scan. # Include the results of the hardware scan.
./services ./services
./mirai.nix ./mirai.nix
./docker.nix # ./docker.nix
]; ];
security.sudo.wheelNeedsPassword = false; security.sudo.wheelNeedsPassword = false;
sops = { sops = {

View File

@@ -248,6 +248,7 @@
systemPackages = with pkgs; [ systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget # wget
(nixvim.makeNixvim (import ../../neovim))
qpwgraph qpwgraph
hyprland hyprland
xorg.xhost xorg.xhost