101 lines
3.3 KiB
Nix
101 lines
3.3 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
userName = config.constants.userName;
|
|
in {
|
|
hardware = {
|
|
bluetooth.enable = true;
|
|
graphics.enable = true;
|
|
keyboard.qmk.enable = true;
|
|
openrazer = {
|
|
enable = true;
|
|
users = [userName];
|
|
};
|
|
};
|
|
|
|
programs = {
|
|
adb.enable = true;
|
|
kdeconnect.enable = true;
|
|
noisetorch.enable = true;
|
|
};
|
|
|
|
security.rtkit.enable = true;
|
|
|
|
services = {
|
|
automatic-timezoned.enable = true;
|
|
avahi = {
|
|
enable = true;
|
|
nssmdns4 = true;
|
|
openFirewall = true;
|
|
};
|
|
fwupd.enable = true;
|
|
kanata = {
|
|
enable = true;
|
|
keyboards.core = {
|
|
devices = ["/dev/input/by-id/usb-ASUSTeK_Computer_Inc._N-KEY_Device-if02-event-kbd"];
|
|
config = ''
|
|
(defsrc
|
|
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del
|
|
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
|
|
tab q w e r t y u i o p [ ] \
|
|
caps a s d f g h j k l ; ' ret
|
|
lsft z x c v b n m , . / rsft up
|
|
lctl lmet lalt spc ralt rctl left down rght
|
|
)
|
|
(deflayer base
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ _ @li _ _ _
|
|
)
|
|
(deflayer index
|
|
XX XX XX XX XX XX XX XX XX XX XX XX XX XX
|
|
XX XX XX XX XX XX XX XX XX XX XX XX XX XX
|
|
XX XX XX XX XX XX XX XX XX XX XX XX XX XX
|
|
XX XX XX XX XX XX XX XX XX XX XX XX XX
|
|
XX XX XX XX XX @lb XX @lm XX XX XX XX XX
|
|
XX XX XX XX XX XX XX XX XX
|
|
)
|
|
(deflayer media
|
|
XX XX XX XX XX XX XX XX XX XX XX XX XX XX
|
|
XX XX XX XX XX XX XX XX XX XX XX XX XX XX
|
|
XX XX XX XX XX XX XX XX XX XX XX XX XX XX
|
|
XX XX XX XX XX XX XX XX XX XX XX XX XX
|
|
XX XX XX XX XX XX XX XX prev next XX XX XX
|
|
XX XX XX pp XX @li XX XX XX
|
|
)
|
|
(defalias
|
|
li (layer-toggle index)
|
|
lb (layer-switch base)
|
|
lm (layer-switch media)
|
|
)
|
|
'';
|
|
};
|
|
};
|
|
|
|
pipewire = {
|
|
enable = true;
|
|
alsa = {
|
|
enable = true;
|
|
support32Bit = true;
|
|
};
|
|
pulse.enable = true;
|
|
};
|
|
printing.enable = true;
|
|
udev.packages = [pkgs.via];
|
|
};
|
|
|
|
users.users.${userName}.extraGroups = ["adbusers" "cdrom"];
|
|
|
|
virtualisation = {
|
|
containers.enable = true;
|
|
podman = {
|
|
enable = true;
|
|
dockerCompat = true;
|
|
};
|
|
};
|
|
}
|