Refactor home modules and update configs
- Remove unused `pkgs` import from hardware and adjust user stateVersion to 25.11 with updated wheel comment. - Split Bash aliases and functions into separate modules and rename `bash.nix` to `bash/default.nix` with imports. - Delete old Bash alias/function files and consolidate them under the new structure. - Simplify `bat.nix` by removing commented style lines. - Increase Cava `frame_rate` from 60 to 144 and clean up legacy color settings. - Refactor Chromium configuration: separate extensions into `extensions.nix` and use a minimal default module. - Replace large Kitty config with minimal enable/module and import `extra-config.nix` and `settings.nix`. - Overhaul Librewolf setup: extract profiles, extensions, search, and settings into dedicated files. - Update home `default.nix` imports to reflect new module paths and remove obsolete references. - Modularize SwayNC by moving settings and style to separate files. - Add explicit Vesktop package definition. - Remove old VSCode module; introduce VSCodium with profile-based extensions, keybindings, and user settings. - Reorganize XDG portal and desktop entries into modular files. - Rebuild Zed configuration: split user settings, language models, languages, LSP, extensions, and extra packages into distinct files.
This commit is contained in:
12
modules/home/zed/default.nix
Normal file
12
modules/home/zed/default.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{pkgs, ...}: {
|
||||
programs.zed-editor = {
|
||||
enable = true;
|
||||
package = pkgs.zed-editor;
|
||||
installRemoteServer = true;
|
||||
};
|
||||
imports = [
|
||||
./user-settings
|
||||
./extensions.nix
|
||||
./extra-packages.nix
|
||||
];
|
||||
}
|
||||
23
modules/home/zed/extensions.nix
Normal file
23
modules/home/zed/extensions.nix
Normal file
@@ -0,0 +1,23 @@
|
||||
_: {
|
||||
programs.zed-editor.extensions = [
|
||||
"toml"
|
||||
"dockerfile"
|
||||
"git-firefly"
|
||||
"vue"
|
||||
"astro"
|
||||
"docker-compose"
|
||||
"nix"
|
||||
"csv"
|
||||
"rainbow-csv"
|
||||
"vscode-icons"
|
||||
"codebook"
|
||||
"python-requirements"
|
||||
"one-dark-pro-monokai-darker"
|
||||
"hyprlang"
|
||||
"json5"
|
||||
"html-jinja"
|
||||
"deputy"
|
||||
"biome"
|
||||
"opencode"
|
||||
];
|
||||
}
|
||||
9
modules/home/zed/extra-packages.nix
Normal file
9
modules/home/zed/extra-packages.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
{pkgs, ...}: {
|
||||
programs.zed-editor.extraPackages = with pkgs; [
|
||||
biome
|
||||
rust-analyzer
|
||||
nixd
|
||||
alejandra
|
||||
opencode
|
||||
];
|
||||
}
|
||||
10
modules/home/zed/user-settings/agent.nix
Normal file
10
modules/home/zed/user-settings/agent.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
_: {
|
||||
programs.zed-editor.userSettings.agent = {
|
||||
always_allow_tool_actions = true;
|
||||
default_profile = "ask";
|
||||
default_model = {
|
||||
provider = "Cerebras";
|
||||
model = "gpt-oss-120b";
|
||||
};
|
||||
};
|
||||
}
|
||||
27
modules/home/zed/user-settings/default.nix
Normal file
27
modules/home/zed/user-settings/default.nix
Normal file
@@ -0,0 +1,27 @@
|
||||
_: {
|
||||
programs.zed-editor.userSettings = {
|
||||
telemetry = {
|
||||
diagnostics = false;
|
||||
metrics = false;
|
||||
};
|
||||
icon_theme = "VSCode Icons for Zed (Dark)";
|
||||
ui_font_size = 16;
|
||||
buffer_font_size = 15;
|
||||
theme = {
|
||||
mode = "dark";
|
||||
light = "One Light";
|
||||
dark = "One Dark Pro Monokai Darker";
|
||||
};
|
||||
diagnostics.inline = {
|
||||
enabled = true;
|
||||
max_severity = "error";
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
./agent.nix
|
||||
./language-models.nix
|
||||
./languages.nix
|
||||
./lsp.nix
|
||||
];
|
||||
}
|
||||
43
modules/home/zed/user-settings/language-models.nix
Normal file
43
modules/home/zed/user-settings/language-models.nix
Normal file
@@ -0,0 +1,43 @@
|
||||
_: {
|
||||
programs.zed-editor.userSettings.language_models.openai_compatible."Cerebras" = {
|
||||
api_url = "https://api.cerebras.ai/v1";
|
||||
available_models = [
|
||||
{
|
||||
name = "qwen-3-235b-a22b-instruct-2507";
|
||||
display_name = "Qwen 3 235B Instruct";
|
||||
max_tokens = 65000;
|
||||
max_output_tokens = 32000;
|
||||
capabilities = {
|
||||
tools = true;
|
||||
images = true;
|
||||
parallel_tool_calls = true;
|
||||
prompt_cache_key = false;
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "llama-3.3-70b";
|
||||
display_name = "Llama 3.3 70B";
|
||||
max_tokens = 65000;
|
||||
max_output_tokens = 8000;
|
||||
capabilities = {
|
||||
tools = true;
|
||||
images = true;
|
||||
parallel_tool_calls = true;
|
||||
prompt_cache_key = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "gpt-oss-120b";
|
||||
display_name = "OpenAI GPT OSS";
|
||||
max_tokens = 65000;
|
||||
max_output_tokens = 32000;
|
||||
capabilities = {
|
||||
tools = true;
|
||||
images = true;
|
||||
parallel_tool_calls = true;
|
||||
prompt_cache_key = false;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
66
modules/home/zed/user-settings/languages.nix
Normal file
66
modules/home/zed/user-settings/languages.nix
Normal file
@@ -0,0 +1,66 @@
|
||||
_: {
|
||||
programs.zed-editor.userSettings.languages = {
|
||||
Nix.language_servers = [
|
||||
"nixd"
|
||||
"!nil"
|
||||
];
|
||||
Python.language_servers = ["!basedpyright"];
|
||||
YAML.tab_size = 2;
|
||||
JavaScript = {
|
||||
formatter.language_server.name = "biome";
|
||||
code_actions_on_format = {
|
||||
"source.fixAll.biome" = true;
|
||||
"source.organizeImports.biome" = true;
|
||||
};
|
||||
tab_size = 2;
|
||||
};
|
||||
TypeScript = {
|
||||
formatter.language_server.name = "biome";
|
||||
code_actions_on_format = {
|
||||
"source.fixAll.biome" = true;
|
||||
"source.organizeImports.biome" = true;
|
||||
};
|
||||
tab_size = 2;
|
||||
};
|
||||
Astro = {
|
||||
formatter.language_server.name = "biome";
|
||||
code_actions_on_format = {
|
||||
"source.fixAll.biome" = true;
|
||||
"source.organizeImports.biome" = true;
|
||||
};
|
||||
tab_size = 2;
|
||||
};
|
||||
"Vue.js" = {
|
||||
formatter.language_server.name = "biome";
|
||||
code_actions_on_format = {
|
||||
"source.fixAll.biome" = true;
|
||||
"source.organizeImports.biome" = true;
|
||||
};
|
||||
tab_size = 2;
|
||||
};
|
||||
JSON = {
|
||||
formatter.language_server.name = "biome";
|
||||
code_actions_on_format = {
|
||||
"source.fixAll.biome" = true;
|
||||
"source.organizeImports.biome" = true;
|
||||
};
|
||||
tab_size = 2;
|
||||
};
|
||||
JSONC = {
|
||||
formatter.language_server.name = "biome";
|
||||
code_actions_on_format = {
|
||||
"source.fixAll.biome" = true;
|
||||
"source.organizeImports.biome" = true;
|
||||
};
|
||||
tab_size = 2;
|
||||
};
|
||||
CSS = {
|
||||
formatter.language_server.name = "biome";
|
||||
code_actions_on_format = {
|
||||
"source.fixAll.biome" = true;
|
||||
"source.organizeImports.biome" = true;
|
||||
};
|
||||
tab_size = 2;
|
||||
};
|
||||
};
|
||||
}
|
||||
34
modules/home/zed/user-settings/lsp.nix
Normal file
34
modules/home/zed/user-settings/lsp.nix
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
username,
|
||||
host,
|
||||
...
|
||||
}: {
|
||||
programs.zed-editor.userSettings.lsp = {
|
||||
rust-analyzer = {
|
||||
binary = {
|
||||
path = lib.getExe pkgs.bash;
|
||||
arguments = [
|
||||
"-c"
|
||||
"if [ -e flake.nix ]; then nix develop --command rust-analyzer; else rust-analyzer; fi"
|
||||
];
|
||||
};
|
||||
};
|
||||
nixd = {
|
||||
initialization_options.formatting.command = [
|
||||
"alejandra"
|
||||
"--quiet"
|
||||
"--"
|
||||
];
|
||||
settings = {
|
||||
nixpkgs.expr = "import <nixpkgs> { }";
|
||||
formatting.command = ["alejandra"];
|
||||
options = {
|
||||
nixos.expr = "(builtins.getFlake (builtins.toString \"/home/${username}/garandos\")).nixosConfigurations.\"${host}\".options";
|
||||
home-manager.expr = "(builtins.getFlake (builtins.toString \"/home/${username}/garandos\")).nixosConfigurations.\"${host}\".options.home-manager.users.type.getSubOptions []";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user