dotnix @main -
refs -
log -
-
https://git.jolheiser.com/dotnix.git
Signature
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgBTEvCQk6VqUAdN2RuH6bj1dNkY
oOpbPWj+jw4ua1B1cAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5
AAAAQIiTjMskbTHnYSNJN67A1v/2Qz+5Uyioq6krFHxxq2p3iKFiTe4ATC39KL7XDUInm5
/GOZYxqyF7ZZoGRl/Mpw0=
-----END SSH SIGNATURE-----
diff --git a/apps/gui/zed.nix b/apps/gui/zed.nix
index d6b5ba2a0836dedf78083f6eab2ef0e79d5456a3..6f52f48c43af68996748c0f9af98e75770860ff4 100644
--- a/apps/gui/zed.nix
+++ b/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";
+ };
+ }
+ ];
};
}