- Add automatic SD image builds for Raspberry Pi via Forgejo Actions - Enable binfmt emulation on cryodev-main for aarch64 cross-builds - Add sd-image.nix module to cryodev-pi configuration - Create comprehensive docs/ structure with installation guides - Split installation docs into: first-install (server), reinstall, new-client (Pi) - Add lib/utils.nix and apps/rebuild from synix - Fix headplane module for new upstream API (tale/headplane) - Fix various module issues (mailserver stateVersion, option conflicts) - Add placeholder secrets.yaml files for both hosts - Remove old INSTRUCTIONS.md (content moved to docs/)
69 lines
1.8 KiB
Nix
69 lines
1.8 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
let
|
|
cfg = config.programs.nixvim;
|
|
plugin = cfg.plugins.lsp;
|
|
|
|
inherit (lib) mkDefault mkIf optional;
|
|
in
|
|
{
|
|
config = {
|
|
programs.nixvim = {
|
|
plugins = {
|
|
lsp-format = mkIf plugin.enable { enable = mkDefault true; };
|
|
|
|
lsp = {
|
|
enable = mkDefault true;
|
|
postConfig = "";
|
|
keymaps = {
|
|
silent = mkDefault true;
|
|
diagnostic = mkDefault {
|
|
# Navigate in diagnostics
|
|
"<leader>k" = "goto_prev";
|
|
"<leader>j" = "goto_next";
|
|
};
|
|
|
|
lspBuf = mkDefault {
|
|
gd = "definition";
|
|
gD = "references";
|
|
gt = "type_definition";
|
|
gi = "implementation";
|
|
K = "hover";
|
|
"<F2>" = "rename";
|
|
};
|
|
};
|
|
|
|
servers = {
|
|
bashls.enable = mkDefault true;
|
|
clangd.enable = mkDefault true;
|
|
cssls.enable = mkDefault true;
|
|
dockerls.enable = mkDefault true;
|
|
gopls.enable = mkDefault true;
|
|
html.enable = mkDefault true;
|
|
jsonls.enable = mkDefault true;
|
|
nixd.enable = mkDefault true;
|
|
pyright.enable = mkDefault true;
|
|
rust_analyzer = {
|
|
enable = mkDefault true;
|
|
installCargo = mkDefault true;
|
|
installRustc = mkDefault true;
|
|
settings.rustfmt.overrideCommand = mkDefault [
|
|
"${pkgs.rustfmt}/bin/rustfmt --edition 2021" # --config tab_spaces=2"
|
|
];
|
|
};
|
|
texlab.enable = mkDefault true;
|
|
vhdl_ls.enable = mkDefault true;
|
|
yamlls.enable = mkDefault true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
environment.systemPackages = optional (cfg.enable && plugin.servers.nixd.enable) pkgs.nixfmt;
|
|
};
|
|
}
|