Compare commits

...
4 Commits
Author SHA1 Message Date
Laurent Gueret bc921319d9 Add jetbrains IDE and diabled it by default 2026-01-30 14:10:56 +01:00
Laurent Gueret 413514397b Add CUDA libs and deps 2026-01-30 14:00:10 +01:00
Laurent Gueret 06e284c401 Fix on RustRover icons 2026-01-30 13:32:12 +01:00
Laurent Gueret aaa3476ffb Add printer & Samba deps 2026-01-30 13:31:32 +01:00
9 changed files with 130 additions and 6 deletions
+12 -1
View File
@@ -6,7 +6,18 @@
{ {
nixpkgs.config.allowUnfreePredicate = nixpkgs.config.allowUnfreePredicate =
pkg: pkg:
builtins.elem (nixpkgs.lib.getName pkg) [ nixpkgs.lib.all (
license:
license.free
|| nixpkgs.lib.elem license.shortName [
"CUDA EULA"
"cuDNN EULA"
"cuSPARSELt EULA"
"cuTENSOR EULA"
"NVidia OptiX EULA"
]
) (nixpkgs.lib.toList pkg.meta.license)
|| builtins.elem (nixpkgs.lib.getName pkg) [
"nvidia-x11" "nvidia-x11"
]; ];
+22 -1
View File
@@ -1,4 +1,9 @@
{ lib, config, ... }: {
pkgs,
lib,
config,
...
}:
with lib; with lib;
let let
cfg = config.os.virtualisation.cuda; cfg = config.os.virtualisation.cuda;
@@ -10,6 +15,22 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
hardware.nvidia-container-toolkit.enable = true; hardware.nvidia-container-toolkit.enable = true;
environment.systemPackages = with pkgs.cudaPackages; [
cudatoolkit
cudnn
libcublas
libcufile
libcusparse
nccl
];
environment.variables = {
CUDA_PATH = "${pkgs.cudatoolkit}";
LD_LIBRARY_PATH = "${pkgs.linuxPackages.nvidia_x11}/lib:$LD_LIBRARY_PATH";
EXTRA_LDFLAGS = "-L/lib -L${pkgs.linuxPackages.nvidia_x11}/lib";
EXTRA_CCFLAGS = "-I/usr/include";
};
}; };
} }
@@ -14,6 +14,7 @@ in
services.avahi = { services.avahi = {
enable = true; enable = true;
nssmdns4 = true; nssmdns4 = true;
openFirewall = true;
}; };
}; };
@@ -0,0 +1,26 @@
{
pkgs,
lib,
config,
...
}:
with lib;
let
cfg = config.os.networks.printing;
in
{
options.os.networks.printing = {
enable = mkEnableOption "System printing service";
};
config = mkIf cfg.enable {
services.printing = {
enable = true;
drivers = with pkgs; [
cups-filters
cups-browsed
];
};
};
}
@@ -0,0 +1,30 @@
{
pkgs,
lib,
config,
...
}:
with lib;
let
cfg = config.os.networks.samba;
in
{
options.os.networks.samba = {
enable = mkEnableOption "System pipewire service";
};
config = mkIf cfg.enable {
services.samba = {
enable = true;
openFirewall = true;
usershares.enable = true;
package = pkgs.samba4Full;
};
services.samba-wsdd = {
enable = true;
openFirewall = true;
};
};
}
+6 -4
View File
@@ -1,10 +1,6 @@
{ ... }: { ... }:
{ {
nix.settings.trusted-users = [
"root"
"alistreaza"
];
nix.settings.experimental-features = "nix-command flakes"; nix.settings.experimental-features = "nix-command flakes";
# System services # System services
@@ -12,9 +8,15 @@
os.boot.plymouth.enable = true; os.boot.plymouth.enable = true;
os.graphics.nvidia.enable = true; os.graphics.nvidia.enable = true;
os.audio.pipewire.enable = true; os.audio.pipewire.enable = true;
# Networks services
os.networks.dns.enable = true; os.networks.dns.enable = true;
os.networks.manager.enable = true; os.networks.manager.enable = true;
# Printing and sharing
os.networks.printing.enable = true;
os.networks.samba.enable = true;
# System configurations # System configurations
os.keyboard.apple.enable = true; os.keyboard.apple.enable = true;
+6
View File
@@ -1,6 +1,12 @@
{ ... }: { ... }:
{ {
nix.settings.trusted-users = [
# Needed by Devenv
"root"
"alistreaza"
];
users.users = { users.users = {
alistreaza = { alistreaza = {
isNormalUser = true; isNormalUser = true;
+11
View File
@@ -18,8 +18,19 @@
homeDirectory = "/home/alistreaza"; homeDirectory = "/home/alistreaza";
}; };
# Code editor
os.ide.zed.enable = true; os.ide.zed.enable = true;
# IDE Jetbrains
os.ide.jetbrains.idea.enable = false;
os.ide.jetbrains.pycharm.enable = false;
os.ide.jetbrains.phpstorm.enable = false;
os.ide.jetbrains.rustrover.enable = false;
# IDE Data Jetbrains
os.ide.jetbrains.datagrip.enable = false;
os.ide.jetbrains.dataspell.enable = false;
home.stateVersion = "25.11"; home.stateVersion = "25.11";
}; };
}; };
+16
View File
@@ -0,0 +1,16 @@
{ ... }:
{
xdg.desktopEntries = {
rust-rover = {
name = "RustRover";
comment = "Rust IDE from JetBrains";
genericName = "Rust IDE from JetBrains";
exec = "rust-rover";
terminal = false;
icon = "rustrover";
type = "Application";
categories = [ "Development" ];
};
};
}