From 3e614b72e3c3dcfc84a5d7c397015ab6a73d8fc0 Mon Sep 17 00:00:00 2001 From: dish Date: Thu, 27 Feb 2025 20:54:15 -0500 Subject: [PATCH] [home.profiles] gui: config zed and disable vscode by default --- .../thehedgehog@zaphod/default.nix | 4 -- modules/home/profiles/gui/default.nix | 3 +- modules/home/programs/vscodium/default.nix | 2 +- modules/home/programs/zed-editor/default.nix | 34 +++++++++++++ modules/home/programs/zed-editor/settings.nix | 50 +++++++++++++++++++ 5 files changed, 87 insertions(+), 6 deletions(-) create mode 100644 modules/home/programs/zed-editor/default.nix create mode 100644 modules/home/programs/zed-editor/settings.nix diff --git a/homes/x86_64-linux/thehedgehog@zaphod/default.nix b/homes/x86_64-linux/thehedgehog@zaphod/default.nix index 4ad72395..e65f4130 100644 --- a/homes/x86_64-linux/thehedgehog@zaphod/default.nix +++ b/homes/x86_64-linux/thehedgehog@zaphod/default.nix @@ -8,10 +8,6 @@ }; home.packages = [ pkgs.mindustry - (pkgs.zed-editor.fhsWithPackages (pkgs: [ - pkgs.zlib - pkgs.openssl - ])) ]; py.profiles.desktop.enable = true; py.services.kanshi.settings = [ diff --git a/modules/home/profiles/gui/default.nix b/modules/home/profiles/gui/default.nix index 3f2690f2..8da1d585 100644 --- a/modules/home/profiles/gui/default.nix +++ b/modules/home/profiles/gui/default.nix @@ -22,8 +22,9 @@ in ghostty.enable = mkDefault true; kitty.enable = mkDefault false; obs.enable = mkDefault true; - vscodium.enable = mkDefault true; + vscodium.enable = mkDefault false; wlogout.enable = mkDefault true; + zed-editor.enable = mkDefault true; }; services = { gpg-agent.enable = mkDefault true; diff --git a/modules/home/programs/vscodium/default.nix b/modules/home/programs/vscodium/default.nix index 9810e0a6..e9dd4790 100644 --- a/modules/home/programs/vscodium/default.nix +++ b/modules/home/programs/vscodium/default.nix @@ -12,7 +12,7 @@ in config.programs.vscode = lib.mkIf cfg.enable { enable = true; package = pkgs.vscode; - userSettings = { + profiles.default.userSettings = { "biome.lspBin" = ""; "breadcrumbs.enabled" = false; "editor.formatOnPaste" = true; diff --git a/modules/home/programs/zed-editor/default.nix b/modules/home/programs/zed-editor/default.nix new file mode 100644 index 00000000..33cea993 --- /dev/null +++ b/modules/home/programs/zed-editor/default.nix @@ -0,0 +1,34 @@ +{ + pkgs, + lib, + config, + ... +}: +let + cfg = config.py.programs.zed-editor; +in +{ + options.py.programs.zed-editor.enable = lib.mkEnableOption "Zed Editor"; + config.programs.zed-editor = lib.mkIf cfg.enable { + enable = true; + package = pkgs.zed-editor.fhsWithPackages (pkgs: [ + pkgs.zlib + pkgs.openssl + ]); + userSettings = import ./settings.nix; + extensions = [ + "catppuccin" + "catppuccin-icons" + "git-firefly" + "nix" + "ruff" + "fish" + "just" + "discord-presence" + "wakatime" + "mermaid" + "caddyfile" + "vento" + ]; + }; +} diff --git a/modules/home/programs/zed-editor/settings.nix b/modules/home/programs/zed-editor/settings.nix new file mode 100644 index 00000000..1361e0cf --- /dev/null +++ b/modules/home/programs/zed-editor/settings.nix @@ -0,0 +1,50 @@ +{ + terminal.dock = "bottom"; + icon_theme = "Catppuccin Mocha"; + theme = "Catppuccin Mocha"; + vim_mode = true; + ui_font_size = 15; + buffer_font_family = "BlexMono Nerd Font"; + buffer_font_size = 15; + auto_update = false; + features = { + edit_prediction_provider = "none"; + copilot = false; + }; + assistant = { + enabled = false; + button = false; + version = "2"; + }; + telemetry = { + metrics = false; + diagnostics = false; + }; + load_direnv = "direct"; + show_edit_predictions = false; + tabs = { + file_icons = true; + git_status = true; + show_diagnostics = "errors"; + }; + git_panel.button = true; + lsp.deno.settings.deno.enable = true; + + languages = { + Vento = { + enable_language_server = true; + language_servers = ["vscode-html-language-server"]; + format_on_save = "on"; + formatter.external = { + command = "deno"; + arguments = ["task" "fmt" "--stdin" "{buffer_path}"]; + }; + }; + TypeScript = { + enable_language_server = true; + language_servers = ["deno" "!typescript-language-server" "!vtsls" "!eslint"]; + formatter = "language_server"; + prettier.allowed = false; + }; + }; +} -- 2.54.0