{ 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"; }; } ] ); }