diff --git a/home/programs/editors/zed/default.nix b/home/programs/editors/zed/default.nix new file mode 100644 index 0000000..2080f30 --- /dev/null +++ b/home/programs/editors/zed/default.nix @@ -0,0 +1,22 @@ +{pkgs, ...}: { + imports = [./usersettings.nix ./userkeymap.nix]; + programs.zed-editor = { + enable = false; + package = pkgs.zed-editor.fhsWithPackages (pkgs: [pkgs.zlib pkgs.openssl]); + extensions = [ + "html" + "catppuccin" + "toml" + "git-firefly" + "latex" + "svelte" + "scss" + "nix" + "env" + "discord-presence" + "wakatime" + "nu" + "gosum" + ]; + }; +} diff --git a/home/programs/editors/zed/userkeymap.nix b/home/programs/editors/zed/userkeymap.nix new file mode 100644 index 0000000..3a75e29 --- /dev/null +++ b/home/programs/editors/zed/userkeymap.nix @@ -0,0 +1,15 @@ +_: { + programs.zed-editor.userKeymaps = [ + { + context = "Workspace"; + bindings = { + ctrl-shift-t = "workspace::NewTerminal"; + }; + } + { + context = "Editor"; + bindings = { + }; + } + ]; +} diff --git a/home/programs/editors/zed/usersettings.nix b/home/programs/editors/zed/usersettings.nix new file mode 100644 index 0000000..eb38820 --- /dev/null +++ b/home/programs/editors/zed/usersettings.nix @@ -0,0 +1,54 @@ +_: { + programs.zed-editor.userSettings = { + ui_font_size = 16; + ui_font_family = "JetBrainsMono Nerd Font"; + buffer_font_size = 16; + buffer_font_family = "JetBrainsMono Nerd Font"; + relative_line_numbers = true; + hour_format = "hour24"; + shell = "nu"; + tabs = { + file_icons = true; + git_status = true; + }; + indent_guides = { + enable = true; + }; + inlay_hints = { + enable = true; + }; + telemetry = { + diagnostics = false; + metrics = false; + }; + assistant = { + default_model = { + provider = "copilot_chat"; + model = "gpt-4o"; + }; + version = "2"; + }; + languages = { + Nix = { + language_servers = ["nil"]; + formatter = { + external = { + command = "alejandra"; + arguments = ["--quiet" "--"]; + }; + }; + }; + lsp = { + discord_presence = { + initialization_options = { + git_integration = false; + rules = { + mode = "blacklist"; + paths = ["/home/notoh/dev/ec" "/home/notoh/dev/yamilol"]; + }; + }; + }; + }; + }; + }; +}