From 1899f6baa871e7bb4dba2ec70ca61f09d4dcccdf Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Wed, 13 May 2026 14:18:20 +0200 Subject: [PATCH] Modules/Zed: Init zed-editor module --- home/christoph/nixinator/default.nix | 3 +- home/homemodules/default.nix | 1 + home/homemodules/zed/default.nix | 81 +++++++++++++++++++ home/homemodules/zed/options.nix | 7 ++ system/systemmodules/impermanence/default.nix | 5 +- 5 files changed, 94 insertions(+), 3 deletions(-) create mode 100644 home/homemodules/zed/default.nix create mode 100644 home/homemodules/zed/options.nix diff --git a/home/christoph/nixinator/default.nix b/home/christoph/nixinator/default.nix index 636346ba..e5d43fc6 100644 --- a/home/christoph/nixinator/default.nix +++ b/home/christoph/nixinator/default.nix @@ -19,6 +19,7 @@ waybar.monitors = ["DP-1" "DP-2"]; vscode.enable = true; + zed.enable = true; }; home = let @@ -77,7 +78,7 @@ # jetbrains.webstorm # jetbrains.rider # ghidra # launch with _JAVA_AWT_WM_NONREPARENTING=1 (use programs.ghidra) - zed-editor # TODO: Module + # zed-editor # Using module # vscode # Using module # Unity Stuff diff --git a/home/homemodules/default.nix b/home/homemodules/default.nix index d12ea25e..10d6e9fc 100644 --- a/home/homemodules/default.nix +++ b/home/homemodules/default.nix @@ -34,6 +34,7 @@ ./vscode ./yazi ./zathura + ./zed # HM modules imported from the flake inputs inputs.nix-flatpak.homeManagerModules.nix-flatpak diff --git a/home/homemodules/zed/default.nix b/home/homemodules/zed/default.nix new file mode 100644 index 00000000..3abfe1e0 --- /dev/null +++ b/home/homemodules/zed/default.nix @@ -0,0 +1,81 @@ +{ + config, + nixosConfig, + lib, + mylib, + pkgs, + ... +}: let + inherit (config.homemodules) zed color; +in { + options.homemodules.zed = import ./options.nix {inherit lib mylib;}; + + config = lib.mkIf zed.enable { + programs.zed-editor = { + enable = true; + package = pkgs.zed-editor; + mutableUserKeymaps = false; + mutableUserSettings = false; + mutableUserTasks = false; + mutableUserDebug = false; + + extensions = [ + "catppuccin" + "catppuccin-icons" + "dockerfile" + "docker-compose" + + # "html" + # "make" + # "nix" + "just" + "perl" + "assembly" + "wat" + ]; + + themes = {}; + userDebug = []; + + userKeymaps = [ + { + context = "Workspace"; + bindings = { + ctrl-shift-t = "workspace::NewTerminal"; + }; + } + ]; + + userSettings = { + buffer_font_family = config.homemodules.color.font; + terminal.font_family = config.homemodules.color.font; + theme = "Catppuccin Mocha"; + icon_theme = "Catppuccin Mocha"; + ui_font_size = 16; + buffer_font_size = 14; + + project_panel.dock = "left"; + outline_panel.dock = "left"; + collaboration_panel.dock = "left"; + git_panel.dock = "left"; + agent.dock = "right"; + + disable_ai = true; + auto_signature_help = true; + + telemetry = { + diagnostics = false; + metrics = false; + }; + + vim_mode = true; + whick_key = { + enabled = true; + delay_ms = 10; + }; + }; + + userTasks = []; + }; + }; +} diff --git a/home/homemodules/zed/options.nix b/home/homemodules/zed/options.nix new file mode 100644 index 00000000..c3d0442c --- /dev/null +++ b/home/homemodules/zed/options.nix @@ -0,0 +1,7 @@ +{ + lib, + mylib, + ... +}: { + enable = lib.mkEnableOption "Enable zed editor"; +} diff --git a/system/systemmodules/impermanence/default.nix b/system/systemmodules/impermanence/default.nix index ad0b4477..772d6fb7 100644 --- a/system/systemmodules/impermanence/default.nix +++ b/system/systemmodules/impermanence/default.nix @@ -136,6 +136,7 @@ in { (mkUDir ".tiddl" m755) (mkUDir ".var/app" m755) (mkUDir ".vim/undo" m755) + # (mkUDir ".vscode" m755) (mkUDir ".zotero" m755) # Cache that's actually useful @@ -176,7 +177,7 @@ in { (mkUDir ".config/Vector 35" m755) (mkUDir ".config/vlc" m755) (mkUDir ".config/Zeal" m755) - (mkUDir ".config/zed" m755) + # (mkUDir ".config/zed" m755) # Share # (mkUDir ".local/share/containers" m755) # Rootless docker @@ -200,7 +201,7 @@ in { (mkUDir ".local/share/qutebrowser" m755) (mkUDir ".local/share/systemd" m755) # (mkUDir ".local/share/unity3d" m755) # Unity - (mkUDir ".local/share/zed" m755) + # (mkUDir ".local/share/zed" m755) (mkUDir ".local/share/zoxide" m755) # State