diff --git a/modules/system/options/apps/devenv.nix b/modules/system/options/apps/devenv.nix new file mode 100644 index 0000000..b744727 --- /dev/null +++ b/modules/system/options/apps/devenv.nix @@ -0,0 +1,22 @@ +{ + pkgs, + lib, + config, + ... +}: +with lib; +let + cfg = config.os.shell.devenv; +in +{ + options.os.shell.devenv = { + enable = mkEnableOption "System devenv service"; + }; + config = mkIf cfg.enable { + + environment.systemPackages = with pkgs; [ + devenv + ]; + + }; +} diff --git a/modules/system/os.nix b/modules/system/os.nix index ed6cdd9..f874762 100755 --- a/modules/system/os.nix +++ b/modules/system/os.nix @@ -1,6 +1,10 @@ { ... }: { + nix.settings.trusted-users = [ + "root" + "alistreaza" + ]; nix.settings.experimental-features = "nix-command flakes"; # System services @@ -27,6 +31,9 @@ os.virtualisation.cuda.enable = true; os.virtualisation.podman.enable = true; + # Dev + os.shell.devenv.enable = true; + # System version system.stateVersion = "25.11"; } diff --git a/modules/users/home.nix b/modules/users/home.nix index 1a2e4c0..498b1f1 100644 --- a/modules/users/home.nix +++ b/modules/users/home.nix @@ -19,7 +19,10 @@ }; os.ide.zed.enable = true; - os.ide.jetbrains.enable = true; + + os.ide.jetbrains.pycharm.enable = true; + os.ide.jetbrains.clion.enable = true; + os.ide.jetbrains.rustrover.enable = true; home.stateVersion = "25.11"; }; diff --git a/modules/users/options/ide/jetbrains/clion.nix b/modules/users/options/ide/jetbrains/clion.nix new file mode 100644 index 0000000..2326698 --- /dev/null +++ b/modules/users/options/ide/jetbrains/clion.nix @@ -0,0 +1,22 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.os.ide.jetbrains.clion; +in +{ + options.os.ide.jetbrains.clion = { + enable = mkEnableOption "JetBrains options"; + }; + config = mkIf cfg.enable { + + home.packages = with pkgs.unstable; [ + jetbrains.clion + ]; + + }; +} diff --git a/modules/users/options/ide/jetbrains/datagrip.nix b/modules/users/options/ide/jetbrains/datagrip.nix new file mode 100644 index 0000000..1979db2 --- /dev/null +++ b/modules/users/options/ide/jetbrains/datagrip.nix @@ -0,0 +1,22 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.os.ide.jetbrains.datagrip; +in +{ + options.os.ide.jetbrains.datagrip = { + enable = mkEnableOption "JetBrains options"; + }; + config = mkIf cfg.enable { + + home.packages = with pkgs.unstable; [ + jetbrains.datagrip + ]; + + }; +} diff --git a/modules/users/options/ide/jetbrains/dataspell.nix b/modules/users/options/ide/jetbrains/dataspell.nix new file mode 100644 index 0000000..3cc8767 --- /dev/null +++ b/modules/users/options/ide/jetbrains/dataspell.nix @@ -0,0 +1,22 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.os.ide.jetbrains.dataspell; +in +{ + options.os.ide.jetbrains.dataspell = { + enable = mkEnableOption "JetBrains options"; + }; + config = mkIf cfg.enable { + + home.packages = with pkgs.unstable; [ + jetbrains.dataspell + ]; + + }; +} diff --git a/modules/users/options/ide/jetbrains/goland.nix b/modules/users/options/ide/jetbrains/goland.nix new file mode 100644 index 0000000..b7a25e6 --- /dev/null +++ b/modules/users/options/ide/jetbrains/goland.nix @@ -0,0 +1,22 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.os.ide.jetbrains.goland; +in +{ + options.os.ide.jetbrains.goland = { + enable = mkEnableOption "JetBrains options"; + }; + config = mkIf cfg.enable { + + home.packages = with pkgs.unstable; [ + jetbrains.goland + ]; + + }; +} diff --git a/modules/users/options/ide/jetbrains/idea.nix b/modules/users/options/ide/jetbrains/idea.nix new file mode 100644 index 0000000..c28bb65 --- /dev/null +++ b/modules/users/options/ide/jetbrains/idea.nix @@ -0,0 +1,22 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.os.ide.jetbrains.idea; +in +{ + options.os.ide.jetbrains.idea = { + enable = mkEnableOption "JetBrains options"; + }; + config = mkIf cfg.enable { + + home.packages = with pkgs.unstable; [ + jetbrains.idea + ]; + + }; +} diff --git a/modules/users/options/ide/jetbrains/phpstorm.nix b/modules/users/options/ide/jetbrains/phpstorm.nix new file mode 100644 index 0000000..d4a2420 --- /dev/null +++ b/modules/users/options/ide/jetbrains/phpstorm.nix @@ -0,0 +1,22 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.os.ide.jetbrains.phpstorm; +in +{ + options.os.ide.jetbrains.phpstorm = { + enable = mkEnableOption "JetBrains options"; + }; + config = mkIf cfg.enable { + + home.packages = with pkgs.unstable; [ + jetbrains.phpstorm + ]; + + }; +} diff --git a/modules/users/options/ide/jetbrains/pycharm.nix b/modules/users/options/ide/jetbrains/pycharm.nix index 6a63dd1..ad941aa 100644 --- a/modules/users/options/ide/jetbrains/pycharm.nix +++ b/modules/users/options/ide/jetbrains/pycharm.nix @@ -6,10 +6,10 @@ }: with lib; let - cfg = config.os.ide.jetbrains; + cfg = config.os.ide.jetbrains.pycharm; in { - options.os.ide.jetbrains = { + options.os.ide.jetbrains.pycharm = { enable = mkEnableOption "JetBrains options"; }; config = mkIf cfg.enable { diff --git a/modules/users/options/ide/jetbrains/rider.nix b/modules/users/options/ide/jetbrains/rider.nix new file mode 100644 index 0000000..166c37c --- /dev/null +++ b/modules/users/options/ide/jetbrains/rider.nix @@ -0,0 +1,22 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.os.ide.jetbrains.rider; +in +{ + options.os.ide.jetbrains.rider = { + enable = mkEnableOption "JetBrains options"; + }; + config = mkIf cfg.enable { + + home.packages = with pkgs.unstable; [ + jetbrains.rider + ]; + + }; +} diff --git a/modules/users/options/ide/jetbrains/rubymine.nix b/modules/users/options/ide/jetbrains/rubymine.nix new file mode 100644 index 0000000..98e9340 --- /dev/null +++ b/modules/users/options/ide/jetbrains/rubymine.nix @@ -0,0 +1,22 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.os.ide.jetbrains.rubymine; +in +{ + options.os.ide.jetbrains.rubymine = { + enable = mkEnableOption "JetBrains options"; + }; + config = mkIf cfg.enable { + + home.packages = with pkgs.unstable; [ + jetbrains.ruby-mine + ]; + + }; +} diff --git a/modules/users/options/ide/jetbrains/rustrover.nix b/modules/users/options/ide/jetbrains/rustrover.nix new file mode 100644 index 0000000..3fb0c02 --- /dev/null +++ b/modules/users/options/ide/jetbrains/rustrover.nix @@ -0,0 +1,22 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.os.ide.jetbrains.rustrover; +in +{ + options.os.ide.jetbrains.rustrover = { + enable = mkEnableOption "JetBrains options"; + }; + config = mkIf cfg.enable { + + home.packages = with pkgs.unstable; [ + jetbrains.rust-rover + ]; + + }; +} diff --git a/modules/users/options/ide/jetbrains/webstorm.nix b/modules/users/options/ide/jetbrains/webstorm.nix new file mode 100644 index 0000000..40062a8 --- /dev/null +++ b/modules/users/options/ide/jetbrains/webstorm.nix @@ -0,0 +1,22 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +let + cfg = config.os.ide.jetbrains.webstorm; +in +{ + options.os.ide.jetbrains.webstorm = { + enable = mkEnableOption "JetBrains options"; + }; + config = mkIf cfg.enable { + + home.packages = with pkgs.unstable; [ + jetbrains.webstorm + ]; + + }; +}