From e255edd80c2664680a3bf821a1d90662a6eac5cf Mon Sep 17 00:00:00 2001
From: willifan <willifan@pm.me>
Date: Sat, 4 Jan 2025 00:44:40 +0100
Subject: [PATCH] added jetbrains IDEs

---
 hosts/Lenni/default.nix                    | 1 +
 hosts/Puenktchen/default.nix               | 1 +
 modules/default/common/desktop/default.nix | 1 +
 modules/default/common/desktop/dev.nix     | 8 ++++++++
 modules/default/common/options.nix         | 5 +++++
 5 files changed, 16 insertions(+)
 create mode 100644 modules/default/common/desktop/dev.nix

diff --git a/hosts/Lenni/default.nix b/hosts/Lenni/default.nix
index 4e04e63..d9d3db6 100644
--- a/hosts/Lenni/default.nix
+++ b/hosts/Lenni/default.nix
@@ -12,6 +12,7 @@
 
   desktop = {
     enable = true;
+    dev.enable = true;
     windowManager = "niri-session";
     hyprland.enable = false;
   };
diff --git a/hosts/Puenktchen/default.nix b/hosts/Puenktchen/default.nix
index 97440b4..be6471e 100644
--- a/hosts/Puenktchen/default.nix
+++ b/hosts/Puenktchen/default.nix
@@ -10,6 +10,7 @@
 
   desktop = {
     enable = true;
+    dev.enable = true;
     emulation.enable = true;
     hyprlock.enable = false;
     hypridle.enable = false;
diff --git a/modules/default/common/desktop/default.nix b/modules/default/common/desktop/default.nix
index 352e402..cd7b1a7 100644
--- a/modules/default/common/desktop/default.nix
+++ b/modules/default/common/desktop/default.nix
@@ -4,6 +4,7 @@
     ./applications.nix
     ./autostart.nix
     ./boot.nix
+    ./dev.nix
     ./keyboard.nix
     ./nfs-client.nix
     ./nix-ld.nix
diff --git a/modules/default/common/desktop/dev.nix b/modules/default/common/desktop/dev.nix
new file mode 100644
index 0000000..3c5291d
--- /dev/null
+++ b/modules/default/common/desktop/dev.nix
@@ -0,0 +1,8 @@
+{ lib, config, pkgs, ... }:
+lib.mkIf config.desktop.dev.enable {
+
+  environment.systemPackages = with pkgs; [
+    jetbrains.rust-rover
+    jetbrains.pycharm-community-bin
+  ];
+}
diff --git a/modules/default/common/options.nix b/modules/default/common/options.nix
index bc3755d..e36f006 100644
--- a/modules/default/common/options.nix
+++ b/modules/default/common/options.nix
@@ -13,6 +13,11 @@
         type = lib.types.bool;
       };
 
+      dev.enable = lib.mkOption {
+        default = false;
+        type = lib.types.bool;
+      };
+
       windowManager = lib.mkOption {
         default = "Hyprland";
         type = lib.types.str;