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:
@@ -6,7 +6,7 @@ _: {
|
||||
|
||||
zed-editor = {
|
||||
enable = true; # Zed Editor: a modern, high‑performance code editor
|
||||
remote-server = true; # Remote Server: enable remote editing capabilities
|
||||
remote-server.enable = true; # Remote Server: enable remote editing capabilities
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -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
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ _: {
|
||||
|
||||
zed-editor = {
|
||||
enable = true; # Zed Editor: a modern, high‑performance code editor
|
||||
remote-server = true; # Remote Server: enable remote editing capabilities
|
||||
remote-server.enable = true; # Remote Server: enable remote editing capabilities
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -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
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ _: {
|
||||
|
||||
zed-editor = {
|
||||
enable = true; # Zed Editor: a modern, high‑performance code editor
|
||||
remote-server = true; # Remote Server: enable remote editing capabilities
|
||||
remote-server.enable = true; # Remote Server: enable remote editing capabilities
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -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
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -62,5 +62,9 @@ _: {
|
||||
};
|
||||
tab_size = 2;
|
||||
};
|
||||
"C++" = {
|
||||
format_on_save = "on";
|
||||
tab_size = 2;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user