Add devenv and jetbrains IDE

This commit is contained in:
Laurent Gueret
2026-01-29 12:31:18 +01:00
parent 7dfad1672f
commit 15aba587c3
14 changed files with 255 additions and 3 deletions
+22
View File
@@ -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
];
};
}
+7
View File
@@ -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";
}
+4 -1
View File
@@ -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";
};
@@ -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
];
};
}
@@ -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
];
};
}
@@ -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
];
};
}
@@ -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
];
};
}
@@ -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
];
};
}
@@ -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
];
};
}
@@ -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 {
@@ -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
];
};
}
@@ -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
];
};
}
@@ -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
];
};
}
@@ -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
];
};
}