Compare commits

..
2 Commits
Author SHA1 Message Date
Laurent Gueret 15aba587c3 Add devenv and jetbrains IDE 2026-01-29 12:31:18 +01:00
Laurent Gueret 7dfad1672f Change in folders organisation 2026-01-29 11:04:36 +01:00
36 changed files with 302 additions and 114 deletions
Generated
+7 -103
View File
@@ -54,64 +54,18 @@
"type": "github" "type": "github"
} }
}, },
"nix-software-center": {
"inputs": {
"nixos-appstream-data": "nixos-appstream-data",
"nixpkgs": "nixpkgs",
"utils": "utils"
},
"locked": {
"lastModified": 1730517716,
"narHash": "sha256-hq3jlW5lyT2RkWhJ2/Oo+dt9FXtJ47zDDBBk8A8abMo=",
"owner": "snowfallorg",
"repo": "nix-software-center",
"rev": "216eb549f1ec222c2877d2194f2987527954f2c4",
"type": "github"
},
"original": {
"owner": "snowfallorg",
"repo": "nix-software-center",
"type": "github"
}
},
"nixos-appstream-data": {
"inputs": {
"flake-utils": [
"nix-software-center",
"utils"
],
"nixpkgs": [
"nix-software-center",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712858390,
"narHash": "sha256-XE7gr+zU3N4SHPAhsgk8cVAFp1iBg+Lxxp3y4dUF1vE=",
"owner": "korfuri",
"repo": "nixos-appstream-data",
"rev": "0465d42a4433faa63b7a5eb0b8d397937c9fc13a",
"type": "github"
},
"original": {
"owner": "korfuri",
"ref": "flake",
"repo": "nixos-appstream-data",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1692638711, "lastModified": 1769089682,
"narHash": "sha256-J0LgSFgJVGCC1+j5R2QndadWI1oumusg6hCtYAzLID4=", "narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=",
"owner": "NixOS", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "91a22f76cd1716f9d0149e8a5c68424bb691de15", "rev": "078d69f03934859a181e81ba987c2bb033eebfc5",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-25.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -147,64 +101,14 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1769089682,
"narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "078d69f03934859a181e81ba987c2bb033eebfc5",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"home-manager": "home-manager", "home-manager": "home-manager",
"import-tree": "import-tree", "import-tree": "import-tree",
"nix-software-center": "nix-software-center", "nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable" "nixpkgs-unstable": "nixpkgs-unstable"
} }
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1689068808,
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",
+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
];
};
}
-4
View File
@@ -13,10 +13,6 @@ in
enable = true; enable = true;
config = { config = {
init.defaultBranch = "main"; init.defaultBranch = "main";
user = {
name = "Laurent Gueret";
email = "gueretlob@icloud.com";
};
}; };
}; };
@@ -1,10 +1,10 @@
{ lib, config, ... }: { lib, config, ... }:
with lib; with lib;
let let
cfg = config.os.shell.docker; cfg = config.os.virtualisation.docker;
in in
{ {
options.os.shell.docker = { options.os.virtualisation.docker = {
enable = mkEnableOption "System docker service"; enable = mkEnableOption "System docker service";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
@@ -13,5 +13,6 @@ in
enable = true; enable = true;
daemon.settings.features.cdi = true; daemon.settings.features.cdi = true;
}; };
}; };
} }
@@ -0,0 +1,35 @@
{
pkgs,
lib,
config,
...
}:
with lib;
let
cfg = config.os.virtualisation.podman;
in
{
options.os.virtualisation.podman = {
enable = mkEnableOption "System docker service";
};
config = mkIf cfg.enable {
virtualisation = {
containers.enable = true;
podman = {
enable = true;
dockerCompat = true;
dockerSocket.enable = true;
defaultNetwork.settings.dns_enabled = true; # Required for containers under podman-compose to be able to talk to each other.
};
};
environment = {
systemPackages = with pkgs; [
pods
podman-compose
];
};
};
}
+8 -1
View File
@@ -1,6 +1,10 @@
{ ... }: { ... }:
{ {
nix.settings.trusted-users = [
"root"
"alistreaza"
];
nix.settings.experimental-features = "nix-command flakes"; nix.settings.experimental-features = "nix-command flakes";
# System services # System services
@@ -24,8 +28,11 @@
os.gnome.apps.enable = true; os.gnome.apps.enable = true;
# Virtualisation Apps # Virtualisation Apps
os.shell.docker.enable = true;
os.virtualisation.cuda.enable = true; os.virtualisation.cuda.enable = true;
os.virtualisation.podman.enable = true;
# Dev
os.shell.devenv.enable = true;
# System version # System version
system.stateVersion = "25.11"; system.stateVersion = "25.11";
+1 -1
View File
@@ -6,7 +6,7 @@
isNormalUser = true; isNormalUser = true;
extraGroups = [ extraGroups = [
"wheel" "wheel"
"docker" "podman"
]; ];
}; };
}; };
+4 -1
View File
@@ -19,7 +19,10 @@
}; };
os.ide.zed.enable = true; os.ide.zed.enable = true;
os.ide.jetbrains.enable = false;
os.ide.jetbrains.pycharm.enable = true;
os.ide.jetbrains.clion.enable = true;
os.ide.jetbrains.rustrover.enable = true;
home.stateVersion = "25.11"; 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; with lib;
let let
cfg = config.os.ide.jetbrains; cfg = config.os.ide.jetbrains.pycharm;
in in
{ {
options.os.ide.jetbrains = { options.os.ide.jetbrains.pycharm = {
enable = mkEnableOption "JetBrains options"; enable = mkEnableOption "JetBrains options";
}; };
config = mkIf cfg.enable { 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
];
};
}

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB