This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / tools / astronvim / flake-module.nix
2.0 kB 97 lines
1{ inputs , ... }: 2{ 3 perSystem = { system, lib, pkgs, ... }: let 4 langs = [ 5 # "agda" 6 "bash" 7 "c" 8 "c-sharp" 9 "cpp" 10 "css" 11 "elm" 12 "elisp" 13 #"fluent" 14 "go" 15 "hcl" 16 "haskell" 17 "html" 18 "janet-simple" 19 "java" 20 "javascript" 21 "jsdoc" 22 "json" 23 "julia" 24 "ocaml" 25 "pgn" 26 "php" 27 "python" 28 "ruby" 29 "rust" 30 "scala" 31 # "swift" 32 "typescript" 33 "yaml" 34 "nix" 35 "lua" 36 "markdown-inline" 37 "perl" 38 "make" 39 "toml" 40 ]; 41 nvim_deps = with pkgs; [ 42 nodejs # copilot 43 vale 44 terraform-ls 45 nodePackages.pyright 46 sumneko-lua-language-server 47 48 # based on ./suggested-pkgs.json nvim 49 delve 50 gopls 51 golangci-lint 52 nodePackages.bash-language-server 53 taplo-lsp 54 marksman 55 rust-analyzer 56 yaml-language-server 57 nil 58 gomodifytags 59 gofumpt 60 iferr 61 impl 62 gotools 63 shellcheck 64 shfmt 65 isort 66 black 67 ruff 68 nixpkgs-fmt 69 terraform-ls 70 clang-tools 71 nodePackages.prettier 72 stylua 73 # does not build yet on aarch64 74 ] ++ lib.optional (pkgs.stdenv.hostPlatform.system == "x86_64-linux") pkgs.deno; # lsp 75 nvim_config = pkgs.runCommand "nvim_config" { } '' 76 mkdir -p $out/parser 77 78 ln -s ${inputs.astro-nvim}/* $out/ 79 rm $out/lua 80 mkdir -p $out/lua 81 ln -s ${inputs.astro-nvim}/lua/* $out/lua 82 ln -s ${./user} $out/lua/user 83 84 ${lib.concatMapStringsSep "\n" (name: '' 85 ln -s ${pkgs.tree-sitter.builtGrammars."tree-sitter-${name}"}/parser $out/parser/${name}.so 86 '') langs} 87 ''; 88 in { 89 packages.asvim = pkgs.writers.writeDashBin "asvim" '' 90 set -efux 91 unset VIMINIT 92 export PATH=$PATH:${lib.makeBinPath nvim_deps} 93 ln -sfT ${nvim_config} "$HOME"/.config/lvim 94 NVIM_APPNAME=lvim ${pkgs.neovim}/bin/nvim "$@" 95 ''; 96 }; 97}