From 9c6bc0630ddd1b12cee3b95fe39538dcf7f33f41 Mon Sep 17 00:00:00 2001 From: punkfairie Date: Sat, 31 May 2025 17:25:13 -0700 Subject: [PATCH] feat: phpstorm --- flake/config.nix | 1 - modules/darwin/profiles.nix | 1 + modules/darwin/programs/default.nix | 1 + modules/darwin/programs/phpstorm.nix | 13 +++++++ modules/home/profiles.nix | 1 + modules/home/programs/default.nix | 1 + .../home/programs}/phpstorm/.ideavimrc | 4 +-- modules/home/programs/phpstorm/default.nix | 34 +++++++++++++++++++ overlays/jetbrains.nix | 9 +++-- .../home/programs/gui/phpstorm/default.nix | 22 ------------ 10 files changed, 60 insertions(+), 27 deletions(-) create mode 100644 modules/darwin/programs/phpstorm.nix rename {snowflake/modules/home/programs/gui => modules/home/programs}/phpstorm/.ideavimrc (99%) create mode 100644 modules/home/programs/phpstorm/default.nix delete mode 100644 snowflake/modules/home/programs/gui/phpstorm/default.nix diff --git a/flake/config.nix b/flake/config.nix index 9c707ed..10335f4 100644 --- a/flake/config.nix +++ b/flake/config.nix @@ -15,7 +15,6 @@ # TODO: Move these to custom modules overlays = [ - (import ./overlays/jetbrains.nix {inherit inputs;}) (import ./overlays/wezterm.nix {inherit inputs;}) ]; }; diff --git a/modules/darwin/profiles.nix b/modules/darwin/profiles.nix index 03b7757..7c8e28a 100644 --- a/modules/darwin/profiles.nix +++ b/modules/darwin/profiles.nix @@ -6,6 +6,7 @@ in { fish = enabled; floorp = enabled; nh = enabled; + phpstorm = enabled; wezterm = enabled; wireguard = enabled; }; diff --git a/modules/darwin/programs/default.nix b/modules/darwin/programs/default.nix index e60b321..0a0edd1 100644 --- a/modules/darwin/programs/default.nix +++ b/modules/darwin/programs/default.nix @@ -3,6 +3,7 @@ ./fish.nix ./floorp.nix ./nh.nix + ./phpstorm.nix ./wezterm.nix ./wireguard.nix ]; diff --git a/modules/darwin/programs/phpstorm.nix b/modules/darwin/programs/phpstorm.nix new file mode 100644 index 0000000..d9e14c2 --- /dev/null +++ b/modules/darwin/programs/phpstorm.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + cfg = config.marleyos.programs.phpstorm; +in { + options.marleyos.programs.phpstorm.enable = lib.mkEnableOption "phpstorm"; + + config = lib.mkIf cfg.enable { + homebrew.casks = ["phpstorm"]; + }; +} diff --git a/modules/home/profiles.nix b/modules/home/profiles.nix index a773cb1..5409e95 100644 --- a/modules/home/profiles.nix +++ b/modules/home/profiles.nix @@ -60,6 +60,7 @@ in { nemo = enabled; neo = enabled; neovim = enabled; + phpstorm = enabled; superfile = enabled; tea = enabled; }; diff --git a/modules/home/programs/default.nix b/modules/home/programs/default.nix index 983f732..d88d035 100644 --- a/modules/home/programs/default.nix +++ b/modules/home/programs/default.nix @@ -35,6 +35,7 @@ ./neo.nix ./neovim.nix ./nh.nix + ./phpstorm ./ripgrep.nix ./ssh.nix ./starship diff --git a/snowflake/modules/home/programs/gui/phpstorm/.ideavimrc b/modules/home/programs/phpstorm/.ideavimrc similarity index 99% rename from snowflake/modules/home/programs/gui/phpstorm/.ideavimrc rename to modules/home/programs/phpstorm/.ideavimrc index cd5d267..4b36703 100644 --- a/snowflake/modules/home/programs/gui/phpstorm/.ideavimrc +++ b/modules/home/programs/phpstorm/.ideavimrc @@ -357,7 +357,7 @@ nmap so (ShowSettings) " Quickfix List nmap sq (ActivateProblemsViewToolWindow) " Resume -nmap sR :echo 'Not yet implmented.' +nmap sR :echo 'Not yet implemented.' " Goto Symbol nmap ss (GotoSymbol) " Goto Symbol (Workspace) @@ -405,7 +405,7 @@ nmap dp (Pause) " Toggle REPL nmap dr (JShell.Console) " Session -nmap ds :echo 'Not yet implmented.' +nmap ds :echo 'Not yet implemented.' " Terminate nmap dt (Stop) " Widgets diff --git a/modules/home/programs/phpstorm/default.nix b/modules/home/programs/phpstorm/default.nix new file mode 100644 index 0000000..1a57f67 --- /dev/null +++ b/modules/home/programs/phpstorm/default.nix @@ -0,0 +1,34 @@ +{ + marleylib, + config, + osConfig, + lib, + pkgs, + inputs, + ... +}: let + inherit (marleylib.module) mkEnableOption'; + + cfg = config.marleyos.programs.phpstorm; + osCfg = osConfig.marleyos.programs.phpstorm.enable or false; +in { + options.marleyos.programs.phpstorm.enable = mkEnableOption' "phpstorm" osCfg; + + config = lib.mkIf cfg.enable { + # JetBrains products are unfree. + nixpkgs = { + config.allowUnfree = lib.mkIf pkgs.stdenv.isLinux (lib.mkForce true); + + overlays = [ + (import ../../../../overlays/jetbrains.nix {inherit inputs;}) + ]; + }; + + home.packages = lib.mkIf pkgs.stdenv.isLinux (with pkgs; [ + # jetbrains.phpstorm + marleyos.phpstorm-with-node + ]); + + home.file.".ideavimrc".source = ./.ideavimrc; + }; +} diff --git a/overlays/jetbrains.nix b/overlays/jetbrains.nix index 7572db3..50ce2b0 100644 --- a/overlays/jetbrains.nix +++ b/overlays/jetbrains.nix @@ -1,3 +1,8 @@ -{inputs}: _: _: { - inherit (inputs.nixpkgs-unstable) jetbrains jetbrains-toolbox; +{inputs}: final: _: let + unstable = import inputs.nixpkgs-unstable { + inherit (final) system; + config.allowUnfree = true; + }; +in { + inherit (unstable) jetbrains jetbrains-toolbox; } diff --git a/snowflake/modules/home/programs/gui/phpstorm/default.nix b/snowflake/modules/home/programs/gui/phpstorm/default.nix deleted file mode 100644 index 2c98fb0..0000000 --- a/snowflake/modules/home/programs/gui/phpstorm/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - lib, - config, - pkgs, - ... -}: let - cfg = config.marleyos.programs.phpstorm; -in { - options.marleyos.programs.phpstorm.enable = lib.mkEnableOption "phpstorm"; - - config = lib.mkIf cfg.enable { - # JetBrains products are unfree. - nixpkgs.config.allowUnfree = lib.mkForce true; - - home.packages = with pkgs; [ - # jetbrains.phpstorm - marleyos.phpstorm-with-node - ]; - - home.file.".ideavimrc".source = ./.ideavimrc; - }; -}