diff --git a/hosts/laptop/home.nix b/hosts/laptop/home.nix index 2b56e1c..f819113 100644 --- a/hosts/laptop/home.nix +++ b/hosts/laptop/home.nix @@ -2,4 +2,5 @@ home.stateVersion = "26.05"; myHome.git.enable = true; + myHome.zed.enable = true; } diff --git a/hosts/pc/home.nix b/hosts/pc/home.nix index 2b56e1c..f819113 100644 --- a/hosts/pc/home.nix +++ b/hosts/pc/home.nix @@ -2,4 +2,5 @@ home.stateVersion = "26.05"; myHome.git.enable = true; + myHome.zed.enable = true; } diff --git a/shared/home/default.nix b/shared/home/default.nix index d8438c3..b6611d4 100644 --- a/shared/home/default.nix +++ b/shared/home/default.nix @@ -1,5 +1,6 @@ { imports = [ ./git.nix + ./zed.nix ]; } diff --git a/shared/home/zed.nix b/shared/home/zed.nix new file mode 100644 index 0000000..4995406 --- /dev/null +++ b/shared/home/zed.nix @@ -0,0 +1,59 @@ +{ + config, + lib, + ... +}: + +{ + options = { + myHome.zed.enable = lib.mkEnableOption "configure zed"; + }; + + config = lib.mkIf config.myHome.zed.enable { + programs.zed-editor = { + enable = true; + defaultEditor = true; + extensions = [ + "vue" + "nix" + "biome" + "typst" + "justfile" + ]; + userKeymaps = [ + { + "context" = "Editor"; + "bindings" = { + "alt-enter" = "editor::ToggleCodeActions"; + }; + } + { + "context" = "Editor"; + "bindings" = { + "ctrl-divide" = "editor::ToggleComments"; + }; + } + ]; + userSettings = { + "format_on_save" = "on"; + "base_keymap" = "VSCode"; + "cli_default_open_behavior" = "new_window"; + "agent" = { + "button" = false; + }; + "outline_panel" = { + "dock" = "left"; + }; + "collaboration_panel" = { + "button" = false; + }; + "git_panel" = { + "dock" = "left"; + }; + "project_panel" = { + "dock" = "left"; + }; + }; + }; + }; +}