grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / programs / nano.nix
blob1ae350ea66b2897fbbcdb7e74534af6dbf6e6cf6
1 { config, lib, pkgs, ... }:
3 let
4   cfg = config.programs.nano;
5 in
8   options = {
9     programs.nano = {
10       enable = lib.mkEnableOption "nano, a small user-friendly console text editor" // {
11         default = true;
12       };
14       package = lib.mkPackageOption pkgs "nano" { };
16       nanorc = lib.mkOption {
17         type = lib.types.lines;
18         default = "";
19         description = ''
20           The system-wide nano configuration.
21           See {manpage}`nanorc(5)`.
22         '';
23         example = ''
24           set nowrap
25           set tabstospaces
26           set tabsize 2
27         '';
28       };
30       syntaxHighlight = lib.mkOption {
31         type = lib.types.bool;
32         default = true;
33         description = "Whether to enable syntax highlight for various languages.";
34       };
35     };
36   };
38   config = lib.mkIf cfg.enable {
39     environment = {
40       etc.nanorc.text = (lib.optionalString cfg.syntaxHighlight ''
41         # load syntax highlighting files
42         include "${cfg.package}/share/nano/*.nanorc"
43         include "${cfg.package}/share/nano/extra/*.nanorc"
44       '') + cfg.nanorc;
45       systemPackages = [ cfg.package ];
46       pathsToLink = [ "/share/nano" ];
47     };
48   };