# SPDX-FileCopyrightText: 2022 Richard Brežák # # SPDX-License-Identifier: LGPL-3.0-or-later { system = "x86_64-linux"; name = "omen"; module = { pkgs, lib, config, secret, roots, inputs, ... }: with lib; { imports = [ (roots.nixos + "/profiles/workstation.nix") ]; _module.args.nixinate = { host = "10.64.0.8"; sshUser = "main"; buildOn = "local"; substituteOnTarget = true; hermetic = false; nixOptions = [ "--override-input secret path://$HOME/dotfiles/secret" ]; }; home-manager.users."main" = {...}: { magic_rb = { optimisation.march = "skylake"; }; home.stateVersion = "20.09"; }; specialisation.nvidia-sync = { configuration = { magic_rb.xserver.nvidia = { primeSync = true; primeOffload = lib.mkForce false; }; }; inheritParentConfig = true; }; magic_rb = { optimisation.march = "skylake"; grub = { enable = true; efi.enable = true; }; xserver = { gpu = "nvidia"; nvidia = { primeOffload = true; intelBusId = "PCI:0:2:0"; nvidiaBusId = "PCI:1:0:0"; }; }; gaming.enable = true; hardware.omen = true; networking = { bluetooth = true; networkManager = true; }; }; # Pinning nix.registry = flip mapAttrs inputs ( n: flake: {inherit flake;} ); # Networking networking = { hostName = "omen"; useDHCP = false; interfaces.eno1.useDHCP = true; hostId = "10c7ffc5"; firewall.allowedTCPPorts = [22000]; wireguard.interfaces."wg0" = {} // config.magic_rb.secret.wireguard."omen" or { privateKey = ""; }; }; systemd.services.udp2tcp = { wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; path = with pkgs; [ dig.host ]; restartIfChanged = true; script = '' ${pkgs.udp-over-tcp}/bin/udp2tcp\ --udp-listen 127.0.0.1:6665 \ --tcp-forward "$(host redalder.org | sed -e 's/.* //'):6001" ''; }; systemd.services.udp2tcp-wake-restart = { wantedBy = [ "suspend.target" "hibernate.target" "hybrid-sleep.target" "suspend-then-hibernate.target" ]; after = [ "suspend.target" "hibernate.target" "hybrid-sleep.target" "suspend-then-hibernate.target" ]; script = '' systemctl restrart udp2tcp.services ''; }; # System system.stateVersion = "20.09"; }; }