at 23.11-pre 782 B view raw
1{ config, lib, pkgs, ... }: 2 3with lib; 4 5let 6 cfg = config.programs.vim; 7in { 8 options.programs.vim = { 9 defaultEditor = mkOption { 10 type = types.bool; 11 default = false; 12 description = lib.mdDoc '' 13 When enabled, installs vim and configures vim to be the default editor 14 using the EDITOR environment variable. 15 ''; 16 }; 17 18 package = mkOption { 19 type = types.package; 20 default = pkgs.vim; 21 defaultText = literalExpression "pkgs.vim"; 22 example = literalExpression "pkgs.vim-full"; 23 description = lib.mdDoc '' 24 vim package to use. 25 ''; 26 }; 27 }; 28 29 config = mkIf cfg.defaultEditor { 30 environment.systemPackages = [ cfg.package ]; 31 environment.variables = { EDITOR = mkOverride 900 "vim"; }; 32 }; 33}