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 = {
|
zed-editor = {
|
||||||
enable = true; # Zed Editor: a modern, high‑performance code 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 = {
|
flatpak = {
|
||||||
enable = true; # Flatpak: universal packaging system for Linux
|
enable = true; # Flatpak: universal packaging system for Linux
|
||||||
packages = {
|
packages = {
|
||||||
sober = false; # Roblox client
|
sober.enable = false; # Roblox client
|
||||||
warehouse = true; # Flatpak manager
|
warehouse.enable = true; # Flatpak manager
|
||||||
flatseal = true; # Flatpak permissions manager
|
flatseal.enable = true; # Flatpak permissions manager
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ _: {
|
|||||||
|
|
||||||
zed-editor = {
|
zed-editor = {
|
||||||
enable = true; # Zed Editor: a modern, high‑performance code 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 = {
|
flatpak = {
|
||||||
enable = true; # Flatpak: universal packaging system for Linux
|
enable = true; # Flatpak: universal packaging system for Linux
|
||||||
packages = {
|
packages = {
|
||||||
sober = false; # Roblox client
|
sober.enable = false; # Roblox client
|
||||||
warehouse = true; # Flatpak manager
|
warehouse.enable = true; # Flatpak manager
|
||||||
flatseal = true; # Flatpak permissions manager
|
flatseal.enable = true; # Flatpak permissions manager
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ _: {
|
|||||||
|
|
||||||
zed-editor = {
|
zed-editor = {
|
||||||
enable = true; # Zed Editor: a modern, high‑performance code 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 = {
|
flatpak = {
|
||||||
enable = true; # Flatpak: universal packaging system for Linux
|
enable = true; # Flatpak: universal packaging system for Linux
|
||||||
packages = {
|
packages = {
|
||||||
sober = false; # Roblox client
|
sober.enable = false; # Roblox client
|
||||||
warehouse = true; # Flatpak manager
|
warehouse.enable = true; # Flatpak manager
|
||||||
flatseal = true; # Flatpak permissions manager
|
flatseal.enable = true; # Flatpak permissions manager
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
mkFlatpakPackage = name: pkgId: {
|
mkFlatpakPackage = name: pkgId: {
|
||||||
options.flatpak.packages.${name} = lib.mkEnableOption "Flatpak: ${name}";
|
options.flatpak.packages.${name}.enable = lib.mkEnableOption "Flatpak: ${name}";
|
||||||
|
|
||||||
config.services.flatpak.packages =
|
config.services.flatpak.packages =
|
||||||
lib.mkIf config.flatpak.packages.${name} [pkgId];
|
lib.mkIf config.flatpak.packages.${name}.enable [pkgId];
|
||||||
};
|
};
|
||||||
|
|
||||||
flatpakPackages = {
|
flatpakPackages = {
|
||||||
|
|||||||
@@ -6,13 +6,13 @@
|
|||||||
}: {
|
}: {
|
||||||
options.zed-editor = {
|
options.zed-editor = {
|
||||||
enable = lib.mkEnableOption "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 {
|
config.programs.zed-editor = lib.mkIf config.zed-editor.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.zed-editor;
|
package = pkgs.zed-editor;
|
||||||
installRemoteServer = lib.mkIf config.zed-editor.remote-server true;
|
installRemoteServer = lib.mkIf config.zed-editor.remote-server.enable true;
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
|||||||
@@ -62,5 +62,9 @@ _: {
|
|||||||
};
|
};
|
||||||
tab_size = 2;
|
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 = {
|
nixd = {
|
||||||
initialization_options.formatting.command = [
|
initialization_options.formatting.command = [
|
||||||
"alejandra"
|
"alejandra"
|
||||||
|
|||||||
Reference in New Issue
Block a user