mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-11 02:56:27 +00:00
feat: nvim
This commit is contained in:
@@ -41,6 +41,15 @@ sudo nixos-rebuild switch --flake .#
|
|||||||
|
|
||||||
## Cleaning your system
|
## Cleaning your system
|
||||||
|
|
||||||
|
### Cachix is down
|
||||||
|
|
||||||
|
By default nix will just crash if cachix is down even if you don't have to fetch anything from it.
|
||||||
|
Use `--option build-use-substitutes false` to temporarily disable it.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo nixos-rebuild switch --option build-use-substitutes false --flake .#
|
||||||
|
```
|
||||||
|
|
||||||
### Find (accidental) folders holding your gc back
|
### Find (accidental) folders holding your gc back
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|||||||
51
modules/home-manager/modules/nixvim/base/leap.nix
Normal file
51
modules/home-manager/modules/nixvim/base/leap.nix
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
{ lib, config, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.presets.base.leap;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.presets.base.leap = {
|
||||||
|
enable = lib.mkEnableOption "leap";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
plugins.leap.enable = true;
|
||||||
|
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
key = "s";
|
||||||
|
mode = [
|
||||||
|
"n"
|
||||||
|
"x"
|
||||||
|
"o"
|
||||||
|
];
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('leap').leap({
|
||||||
|
windows = { vim.api.nvim_get_current_win() },
|
||||||
|
inclusive = true
|
||||||
|
})
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options.desc = "Leap";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "R";
|
||||||
|
mode = [
|
||||||
|
"x"
|
||||||
|
"o"
|
||||||
|
];
|
||||||
|
action.__raw = ''
|
||||||
|
function ()
|
||||||
|
require('leap.treesitter').select {
|
||||||
|
-- To increase/decrease the selection in a clever-f-like manner,
|
||||||
|
-- with the trigger key itself (vRRRRrr...). The default keys
|
||||||
|
-- (<enter>/<backspace>) also work, so feel free to skip this.
|
||||||
|
opts = require('leap.user').with_traversal_keys('R', 'r')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -26,6 +26,7 @@
|
|||||||
./base/diagnostics.nix
|
./base/diagnostics.nix
|
||||||
./base/find.nix
|
./base/find.nix
|
||||||
./base/formatting.nix
|
./base/formatting.nix
|
||||||
|
./base/leap.nix
|
||||||
./base/spellcheck.nix
|
./base/spellcheck.nix
|
||||||
./base/status-line.nix
|
./base/status-line.nix
|
||||||
./base/syntax.nix
|
./base/syntax.nix
|
||||||
@@ -34,6 +35,7 @@
|
|||||||
./languages/angular.nix
|
./languages/angular.nix
|
||||||
./languages/c.nix
|
./languages/c.nix
|
||||||
./languages/css.nix
|
./languages/css.nix
|
||||||
|
./languages/cue.nix
|
||||||
./languages/dart.nix
|
./languages/dart.nix
|
||||||
./languages/js.nix
|
./languages/js.nix
|
||||||
./languages/lua.nix
|
./languages/lua.nix
|
||||||
|
|||||||
16
modules/home-manager/modules/nixvim/languages/cue.nix
Normal file
16
modules/home-manager/modules/nixvim/languages/cue.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ lib, config, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.presets.languages.cue;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.presets.languages.cue = {
|
||||||
|
enable = lib.mkEnableOption "CUE";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
plugins = {
|
||||||
|
conform-nvim.settings.formatters_by_ft.cue = [ "cue_fmt" ];
|
||||||
|
lsp.servers.cue.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -9,7 +9,7 @@ in
|
|||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
plugins = {
|
plugins = {
|
||||||
conform-nvim.settings.formattters_by_ft.rust = [ "rustfmt" ];
|
conform-nvim.settings.formatters_by_ft.rust = [ "rustfmt" ];
|
||||||
lsp.servers.rust_analyzer = {
|
lsp.servers.rust_analyzer = {
|
||||||
enable = true;
|
enable = true;
|
||||||
installCargo = false;
|
installCargo = false;
|
||||||
|
|||||||
@@ -53,6 +53,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
prettier = true;
|
prettier = true;
|
||||||
};
|
};
|
||||||
|
leap.enable = true;
|
||||||
spellcheck.enable = true;
|
spellcheck.enable = true;
|
||||||
status-line.enable = true;
|
status-line.enable = true;
|
||||||
syntax.enable = true;
|
syntax.enable = true;
|
||||||
@@ -64,6 +65,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
stylelint = true;
|
stylelint = true;
|
||||||
};
|
};
|
||||||
|
cue.enable = true;
|
||||||
dart.enable = true;
|
dart.enable = true;
|
||||||
js = {
|
js = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -85,92 +87,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
keymaps = [
|
|
||||||
{
|
|
||||||
key = "s";
|
|
||||||
mode = [
|
|
||||||
"n"
|
|
||||||
"x"
|
|
||||||
"o"
|
|
||||||
];
|
|
||||||
action.__raw = "function() require('flash').jump() end";
|
|
||||||
options.desc = "Flash";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "S";
|
|
||||||
mode = [
|
|
||||||
"n"
|
|
||||||
"x"
|
|
||||||
"o"
|
|
||||||
];
|
|
||||||
action.__raw = "function() require('flash').treesitter() end";
|
|
||||||
options.desc = "Flash Treesitter";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "r";
|
|
||||||
mode = "o";
|
|
||||||
action.__raw = "function() require('flash').remote() end";
|
|
||||||
options.desc = "Remote Flash";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "R";
|
|
||||||
mode = [
|
|
||||||
"o"
|
|
||||||
"x"
|
|
||||||
];
|
|
||||||
action.__raw = "function() require('flash').treesitter_search() end";
|
|
||||||
options.desc = "Treesitter Search";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<c-s>";
|
|
||||||
mode = [
|
|
||||||
"c"
|
|
||||||
];
|
|
||||||
action.__raw = "function() require('flash').toggle() end";
|
|
||||||
options.desc = "Toggle Flash Search";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
vim.keymap.set({'n', 'x', 'o'}, 's', '<Plug>(leap)')
|
|
||||||
vim.keymap.set('n', 'S', '<Plug>(leap-from-window)')
|
|
||||||
*/
|
|
||||||
keymaps = [
|
|
||||||
{
|
|
||||||
key = "s";
|
|
||||||
mode = [
|
|
||||||
"n"
|
|
||||||
"x"
|
|
||||||
"o"
|
|
||||||
];
|
|
||||||
action.__raw = ''
|
|
||||||
function()
|
|
||||||
require('leap').leap({
|
|
||||||
windows = { vim.api.nvim_get_current_win() },
|
|
||||||
inclusive = true
|
|
||||||
})
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
options.desc = "Leap";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "R";
|
|
||||||
mode = [
|
|
||||||
"x"
|
|
||||||
"o"
|
|
||||||
];
|
|
||||||
action.__raw = ''
|
|
||||||
function ()
|
|
||||||
require('leap.treesitter').select {
|
|
||||||
-- To increase/decrease the selection in a clever-f-like manner,
|
|
||||||
-- with the trigger key itself (vRRRRrr...). The default keys
|
|
||||||
-- (<enter>/<backspace>) also work, so feel free to skip this.
|
|
||||||
opts = require('leap.user').with_traversal_keys('R', 'r')
|
|
||||||
}
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
plugins = {
|
plugins = {
|
||||||
which-key.enable = true;
|
which-key.enable = true;
|
||||||
schemastore.enable = true;
|
schemastore.enable = true;
|
||||||
@@ -178,24 +94,6 @@
|
|||||||
origami.enable = false;
|
origami.enable = false;
|
||||||
nvim-surround.enable = true;
|
nvim-surround.enable = true;
|
||||||
fidget.enable = true;
|
fidget.enable = true;
|
||||||
leap = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
/*
|
|
||||||
flash = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
label = {
|
|
||||||
exclude = "jJxXqQ";
|
|
||||||
rainbow.enabled = true;
|
|
||||||
};
|
|
||||||
search = {
|
|
||||||
mode = "exact";
|
|
||||||
trigger = ";";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
treesitter-context = {
|
treesitter-context = {
|
||||||
enable = false; # TODO: looks weird with Neovide
|
enable = false; # TODO: looks weird with Neovide
|
||||||
settings.line_numbers = false;
|
settings.line_numbers = false;
|
||||||
@@ -207,7 +105,18 @@
|
|||||||
|
|
||||||
dockerls.enable = true;
|
dockerls.enable = true;
|
||||||
|
|
||||||
yamlls.enable = true;
|
yamlls = {
|
||||||
|
enable = true;
|
||||||
|
settings.customTags = [
|
||||||
|
"!if mapping"
|
||||||
|
"!any sequence"
|
||||||
|
"!not scalar"
|
||||||
|
"!flat sequence"
|
||||||
|
"!repeat mapping"
|
||||||
|
"!param scalar"
|
||||||
|
"!macro mapping"
|
||||||
|
];
|
||||||
|
};
|
||||||
jsonls.enable = true;
|
jsonls.enable = true;
|
||||||
taplo.enable = true;
|
taplo.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ in
|
|||||||
cubyz-bin
|
cubyz-bin
|
||||||
oversteer
|
oversteer
|
||||||
obs-studio
|
obs-studio
|
||||||
/*
|
|
||||||
(lutris.override {
|
(lutris.override {
|
||||||
extraLibraries =
|
extraLibraries =
|
||||||
pkgs: with pkgs; [
|
pkgs: with pkgs; [
|
||||||
@@ -39,7 +38,6 @@ in
|
|||||||
libvdpau
|
libvdpau
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
*/
|
|
||||||
# rpcs3
|
# rpcs3
|
||||||
bottles
|
bottles
|
||||||
wineWow64Packages.stagingFull
|
wineWow64Packages.stagingFull
|
||||||
|
|||||||
Reference in New Issue
Block a user