Initial commit
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
configFile = "zed/settings.json";
|
||||
languageConfig = import ./_settings.nix {inherit pkgs lib;};
|
||||
settingsJSON = builtins.toJSON ({
|
||||
node = {
|
||||
path = "${pkgs.nodejs}/bin/node";
|
||||
npm_path = "${pkgs.nodejs}/bin/npm";
|
||||
};
|
||||
audio = {"experimental.rodio_audio" = true;};
|
||||
calls.mute_on_join = true;
|
||||
terminal.font_size = 11;
|
||||
window_decorations = "client";
|
||||
use_system_window_tabs = false;
|
||||
tabs.git_status = false;
|
||||
title_bar = {
|
||||
show_menus = false;
|
||||
show_user_picture = false;
|
||||
show_user_menu = false;
|
||||
show_sign_in = true;
|
||||
show_onboarding_banner = false;
|
||||
show_project_items = true;
|
||||
show_branch_name = true;
|
||||
show_branch_icon = false;
|
||||
};
|
||||
debugger.button = false;
|
||||
colorize_brackets = true;
|
||||
inlay_hints = {
|
||||
show_background = true;
|
||||
enabled = true;
|
||||
};
|
||||
show_whitespaces = "selection";
|
||||
gutter.runnables = true;
|
||||
indent_guides = {
|
||||
background_coloring = "disabled";
|
||||
coloring = "fixed";
|
||||
};
|
||||
relative_line_numbers = "enabled";
|
||||
which_key.enabled = true;
|
||||
helix_mode = true;
|
||||
current_line_highlight = "all";
|
||||
hide_mouse = "never";
|
||||
multi_cursor_modifier = "cmd_or_ctrl";
|
||||
agent_ui_font_size = 15;
|
||||
agent_buffer_font_size = 11;
|
||||
session.trust_all_worktrees = true;
|
||||
redact_private_values = true;
|
||||
ui_font_family = "GT Pressura Mono Trial";
|
||||
buffer_font_features = {
|
||||
calt = true;
|
||||
dlig = true;
|
||||
liga = true;
|
||||
ss13 = true;
|
||||
ss15 = true;
|
||||
};
|
||||
buffer_font_fallbacks = ["Symbols Nerd Font"];
|
||||
buffer_font_size = 12;
|
||||
scrollbar.show = "never";
|
||||
tab_bar.show = false;
|
||||
toolbar = {
|
||||
agent_review = false;
|
||||
quick_actions = false;
|
||||
};
|
||||
vim_mode = false;
|
||||
theme = {
|
||||
mode = "system";
|
||||
light = "Noctalia Light";
|
||||
dark = "Noctalia Dark";
|
||||
};
|
||||
icon_theme = "Catppuccin Mocha";
|
||||
project_panel.dock = "left";
|
||||
unnecessary_code_fade = 0.9;
|
||||
restore_on_startup = "last_session";
|
||||
auto_update = false;
|
||||
telemetry = {
|
||||
diagnostics = false;
|
||||
metrics = false;
|
||||
};
|
||||
edit_predictions_disabled_in = ["comments"];
|
||||
preview_tabs.enabled = false;
|
||||
format_on_save = "on";
|
||||
tab_size = 2;
|
||||
features.edit_prediction_provider = "copilot";
|
||||
agent = {
|
||||
play_sound_when_agent_done = false;
|
||||
default_profile = "write";
|
||||
always_allow_tool_actions = false;
|
||||
dock = "right";
|
||||
default_model = {
|
||||
provider = "openrouter";
|
||||
model = "mistralai/devstral-2512:free";
|
||||
};
|
||||
commit_message_model = {
|
||||
provider = "openrouter";
|
||||
model = "mistralai/devstral-2512:free";
|
||||
};
|
||||
thread_summary_model = {
|
||||
provider = "openrouter";
|
||||
model = "mistralai/devstral-2512:free";
|
||||
};
|
||||
};
|
||||
}
|
||||
// languageConfig);
|
||||
lspPackages = with pkgs; [
|
||||
# Language Server Protocol
|
||||
astro-language-server
|
||||
biome
|
||||
marksman
|
||||
nil
|
||||
tailwindcss-language-server
|
||||
vue-language-server
|
||||
# Formatters
|
||||
alejandra
|
||||
oxfmt
|
||||
shfmt
|
||||
# Node.js (required for Zed LSP node integration)
|
||||
nodejs
|
||||
];
|
||||
lspBinPath = pkgs.buildEnv {
|
||||
name = "zed-lsp-env";
|
||||
paths = lspPackages;
|
||||
pathsToLink = ["/bin"];
|
||||
};
|
||||
zedWithLSP = pkgs.symlinkJoin {
|
||||
name = "zed-with-lsp";
|
||||
paths = [pkgs.zed-editor];
|
||||
buildInputs = [pkgs.makeWrapper];
|
||||
postBuild = ''
|
||||
rm -rf $out/bin
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${pkgs.zed-editor}/bin/zeditor $out/bin/zeditor \
|
||||
--prefix PATH : ${lspBinPath}/bin
|
||||
for bin in ${pkgs.zed-editor}/bin/*; do
|
||||
if [ "$(basename $bin)" != "zeditor" ]; then
|
||||
ln -s $bin $out/bin/$(basename $bin)
|
||||
fi
|
||||
done
|
||||
'';
|
||||
};
|
||||
in {
|
||||
users.users.someone.packages = [
|
||||
zedWithLSP
|
||||
];
|
||||
xdg.configFile."${configFile}" = {
|
||||
text = settingsJSON;
|
||||
mutable = true;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user