feat(WIP): add modules for home-manager options

This commit is contained in:
Swarsel 2024-07-24 18:36:22 +02:00
parent 5acbfe0edd
commit ec82754ae1
Signed by: swarsel
GPG key ID: 26A54C31F2A4FD84
23 changed files with 1378 additions and 887 deletions

6
modules/home/default.nix Normal file
View file

@ -0,0 +1,6 @@
{
laptop = import ./laptop.nix;
monitors = import ./monitors.nix;
input = import ./input.nix;
nixos = import ./nixos.nix;
}

29
modules/home/input.nix Normal file
View file

@ -0,0 +1,29 @@
{ lib, config, ... }:
let
inherit (lib) mkIf mkOption types;
in
{
options.swarselsystems.inputs = mkOption {
type = types.attrsOf (types.attrsOf types.str);
default = { };
};
options.swarselsystems.kyria = mkOption {
type = types.attrsOf (types.attrsOf types.str);
default = {
"36125:53060:splitkb.com_Kyria_rev3" = {
xkb_layout = "us";
xkb_variant = "altgr-intl";
};
};
};
options.swarselsystems.touchpad = mkOption {
type = types.attrsOf (types.attrsOf types.str);
default = { };
};
options.swarselsystems.standardinputs = mkOption {
type = types.attrsOf (types.attrsOf types.str);
default = lib.recursiveUpdate (lib.recursiveUpdate config.swarselsystems.touchpad config.swarselsystems.kyria) config.swarselsystems.inputs;
};
}

12
modules/home/laptop.nix Normal file
View file

@ -0,0 +1,12 @@
{ lib, config, ... }:
{
options.swarselsystems.isLaptop = lib.mkEnableOption "laptop host";
config.swarselsystems.touchpad = lib.mkIf config.swarselsystems.isLaptop {
"type:touchpad" = {
dwt = "enabled";
tap = "enabled";
natural_scroll = "enabled";
middle_emulation = "enabled";
};
};
}

10
modules/home/monitors.nix Normal file
View file

@ -0,0 +1,10 @@
{ lib, config, ... }:
let
inherit (lib) mkOption types;
in
{
options.swarselsystems.monitors = mkOption {
type = types.attrsOf (types.attrsOf types.str);
default = { };
};
}

4
modules/home/nixos.nix Normal file
View file

@ -0,0 +1,4 @@
{ lib, config, ... }:
{
options.swarselsystems.isNixos = lib.mkEnableOption "nixos host";
}