Refactor Zed/Flatpak options and add C++ & clangd settings

- Switch Zed remote server and Flatpak packages to use `enable`
suboption - Update host modules to match the new option hierarchy - Add
default C++ settings (format on save, tab size) to Zed user settings -
Introduce clangd LSP configuration with inlay hints and fallback command
This commit is contained in:
2025-12-01 13:28:43 +01:00
parent 7a2382cb3c
commit 087ffd4194
10 changed files with 41 additions and 16 deletions

View File

@@ -6,7 +6,7 @@ _: {
zed-editor = {
enable = true; # Zed Editor: a modern, highperformance code editor
remote-server = true; # Remote Server: enable remote editing capabilities
remote-server.enable = true; # Remote Server: enable remote editing capabilities
};
/*

View File

@@ -6,9 +6,9 @@ _: {
flatpak = {
enable = true; # Flatpak: universal packaging system for Linux
packages = {
sober = false; # Roblox client
warehouse = true; # Flatpak manager
flatseal = true; # Flatpak permissions manager
sober.enable = false; # Roblox client
warehouse.enable = true; # Flatpak manager
flatseal.enable = true; # Flatpak permissions manager
};
};

View File

@@ -6,7 +6,7 @@ _: {
zed-editor = {
enable = true; # Zed Editor: a modern, highperformance code editor
remote-server = true; # Remote Server: enable remote editing capabilities
remote-server.enable = true; # Remote Server: enable remote editing capabilities
};
/*

View File

@@ -6,9 +6,9 @@ _: {
flatpak = {
enable = true; # Flatpak: universal packaging system for Linux
packages = {
sober = false; # Roblox client
warehouse = true; # Flatpak manager
flatseal = true; # Flatpak permissions manager
sober.enable = false; # Roblox client
warehouse.enable = true; # Flatpak manager
flatseal.enable = true; # Flatpak permissions manager
};
};

View File

@@ -6,7 +6,7 @@ _: {
zed-editor = {
enable = true; # Zed Editor: a modern, highperformance code editor
remote-server = true; # Remote Server: enable remote editing capabilities
remote-server.enable = true; # Remote Server: enable remote editing capabilities
};
/*

View File

@@ -6,9 +6,9 @@ _: {
flatpak = {
enable = true; # Flatpak: universal packaging system for Linux
packages = {
sober = false; # Roblox client
warehouse = true; # Flatpak manager
flatseal = true; # Flatpak permissions manager
sober.enable = false; # Roblox client
warehouse.enable = true; # Flatpak manager
flatseal.enable = true; # Flatpak permissions manager
};
};

View File

@@ -4,10 +4,10 @@
...
}: let
mkFlatpakPackage = name: pkgId: {
options.flatpak.packages.${name} = lib.mkEnableOption "Flatpak: ${name}";
options.flatpak.packages.${name}.enable = lib.mkEnableOption "Flatpak: ${name}";
config.services.flatpak.packages =
lib.mkIf config.flatpak.packages.${name} [pkgId];
lib.mkIf config.flatpak.packages.${name}.enable [pkgId];
};
flatpakPackages = {

View File

@@ -6,13 +6,13 @@
}: {
options.zed-editor = {
enable = lib.mkEnableOption "Zed Editor";
remote-server = lib.mkEnableOption "Zed Editor Remote Server";
remote-server.enable = lib.mkEnableOption "Zed Editor Remote Server";
};
config.programs.zed-editor = lib.mkIf config.zed-editor.enable {
enable = true;
package = pkgs.zed-editor;
installRemoteServer = lib.mkIf config.zed-editor.remote-server true;
installRemoteServer = lib.mkIf config.zed-editor.remote-server.enable true;
};
imports = [

View File

@@ -62,5 +62,9 @@ _: {
};
tab_size = 2;
};
"C++" = {
format_on_save = "on";
tab_size = 2;
};
};
}

View File

@@ -27,6 +27,27 @@
};
};
};
clangd = {
binary = {
path = lib.getExe pkgs.bash;
arguments = [
"-c"
"if [ -e flake.nix ]; then nix develop --command clangd; else clangd; fi"
];
};
initialization_options = {
inlayHints = {
maxLength = null;
lifetimeElisionHints = {
enable = "skip_trivial";
useParameterNames = true;
};
closureReturnTypeHints = {
enable = "always";
};
};
};
};
nixd = {
initialization_options.formatting.command = [
"alejandra"