alpine: many changes
- updates - snapserver - graphana dashboards - loki - ddclient - arr suite, jellyseer - mautrix fixes
This commit is contained in:
parent
d1772cb4be
commit
123e7088f5
58 changed files with 2136 additions and 735 deletions
14
lib/cypress.nix
Normal file
14
lib/cypress.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
final: prev: {
|
||||
cypress = prev.cypress.overrideAttrs (oldAttrs: rec {
|
||||
pname = "cypress";
|
||||
version = "13.13.0";
|
||||
|
||||
src = prev.fetchzip {
|
||||
url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
|
||||
sha256 = "sha256-FGaopXp8T0swY0v6IH7cuhp/IolTmJ8vXLLslPtBOJw=";
|
||||
## Note: sha256 is computed via (note the version):
|
||||
##
|
||||
## nix-prefetch-url --unpack https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip
|
||||
};
|
||||
});
|
||||
}
|
||||
|
|
@ -1188,3 +1188,4 @@
|
|||
8⃣ keycap: 8 ~ Symbols (keycap)
|
||||
9⃣ keycap: 9 ~ Symbols (keycap)
|
||||
¯\_(ツ)_/¯ shrug
|
||||
• bullet point
|
||||
|
|
|
|||
|
|
@ -4,8 +4,11 @@
|
|||
user,
|
||||
userFullname,
|
||||
...
|
||||
}: modules: home-modules: let
|
||||
inherit (inputs) home-manager nixpkgs sops-nix;
|
||||
}: {
|
||||
nixos-modules ? [],
|
||||
home-modules ? [],
|
||||
}: let
|
||||
inherit (inputs) home-manager nixpkgs sops-nix nixvim;
|
||||
in
|
||||
nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs;};
|
||||
|
|
@ -13,7 +16,7 @@ in
|
|||
inherit system;
|
||||
|
||||
modules =
|
||||
modules
|
||||
nixos-modules
|
||||
++ [
|
||||
home-manager.nixosModules.home-manager
|
||||
sops-nix.nixosModules.sops
|
||||
|
|
@ -24,6 +27,7 @@ in
|
|||
users.${user}.imports =
|
||||
home-modules
|
||||
++ [
|
||||
nixvim.homeManagerModules.nixvim
|
||||
../home/.
|
||||
{
|
||||
options.home.userFullname = nixpkgs.lib.mkOption {default = userFullname;};
|
||||
|
|
|
|||
279
lib/nixvim.nix
Normal file
279
lib/nixvim.nix
Normal file
|
|
@ -0,0 +1,279 @@
|
|||
{pkgs, ...}: {
|
||||
globals = {
|
||||
mapleader = " ";
|
||||
};
|
||||
opts = {
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
tabstop = 4;
|
||||
shiftwidth = 2;
|
||||
expandtab = true;
|
||||
smartindent = true;
|
||||
scrolloff = 4;
|
||||
|
||||
undofile = true;
|
||||
undodir.__raw = ''vim.fn.expand("$HOME/.local/share/nvim/undo")'';
|
||||
|
||||
list = true;
|
||||
listchars = builtins.concatStringsSep "," [
|
||||
"tab: >"
|
||||
"leadmultispace: |"
|
||||
"trail:."
|
||||
"extends:>"
|
||||
"precedes:<"
|
||||
];
|
||||
};
|
||||
extraPlugins = [(pkgs.vimPlugins.actions-preview-nvim)];
|
||||
extraConfigLua = ''
|
||||
require("actions-preview").setup {
|
||||
highlight_command = {
|
||||
require("actions-preview.highlight").delta("${pkgs.delta}/bin/delta --no-gitconfig --side-by-side"),
|
||||
},
|
||||
telescope = {
|
||||
sorting_strategy = "ascending",
|
||||
layout_strategy = "vertical",
|
||||
layout_config = {
|
||||
width = 0.8,
|
||||
height = 0.9,
|
||||
prompt_position = "top",
|
||||
preview_cutoff = 20,
|
||||
preview_height = function(_, _, max_lines)
|
||||
return max_lines - 10
|
||||
end,
|
||||
},
|
||||
},
|
||||
}
|
||||
vim.keymap.set({ "v", "n" }, "<C-.>", require("actions-preview").code_actions)
|
||||
vim.keymap.set({ "n" }, "<leader>ca", require("actions-preview").code_actions)
|
||||
'';
|
||||
keymaps = [
|
||||
{
|
||||
key = "<C-c>";
|
||||
action = ''"+y'';
|
||||
options.desc = "copy to clipboard";
|
||||
}
|
||||
{
|
||||
key = "<leader>ca";
|
||||
action = ''
|
||||
require("actions-preview").code_actions
|
||||
'';
|
||||
}
|
||||
{
|
||||
key = "<C-Tab>";
|
||||
action = "<CMD>tabnext<CR>";
|
||||
}
|
||||
{
|
||||
key = "<C-S-Tab>";
|
||||
action = "<CMD>tabprev<CR>";
|
||||
}
|
||||
{
|
||||
key = "gl";
|
||||
action = "g$";
|
||||
}
|
||||
{
|
||||
key = "gh";
|
||||
action = "g0";
|
||||
}
|
||||
{
|
||||
mode = "v";
|
||||
key = ">";
|
||||
action = ">gv";
|
||||
options.desc = "indent";
|
||||
options.silent = true;
|
||||
}
|
||||
{
|
||||
mode = "v";
|
||||
key = "<";
|
||||
action = "<gv";
|
||||
options.desc = "deindent";
|
||||
options.silent = true;
|
||||
}
|
||||
{
|
||||
key = "<leader>q";
|
||||
action = "<CMD>bd<CR>";
|
||||
options.desc = "close buffer";
|
||||
}
|
||||
{
|
||||
key = "<leader>g";
|
||||
action = "";
|
||||
options.desc = "Gitsigns";
|
||||
}
|
||||
{
|
||||
key = "<leader>gs";
|
||||
action = "<CMD>Gitsigns stage_hunk<CR>";
|
||||
options.desc = "git stage hunk";
|
||||
}
|
||||
{
|
||||
key = "<leader>gn";
|
||||
action = "<CMD>Gitsigns next_hunk<CR>zz";
|
||||
options.desc = "next git hunk";
|
||||
}
|
||||
{
|
||||
key = "<leader>gd";
|
||||
action = "<CMD>Gitsigns preview_hunk_inline<CR>";
|
||||
options.desc = "git diff hunk";
|
||||
}
|
||||
{
|
||||
key = "<leader>gD";
|
||||
action = "<CMD>Gitsigns diffthis<CR>";
|
||||
options.desc = "git diff buffer";
|
||||
}
|
||||
{
|
||||
key = "<leader>gr";
|
||||
action = "<CMD>Gitsigns reset_hunk<CR>";
|
||||
options.desc = "git restore hunk";
|
||||
}
|
||||
{
|
||||
key = "<leader>gb";
|
||||
action = "<CMD>Gitsigns blame<CR>";
|
||||
options.desc = "show git blame";
|
||||
}
|
||||
{
|
||||
key = "<leader>gg";
|
||||
action = "<CMD>LazyGit<CR>";
|
||||
options.desc = "open lazygit";
|
||||
}
|
||||
{
|
||||
key = "<leader>-";
|
||||
action = "<CMD>Oil<CR>";
|
||||
options.desc = "open dir in Oil";
|
||||
}
|
||||
{
|
||||
key = "<leader>f";
|
||||
action = "";
|
||||
options.desc = "Telescope";
|
||||
}
|
||||
{
|
||||
key = "<leader>c";
|
||||
action = "";
|
||||
options.desc = "LSP";
|
||||
}
|
||||
{
|
||||
key = "<leader>h";
|
||||
action = "";
|
||||
options.desc = "Harpoon";
|
||||
}
|
||||
];
|
||||
|
||||
plugins = {
|
||||
bufferline.enable = true;
|
||||
web-devicons.enable = true;
|
||||
vim-surround.enable = true;
|
||||
comment.enable = true;
|
||||
|
||||
markdown-preview.enable = true;
|
||||
|
||||
telescope = {
|
||||
enable = true;
|
||||
settings = {
|
||||
defaults = {
|
||||
file_ignore_patterns = [".*lock.*"];
|
||||
};
|
||||
};
|
||||
keymaps = {
|
||||
"<leader>fg" = "live_grep";
|
||||
"<leader>/" = "live_grep";
|
||||
"<leader>ff" = "find_files";
|
||||
"<leader>fb" = "buffers";
|
||||
"<leader>fh" = "help_tags";
|
||||
"<leader>:" = "commands";
|
||||
"<leader>ft" = "treesitter";
|
||||
"<leader>fr" = "lsp_references";
|
||||
"<leader>cr" = "lsp_definition";
|
||||
};
|
||||
};
|
||||
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
ts-ls.enable = true;
|
||||
nil-ls.enable = true;
|
||||
gopls.enable = true;
|
||||
};
|
||||
keymaps = {
|
||||
lspBuf = {
|
||||
"<leader>ck" = "hover";
|
||||
"K" = "hover";
|
||||
"<leader>cr" = "rename";
|
||||
"<F2>" = "rename";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cmp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
mapping = {
|
||||
"<C-Space>" = "cmp.mapping.complete()";
|
||||
"<C-u>" = "cmp.mapping.scroll_docs(4)";
|
||||
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
|
||||
"<C-e>" = "cmp.mapping.close()";
|
||||
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
||||
"<C-p>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
|
||||
"<C-n>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
||||
};
|
||||
sources = [
|
||||
{name = "nvim_lsp";}
|
||||
{name = "path";}
|
||||
{name = "buffer";}
|
||||
];
|
||||
};
|
||||
};
|
||||
cmp-nvim-lsp.enable = true;
|
||||
cmp-nvim-lsp-signature-help.enable = true;
|
||||
cmp-path.enable = true;
|
||||
cmp-buffer.enable = true;
|
||||
|
||||
trouble.enable = true;
|
||||
|
||||
gitsigns.enable = true;
|
||||
git-worktree = {
|
||||
enable = true;
|
||||
enableTelescope = true;
|
||||
};
|
||||
|
||||
lazygit.enable = true;
|
||||
which-key.enable = true;
|
||||
|
||||
harpoon = {
|
||||
enable = true;
|
||||
keymaps = {
|
||||
addFile = "<leader>ha";
|
||||
toggleQuickMenu = "<leader>hf";
|
||||
navNext = "<leader>n";
|
||||
};
|
||||
};
|
||||
|
||||
vim-css-color.enable = true;
|
||||
|
||||
treesitter = {
|
||||
enable = true;
|
||||
folding = true;
|
||||
};
|
||||
treesitter-textobjects = {
|
||||
enable = true;
|
||||
select = {
|
||||
enable = true;
|
||||
lookahead = true;
|
||||
keymaps = {
|
||||
"af" = {
|
||||
query = "@function.outer";
|
||||
desc = "Function Outer";
|
||||
};
|
||||
"ac" = {
|
||||
query = "@comment.outer";
|
||||
desc = "Comment Outer";
|
||||
};
|
||||
"if" = {
|
||||
query = "@function.inner";
|
||||
desc = "Function Inner";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
oil.enable = true;
|
||||
ts-autotag.enable = true;
|
||||
guess-indent.enable = true;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue