我已经把家庭管理器安装在一个片状的模块里。
片和模块在/etc/nixos/中。
“我的主管理器文件”链接到另一个配置新内容的文件,该文件位于/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我怎么才能解决这个问题?任何帮助都是非常感谢的。
发布于 2023-02-11 18:38:22
您可以使用nvim-treesitter.withPlugins为nvim-treesitter安装树保姆语法。像这样的事情应该可以开箱而行。
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来找到这些信息。
https://unix.stackexchange.com/questions/735196
复制相似问题