59 lines
1.5 KiB
Nix
59 lines
1.5 KiB
Nix
|
/* -------------------------------------------------------------------------- */
|
||
|
/* Programming/Development Environment config */
|
||
|
/* -------------------------------------------------------------------------- */
|
||
|
|
||
|
{ lib, config, options, pkgs, ... }:
|
||
|
|
||
|
with lib;
|
||
|
let cfg = config.modules.desktop.code;
|
||
|
in {
|
||
|
options.modules.desktop.code = {
|
||
|
enable = mkEnableOption false;
|
||
|
heavyweight = mkEnableOption false;
|
||
|
};
|
||
|
|
||
|
config = mkIf cfg.enable {
|
||
|
programs.nix-ld = {
|
||
|
enable = true;
|
||
|
libraries = with pkgs; [
|
||
|
stdenv.cc.cc.lib
|
||
|
];
|
||
|
};
|
||
|
environment.systemPackages = with pkgs; [
|
||
|
/* ---------------------------- Language support ---------------------------- */
|
||
|
# Rust
|
||
|
rustc rustup
|
||
|
# Python
|
||
|
python3
|
||
|
# Lua
|
||
|
lua
|
||
|
# C/C++
|
||
|
gcc
|
||
|
libgcc
|
||
|
gnumake
|
||
|
cmake
|
||
|
extra-cmake-modules
|
||
|
# JS
|
||
|
nodejs_22
|
||
|
|
||
|
/* --------------------------------- Editors -------------------------------- */
|
||
|
# ? FHS VScode is a variant that lets you manually install extensions.
|
||
|
# ? Otherwise, you'd specify extensions here.
|
||
|
vscode.fhs
|
||
|
vim
|
||
|
|
||
|
jetbrains.idea-ultimate
|
||
|
jetbrains.clion
|
||
|
jetbrains.pycharm-professional
|
||
|
jetbrains.datagrip
|
||
|
jetbrains.webstorm
|
||
|
|
||
|
/* ----------------------------- Version Control ---------------------------- */
|
||
|
git
|
||
|
github-desktop
|
||
|
|
||
|
/* ----------------------------- Virtualization ----------------------------- */
|
||
|
distrobox
|
||
|
];
|
||
|
};
|
||
|
}
|