# Your text editor war arsenal. { config, options, lib, pkgs, ... }: let cfg = config.modules.editors; in { options.modules.editors = { neovim.enable = lib.mkEnableOption "Neovim and its components"; vscode.enable = lib.mkEnableOption "Visual Studio Code"; }; config = lib.mkMerge [ (lib.mkIf cfg.neovim.enable { programs.neovim = { enable = true; defaultEditor = true; withNodeJs = true; withRuby = true; # I want the BLEEDING EDGE! package = pkgs.neovim-nightly; }; environment.systemPackages = with pkgs; [ editorconfig-core-c ]; }) (lib.mkIf cfg.vscode.enable { environment.systemPackages = with pkgs; [ vscode editorconfig-core-c ]; }) ]; }