feat: configure zed-editor with home-manager
This commit is contained in:
parent
d7938744f2
commit
60b28baf63
5 changed files with 118 additions and 1 deletions
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
# keep-sorted start
|
# keep-sorted start
|
||||||
desktop.enable = true;
|
desktop.enable = true;
|
||||||
|
dev.enable = true;
|
||||||
# keep-sorted end
|
# keep-sorted end
|
||||||
|
|
||||||
# config
|
# config
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
# keep-sorted start
|
# keep-sorted start
|
||||||
desktop.enable = true;
|
desktop.enable = true;
|
||||||
|
dev.enable = true;
|
||||||
# keep-sorted end
|
# keep-sorted end
|
||||||
|
|
||||||
# config
|
# config
|
||||||
|
|
|
||||||
19
modules/home-manager/bundles/dev.nix
Normal file
19
modules/home-manager/bundles/dev.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
feature = "dev";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = lib.mkIf config.${feature}.enable {
|
||||||
|
# keep-sorted start
|
||||||
|
zed-editor.enable = lib.mkDefault true;
|
||||||
|
# keep-sorted end
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [ ];
|
||||||
|
|
||||||
|
options.${feature}.enable = lib.mkEnableOption "enables ${feature}";
|
||||||
|
}
|
||||||
97
modules/home-manager/features/zed-editor.nix
Normal file
97
modules/home-manager/features/zed-editor.nix
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
feature = "zed-editor";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = lib.mkIf config.${feature}.enable {
|
||||||
|
programs.zed-editor = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.zed-editor-fhs;
|
||||||
|
extensions = [
|
||||||
|
# keep-sorted start
|
||||||
|
"catppuccin"
|
||||||
|
"catppuccin-icons"
|
||||||
|
"codebook"
|
||||||
|
"emmet"
|
||||||
|
"git-firefly"
|
||||||
|
"haskell"
|
||||||
|
"html"
|
||||||
|
"nix"
|
||||||
|
# keep-sorted end
|
||||||
|
];
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
# keep-sorted start
|
||||||
|
haskell-language-server
|
||||||
|
nil
|
||||||
|
nixd
|
||||||
|
package-version-server
|
||||||
|
rust-analyzer
|
||||||
|
# keep-sorted end
|
||||||
|
];
|
||||||
|
installRemoteServer = true;
|
||||||
|
userSettings = {
|
||||||
|
# keep-sorted start block=yes
|
||||||
|
base_keymap = "VSCode";
|
||||||
|
buffer_font_family = "JetBrainsMono Nerd Font";
|
||||||
|
buffer_font_size = 15;
|
||||||
|
disable_ai = true;
|
||||||
|
icon_theme = "Catppuccin Mocha";
|
||||||
|
inlay_hints = {
|
||||||
|
enabled = true;
|
||||||
|
show_value_hints = true;
|
||||||
|
show_type_hints = true;
|
||||||
|
show_parameter_hints = true;
|
||||||
|
show_other_hints = true;
|
||||||
|
show_background = false;
|
||||||
|
edit_debounce_ms = 700;
|
||||||
|
scroll_debounce_ms = 50;
|
||||||
|
toggle_on_modifiers_press = {
|
||||||
|
control = false;
|
||||||
|
alt = false;
|
||||||
|
shift = false;
|
||||||
|
platform = false;
|
||||||
|
function = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# https://wiki.nixos.org/wiki/Zed#rust-analyzer
|
||||||
|
lsp.rust-analyzer.binary.path = lib.getExe pkgs.rust-analyzer;
|
||||||
|
minimap = {
|
||||||
|
show = "auto";
|
||||||
|
};
|
||||||
|
preferred_line_length = 80;
|
||||||
|
relative_line_numbers = true;
|
||||||
|
soft_wrap = "preferred_line_length";
|
||||||
|
tab_bar = {
|
||||||
|
show_nav_history_buttons = false;
|
||||||
|
};
|
||||||
|
tab_size = 2;
|
||||||
|
tabs = {
|
||||||
|
file_icons = true;
|
||||||
|
git_status = true;
|
||||||
|
};
|
||||||
|
telemetry = {
|
||||||
|
diagnostics = false;
|
||||||
|
metrics = false;
|
||||||
|
};
|
||||||
|
theme = {
|
||||||
|
mode = "system";
|
||||||
|
light = "One Light";
|
||||||
|
dark = "Catppuccin Mocha";
|
||||||
|
};
|
||||||
|
ui_font_family = "JetBrainsMono Nerd Font";
|
||||||
|
ui_font_size = 16;
|
||||||
|
vim_mode = true;
|
||||||
|
# keep-sorted end
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [ ];
|
||||||
|
|
||||||
|
options.${feature}.enable = lib.mkEnableOption "enables ${feature}";
|
||||||
|
}
|
||||||
|
|
@ -17,7 +17,6 @@ in
|
||||||
just
|
just
|
||||||
mask
|
mask
|
||||||
rusty-man
|
rusty-man
|
||||||
zed-editor
|
|
||||||
# keep-sorted end
|
# keep-sorted end
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue