diff options
-rw-r--r-- | nixos/modules/programs/nano.nix | 12 | ||||
-rw-r--r-- | pkgs/applications/editors/nano/default.nix | 15 |
2 files changed, 22 insertions, 5 deletions
diff --git a/nixos/modules/programs/nano.nix b/nixos/modules/programs/nano.nix index b8803eec7be1d..27b6d446c75d7 100644 --- a/nixos/modules/programs/nano.nix +++ b/nixos/modules/programs/nano.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: let cfg = config.programs.nano; @@ -20,16 +20,22 @@ in example = '' set nowrap set tabstospaces - set tabsize 4 + set tabsize 2 ''; }; + syntaxHighlight = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Whether to enable syntax highlight for various languages."; + }; }; }; ###### implementation config = lib.mkIf (cfg.nanorc != "") { - environment.etc."nanorc".text = cfg.nanorc; + environment.etc."nanorc".text = lib.concatStrings [ cfg.nanorc + (lib.optionalString cfg.syntaxHighlight ''include "${pkgs.nano}/share/nano/*.nanorc"'') ]; }; } diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix index 0b45f9502fad2..9814e697d22b8 100644 --- a/pkgs/applications/editors/nano/default.nix +++ b/pkgs/applications/editors/nano/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl +{ stdenv, fetchurl, fetchFromGitHub , ncurses , texinfo , gettext ? null @@ -10,7 +10,14 @@ assert enableNls -> (gettext != null); with stdenv.lib; -stdenv.mkDerivation rec { +let + nixSyntaxHighlight = fetchFromGitHub { + owner = "seitz"; + repo = "nanonix"; + rev = "17e0de65e1cbba3d6baa82deaefa853b41f5c161"; + sha256 = "1g51h65i31andfs2fbp1v3vih9405iknqn11fzywjxji00kjqv5s"; + }; +in stdenv.mkDerivation rec { name = "nano-${version}"; version = "2.7.3"; src = fetchurl { @@ -30,6 +37,10 @@ stdenv.mkDerivation rec { substituteInPlace src/text.c --replace "__time_t" "time_t" ''; + postInstall = '' + cp ${nixSyntaxHighlight}/nix.nanorc $out/share/nano/ + ''; + meta = { homepage = http://www.nano-editor.org/; description = "A small, user-friendly console text editor"; |