From 1c406ebd5c124dfcb020d002eaea85ecb37c1cbf Mon Sep 17 00:00:00 2001 From: Paul-Henri Froidmont Date: Tue, 13 Apr 2021 11:16:38 +0200 Subject: [PATCH] Update ingenico-laptop --- hosts/ingenico-laptop/configuration.nix | 91 +++++++++++++++++++++---- 1 file changed, 77 insertions(+), 14 deletions(-) diff --git a/hosts/ingenico-laptop/configuration.nix b/hosts/ingenico-laptop/configuration.nix index 08d79b1..1cc940e 100644 --- a/hosts/ingenico-laptop/configuration.nix +++ b/hosts/ingenico-laptop/configuration.nix @@ -1,4 +1,13 @@ { config, lib, pkgs, ... }: +let + nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" '' + export __NV_PRIME_RENDER_OFFLOAD=1 + export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 + export __GLX_VENDOR_LIBRARY_NAME=nvidia + export __VK_LAYER_NV_optimus=NVIDIA_only + exec -a "$0" "$@" + ''; +in { imports = [ @@ -8,6 +17,17 @@ ../../configs/virtualisation.nix ]; + hardware.nvidia.prime = { + offload.enable = true; + + # Bus ID of the Intel GPU. You can find it using lspci, either under 3D or VGA + intelBusId = "PCI:0:2:0"; + + # Bus ID of the NVIDIA GPU. You can find it using lspci, either under 3D or VGA + nvidiaBusId = "PCI:1:0:0"; + }; + services.xserver.videoDrivers = [ "nvidia" ]; + boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.initrd.luks.devices = { @@ -41,10 +61,34 @@ networkmanager = { enable = true; dns = "dnsmasq"; + # extraConfig = '' + # rc-manager=unmanaged + # ''; }; }; - networking.interfaces.wlp59s0.useDHCP = true; + #services.dnsmasq = { + # enable = true; + # servers = [ + # "1.1.1.1" + # "1.0.0.1" + # "/.its/172.21.1.131" + # "/.its/172.21.1.146" + # "/.lab.ingenico.com/172.24.15.1" + # "/.lab.ingenico.com/172.24.15.2" + # "/.sandbox.global.ingenico.com/10.138.24.53" + # "/sb.eu.ginfra.net/10.138.24.53" + # ]; + # extraConfig = '' + # addn-hosts=/etc/hosts + # interface=lo + # interface=docker0 + # bind-dynamic + # listen-address=172.17.0.1 + # ''; + #}; + +# networking.interfaces.wlp59s0.useDHCP = true; console = { font = "Lat2-Terminus16"; @@ -69,14 +113,10 @@ insecure-ssl = 0 cipher-list = HIGH:!aNULL:!kRSA:!PSK:!SRP:!MD5:!RC4 ''; - "NetworkManager/conf.d/ingenico.conf".text = '' - [main] - dns=dnsmasq - ''; - "NetworkManager/dnsmasq.d/hosts.conf".text = '' + "NetworkManager/dnsmasq.d/hosts.conf".text = '' addn-hosts=/etc/hosts ''; - "NetworkManager/dnsmasq.d/ingenico.conf".text = '' + "NetworkManager/dnsmasq.d/ingenico.conf".text = '' server=/.its/172.21.1.131 server=/.its/172.21.1.146 server=/.lab.ingenico.com/172.24.15.1 @@ -84,15 +124,16 @@ server=/.sandbox.global.ingenico.com/10.138.24.53 server=/sb.eu.ginfra.net/10.138.24.53 ''; - "NetworkManager/dnsmasq.d/default.conf".text = '' + "NetworkManager/dnsmasq.d/default.conf".text = '' server=/~./1.1.1.1 server=1.1.1.1 server=/~./1.0.0.1 server=1.0.0.1 ''; - "docker/daemon.json".text = '' + "docker/daemon.json".text = '' { "dns": [ + "10.138.24.53", "172.17.0.1" ], "insecure-registries": [ @@ -100,7 +141,9 @@ ] } ''; - "NetworkManager/dnsmasq.d/docker-bridge.conf".text = '' + "NetworkManager/dnsmasq.d/docker-bridge.conf".text = '' + interface=lo + interface=docker0 listen-address=172.17.0.1 ''; }; @@ -108,10 +151,11 @@ hardware.bluetooth = { enable = true; # Enable A2DP Sink - extraConfig = " - [General] - Enable=Source,Sink,Media,Socket - "; + settings = { + General = { + Enable = "Source,Sink,Media,Socket"; + }; + }; }; hardware.pulseaudio = { enable = true; @@ -138,6 +182,13 @@ primary = true; atomic = true; } + { + name = "Work dock"; + outputs_connected = [ "DP-1-2" ]; + configure_single = "DP-1-2"; + primary = true; + atomic = true; + } { name = "Work USBC"; outputs_connected = [ "DP-1" ]; @@ -167,6 +218,7 @@ key = "589ECB6FAA8FF1F40E579C9E1479473F99393013"; signByDefault = true; }; + lfs.enable = true; }; gpg.enable = true; }; @@ -174,6 +226,17 @@ # Enable touchpad support. services.xserver.libinput.enable = true; + services.printing.enable = true; + services.printing.drivers = [ pkgs.gutenprint ]; + services.avahi.enable = true; + services.avahi.nssmdns = true; + # eid + services.pcscd.enable = true; + environment.systemPackages = with pkgs; [ + eid-mw + nvidia-offload + ]; + system.stateVersion = "20.09"; }