{ inputs, config, lib, pkgs, modulesPath, ... }: { imports = [ inputs.nixos-hardware.nixosModules.framework-13-7040-amd (modulesPath + "/installer/scan/not-detected.nix") ./disks.nix ../../common/services/tailscale-autoconnect.nix ../../common/modules/secureboot.nix # ../../common/modules/boot.nix ../../common/modules/udev-rules.nix # ../../common/modules/yubikey-auth.nix ../../common/modules/builder.nix ../../common/services/podman.nix ../../common/services/geoclue.nix ../../common/services/syncthing.nix ../../common/services/ollama.nix ]; services.ollama.acceleration = "rocm"; services.ollama.package = pkgs.ollama-rocm; hardware.bluetooth.enable = true; # enables support for Bluetooth hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot services.fwupd.enable = true; # we need fwupd 1.9.7 to downgrade the fingerprint sensor firmware services.fwupd.package = (import (builtins.fetchTarball { url = "https://github.com/NixOS/nixpkgs/archive/bb2009ca185d97813e75736c2b8d1d8bb81bde05.tar.gz"; sha256 = "sha256:003qcrsq5g5lggfrpq31gcvj82lb065xvr7bpfa8ddsw8x4dnysk"; }) { inherit (pkgs) system;}).fwupd; boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "uas" "sd_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; # boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelParams = [ "boot.shell_on_fail" ]; # boot.extraModulePackages = with config.boot.kernelPackages; [ acpi_call ]; boot.kernelPackages = pkgs.linuxPackages_latest; networking.useDHCP = lib.mkDefault true; 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 = "Europe/Warsaw"; # Set the networking hostname: networking.hostName = "nixos-framework"; hardware = { graphics.enable = true; amdgpu.opencl.enable = 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; [ # Game related things gamemode # WINE wineWowPackages.stable winetricks wineWowPackages.waylandFull nvtopPackages.amd # RGB stuff openrgb-with-all-plugins rivalcfg # Other distrobox ]; }