mirror of
https://git.sr.ht/~rouven/nixos-config
synced 2025-04-25 16:08:30 +02:00
moved the editor to helix
This commit is contained in:
parent
84c821c66a
commit
73d5ac0435
10 changed files with 67 additions and 430 deletions
|
@ -1,4 +1,4 @@
|
|||
{ config, pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./accounts
|
||||
|
@ -6,8 +6,8 @@
|
|||
./fzf
|
||||
./git
|
||||
./gpg
|
||||
./helix
|
||||
./hyprland
|
||||
./neovim
|
||||
./qutebrowser
|
||||
./sops
|
||||
./spotify
|
||||
|
|
44
users/rouven/modules/helix/default.nix
Normal file
44
users/rouven/modules/helix/default.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
lldb
|
||||
rust-analyzer
|
||||
nil
|
||||
(python3.withPackages (ps: with ps; [
|
||||
pyls-isort
|
||||
pylsp-mypy
|
||||
python-lsp-black
|
||||
python-lsp-server
|
||||
|
||||
# pylsp optional dependencies
|
||||
types-requests
|
||||
flake8
|
||||
mccabe
|
||||
pycodestyle
|
||||
pydocstyle
|
||||
pyflakes
|
||||
pylint
|
||||
]))
|
||||
clang-tools
|
||||
];
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
themes.dracula-transparent = {
|
||||
inherits = "dracula";
|
||||
# hacky way to get the background transparent
|
||||
"ui.background" = "{}";
|
||||
};
|
||||
settings = {
|
||||
theme = "dracula-transparent";
|
||||
editor = {
|
||||
line-number = "relative";
|
||||
cursor-shape.insert = "bar";
|
||||
lsp = {
|
||||
display-messages = true;
|
||||
display-inlay-hints = true;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,175 +0,0 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
vimAlias = true;
|
||||
colorscheme = "dracula";
|
||||
options =
|
||||
{
|
||||
shiftwidth = 4;
|
||||
expandtab = true;
|
||||
preserveindent = true;
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
tabstop = 4;
|
||||
smartcase = true;
|
||||
colorcolumn = "120";
|
||||
wrap = false;
|
||||
};
|
||||
globals = {
|
||||
mapleader = " ";
|
||||
dracula_colorterm = 0;
|
||||
};
|
||||
maps = {
|
||||
normalVisualOp = {
|
||||
";" = ":";
|
||||
":" = ";";
|
||||
};
|
||||
normal = {
|
||||
# remove ex mode shortcut
|
||||
"Q" = "<Nop>";
|
||||
# Open the tree
|
||||
"<leader>n" = ":NvimTreeFocus<CR>";
|
||||
#trigger the fuzzy finder (telescope)
|
||||
"<leader>f" = ":Telescope find_files<CR>";
|
||||
"<leader>g" = ":Telescope git_files<CR>";
|
||||
"<leader>r" = ":Telescope live_grep<CR>";
|
||||
# diacnostics
|
||||
"<leader>d" = ":Telescope diagnostics<CR>";
|
||||
|
||||
#quickfixlist binds
|
||||
"<C-j>" = ":cnext<CR>";
|
||||
"<C-k>" = ":cprev<CR>";
|
||||
|
||||
#locallist binds
|
||||
"<C-l>" = ":lnext<CR>";
|
||||
"<C-h>" = ":lprev<CR>";
|
||||
|
||||
#split keybinds
|
||||
"<leader>s" = ":sp<CR>";
|
||||
"<leader>v" = ":vs<CR>";
|
||||
"<leader>h" = "<C-w>h";
|
||||
"<leader>j" = "<C-w>j";
|
||||
"<leader>k" = "<C-w>k";
|
||||
"<leader>l" = "<C-w>l";
|
||||
|
||||
};
|
||||
};
|
||||
plugins = {
|
||||
airline = {
|
||||
enable = true;
|
||||
powerline = true;
|
||||
};
|
||||
nvim-tree = {
|
||||
enable = true;
|
||||
autoClose = true;
|
||||
openOnSetup = true;
|
||||
openOnSetupFile = true;
|
||||
};
|
||||
telescope = {
|
||||
enable = true;
|
||||
};
|
||||
fugitive = {
|
||||
enable = true;
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
onAttach = ''
|
||||
-- Enable completion triggered by <c-x><c-o>
|
||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
|
||||
-- Mappings.
|
||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||
local bufopts = { noremap=true, silent=true, buffer=bufnr }
|
||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
|
||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
|
||||
vim.keymap.set('n', '<leader>D', vim.lsp.buf.type_definition, bufopts)
|
||||
vim.keymap.set('n', 'gn', vim.lsp.buf.rename, bufopts)
|
||||
vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, bufopts)
|
||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
|
||||
vim.keymap.set('n', '<leader>b', function() vim.lsp.buf.format { async = true } end, bufopts)
|
||||
|
||||
'';
|
||||
servers = {
|
||||
# pylsp is broken
|
||||
pyright = {
|
||||
enable = true;
|
||||
};
|
||||
texlab = {
|
||||
enable = true;
|
||||
};
|
||||
rnix-lsp = {
|
||||
enable = true;
|
||||
};
|
||||
clangd = {
|
||||
enable = true;
|
||||
};
|
||||
rust-analyzer = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
null-ls = {
|
||||
enable = true;
|
||||
sources.formatting.black = {
|
||||
enable = true;
|
||||
withArgs = ''
|
||||
({
|
||||
extra_args = { "-l", "120" }
|
||||
})
|
||||
'';
|
||||
};
|
||||
};
|
||||
nvim-cmp = {
|
||||
enable = true;
|
||||
mappingPresets = [ "insert" ];
|
||||
sources = [
|
||||
{
|
||||
name = "nvim_lsp";
|
||||
}
|
||||
{ name = "path"; }
|
||||
{ name = "buffer"; }
|
||||
];
|
||||
};
|
||||
treesitter = {
|
||||
enable = true;
|
||||
indent = true;
|
||||
#folding = true; # somewhat broken at the moment
|
||||
grammarPackages = with pkgs.tree-sitter-grammars; [
|
||||
tree-sitter-bash
|
||||
tree-sitter-c
|
||||
tree-sitter-cpp
|
||||
tree-sitter-css
|
||||
tree-sitter-go
|
||||
tree-sitter-haskell
|
||||
tree-sitter-html
|
||||
#tree-sitter-java
|
||||
tree-sitter-javascript
|
||||
tree-sitter-json
|
||||
tree-sitter-latex
|
||||
tree-sitter-lua
|
||||
tree-sitter-markdown
|
||||
tree-sitter-nix
|
||||
tree-sitter-perl
|
||||
tree-sitter-python
|
||||
tree-sitter-regex
|
||||
tree-sitter-rst
|
||||
tree-sitter-rust
|
||||
tree-sitter-sql
|
||||
tree-sitter-toml
|
||||
tree-sitter-typescript
|
||||
tree-sitter-yaml
|
||||
];
|
||||
};
|
||||
};
|
||||
extraPlugins = with pkgs.vimPlugins;
|
||||
[
|
||||
vim-nix
|
||||
dracula-vim
|
||||
nerdcommenter
|
||||
];
|
||||
highlight.ColorColumn.ctermbg = "darkgray";
|
||||
};
|
||||
}
|
|
@ -61,6 +61,7 @@
|
|||
gdb
|
||||
|
||||
powerline-fonts
|
||||
vscode
|
||||
|
||||
# libs
|
||||
libyubikey
|
||||
|
|
|
@ -203,8 +203,6 @@ fileviewer *.docx docx2txt.pl %f -
|
|||
|
||||
filetype * xdg-open
|
||||
|
||||
nnoremap : ;
|
||||
nnoremap ; :
|
||||
|
||||
" Start shell in current directory
|
||||
nnoremap S :shell<cr>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue