mirror of https://git.jolheiser.com/dotnix.git
parent
21c9bef9ae
commit
43519a2400
129
apps/gui/zed.nix
129
apps/gui/zed.nix
|
@ -1,26 +1,115 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
zed-fhs = pkgs.buildFHSUserEnv {
|
||||||
|
name = "zed";
|
||||||
|
targetPkgs = pkgs: [ pkgs.zed-editor ];
|
||||||
|
runScript = "zed";
|
||||||
|
};
|
||||||
|
in
|
||||||
{
|
{
|
||||||
home.packages = [ pkgs.zed-editor ];
|
home.packages = [ zed-fhs ];
|
||||||
xdg.configFile."zed/settings.json".text = builtins.toJSON {
|
xdg.configFile = {
|
||||||
buffer_font_family = "Monaspace Neon";
|
"zed/settings.json".text = builtins.toJSON {
|
||||||
buffer_font_size = 16;
|
buffer_font_family = "Monaspace Neon";
|
||||||
soft_wrap = "editor_width";
|
buffer_font_size = 16;
|
||||||
telemetry = {
|
soft_wrap = "editor_width";
|
||||||
diagnostics = false;
|
telemetry = {
|
||||||
metrics = false;
|
diagnostics = false;
|
||||||
};
|
metrics = false;
|
||||||
terminal = {
|
};
|
||||||
font_family = "Monaspace Neon";
|
terminal = {
|
||||||
shell = {
|
font_family = "Monaspace Neon";
|
||||||
program = "nu";
|
shell = {
|
||||||
|
program = "nu";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
theme = "Catppuccin Mocha";
|
||||||
|
ui_font_size = 16;
|
||||||
|
vim_mode = true;
|
||||||
|
relative_line_numbers = true;
|
||||||
|
vim = {
|
||||||
|
use_system_clipboard = "always";
|
||||||
|
use_multiline_find = true;
|
||||||
|
};
|
||||||
|
tab_bar.show = false;
|
||||||
|
toolbar = {
|
||||||
|
breadcrumbs = true;
|
||||||
|
quick_actions = false;
|
||||||
|
};
|
||||||
|
assistant = {
|
||||||
|
version = "1";
|
||||||
|
provider.name = "anthropic";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
theme = "Catppuccin Mocha";
|
"zed/keymap.json".text =
|
||||||
ui_font_size = 16;
|
let
|
||||||
vim_mode = false;
|
leader = "space";
|
||||||
assistant = {
|
in
|
||||||
version = "1";
|
builtins.toJSON [
|
||||||
provider.name = "anthropic";
|
{
|
||||||
};
|
"context" = "Dock || Terminal || Editor";
|
||||||
|
"bindings" = {
|
||||||
|
"ctrl-h" = [
|
||||||
|
"workspace::ActivatePaneInDirection"
|
||||||
|
"Left"
|
||||||
|
];
|
||||||
|
"ctrl-l" = [
|
||||||
|
"workspace::ActivatePaneInDirection"
|
||||||
|
"Right"
|
||||||
|
];
|
||||||
|
"ctrl-k" = [
|
||||||
|
"workspace::ActivatePaneInDirection"
|
||||||
|
"Up"
|
||||||
|
];
|
||||||
|
"ctrl-j" = [
|
||||||
|
"workspace::ActivatePaneInDirection"
|
||||||
|
"Down"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"context" = "Editor && VimControl && !VimWaiting && !menu";
|
||||||
|
"bindings" = {
|
||||||
|
"${leader} b" = "editor::ToggleGitBlame";
|
||||||
|
"${leader} k" = "editor::Hover";
|
||||||
|
"${leader} a" = "editor::ToggleCodeActions";
|
||||||
|
"${leader} l f" = "editor::Format";
|
||||||
|
"${leader} d" = "diagnostics::Deploy";
|
||||||
|
"${leader} f" = "file_finder::Toggle";
|
||||||
|
"${leader} o" = "tab_switcher::Toggle";
|
||||||
|
"${leader} e" = "workspace::ToggleLeftDock";
|
||||||
|
"${leader} /" = "workspace::NewSearch";
|
||||||
|
"n" = "search::SelectNextMatch";
|
||||||
|
"shift-n" = "search::SelectPrevMatch";
|
||||||
|
"${leader} t" = "workspace::NewCenterTerminal";
|
||||||
|
"${leader} c" = "editor::ToggleComments";
|
||||||
|
"${leader} w" = "workspace::Save";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"context" = "Editor && vim_mode == visual && !VimWaiting && !VimObject";
|
||||||
|
"bindings" = {
|
||||||
|
"shift-j" = "editor::MoveLineDown";
|
||||||
|
"shift-k" = "editor::MoveLineUp";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"context" = "Workspace";
|
||||||
|
"bindings" = {
|
||||||
|
"ctrl-z" = "workspace::ToggleZoom";
|
||||||
|
"cmd-k" = [
|
||||||
|
"projects::OpenRecent"
|
||||||
|
{ "create_new_window" = false; }
|
||||||
|
];
|
||||||
|
"ctrl-x" = "tab_switcher::CloseSelectedItem";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"context" = "Terminal";
|
||||||
|
"bindings" = {
|
||||||
|
"cmd-t" = "workspace::NewTerminal";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue