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, ... }:
|
||||
let
|
||||
zed-fhs = pkgs.buildFHSUserEnv {
|
||||
name = "zed";
|
||||
targetPkgs = pkgs: [ pkgs.zed-editor ];
|
||||
runScript = "zed";
|
||||
};
|
||||
in
|
||||
{
|
||||
home.packages = [ pkgs.zed-editor ];
|
||||
xdg.configFile."zed/settings.json".text = builtins.toJSON {
|
||||
buffer_font_family = "Monaspace Neon";
|
||||
buffer_font_size = 16;
|
||||
soft_wrap = "editor_width";
|
||||
telemetry = {
|
||||
diagnostics = false;
|
||||
metrics = false;
|
||||
};
|
||||
terminal = {
|
||||
font_family = "Monaspace Neon";
|
||||
shell = {
|
||||
program = "nu";
|
||||
home.packages = [ zed-fhs ];
|
||||
xdg.configFile = {
|
||||
"zed/settings.json".text = builtins.toJSON {
|
||||
buffer_font_family = "Monaspace Neon";
|
||||
buffer_font_size = 16;
|
||||
soft_wrap = "editor_width";
|
||||
telemetry = {
|
||||
diagnostics = false;
|
||||
metrics = false;
|
||||
};
|
||||
terminal = {
|
||||
font_family = "Monaspace Neon";
|
||||
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";
|
||||
ui_font_size = 16;
|
||||
vim_mode = false;
|
||||
assistant = {
|
||||
version = "1";
|
||||
provider.name = "anthropic";
|
||||
};
|
||||
"zed/keymap.json".text =
|
||||
let
|
||||
leader = "space";
|
||||
in
|
||||
builtins.toJSON [
|
||||
{
|
||||
"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