refactor: make the whole thing more generic

This commit is contained in:
2024-04-02 16:28:57 +02:00
parent 7b648e1955
commit 651f3ad808
193 changed files with 763 additions and 521 deletions

View File

@@ -0,0 +1,29 @@
{ pkgs, lib, config, username, ... }:
with lib;
let cfg = config.hardware.cc1;
in {
options.hardware.cc1 = {
enable = mkEnableOption "Enable CC1 optimizations";
layout = mkOption {
type = with lib.types; enum [ "cc1-thea" ];
default = "cc1-thea";
};
};
config = mkIf cfg.enable {
# TODO: per-device layout?
console.useXkbConfig = true;
services.xserver.xkb = {
layout = cfg.layout;
extraLayouts.cc1-thea = {
description = "A CC1 optimized layout";
languages = [ "eng" "ger" ];
symbolsFile = ./${cfg.layout};
};
};
users.users.${username}.extraGroups = [ "dialout" ];
};
}