Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ end_of_line = crlf
[*.{lua,sh,yml}]
indent_size = 2

[zed/*.json]
indent_size = 2
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"ilspy",
"inputrc",
"jorgebucaran",
"keymap",
"LASTEXITCODE",
"LESSBINFMT",
"LESSOPEN",
Expand Down
5 changes: 5 additions & 0 deletions bootstrap.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,7 @@ function installWinGetApps {
# per user, no elevation required:
& winget install Microsoft.WindowsTerminal --accept-source-agreements --accept-package-agreements --disable-interactivity --silent
& winget install Microsoft.VisualStudioCode --accept-source-agreements --accept-package-agreements --disable-interactivity --silent
& winget install ZedIndustries.Zed --accept-source-agreements --accept-package-agreements --disable-interactivity --silent
}

function setup {
Expand Down Expand Up @@ -427,6 +428,10 @@ function setupShellEnvs {
Remove-Item (Join-Path $sshDir 'config') -ErrorAction SilentlyContinue -Force | Out-Null
$openSsh=((Join-Path $env:windir 'System32\OpenSSH\ssh.exe').Replace("\", "/"))
& git config --global core.sshCommand $openSsh

$zedConfigDir = (Join-Path $env:APPDATA 'zed')
copyFile 'zed\settings.json' (Join-Path $zedConfigDir 'settings.json')
copyFile 'zed\keymap.json' (Join-Path $zedConfigDir 'keymap.json')
}

function main {
Expand Down
8 changes: 8 additions & 0 deletions bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,9 @@ function installApps {
xz
)

# TODO: brew's package for zed is mac-only: conditionally add brew to apps array
# for linux/WSL, install as documented in: https://zed.dev/docs/installation#linux

local var casks=(
font-jetbrains-mono-nerd-font
ghostty
Expand Down Expand Up @@ -230,6 +233,11 @@ function setupShellEnv {
copyFile fish/functions/$f.fish $fishConfigDir/functions/$f.fish
done

# zed:
local zedConfigDir=$configDir/zed
copyFile zed/settings.json $zedConfigDir/settings.json
copyFile zed/keymap.json $zedConfigDir/keymap.json

# zsh:
local zshConfigDir=$configDir/zsh
copyFile zsh/zshenv $zshConfigDir/.zshenv
Expand Down
61 changes: 61 additions & 0 deletions zed/keymap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
// Zed keymap
//
// For information on binding keys, see the Zed
// documentation: https://zed.dev/docs/key-bindings
//
// To see the default key bindings run `zed: open default keymap`
// from the command palette.
[
{
"context": "VimControl && !menu",
"bindings": {
"ctrl-\\": "terminal_panel::ToggleFocus",
"space e": "pane::RevealInProjectPanel",
"space f": "file_finder::Toggle",
"space m p": "markdown::OpenPreview",
"space m P": "markdown::OpenPreviewToTheSide",
},
},
{
"context": "Editor && vim_mode == insert",
"bindings": {
"j k": "vim::NormalBefore",
},
},
{
"context": "Workspace",
"bindings": {
"ctrl-\\": "terminal_panel::ToggleFocus",
"space e": "workspace::ToggleRightDock",
"space g": "git_panel::ToggleFocus",
},
},
{
"context": "ProjectPanel && not_editing",
"bindings": {
"a": "project_panel::NewFile",
"A": "project_panel::NewDirectory",
"r": "project_panel::Rename",
"d": "project_panel::Delete",
"x": "project_panel::Cut",
"c": "project_panel::Copy",
"p": "project_panel::Paste",
"q": "workspace::ToggleRightDock",
},
},
{
"context": "Dock",
"bindings": {
"ctrl-w h": "workspace::ActivatePaneLeft",
"ctrl-w l": "workspace::ActivatePaneRight",
"ctrl-w k": "workspace::ActivatePaneUp",
"ctrl-w j": "workspace::ActivatePaneDown",
},
},
{
"context": "EmptyPane || SharedScreen",
"bindings": {
"space f": "file_finder::Toggle",
},
},
]
112 changes: 112 additions & 0 deletions zed/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
// Zed settings
//
// For information on how to configure Zed, see the Zed
// documentation: https://zed.dev/docs/configuring-zed
//
// To see all of Zed's default settings without changing your
// custom settings, run `zed: open default settings` from the
// command palette (cmd-shift-p / ctrl-shift-p)
{
"cli_default_open_behavior": "new_window",
"diagnostics": {
"inline": {
"enabled": true,
},
},
"agent": {
"default_model": {
"provider": "copilot_chat",
"model": "gpt-5-mini",
"enable_thinking": true,
"effort": "high",
},
"favorite_models": [
{
"provider": "copilot_chat",
"model": "gpt-5-mini",
"enable_thinking": true,
"effort": "high",
},
{
"provider": "copilot_chat",
"model": "gpt-5.4-mini",
"enable_thinking": true,
"effort": "high",
},
{
"provider": "copilot_chat",
"model": "claude-sonnet-4.6",
"enable_thinking": true,
"effort": "high",
},
{
"provider": "copilot_chat",
"model": "claude-haiku-4.5",
"enable_thinking": true,
},
],
"model_parameters": [],
},
"auto_install_extensions": {
"catppuccin": true,
"catppuccin-icons": true,
"csharp": true,
"dockerfile": true,
"docker-compose": true,
},
"file_types": {
"XML": ["csproj", "props", "proj", "slnx", "targets"],
},
"code_lens": "on",
"git": {
"inline_blame": {
"delay_ms": 1000,
},
"gutter_debounce": 2000,
},
"toolbar": {
"code_actions": true,
},
"terminal": {
"toolbar": {
"breadcrumbs": true,
},
},
"tabs": {
"file_icons": true,
"git_status": false,
},
"show_whitespaces": "all",
"colorize_brackets": true,
"auto_signature_help": true,
"show_signature_help_after_edits": true,
"minimap": {
"show": "auto",
},
"buffer_font_family": "JetBrainsMono Nerd Font Mono",
"which_key": {
"enabled": true,
},
"telemetry": {
"diagnostics": true,
"metrics": false,
},
"session": {
"trust_all_worktrees": true,
},
// https://zed.dev/docs/vim
"vim_mode": true,
"vim": {
"use_system_clipboard": "on_yank",
"highlight_on_yank_duration": 500,
},
"icon_theme": "Zed (Default)",
"ui_font_size": 16,
"buffer_font_size": 14.0,
"theme": {
"mode": "dark",
"light": "Catppuccin Latte",
"dark": "Catppuccin Macchiato",
},
"base_keymap": "VSCode",
}
Loading