{ inputs, self, ... }: { flake.nixosConfigurations.dragotha = inputs.nixpkgs.lib.nixosSystem { modules = [ self.nixosModules.dragotha self.nixosModules.dragothaHardware self.nixosModules.createHost self.nixosModules.hostOptions inputs.nixos-hardware.nixosModules.microsoft-surface-go self.nixosModules.desktop self.nixosModules.nasClient ]; }; flake.nixosModules.dragotha = {pkgs, ...}: { hostOptions = { host.name = "dragotha"; user.name = "jck"; user.email = "jckrinsky@gmail.com"; }; boot.kernelParams = ["quiet"]; nix.settings = { substituters = [ "https://linux-surface.cachix.org" ]; trusted-public-keys = [ "linux-surface.cachix.org-1:h4xRj4dujnm9I9aL2V7OmUTiT7oEefGVwiI4UQrESsk=" ]; trusted-users = ["jck" "root"]; }; hardware.graphics = { enable = true; enable32Bit = true; }; networking.nameservers = ["1.1.1.1" "9.9.9.9"]; services.automatic-timezoned.enable = true; services.displayManager.gdm.enable = true; services.desktopManager.gnome.enable = true; environment.variables = { QT_QPA_PLATFORM = "wayland"; _JAVA_AWT_WM_NONREPARENTING = "1"; MOZ_USE_XINPUT2 = "1"; }; environment.systemPackages = with pkgs; [ xournalpp rnote logseq gnome-tweaks gnomeExtensions.screen-rotate ]; hardware.sensor.iio.enable = true; services.udev.extraHwdb = '' sensor:modalias:acpi:BOSC0200*:dmi:*:svnMicrosoftCorporation:pnSurfaceGo3:* ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1 ''; services.flatpak.enable = false; services.kanata = { enable = true; keyboards.tkb = { devices = [ "dev/input/by-path/platform-i8042-serio-0-event-kbd" ]; config = " (defsrc h j k l caps) (deflayer default _ _ _ _ @press) (deflayer arrows left down up right @press) (defalias press (tap-hold-press 200 200 esc (layer-while-held arrows)) ) "; extraDefCfg = " process-unmapped-keys yes "; }; }; }; }