diff --git a/homes/x86_64-linux/jo/apps/ghostty/default.nix b/homes/x86_64-linux/jo/apps/ghostty/default.nix new file mode 100644 index 0000000..df1b779 --- /dev/null +++ b/homes/x86_64-linux/jo/apps/ghostty/default.nix @@ -0,0 +1,4 @@ +{ ... }: +{ + programs.ghostty.enable = true; +} diff --git a/homes/x86_64-linux/jo/apps/zed/default.nix b/homes/x86_64-linux/jo/apps/zed/default.nix new file mode 100644 index 0000000..8a97b88 --- /dev/null +++ b/homes/x86_64-linux/jo/apps/zed/default.nix @@ -0,0 +1,9 @@ +{ ... }: +{ + puzzlevision.apps.zed = { + enable = true; + enable-nix = true; + enable-php = true; + enable-python = true; + }; +} diff --git a/homes/x86_64-linux/jo/default.nix b/homes/x86_64-linux/jo/default.nix index 14e9a9d..e54059d 100644 --- a/homes/x86_64-linux/jo/default.nix +++ b/homes/x86_64-linux/jo/default.nix @@ -9,23 +9,15 @@ ./apps/firefox ./apps/vicinae ./apps/packettracer + ./apps/ghostty + ./apps/zed ./desktop/gnome ]; puzzlevision = { themes.catppuccin.enable = true; - apps = { - zed.enable = true; - }; - - cli = { - direnv.enable = true; - }; - }; - - programs = { - ghostty.enable = true; + cli.direnv.enable = true; }; sops.secrets.wakatime-cfg = { @@ -36,12 +28,11 @@ home.packages = with pkgs; [ ## GENERAL - teams-for-linux enpass youtube-music + teams-for-linux ## EDITORS - apostrophe jetbrains.phpstorm obsidian @@ -55,5 +46,5 @@ shopware-cli ]; - home.stateVersion = "25.05"; + home.stateVersion = "25.11"; } diff --git a/modules/home/apps/zed/default.nix b/modules/home/apps/zed/default.nix index 3ef7090..e9588f1 100644 --- a/modules/home/apps/zed/default.nix +++ b/modules/home/apps/zed/default.nix @@ -13,7 +13,10 @@ let in { options.${namespace}.apps.zed = { - enable = mkEnableOption "zed, the graphical editor from the future"; + enable = mkEnableOption "Zed, the graphical editor from the future, with a sane base configuration."; + enable-nix = mkEnableOption "support for the Nix language, based on nixd, in Zed."; + enable-php = mkEnableOption "support for the PHP language, based on phpactor and pretty-php, in Zed."; + enable-python = mkEnableOption "support for the Python language, based on pylsp, in Zed."; }; config = mkIf cfg.enable { @@ -21,6 +24,19 @@ in enable = true; userSettings = { + ### Disable telemetry + telemetry = { + diagnostics = false; + metrics = false; + }; + + ### Disable collaborative features + show_call_status_icon = false; + collaboration_panel.button = false; + + ### Disable AI features + disable_ai = true; + ### Theme settings icon_theme = mkForce { dark = mkIf config.catppuccin.enable "Catppuccin Macchiato"; @@ -32,19 +48,6 @@ in light = mkIf config.catppuccin.enable "Catppuccin Latte (blue)"; }; - ### Disable telemetry - telemetry = { - diagnostics = false; - metrics = false; - }; - - ### Remove useless features and stuff - show_call_status_icon = false; - collaboration_panel.button = false; - - ### Disable AI features entirely - disable_ai = true; - ### Formatting and saving settings formatter = "language_server"; format_on_save = "on"; @@ -63,7 +66,7 @@ in ### Language specific configurations languages = { - Nix = { + Nix = mkIf cfg.enable-nix { language_servers = [ "nixd" "!nil" @@ -77,7 +80,7 @@ in tab_size = 2; }; - PHP = { + PHP = mkIf cfg.enable-php { language_servers = [ "phpactor" "!intelephense" @@ -101,11 +104,11 @@ in oxc = true; # Languages - nix = true; - php = true; + nix = mkIf cfg.enable-nix true; + php = mkIf cfg.enable-php true; sql = true; toml = true; - pylsp = true; # Python + pylsp = mkIf cfg.enable-python true; # Python fish = true; # Docker @@ -134,16 +137,22 @@ in extraPackages = with pkgs; [ ### Nix - nixd - nixfmt-rfc-style + (mkIf cfg.enable-nix [ + nixd + nixfmt-rfc-style + ]) ### Python - python3Packages.python-lsp-server + (mkIf cfg.enable-python [ + python3Packages.python-lsp-server + ]) ### PHP - php - phpPackages.composer - pretty-php + (mkIf cfg.enable-php [ + php + phpPackages.composer + pretty-php + ]) ### TypeScript/JavaScript oxlint