summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/config/i18n.nix17
-rw-r--r--nixos/modules/tasks/kbd.nix4
2 files changed, 20 insertions, 1 deletions
diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix
index f58e540a6e5c..b20fac6ad3e2 100644
--- a/nixos/modules/config/i18n.nix
+++ b/nixos/modules/config/i18n.nix
@@ -74,6 +74,23 @@ in
         '';
       };
 
+      consoleColors = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        example = [
+          "002b36" "dc322f" "859900" "b58900"
+          "268bd2" "d33682" "2aa198" "eee8d5"
+          "002b36" "cb4b16" "586e75" "657b83"
+          "839496" "6c71c4" "93a1a1" "fdf6e3"
+        ];
+        description = ''
+          The 16 colors palette used by the virtual consoles.
+          Leave empty to use the default colors.
+          Colors must be in hexadecimal format and listed in
+          order from color 0 to color 15.
+        '';
+      };
+
     };
 
   };
diff --git a/nixos/modules/tasks/kbd.nix b/nixos/modules/tasks/kbd.nix
index 69f004888f55..5969da7062b6 100644
--- a/nixos/modules/tasks/kbd.nix
+++ b/nixos/modules/tasks/kbd.nix
@@ -4,11 +4,13 @@ with lib;
 
 let
 
+  makeColor = n: value: "COLOR_${toString n}=${value}";
+
   vconsoleConf = pkgs.writeText "vconsole.conf"
     ''
       KEYMAP=${config.i18n.consoleKeyMap}
       FONT=${config.i18n.consoleFont}
-    '';
+    '' + concatImapStringsSep "\n" makeColor config.i18n.consoleColors;
 
 in