私はホームマネージャをSliceのモジュールとしてインストールしました。 Flakeとモジュールは
にあります/etc/nixos/
。
私のホームマネージャファイルは、にあるneovimを構成する他のファイルにリンクされています/etc/nixos/config/nvim/nvim.nix
。
# neovim configuration file
pkgs:
{
enable = true;
vimAlias = true;
# A simple configuration for neovim (sourced files)
extraLuaConfig = ''
-- Indentation
vim.opt.smartindent = true
vim.opt.autoindent = true
-- UI settings
vim.opt.number = true
vim.opt.cursorline = true
'';
plugins = with pkgs.vimPlugins; [
vim-nix
yuck-vim
markdown-preview-nvim
{
plugin = telescope-nvim;
config = ''
" Find files using Telescope command-line sugar.
noremap <leader>ff <cmd>Telescope find_files<cr>
nnoremap <leader>fg <cmd>Telescope live_grep<cr>
nnoremap <leader>fb <cmd>Telescope buffers<cr>
nnoremap <leader>fh <cmd>Telescope help_tags<cr>
" Using Lua functions
nnoremap <leader>ff <cmd>lua require('telescope.builtin').find_files()<cr>
nnoremap <leader>fg <cmd>lua require('telescope.builtin').live_grep()<cr>
nnoremap <leader>fb <cmd>lua require('telescope.builtin').buffers()<cr>
nnoremap <leader>fh <cmd>lua require('telescope.builtin').help_tags()<cr>
'';
}
{
type = "lua";
plugin = catppuccin-nvim;
config = ''
require("catppuccin").setup({
flavour = "mocha", -- latte, frappe, macchiato, mocha
background = { -- :h background
light = "latte",
dark = "mocha",
},
transparent_background = false,
show_end_of_buffer = false, -- show the '~' characters after the end of buffers
term_colors = false,
dim_inactive = {
enabled = false,
shade = "dark",
percentage = 0.15,
},
no_italic = false, -- Force no italic
no_bold = false, -- Force no bold
styles = {
comments = { "italic" },
conditionals = { "italic" },
loops = {},
functions = {},
keywords = {},
strings = {},
variables = {},
numbers = {},
booleans = {},
properties = {},
types = {},
operators = {},
},
color_overrides = {},
custom_highlights = {},
integrations = {
cmp = true,
gitsigns = true,
nvimtree = true,
telescope = true,
notify = false,
mini = false,
-- For more plugins integrations please scroll down (https://github.com/catppuccin/nvim#integrations)
},
})
-- setup must be called before loading
vim.cmd.colorscheme "catppuccin"
'';
}
nvim-web-devicons
neo-tree-nvim
{
type = "lua";
plugin = nvim-treesitter;
config = ''
require'nvim-treesitter.configs'.setup {
ensure_installed = "maintained",
highlight = {
enable = true,
}
}
'';
}
nvim-lspconfig
rust-tools-nvim
];
extraPackages = with pkgs; [
tree-sitter
rust-analyzer
ripgrep
nil
zig
ripgrep
kotlin-language-server
fd
statix
cppcheck
deadnix
alejandra
nodePackages.pyright
nodejs-16_x
tree-sitter
nil
clang-tools
cmake-language-server
# ccls
wl-clipboard
omnisharp-roslyn
netcoredbg
gcc # treesitter
nixfmt
nodePackages.typescript-language-server
python310Packages.autopep8
lazygit
];
}
たとえば、ファイルを開くと、次の*.lua
エラー メッセージが表示されます。
Error detected while processing /home/simon/.config/nvim/init.lua:
Could not create parser dir ' /nix/store/w3x3582xldrjymxbxz98lzlfmhazibmy-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter/parser ': Vim:E739: Cannot create directory /nix/sto
re/w3x3582xldrjymxbxz98lzlfmhazibmy-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter/parser: read-only file system
この問題をどのように解決できますか?どんな助けでも大変感謝します。
答え1
nvim-treesitterを使用してTree Sitter構文をインストールできますnvim-treesitter.withPlugins
。このようなものはすぐに機能する必要があります
nvim-treesitter.withPlugins (ps: with ps; [ nix python ])
すべての文法をインストールするには:
nvim-treesitter.withAllGrammars
この内容は次のように記録されます。NixOS マニュアルの vim セクション
nix構文を使用してnvim-treesitterをインストールしたくない場合は、書き込みparser_install_dir
可能にすることができます。この方法はデフォルトでは機能しない可能性があります。
require("nvim-treesitter.configs").setup({
parser_install_dir = "/some/path/to/store/parsers",
})
:h nvim-treesitter-quickstart
この情報はneovimで実行することで確認できます。