kmscon: leverage services.kmscon.config attribute set (#2337)

Leverage the services.kmscon.config attribute set, following upstream
commit [1] ("nixos/kmscon: RFC42 treatment, support version 10.0.0").

[1]: 9b9e0a021a

Closes: https://github.com/nix-community/stylix/issues/2334
Link: https://github.com/nix-community/stylix/pull/2337
Link: https://github.com/nix-community/stylix/pull/2338
Link: https://github.com/nix-community/stylix/pull/2351

Co-authored-by: Bad3r <github@unsigned.sh>
Approved-by: Jason Bowman <jason@json64.dev>
Reviewed-by: 0xda157 <da157@voidq.com>
Reviewed-by: pancho horrillo <pancho@pancho.name>
Reviewed-by: Noah Biewesch <dev@noahbiewesch.com>
This commit is contained in:
overtoneblue 2026-06-04 07:00:09 -07:00 committed by GitHub
parent 525965744b
commit b4c8f3a76e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 37 additions and 40 deletions

6
flake.lock generated
View file

@ -139,11 +139,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1779560665,
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
"lastModified": 1780243769,
"narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
"rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
"type": "github"
},
"original": {

6
flake/dev/flake.lock generated
View file

@ -45,11 +45,11 @@
},
"dev-nixpkgs": {
"locked": {
"lastModified": 1779560665,
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
"lastModified": 1780243769,
"narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
"rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
"type": "github"
},
"original": {

View file

@ -4,47 +4,44 @@ mkTarget {
(
{ fonts }:
{
services.kmscon = {
fonts = [ fonts.monospace ];
extraConfig = "font-size=${toString fonts.sizes.terminal}";
services.kmscon.config = {
font-name = fonts.monospace.name;
font-size = fonts.sizes.terminal;
};
}
)
(
{ colors }:
{
services.kmscon.extraConfig =
let
formatBase =
name:
let
formatBase =
name:
let
getComponent = comp: colors."${name}-rgb-${comp}";
in
"${getComponent "r"},${getComponent "g"},${getComponent "b"}";
getComponent = comp: colors."${name}-rgb-${comp}";
in
''
palette=custom
palette-black=${formatBase "base00"}
palette-red=${formatBase "base08"}
palette-green=${formatBase "base0B"}
palette-yellow=${formatBase "base0A"}
palette-blue=${formatBase "base0D"}
palette-magenta=${formatBase "base0E"}
palette-cyan=${formatBase "base0C"}
palette-light-grey=${formatBase "base05"}
palette-dark-grey=${formatBase "base03"}
palette-light-red=${formatBase "base08"}
palette-light-green=${formatBase "base0B"}
palette-light-yellow=${formatBase "base0A"}
palette-light-blue=${formatBase "base0D"}
palette-light-magenta=${formatBase "base0E"}
palette-light-cyan=${formatBase "base0C"}
palette-white=${formatBase "base07"}
palette-background=${formatBase "base00"}
palette-foreground=${formatBase "base05"}
'';
"${getComponent "r"},${getComponent "g"},${getComponent "b"}";
in
{
services.kmscon.config = {
palette = "custom";
palette-black = formatBase "base00";
palette-red = formatBase "base08";
palette-green = formatBase "base0B";
palette-yellow = formatBase "base0A";
palette-blue = formatBase "base0D";
palette-magenta = formatBase "base0E";
palette-cyan = formatBase "base0C";
palette-light-grey = formatBase "base05";
palette-dark-grey = formatBase "base03";
palette-light-red = formatBase "base08";
palette-light-green = formatBase "base0B";
palette-light-yellow = formatBase "base0A";
palette-light-blue = formatBase "base0D";
palette-light-magenta = formatBase "base0E";
palette-light-cyan = formatBase "base0C";
palette-white = formatBase "base07";
palette-background = formatBase "base00";
palette-foreground = formatBase "base05";
};
}
)
];