cfg/desktop/software/development.nix
2025-07-20 00:41:35 +02:00

69 lines
1.7 KiB
Nix

{
config,
pkgs,
lib,
...
}:
let
cfg = config.hd.desktop.software.development;
inherit (lib) mkEnableOption mkIf;
in
{
options.hd.desktop.software.development.enable = mkEnableOption "Dev Software";
config = mkIf cfg.enable {
documentation.dev.enable = true;
environment.systemPackages = with pkgs; [
binutils
clang
gcc
gdb
gnumake
man-pages
man-pages-posix
nixfmt-rfc-style
python313
python313Packages.mypy
rustup
emacs
# jetbrains.gateway
# jetbrains.rust-rover
];
home = {
xdg.configFile."emacs/init.el".source = ../../dotfiles/emacs/init.el;
programs.vscode = {
enable = true;
package = pkgs.vscodium;
mutableExtensionsDir = true;
profiles.default = {
enableExtensionUpdateCheck = true;
enableUpdateCheck = false;
extensions = with pkgs.vscode-marketplace; [
dnut.rewrap-revived
editorconfig.editorconfig
james-yu.latex-workshop
jnoortheen.nix-ide
ltex-plus.vscode-ltex-plus
maximedenes.vscoq
mkhl.direnv
ms-python.python
ms-toolsai.jupyter
ocamllabs.ocaml-platform
# ms-vscode-remote.remote-ssh
];
userSettings = {
"editor.rulers" = [ 80 ];
"editor.formatOnPaste" = false;
"editor.formatOnSave" = false;
"editor.formatOnType" = false;
# https://github.com/nix-community/nix-vscode-extensions/issues/123
"ltex.ltex-ls.path" = "${pkgs.ltex-ls-plus}";
"direnv.path.executable" = "${pkgs.direnv}/bin/direnv";
};
};
};
};
};
}