{ config, lib, pkgs, ... }: let loc = config.local; colo = loc.scheme; inherit (import ../../nix/settings.nix) disks; in { imports = [ ./hardware-configuration.nix ../../nix/user.nix ../../nix/system.nix ../../nix/audio.nix ../../nix/bluetooth.nix ../../nix/email.nix ../../nix/intel.nix ../../nix/gaming.nix ../../nix/virtualisation.nix ../../nix/scripts.nix ../../nix/programs/bash.nix ../../nix/programs/nvim.nix ../../nix/programs/sway.nix ../../nix/programs/foot.nix ../../nix/programs/firefox.nix ../../nix/programs/obs.nix ../../nix/programs/waydroid.nix ../../nix/programs/kdeconnect.nix ./programs.nix ]; local = rec { font = { name = "Lotion"; size = 15; baseline = -2; cell-height-offset = 0; }; ui-font = { name = "M+ 2p"; size = 11; baseline = 0; cell-height-offset = 0; }; emoji-font = { name = "Blobmoji"; size = ui-font.size; baseline = 0; cell-height-offset = 0; }; scheme = import ../../themes/year_of_snake/snake.nix; starter = { top_padding = 0; picture = ../../themes/year_of_snake/splash.png; width = 64; padding = { top = -4; left = -4; text = 5; }; position = "left"; header = ""; footer = ""; footer-offset = 0; }; monitors = { monitor1 = "eDP-1"; monitor2 = "DP-2"; }; }; nix.settings.system-features = [ "gccarch-skylake" ]; nixpkgs.hostPlatform = { #gcc.arch = "skylake"; #gcc.tune = "skylake"; system = "x86_64-linux"; }; boot.binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; boot.kernelPackages = pkgs.linuxPackages_latest; boot.loader.systemd-boot.enable = true; boot.kernelParams = [ "mitigations=off" "file_caps=1" ]; services.fwupd.enable = true; virtualisation.kvmgt = { enable = true; vgpus = { "i915-GVTg_V5_4" = { uuid = [ "2efaf13a-e65a-11ef-84b4-235363f4a8d4" ]; }; }; }; security.wrappers = { "mount.nfs" = { owner = "root"; group = "root"; source = "${pkgs.nfs-utils.out}/bin/mount.nfs"; setuid = true; }; }; services.thermald.enable = true; services.tlp = { enable = true; settings = { CPU_SCALING_GOVERNOR_ON_AC = "performance"; CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; CPU_ENERGY_PERF_POLICY_ON_AC = "performance"; CPU_ENERGY_PERF_POLICY_ON_BAT = "power"; CPU_MIN_PERF_ON_AC = 0; CPU_MAX_PERF_ON_AC = 100; CPU_MIN_PERF_ON_BAT = 0; CPU_MAX_PERF_ON_BAT = 45; START_CHARGE_THRESH_BAT0 = 40; STOP_CHARGE_THRESH_BAT0 = 85; }; }; networking = { hostName = "palm"; nameservers = [ "9.9.9.9" "149.112.112.112" "1.1.1.1" "1.0.0.1" ]; useDHCP = false; dhcpcd.enable = false; networkmanager = { enable = true; dns = "none"; wifi.powersave = true; }; firewall = { enable = true; allowedTCPPorts = []; }; extraHosts = '' 192.168.1.153 iroha 192.168.1.158 moyo 66.135.26.42 rod ''; }; users.users.andrew.extraGroups = [ "networkmanager" ]; fileSystems."/mnt/nfs/c" = { device = "moyo:/srv/nfs/c"; fsType = "nfs4"; options = disks.nfs_options; }; fileSystems."/mnt/nfs/pics" = { device = "moyo:/srv/nfs/pics"; fsType = "nfs4"; options = disks.nfs_options; }; environment.systemPackages = with pkgs; [ perf linuxPackages_latest.cpupower brightnessctl (pkgs.writeShellScriptBin "run-sway" '' export WLR_RENDERER=vulkan export WLR_DRM_DEVICES=/dev/dri/card1 cd $HOME exec ${pkgs.sway}/bin/sway '') ]; home-manager.users.andrew = let homeDir = "${config.users.users.andrew.home}"; in { programs.kitty = { extraConfig = '' repaint_delay 9 input_delay 3 ''; }; wayland.windowManager.sway = let monitor1 = loc.monitors.monitor1; monitor2 = loc.monitors.monitor2; in { checkConfig = false; config = { output = { "${monitor1}" = { mode = "3000x2000@59.999Hz"; position = "1024 540"; render_bit_depth = "10"; allow_tearing = "no"; max_render_time = "10"; scale = "2"; bg = "${../../themes/year_of_snake/wallpaper.png} fit"; }; "${monitor2}" = { mode = "1024x768@60.004Hz"; position = "0 0"; render_bit_depth = "10"; allow_tearing = "yes"; max_render_time = "10"; scale = "1"; bg = "#${colo.background-alt} solid_color"; }; }; workspaceOutputAssign = [ { workspace = "1"; output = "${monitor1}"; } { workspace = "2"; output = "${monitor1}"; } { workspace = "3"; output = "${monitor1}"; } { workspace = "4"; output = "${monitor1}"; } { workspace = "5"; output = "${monitor1}"; } { workspace = "6"; output = "${monitor2}"; } { workspace = "7"; output = "${monitor2}"; } { workspace = "8"; output = "${monitor2}"; } { workspace = "9"; output = "${monitor2}"; } ]; keybindings = let mod1 = "Mod1"; mod4 = "Mod4"; in { "${mod1}+1" = "workspace 1"; "${mod1}+2" = "workspace 2"; "${mod1}+3" = "workspace 3"; "${mod1}+4" = "workspace 4"; "${mod1}+5" = "workspace 5"; "${mod4}+1" = "workspace 6"; "${mod4}+2" = "workspace 7"; "${mod4}+3" = "workspace 8"; "${mod4}+4" = "workspace 9"; "${mod1}+Shift+1" = "move container to workspace 1"; "${mod1}+Shift+2" = "move container to workspace 2"; "${mod1}+Shift+3" = "move container to workspace 3"; "${mod1}+Shift+4" = "move container to workspace 4"; "${mod1}+Shift+5" = "move container to workspace 5"; "${mod4}+Shift+1" = "move container to workspace 6"; "${mod4}+Shift+2" = "move container to workspace 7"; "${mod4}+Shift+3" = "move container to workspace 8"; "${mod4}+Shift+4" = "move container to workspace 9"; "${mod4}+r" = "exec swaymsg -- output ${monitor1} transform 270"; "${mod4}+Shift+r" = "exec swaymsg -- output ${monitor1} transform 0"; "${mod4}+F1" = "exec swaymsg -- output ${monitor1} bg \\#${colo.background-alt} solid_color"; "${mod4}+F2" = "exec swaymsg -- output ${monitor1} bg ${../../themes/year_of_snake/wallpaper.png} fill"; }; }; }; home.stateVersion = "${config.system.stateVersion}"; }; system.stateVersion = "24.11"; }