54 lines
1.3 KiB
Nix
54 lines
1.3 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
{
|
|
options = {
|
|
development = {
|
|
editor = {
|
|
vscodium.enable = lib.mkEnableOption "enable vscodium";
|
|
emacs.enable = lib.mkEnableOption "enable emacs";
|
|
default = "vscodium";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = {
|
|
environment.systemPackages = with pkgs; [
|
|
(lib.mkIf config.development.editor.vscodium.enable vscodium)
|
|
nixfmt
|
|
];
|
|
|
|
programs = {
|
|
vscode = lib.mkIf config.development.editor.vscodium.enable {
|
|
enable = true;
|
|
package = pkgs.vscodium;
|
|
defaultEditor = lib.mkIf (config.development.editor.default == "vscodium") true;
|
|
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
|
|
];
|
|
};
|
|
};
|
|
services = {
|
|
emacs = lib.mkIf config.development.editor.emacs.enable {
|
|
enable = true;
|
|
install = true;
|
|
defaultEditor = lib.mkIf (config.development.editor.default == "emacs") true;
|
|
};
|
|
};
|
|
home.sessionVariables = {
|
|
EDITOR = lib.mkDefault "codium";
|
|
};
|
|
};
|
|
}
|