{ inputs, config, lib, pkgs, modulesPath, desktop, username, ... }: { imports = [ inputs.nixos-hardware.nixosModules.framework-13-7040-amd (modulesPath + "/installer/scan/not-detected.nix") ./disks.nix ../../common/modules/secureboot.nix ../../common/modules/udev-rules.nix ../../common/modules/ssh-luks.nix ../../common/services/fwupd.nix ../../common/services/tlp.nix ]; # steam , etc nixpkgs.config.allowUnfree = true; boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "thunderbolt" ]; boot.initrd.kernelModules = [ "amdgpu" ]; boot.kernelModules = [ "kvm-amd" "acpi_call" ]; boot.kernelPackages = pkgs.linuxPackages_latest; # boot.extraModulePackages = with config.boot.kernelPackages; [ acpi_call ]; networking.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand"; hardware.keyboard.zsa.enable = true; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; # Set your time zone. time.timeZone = "Asia/Tokyo"; # Set the networking hostname: networking.hostName = "nixos-framework"; # Laptop can't sleep for some reason systemd.services.systemd-logind.environment = { SYSTEMD_BYPASS_HIBERNATION_MEMORY_CHECK = "1"; }; hardware = { opengl = { enable = true; driSupport32Bit = true; driSupport = true; }; }; programs.gamemode = { enable = true; enableRenice = true; settings = { general = { renice = 10; }; # Warning: GPU optimisations have the potential to damage hardware gpu = { # apply_gpu_optimisations = "accept-responsibility"; gpu_device = 0; amd_performance_level = "high"; }; custom = { start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'"; end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'"; }; }; }; environment.systemPackages = with pkgs; [ # distrobox # Game related things gamemode # WINE wineWowPackages.stable winetricks wineWowPackages.waylandFull ]; # Generic Tailscale configs are in /nixos/common/services/tailscale.nix # Set up the secrets file: sops.secrets."tailscale_keys/nixos-framework" = { owner = "root"; sopsFile = ../../../secrets/tailscale.yaml; restartUnits = [ "tailscaled.service" "tailscaled-autoconnect.service" ]; }; services.tailscale.authKeyFile = "/run/secrets/tailscale_keys/nixos-framework"; # networking.firewall.allowedTCPPorts = [ 22 ]; }