config.nix/modules/apps/development/editor.nix
2026-04-11 17:21:28 +02:00

64 lines
1.6 KiB
Nix

{
config,
lib,
pkgs,
...
}:
{
options = {
apps.development = {
editor = {
vscodium.enable = lib.mkEnableOption "enable vscodium";
emacs.enable = lib.mkEnableOption "enable emacs";
default = lib.mkOption {
default = "vscodium";
description = "default editor";
};
};
};
};
config = {
environment.systemPackages =
with pkgs;
[
nixfmt
]
++ (if config.apps.development.editor.vscodium.enable then [ vscodium ] else [ ]);
programs = {
vscode =
if config.apps.development.editor.vscodium.enable then
{
enable = true;
package = pkgs.vscodium;
defaultEditor = if (config.apps.development.editor.default == "vscodium") then true else false;
# profiles.default.extensions = with pkgs.vscode-extensions; [
# catppuccin.catppuccin-vsc
# catppuccin.catppuccin-vsc-icons
# jnoortheen.nix-ide
# alefragnani.project-manager
# naumovs.color-highlight
# geequlim.godot-tools
# stylelint.vscode-stylelint
# ecmel.vscode-html-css
# esbenp.prettier-vscode
# ];
}
else
{ };
};
services = {
emacs =
if config.apps.development.editor.emacs.enable then
{
enable = true;
install = true;
defaultEditor = if (config.apps.development.editor.default == "emacs") then true else false;
}
else
{ };
};
};
}