Files
nixos-blueprint/hosts/dunamis/configuration.nix
T
2026-05-13 11:58:00 +03:00

136 lines
2.9 KiB
Nix

{
inputs,
pkgs,
lib,
perSystem,
...
}: {
imports = with inputs; [
nix-bwrapper.nixosModules.default
self.modules.nixosPrograms.libvirt
# self.modules.nixosPrograms.opentabletdriver
self.modules.nixosPrograms.podman
self.modules.nixosPrograms.qmk-vial
# self.modules.nixosPrograms.steam-bwrapped
self.nixosModules.desktop
self.nixosModules.shared
./disk.nix
./misc
# ./steam.nix
];
# overlays = [
# nix-bwrapper.overlays.default # provides `mkBwrapper`
# ];
# time.hardwareClockInLocalTime = true;
#
#
hardware.openrazer.enable = true;
hardware.openrazer.users = ["user"];
services.ratbagd.enable = true;
hardware.block.scheduler = {
"nvme[0-9]*" = "kyber";
};
networking.firewall = rec {
allowedTCPPorts = [8080];
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = allowedTCPPortRanges;
};
desktop.dms.enable = true;
programs.corectrl.enable = true;
# programs.ydotool.enable = true;
# users.users.user.extraGroups = ["ydotool"];
services.keyd = {
enable = true;
keyboards.win60he = {
ids = ["k:2e3c:c365"];
settings.main = let
# finger = mod;
pinky = "alt";
ring = "meta";
middle = "control";
index = "shift";
# timeouts
idle = "170";
hold = "120";
# function takes finger and letter
homeRowMod = f: l: "lettermod(${f}, ${l}, ${idle}, ${hold})";
in {
"a" = homeRowMod pinky "a";
"s" = homeRowMod ring "s";
"d" = homeRowMod middle "d";
"f" = homeRowMod index "f";
"j" = homeRowMod index "j";
"k" = homeRowMod middle "k";
"l" = homeRowMod ring "l";
";" = homeRowMod pinky ";";
"capslock" = "layer(layer1)";
"compose" = "capslock"; # menu key
};
settings.layer1 = {
"j" = "left";
"k" = "down";
"l" = "up";
";" = "right";
"u" = "home";
"i" = "pagedown";
"o" = "pageup";
"p" = "end";
"\\" = "`";
"backspace" = "delete";
"enter" = "toggle(game)";
};
settings.game = {
"a" = "a";
"s" = "s";
"d" = "d";
"f" = "f";
"j" = "j";
"k" = "k";
"l" = "l";
";" = ";";
"capslock" = "leftcontrol";
# "control" = "capslock";
"compose" = "layer(layer1)";
};
};
};
services.displayManager.autoLogin = {
enable = true;
user = "user";
};
services.power-profiles-daemon.enable = true;
services.mullvad-vpn = {
enable = true;
package = pkgs.mullvad-vpn;
};
unexplrd = (
lib.mkMerge [
(builtins.fromTOML (builtins.readFile ./host.toml))
{
stylix = {
enable = true;
theme = "tomorrow";
polarity = "dark";
};
}
]
);
}