use nix as a nvim packet manager

This commit is contained in:
Quentin Boyer 2021-12-14 21:17:02 +01:00
parent ef6a2ccad3
commit 7c6eea3d68
7 changed files with 989 additions and 107 deletions

544
flake.lock generated
View file

@ -1,5 +1,85 @@
{
"nodes": {
"cmp-buffer": {
"flake": false,
"locked": {
"lastModified": 1638920207,
"narHash": "sha256-FYAb3Wv9wbaxvv7PXi4ko4mqmsRo2V7yM42Ci+3ST0w=",
"owner": "hrsh7th",
"repo": "cmp-buffer",
"rev": "a0fe52489ff6e235d62407f8fa72aef80222040a",
"type": "github"
},
"original": {
"owner": "hrsh7th",
"repo": "cmp-buffer",
"type": "github"
}
},
"cmp-calc": {
"flake": false,
"locked": {
"lastModified": 1633934766,
"narHash": "sha256-XirmcUUsW+zzMh02X+sJW7ZAFkY1WesSI1eL9Yl1CC0=",
"owner": "hrsh7th",
"repo": "cmp-calc",
"rev": "eb7bd1d7382ac26d8eb7346e36405c0ae94333a2",
"type": "github"
},
"original": {
"owner": "hrsh7th",
"repo": "cmp-calc",
"type": "github"
}
},
"cmp-latex-symbols": {
"flake": false,
"locked": {
"lastModified": 1631255143,
"narHash": "sha256-9KHNmb0yt/AmUOf1etbj7rkDXTYYj1S89K8ycD3gEp8=",
"owner": "kdheepak",
"repo": "cmp-latex-symbols",
"rev": "29dc9e53d17cd1f26605888f85500c8ba79cebff",
"type": "github"
},
"original": {
"owner": "kdheepak",
"repo": "cmp-latex-symbols",
"type": "github"
}
},
"cmp-nvim-lsp": {
"flake": false,
"locked": {
"lastModified": 1636543770,
"narHash": "sha256-jLfW4xoYnEOWa7oWSmkB7vNxu9Jgttbme+nTiAC92so=",
"owner": "hrsh7th",
"repo": "cmp-nvim-lsp",
"rev": "134117299ff9e34adde30a735cd8ca9cf8f3db81",
"type": "github"
},
"original": {
"owner": "hrsh7th",
"repo": "cmp-nvim-lsp",
"type": "github"
}
},
"cmp-path": {
"flake": false,
"locked": {
"lastModified": 1639492848,
"narHash": "sha256-/dFsJ6er4H0jF79RvoWRh77asEKFyxoN2Yw5Gml72Pc=",
"owner": "hrsh7th",
"repo": "cmp-path",
"rev": "56a0fe5c46835ecc6323bda69f3924758b991590",
"type": "github"
},
"original": {
"owner": "hrsh7th",
"repo": "cmp-path",
"type": "github"
}
},
"dotacat": {
"flake": false,
"locked": {
@ -16,6 +96,22 @@
"url": "https://gitlab.scd31.com/stephen/dotacat.git"
}
},
"editorconfig-vim": {
"flake": false,
"locked": {
"lastModified": 1627199038,
"narHash": "sha256-HFHrm+V296IJh27yJW76DD09ehYc8hMxnnvR9+ddP2M=",
"owner": "editorconfig",
"repo": "editorconfig-vim",
"rev": "3078cd10b28904e57d878c0d0dab42aa0a9fdc89",
"type": "github"
},
"original": {
"owner": "editorconfig",
"repo": "editorconfig-vim",
"type": "github"
}
},
"fast-syntax-highlighting": {
"flake": false,
"locked": {
@ -32,6 +128,22 @@
"type": "github"
}
},
"filetype.nvim": {
"flake": false,
"locked": {
"lastModified": 1638898646,
"narHash": "sha256-79/dTRRtL37gD0ILH/d3s7Lm1ZmL3PxQZhy1994SKz8=",
"owner": "nathom",
"repo": "filetype.nvim",
"rev": "0426dc8fee6d9b49b5895206c3c02f65135d25bc",
"type": "github"
},
"original": {
"owner": "nathom",
"repo": "filetype.nvim",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
@ -63,6 +175,38 @@
"type": "github"
}
},
"galaxyline.nvim": {
"flake": false,
"locked": {
"lastModified": 1634656504,
"narHash": "sha256-wgk+BjMgGUZr7ZTgP45LHO4vWR5tHm8v2viYs3fM4kk=",
"owner": "NTBBloodbath",
"repo": "galaxyline.nvim",
"rev": "7b812cfddfcac7d9031e2f8e03f2b71fe8b2558d",
"type": "github"
},
"original": {
"owner": "NTBBloodbath",
"repo": "galaxyline.nvim",
"type": "github"
}
},
"gitsigns.nvim": {
"flake": false,
"locked": {
"lastModified": 1639400161,
"narHash": "sha256-Uzk0oapIcflO/MUpISm9MkWz091soRCV3n7BOW3MEgo=",
"owner": "lewis6991",
"repo": "gitsigns.nvim",
"rev": "a451f97117bd1ede582a6b9db61c387c48d880b6",
"type": "github"
},
"original": {
"owner": "lewis6991",
"repo": "gitsigns.nvim",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": "nixpkgs"
@ -81,6 +225,102 @@
"type": "github"
}
},
"indentLine": {
"flake": false,
"locked": {
"lastModified": 1611828926,
"narHash": "sha256-GFbBINmfzPoUHKKfJoTk8MDqG5p3YjUrZJOZWjLZQ9s=",
"owner": "Yggdroot",
"repo": "indentLine",
"rev": "5617a1cf7d315e6e6f84d825c85e3b669d220bfa",
"type": "github"
},
"original": {
"owner": "Yggdroot",
"repo": "indentLine",
"type": "github"
}
},
"kommentary": {
"flake": false,
"locked": {
"lastModified": 1638539682,
"narHash": "sha256-Sq/117fzSdHjz8P+KDP2j1LmebMQJKPZjTG8ixRgTuc=",
"owner": "b3nj5m1n",
"repo": "kommentary",
"rev": "2e1c3be90d555cd2c1f70b1c24867cee08d352f4",
"type": "github"
},
"original": {
"owner": "b3nj5m1n",
"repo": "kommentary",
"type": "github"
}
},
"lsp-status.nvim": {
"flake": false,
"locked": {
"lastModified": 1638992828,
"narHash": "sha256-5K7AtqAAiuma1bHba2ijbfHKWr9r7Dxd8BfGU2zxLKo=",
"owner": "nvim-lua",
"repo": "lsp-status.nvim",
"rev": "4073f766f1303fb602802075e558fe43e382cc92",
"type": "github"
},
"original": {
"owner": "nvim-lua",
"repo": "lsp-status.nvim",
"type": "github"
}
},
"lsp_extensions.nvim": {
"flake": false,
"locked": {
"lastModified": 1631389468,
"narHash": "sha256-xCxagAyscEgVYOfd1gTd3PDG8TOcztxpqFVZwX5T/Vs=",
"owner": "nvim-lua",
"repo": "lsp_extensions.nvim",
"rev": "4011f4aec61ba59c734f5dbf52e91f258b99d985",
"type": "github"
},
"original": {
"owner": "nvim-lua",
"repo": "lsp_extensions.nvim",
"type": "github"
}
},
"lsp_signature.nvim": {
"flake": false,
"locked": {
"lastModified": 1639290715,
"narHash": "sha256-c+TrSgLSpz7fspQqF4mzCbvp8rygzbDpgxix6NRonDs=",
"owner": "ray-x",
"repo": "lsp_signature.nvim",
"rev": "8642896791c31f12ac18af661d91f990b288b4cc",
"type": "github"
},
"original": {
"owner": "ray-x",
"repo": "lsp_signature.nvim",
"type": "github"
}
},
"lspkind-nvim": {
"flake": false,
"locked": {
"lastModified": 1638754302,
"narHash": "sha256-qIs65OIV0m5Y3pe5ozG6sYa1yIx0vXpkNC0Gkkm9amw=",
"owner": "onsails",
"repo": "lspkind-nvim",
"rev": "f3b5efa11f0665accb7bd0258260b9d08dd4956e",
"type": "github"
},
"original": {
"owner": "onsails",
"repo": "lspkind-nvim",
"type": "github"
}
},
"naersk": {
"inputs": {
"nixpkgs": "nixpkgs_2"
@ -296,6 +536,150 @@
"type": "github"
}
},
"null-ls.nvim": {
"flake": false,
"locked": {
"lastModified": 1639500135,
"narHash": "sha256-AfDPx10NkiZ1yGsIAPxIQf9fmU87Xy+sZ3v+kt2LB/I=",
"owner": "jose-elias-alvarez",
"repo": "null-ls.nvim",
"rev": "18179a561f3587a7ea17310cd0bb1dc4be557f04",
"type": "github"
},
"original": {
"owner": "jose-elias-alvarez",
"repo": "null-ls.nvim",
"type": "github"
}
},
"nvim-cmp": {
"flake": false,
"locked": {
"lastModified": 1639489305,
"narHash": "sha256-q9n3ltwI5nEPbZNfkTrsYumLI/jtqqdAUYQrUlu2cg0=",
"owner": "hrsh7th",
"repo": "nvim-cmp",
"rev": "da4c071f6bdb1edfa1debc7e1f7842c2d620bb04",
"type": "github"
},
"original": {
"owner": "hrsh7th",
"repo": "nvim-cmp",
"type": "github"
}
},
"nvim-lightbulb": {
"flake": false,
"locked": {
"lastModified": 1636766265,
"narHash": "sha256-vxxYKJzX8hsky32Z+Tr3qYYCS0+3TDiQIg2U8/4U2qo=",
"owner": "kosayoda",
"repo": "nvim-lightbulb",
"rev": "cd5267d2d708e908dbd668c7de74e1325eb1e1da",
"type": "github"
},
"original": {
"owner": "kosayoda",
"repo": "nvim-lightbulb",
"type": "github"
}
},
"nvim-lspconfig": {
"flake": false,
"locked": {
"lastModified": 1639476445,
"narHash": "sha256-ZBLDE8+fHREiJbzKKL28Q0N/axTHMCym2ajVd4ROqDo=",
"owner": "neovim",
"repo": "nvim-lspconfig",
"rev": "dd15974986619b1f3143a9e666e36f41763ccdb4",
"type": "github"
},
"original": {
"owner": "neovim",
"repo": "nvim-lspconfig",
"type": "github"
}
},
"nvim-treesitter": {
"flake": false,
"locked": {
"lastModified": 1639506681,
"narHash": "sha256-xn7iae5bGoWX5tMgq4eSDKI2xz2ee2BSmauwCxaxTOU=",
"owner": "nvim-treesitter",
"repo": "nvim-treesitter",
"rev": "be741e256895c5ead5254b85366a136382c64ba8",
"type": "github"
},
"original": {
"owner": "nvim-treesitter",
"repo": "nvim-treesitter",
"type": "github"
}
},
"nvim-web-devicons": {
"flake": false,
"locked": {
"lastModified": 1638819655,
"narHash": "sha256-bmYkGOZCP19SDRwqjKeqRh/3uD3EySeVnJmRqNmznY4=",
"owner": "kyazdani42",
"repo": "nvim-web-devicons",
"rev": "344331467509802e1af200f08ec3da278be5cbba",
"type": "github"
},
"original": {
"owner": "kyazdani42",
"repo": "nvim-web-devicons",
"type": "github"
}
},
"plantuml-syntax": {
"flake": false,
"locked": {
"lastModified": 1630512037,
"narHash": "sha256-gKHfVv5zje3p8Y6YvagmpWH29HdWLME8Pz3moKnkSR8=",
"owner": "aklt",
"repo": "plantuml-syntax",
"rev": "405186847a44c16dd039bb644541b4c8fbdab095",
"type": "github"
},
"original": {
"owner": "aklt",
"repo": "plantuml-syntax",
"type": "github"
}
},
"plenary.nvim": {
"flake": false,
"locked": {
"lastModified": 1639507662,
"narHash": "sha256-Sd6GtgA5cfbrprOrK6jGPpVWepIBR9+IeAk/SVBG7sM=",
"owner": "nvim-lua",
"repo": "plenary.nvim",
"rev": "b5fd5cab51f8e30d669295ec361a48b13c245eb5",
"type": "github"
},
"original": {
"owner": "nvim-lua",
"repo": "plenary.nvim",
"type": "github"
}
},
"popup.nvim": {
"flake": false,
"locked": {
"lastModified": 1637254091,
"narHash": "sha256-dNWz/xovUg55fDZUpVs/2kLphk3lqQyvPtc9ATwbeSQ=",
"owner": "nvim-lua",
"repo": "popup.nvim",
"rev": "b7404d35d5d3548a82149238289fa71f7f6de4ac",
"type": "github"
},
"original": {
"owner": "nvim-lua",
"repo": "popup.nvim",
"type": "github"
}
},
"powerlevel10k": {
"flake": false,
"locked": {
@ -334,20 +718,68 @@
},
"root": {
"inputs": {
"cmp-buffer": "cmp-buffer",
"cmp-calc": "cmp-calc",
"cmp-latex-symbols": "cmp-latex-symbols",
"cmp-nvim-lsp": "cmp-nvim-lsp",
"cmp-path": "cmp-path",
"dotacat": "dotacat",
"editorconfig-vim": "editorconfig-vim",
"fast-syntax-highlighting": "fast-syntax-highlighting",
"filetype.nvim": "filetype.nvim",
"galaxyline.nvim": "galaxyline.nvim",
"gitsigns.nvim": "gitsigns.nvim",
"home-manager": "home-manager",
"indentLine": "indentLine",
"kommentary": "kommentary",
"lsp-status.nvim": "lsp-status.nvim",
"lsp_extensions.nvim": "lsp_extensions.nvim",
"lsp_signature.nvim": "lsp_signature.nvim",
"lspkind-nvim": "lspkind-nvim",
"naersk": "naersk",
"neovim-nightly-overlay": "neovim-nightly-overlay",
"nix-zsh-completions": "nix-zsh-completions",
"nixpkgs": "nixpkgs_5",
"nixpkgs-mozilla": "nixpkgs-mozilla",
"null-ls.nvim": "null-ls.nvim",
"nvim-cmp": "nvim-cmp",
"nvim-lightbulb": "nvim-lightbulb",
"nvim-lspconfig": "nvim-lspconfig",
"nvim-treesitter": "nvim-treesitter",
"nvim-web-devicons": "nvim-web-devicons",
"plantuml-syntax": "plantuml-syntax",
"plenary.nvim": "plenary.nvim",
"popup.nvim": "popup.nvim",
"powerlevel10k": "powerlevel10k",
"rnix-lsp": "rnix-lsp",
"startuptime.vim": "startuptime.vim",
"stylua": "stylua",
"telescope.nvim": "telescope.nvim",
"vim-Grammalecte": "vim-Grammalecte",
"vim-LanguageTool": "vim-LanguageTool",
"vim-headerguard": "vim-headerguard",
"vim-matchup": "vim-matchup",
"vim-moonfly-colors": "vim-moonfly-colors",
"vim-vsnip": "vim-vsnip",
"zsh-nix-shell": "zsh-nix-shell"
}
},
"startuptime.vim": {
"flake": false,
"locked": {
"lastModified": 1489614997,
"narHash": "sha256-ELshiUyVaIoNJl63/0W7AiyKigPWS1K+WZJVlAC6M0Y=",
"owner": "tweekmonster",
"repo": "startuptime.vim",
"rev": "dfa57f522d6f61793fe5fea65bca7484751b8ca2",
"type": "github"
},
"original": {
"owner": "tweekmonster",
"repo": "startuptime.vim",
"type": "github"
}
},
"stylua": {
"flake": false,
"locked": {
@ -364,6 +796,22 @@
"type": "github"
}
},
"telescope.nvim": {
"flake": false,
"locked": {
"lastModified": 1639163304,
"narHash": "sha256-IaMmO1z02jSHuqYiMdGDOOmgi9kmw8fEHnUjQhRLyRo=",
"owner": "nvim-telescope",
"repo": "telescope.nvim",
"rev": "5f37fbfa837dfee7ecd30f388b271f4a71c0a9e0",
"type": "github"
},
"original": {
"owner": "nvim-telescope",
"repo": "telescope.nvim",
"type": "github"
}
},
"utils": {
"locked": {
"lastModified": 1629481132,
@ -379,6 +827,102 @@
"type": "github"
}
},
"vim-Grammalecte": {
"flake": false,
"locked": {
"lastModified": 1627412597,
"narHash": "sha256-NtvJVqVc/2Sx8v+u0bFap6hpmZEt2ERYZZv/EEeZJDU=",
"owner": "dpelle",
"repo": "vim-Grammalecte",
"rev": "a0ce51a77e56151f62ddbfd10e7dec46000f2848",
"type": "github"
},
"original": {
"owner": "dpelle",
"repo": "vim-Grammalecte",
"type": "github"
}
},
"vim-LanguageTool": {
"flake": false,
"locked": {
"lastModified": 1612807145,
"narHash": "sha256-+dCUjBi5UO70Mjs8wOEM8YOc9NHbrFd4DvIzmgg1hwA=",
"owner": "dpelle",
"repo": "vim-LanguageTool",
"rev": "0372ffae78aa3eac3bfa48ba3bf2f4015a86385a",
"type": "github"
},
"original": {
"owner": "dpelle",
"repo": "vim-LanguageTool",
"type": "github"
}
},
"vim-headerguard": {
"flake": false,
"locked": {
"lastModified": 1430175944,
"narHash": "sha256-ANMyw7uaD2T8dwQ70dYjrmhnfj7rfzDVo5xUcwsgBis=",
"owner": "drmikehenry",
"repo": "vim-headerguard",
"rev": "e53b37fa0772ffe2f30209f6109f5f2ae0fbf48f",
"type": "github"
},
"original": {
"owner": "drmikehenry",
"repo": "vim-headerguard",
"type": "github"
}
},
"vim-matchup": {
"flake": false,
"locked": {
"lastModified": 1638237820,
"narHash": "sha256-HhNvaiVYR8sI4UItJVZDYodZjQYmV1ZJ0NmMDiN5DqY=",
"owner": "andymass",
"repo": "vim-matchup",
"rev": "ef044ee012baa01d6f4ad79a04eeb5edb5bc7d84",
"type": "github"
},
"original": {
"owner": "andymass",
"repo": "vim-matchup",
"type": "github"
}
},
"vim-moonfly-colors": {
"flake": false,
"locked": {
"lastModified": 1639034380,
"narHash": "sha256-jOGJoBh7jvs4rv06lau6s5QeikBeFTCV7QNNoc1aEEw=",
"owner": "bluz71",
"repo": "vim-moonfly-colors",
"rev": "7d8badd5e1355d7a1f33033249d6a286efcd0d47",
"type": "github"
},
"original": {
"owner": "bluz71",
"repo": "vim-moonfly-colors",
"type": "github"
}
},
"vim-vsnip": {
"flake": false,
"locked": {
"lastModified": 1637571079,
"narHash": "sha256-rtCUfWcf7FPajQXXPRLbvU/Ks9OtwEe+hKAhXWdAGQ0=",
"owner": "hrsh7th",
"repo": "vim-vsnip",
"rev": "30449e9c19c73f64f4c87c29c426318f5519c314",
"type": "github"
},
"original": {
"owner": "hrsh7th",
"repo": "vim-vsnip",
"type": "github"
}
},
"zsh-nix-shell": {
"flake": false,
"locked": {

327
flake.nix
View file

@ -1,41 +1,170 @@
{
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
nixpkgs-mozilla = {
url = "github:mozilla/nixpkgs-mozilla";
flake = false;
inputs =
{
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
nixpkgs-mozilla = {
url = "github:mozilla/nixpkgs-mozilla";
flake = false;
};
dotacat = {
url = "git+https://gitlab.scd31.com/stephen/dotacat.git";
flake = false;
};
rnix-lsp.url = "github:nix-community/rnix-lsp";
stylua = {
url = "github:johnnymorganz/stylua";
flake = false;
};
naersk.url = "github:nix-community/naersk";
fast-syntax-highlighting = {
url = "github:z-shell/fast-syntax-highlighting";
flake = false;
};
zsh-nix-shell = {
url = "github:chisui/zsh-nix-shell";
flake = false;
};
nix-zsh-completions = {
url = "github:spwhitt/nix-zsh-completions";
flake = false;
};
powerlevel10k = {
url = "github:romkatv/powerlevel10k";
flake = false;
};
"plantuml-syntax" = {
url = "github:aklt/plantuml-syntax";
flake = false;
};
"nvim-web-devicons" = {
url = "github:kyazdani42/nvim-web-devicons";
flake = false;
};
"nvim-treesitter" = {
url = "github:nvim-treesitter/nvim-treesitter";
flake = false;
};
"nvim-lspconfig" = {
url = "github:neovim/nvim-lspconfig";
flake = false;
};
"lsp-status.nvim" = {
url = "github:nvim-lua/lsp-status.nvim";
flake = false;
};
"nvim-lightbulb" = {
url = "github:kosayoda/nvim-lightbulb";
flake = false;
};
"indentLine" = {
url = "github:Yggdroot/indentLine";
flake = false;
};
"gitsigns.nvim" = {
url = "github:lewis6991/gitsigns.nvim";
flake = false;
};
"plenary.nvim" = {
url = "github:nvim-lua/plenary.nvim";
flake = false;
};
"vim-moonfly-colors" = {
url = "github:bluz71/vim-moonfly-colors";
flake = false;
};
"vim-vsnip" = {
url = "github:hrsh7th/vim-vsnip";
flake = false;
};
"cmp-nvim-lsp" = {
url = "github:hrsh7th/cmp-nvim-lsp";
flake = false;
};
"cmp-buffer" = {
url = "github:hrsh7th/cmp-buffer";
flake = false;
};
"cmp-calc" = {
url = "github:hrsh7th/cmp-calc";
flake = false;
};
"cmp-path" = {
url = "github:hrsh7th/cmp-path";
flake = false;
};
"cmp-latex-symbols" = {
url = "github:kdheepak/cmp-latex-symbols";
flake = false;
};
"nvim-cmp" = {
url = "github:hrsh7th/nvim-cmp";
flake = false;
};
"vim-Grammalecte" = {
url = "github:dpelle/vim-Grammalecte";
flake = false;
};
"vim-LanguageTool" = {
url = "github:dpelle/vim-LanguageTool";
flake = false;
};
"lsp_extensions.nvim" = {
url = "github:nvim-lua/lsp_extensions.nvim";
flake = false;
};
"lsp_signature.nvim" = {
url = "github:ray-x/lsp_signature.nvim";
flake = false;
};
"telescope.nvim" = {
url = "github:nvim-telescope/telescope.nvim";
flake = false;
};
"popup.nvim" = {
url = "github:nvim-lua/popup.nvim";
flake = false;
};
"galaxyline.nvim" = {
url = "github:NTBBloodbath/galaxyline.nvim";
flake = false;
};
"vim-headerguard" = {
url = "github:drmikehenry/vim-headerguard";
flake = false;
};
"vim-matchup" = {
url = "github:andymass/vim-matchup";
flake = false;
};
"kommentary" = {
url = "github:b3nj5m1n/kommentary";
flake = false;
};
"lspkind-nvim" = {
url = "github:onsails/lspkind-nvim";
flake = false;
};
"editorconfig-vim" = {
url = "github:editorconfig/editorconfig-vim";
flake = false;
};
"null-ls.nvim" = {
url = "github:jose-elias-alvarez/null-ls.nvim";
flake = false;
};
"filetype.nvim" = {
url = "github:nathom/filetype.nvim";
flake = false;
};
"startuptime.vim" = {
url = "github:tweekmonster/startuptime.vim";
flake = false;
};
};
dotacat = {
url = "git+https://gitlab.scd31.com/stephen/dotacat.git";
flake = false;
};
rnix-lsp.url = "github:nix-community/rnix-lsp";
stylua = {
url = "github:johnnymorganz/stylua";
flake = false;
};
naersk.url = "github:nix-community/naersk";
fast-syntax-highlighting = {
url = "github:z-shell/fast-syntax-highlighting";
flake = false;
};
zsh-nix-shell = {
url = "github:chisui/zsh-nix-shell";
flake = false;
};
nix-zsh-completions = {
url = "github:spwhitt/nix-zsh-completions";
flake = false;
};
powerlevel10k = {
url = "github:romkatv/powerlevel10k";
flake = false;
};
};
outputs = { home-manager, nixpkgs, ... }@inputs: {
nixosConfigurations = {
@ -63,6 +192,136 @@
zsh-nix-shell = inputs.zsh-nix-shell;
nix-zsh-completions = inputs.nix-zsh-completions;
powerlevel10k = inputs.powerlevel10k;
nvim-plugins = [
{
name = "plantuml-syntax";
path = inputs."plantuml-syntax";
}
{
name = "nvim-web-devicons";
path = inputs."nvim-web-devicons";
}
{
name = "nvim-treesitter";
path = inputs."nvim-treesitter";
}
{
name = "nvim-lspconfig";
path = inputs."nvim-lspconfig";
}
{
name = "lsp-status.nvim";
path = inputs."lsp-status.nvim";
}
{
name = "nvim-lightbulb";
path = inputs."nvim-lightbulb";
}
{
name = "indentLine";
path = inputs."indentLine";
}
{
name = "gitsigns.nvim";
path = inputs."gitsigns.nvim";
}
{
name = "plenary.nvim";
path = inputs."plenary.nvim";
}
{
name = "vim-moonfly-colors";
path = inputs."vim-moonfly-colors";
}
{
name = "vim-vsnip";
path = inputs."vim-vsnip";
}
{
name = "cmp-nvim-lsp";
path = inputs."cmp-nvim-lsp";
}
{
name = "cmp-buffer";
path = inputs."cmp-buffer";
}
{
name = "cmp-calc";
path = inputs."cmp-calc";
}
{
name = "cmp-path";
path = inputs."cmp-path";
}
{
name = "cmp-latex-symbols";
path = inputs."cmp-latex-symbols";
}
{
name = "nvim-cmp";
path = inputs."nvim-cmp";
}
{
name = "vim-Grammalecte";
path = inputs."vim-Grammalecte";
}
{
name = "vim-LanguageTool";
path = inputs."vim-LanguageTool";
}
{
name = "lsp_extensions.nvim";
path = inputs."lsp_extensions.nvim";
}
{
name = "lsp_signature.nvim";
path = inputs."lsp_signature.nvim";
}
{
name = "telescope.nvim";
path = inputs."telescope.nvim";
}
{
name = "popup.nvim";
path = inputs."popup.nvim";
}
{
name = "galaxyline.nvim";
path = inputs."galaxyline.nvim";
}
{
name = "vim-headerguard";
path = inputs."vim-headerguard";
}
{
name = "vim-matchup";
path = inputs."vim-matchup";
}
{
name = "kommentary";
path = inputs."kommentary";
}
{
name = "lspkind-nvim";
path = inputs."lspkind-nvim";
}
{
name = "editorconfig-vim";
path = inputs."editorconfig-vim";
}
{
name = "null-ls.nvim";
path = inputs."null-ls.nvim";
}
{
name = "filetype.nvim";
path = inputs."filetype.nvim";
}
{
name = "startuptime.vim";
path = inputs."startuptime.vim";
}
];
};
# Optionally, use home-manager.extraSpecialArgs to pass
# arguments to home.nix

77
flake.nix.in Normal file
View file

@ -0,0 +1,77 @@
{
description = "NixOS configuration";
inputs =
{
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
nixpkgs-mozilla = {
url = "github:mozilla/nixpkgs-mozilla";
flake = false;
};
dotacat = {
url = "git+https://gitlab.scd31.com/stephen/dotacat.git";
flake = false;
};
rnix-lsp.url = "github:nix-community/rnix-lsp";
stylua = {
url = "github:johnnymorganz/stylua";
flake = false;
};
naersk.url = "github:nix-community/naersk";
fast-syntax-highlighting = {
url = "github:z-shell/fast-syntax-highlighting";
flake = false;
};
zsh-nix-shell = {
url = "github:chisui/zsh-nix-shell";
flake = false;
};
nix-zsh-completions = {
url = "github:spwhitt/nix-zsh-completions";
flake = false;
};
powerlevel10k = {
url = "github:romkatv/powerlevel10k";
flake = false;
};
@inputs@
};
outputs = { home-manager, nixpkgs, ... }@inputs: {
nixosConfigurations = {
ZeNixLaptop = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
modules = [
({ pkgs, ... }: {
nixpkgs.overlays = [
inputs.neovim-nightly-overlay.overlay
(import inputs.nixpkgs-mozilla)
];
})
./nixos/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.traxys = import ./home.nix;
home-manager.extraSpecialArgs = {
dotacat = inputs.dotacat;
rnix-lsp = inputs.rnix-lsp;
stylua = inputs.stylua;
naersk-lib = inputs.naersk.lib."${system}";
fast-syntax-highlighting = inputs.fast-syntax-highlighting;
zsh-nix-shell = inputs.zsh-nix-shell;
nix-zsh-completions = inputs.nix-zsh-completions;
powerlevel10k = inputs.powerlevel10k;
@plugins@
};
# Optionally, use home-manager.extraSpecialArgs to pass
# arguments to home.nix
}
];
};
};
};
}

View file

@ -8,6 +8,7 @@
, zsh-nix-shell
, nix-zsh-completions
, powerlevel10k
, nvim-plugins
, ...
}:
@ -17,6 +18,16 @@ let
cargo = rustVersion;
rustc = rustVersion;
};
plugin_path = ".local/share/nvim/site/pack/nix/start/";
plugin-files = builtins.listToAttrs (map
({ name, path }: {
name = "${plugin_path}/${name}";
value = {
source = path;
recursive = true;
};
})
nvim-plugins);
localinfo = import ./localinfo.nix;
in
{
@ -65,10 +76,10 @@ in
direnv
codespell
shellcheck
ripgrep
file
jq
wget
ripgrep
file
jq
wget
];
services = {
@ -167,7 +178,7 @@ in
source = ./scripts;
recursive = true;
};
};
} // plugin-files;
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage

View file

@ -1,12 +1,13 @@
vim.o.termguicolors = true
vim.cmd("colorscheme moonfly")
require("plugins")
require("tree_sitter")
require("lsp")
require("completion")
require("statusline")
require('gitsigns').setup()
vim.o.number = true
vim.o.tabstop = 4
vim.o.shiftwidth = 4

View file

@ -1,67 +0,0 @@
local execute = vim.api.nvim_command
local fn = vim.fn
local install_path = fn.stdpath('data')..'/site/pack/packer/opt/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then
execute('!git clone https://github.com/wbthomason/packer.nvim '..install_path)
execute 'packadd packer.nvim'
end
vim.cmd [[packadd packer.nvim]]
return require('packer').startup(function()
use {'wbthomason/packer.nvim', opt = true}
use { 'aklt/plantuml-syntax' }
use {'kyazdani42/nvim-web-devicons'}
use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' }
use { 'neovim/nvim-lspconfig' }
use { 'nvim-lua/lsp-status.nvim' }
use { 'kosayoda/nvim-lightbulb' }
use { 'Yggdroot/indentLine'}
use {
'lewis6991/gitsigns.nvim',
requires = {
'nvim-lua/plenary.nvim'
},
config = function()
require('gitsigns').setup()
end
}
use { 'bluz71/vim-moonfly-colors' }
use { 'hrsh7th/vim-vsnip' }
use { 'hrsh7th/cmp-nvim-lsp' }
use { 'hrsh7th/cmp-buffer' }
use { 'hrsh7th/cmp-calc' }
use { 'hrsh7th/cmp-path' }
use { 'kdheepak/cmp-latex-symbols' }
use { 'hrsh7th/nvim-cmp' }
use { 'dpelle/vim-Grammalecte' }
use { 'dpelle/vim-LanguageTool' }
use {'nvim-lua/lsp_extensions.nvim'}
use {'ray-x/lsp_signature.nvim'}
use {
'nvim-telescope/telescope.nvim',
requires = {{'nvim-lua/popup.nvim'}, {'nvim-lua/plenary.nvim'}}
}
-- use 'famiu/feline.nvim'
use 'NTBBloodbath/galaxyline.nvim'
use 'drmikehenry/vim-headerguard'
use 'andymass/vim-matchup'
use 'b3nj5m1n/kommentary'
use 'onsails/lspkind-nvim'
use 'editorconfig/editorconfig-vim'
use 'jose-elias-alvarez/null-ls.nvim'
use 'nathom/filetype.nvim'
use 'tweekmonster/startuptime.vim'
end)

57
plugins.py Normal file
View file

@ -0,0 +1,57 @@
plugins = [
"aklt/plantuml-syntax",
"kyazdani42/nvim-web-devicons",
"nvim-treesitter/nvim-treesitter",
"neovim/nvim-lspconfig",
"nvim-lua/lsp-status.nvim",
"kosayoda/nvim-lightbulb",
"Yggdroot/indentLine",
"lewis6991/gitsigns.nvim",
"nvim-lua/plenary.nvim",
"bluz71/vim-moonfly-colors",
"hrsh7th/vim-vsnip",
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-calc",
"hrsh7th/cmp-path",
"kdheepak/cmp-latex-symbols",
"hrsh7th/nvim-cmp",
"dpelle/vim-Grammalecte",
"dpelle/vim-LanguageTool",
"nvim-lua/lsp_extensions.nvim",
"ray-x/lsp_signature.nvim",
"nvim-telescope/telescope.nvim",
"nvim-lua/popup.nvim",
"NTBBloodbath/galaxyline.nvim",
"drmikehenry/vim-headerguard",
"andymass/vim-matchup",
"b3nj5m1n/kommentary",
"onsails/lspkind-nvim",
"editorconfig/editorconfig-vim",
"jose-elias-alvarez/null-ls.nvim",
"nathom/filetype.nvim",
"tweekmonster/startuptime.vim",
]
inputs = ""
nvim_plugins = "nvim-plugins = [\n";
for plugin in plugins:
repo,plugin = plugin.split('/')
inputs += f'"{plugin}" = {{\n'
inputs += f' url = "github:{repo}/{plugin}";\n'
inputs += f' flake = false;\n'
inputs += "};\n"
nvim_plugins += " {\n"
nvim_plugins += f' name = "{plugin}";\n'
nvim_plugins += f' path = inputs."{plugin}";\n'
nvim_plugins += " }\n"
nvim_plugins += "];\n"
with open("flake.nix.in") as f:
flake = f.read()
flake = flake.replace("@inputs@\n", inputs)
flake = flake.replace("@plugins@\n", nvim_plugins)
out = open("flake.nix", "w")
out.write(flake)