{ config, pkgs, ... }: { imports = [ ./common-headless.nix ./sway.nix # ./i3.nix ./large-sw.nix ./uefi.nix ./fstrim.nix ./atmega.nix ./v4l2loopback.nix ./huion.nix ./nvim05.nix ./nm-restart.nix ]; hardware.enableRedistributableFirmware = true; boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.kernelModules = [ "kvm-intel" "rmi_smbus" "i2c_hid" "psmouse" ]; fileSystems."/" = { device = "/dev/disk/by-uuid/c87491ed-0dd6-4eb4-bef2-fe4c707e91f2"; fsType = "ext4"; }; fileSystems."/boot" = { device = "/dev/disk/by-uuid/E526-BAB7"; fsType = "vfat"; }; swapDevices = [ ]; nix.settings.max-jobs = 4; environment.etc."lvm/lvm.conf".text = '' devices { issue_discards = 1 } ''; boot.initrd.luks.devices = { nvme0n1p2 = { device = "/dev/disk/by-uuid/5ca3d7ec-3f9e-4a08-8bc2-b26bfc3459c5"; preLVM = true; allowDiscards = true; }; }; # services.xserver = { # dpi = 120; # # libinput.enable = true; # config = '' # Section "InputClass" # Identifier "touchpad" # Driver "libinput" # MatchDevicePath "/dev/input/event*" # MatchIsPointer "true" # EndSection # ''; # # videoDrivers = [ "modesetting" ]; # useGlamor = true; # }; programs.light.enable = true; services.tlp.enable = true; networking.hostName = "petalius"; networking.hostId = "cf58caa9"; hardware.cpu.intel.updateMicrocode = true; # systemd.services.ModemManager = { # enable = true; # wantedBy = [ "multi-user.target" ]; # }; hardware.opengl.extraPackages = [ pkgs.vaapiIntel ]; nixpkgs.config.packageOverrides = pkgs: rec { }; # environment.systemPackages = with pkgs; [ # unison # ]; users.extraUsers.gebner.extraGroups = [ "libvirtd" ]; virtualisation.libvirtd.enable = true; virtualisation.waydroid.enable = true; # virtualisation.virtualbox.host.enable = true; # boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages_5_4; # boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages_5_5; # boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages_4_19; boot.kernelPatches = [ # { patch = ./len0073.patch; name = "len0073"; } ]; boot.kernelParams = [ # "psmouse.synaptics_intertouch=1" "psmouse.proto=imps" ]; # time.timeZone = pkgs.lib.mkOverride 10 "Asia/Tokyo"; # time.timeZone = pkgs.lib.mkOverride 10 "Europe/London"; # time.timeZone = pkgs.lib.mkOverride 10 "Europe/Lisbon"; # time.timeZone = pkgs.lib.mkOverride 10 "US/Eastern"; time.timeZone = pkgs.lib.mkOverride 10 "US/Pacific"; #services.avahi.nssmdns = true; system.stateVersion = "22.11"; networking.wireguard.interfaces.wg0 = { ips = ["10.59.0.2/16"]; privateKeyFile = "/etc/wgkeys/petalius"; allowedIPsAsRoutes = true; postSetup = '' ${pkgs.systemd}/bin/resolvectl domain wg0 '~htdf.gebner.org' '~mtlaa.gebner.org' '~ams.gebner.org' ${pkgs.systemd}/bin/resolvectl dns wg0 10.58.0.1 ''; peers = [{ publicKey = "ByLlJbevlTBooAo2RIZGGJvBHKqA9qiOpHBvR5yuJX4="; allowedIPs = ["10.56.0.0/14" "10.60.1.1"]; endpoint = "htdf-gw.gebner.org:35869"; # endpoint = "80.109.29.104:35869"; # endpoint = "127.0.0.1:35869"; }]; }; systemd.services.wireguard-wg0.wantedBy = pkgs.lib.mkOverride 10 []; systemd.services.wstunnel = { path = [ pkgs.wstunnel ]; wantedBy = [ "wireguard-wg0.service" ]; after = [ "network.target" ]; script = '' wstunnel -L 35869:htdf-gw.gebner.org:35869 -u wss://gebner.org ''; }; services.resolved = { domains = []; enable = true; }; # environment.systemPackages = [ # (pkgs.callPackage ./bluez-alsa.nix {}) # ]; services.fwupd.enable = true; users.extraUsers.gebner2 = { isNormalUser = true; extraGroups = [ "wheel" # "networkmanager" "audio" # "transmission" # "lxd" # "libvirtd" # "vboxusers" # "wireshark" "input" "tty" "audio" "video" "uinput" ]; # shell = "${pkgs.zsh}/bin/zsh"; shell = "/run/current-system/sw/bin/fish"; }; }