{ config, pkgs, ... }: { imports = [ ./common.nix ./large-sw.nix ./uefi.nix ./fstrim.nix ./atmega.nix ]; 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"; # systemd.services.ModemManager = { # enable = true; # wantedBy = [ "multi-user.target" ]; # }; hardware.opengl.extraPackages = [ pkgs.vaapiIntel ]; nixpkgs.config.packageOverrides = pkgs: rec { }; environment.systemPackages = with pkgs; [ unison ]; services.blueman.enable = true; virtualisation.docker = { enable = true; storageDriver = "overlay2"; }; users.extraUsers.gebner.extraGroups = [ "docker" "libvirtd" "video" "input" "dialout" ]; virtualisation.libvirtd.enable = true; virtualisation.virtualbox.host.enable = true; # 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" ]; boot.kernelModules = [ "rmi_smbus" "i2c_hid" "psmouse" ]; # 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"; #services.avahi.nssmdns = true; system.stateVersion = "18.03"; 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.2.154:35869"; endpoint = "127.0.0.1:35869"; }]; }; systemd.services.wireguard-wg0.wantedBy = pkgs.lib.mkOverride 10 []; systemd.services.wstunnel = { path = with pkgs; [ (haskell.lib.justStaticExecutables (haskellPackages.callPackage ./pkgs/wstunnel.nix {})) ]; 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; }; }