64 lines
1.6 KiB
Nix
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
|
|
{ };
|
|
};
|
|
};
|
|
}
|