nix/hosts/nixos-laptop/nixos/configuration.nix

106 lines
2.6 KiB
Nix
Raw Normal View History

{ lib, config, pkgs, ... }: {
2023-07-01 10:23:32 +02:00
2023-08-15 09:29:39 +02:00
imports = [
# Desktop Environments
2023-08-18 03:08:17 +02:00
../../../desktops/common.nix
2023-08-19 11:34:22 +02:00
# ../../../desktops/hyprland.nix
../../../desktops/gnome.nix
2023-08-18 03:08:17 +02:00
# Power Mamagement
../../../modules/powertop.nix
2023-08-15 09:29:39 +02:00
];
2023-08-19 02:15:21 +02:00
programs.gamemode = {
enable = true;
settings = {
custom = {
start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'";
end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'";
};
};
};
2023-08-19 03:16:43 +02:00
# Try thinkfan...
2023-08-19 11:37:16 +02:00
#services.thinkfan = {
# enable = true;
#};
2023-08-19 03:16:43 +02:00
2023-07-13 11:08:12 +02:00
# Set your time zone.
time.timeZone = "Asia/Tokyo";
2023-07-06 05:24:21 +02:00
2023-07-01 11:37:30 +02:00
# Set the networking hostname:
2023-07-01 11:38:21 +02:00
networking.hostName = "nixos-laptop";
2023-07-01 11:37:30 +02:00
2023-07-01 10:23:32 +02:00
# Configure the fingerprint reader
services.fprintd = {
enable = true;
tod.enable = true;
tod.driver = pkgs.libfprint-2-tod1-vfs0090;
};
2023-07-05 14:58:58 +02:00
# Enable nVidia PRIME Render Offload and OpenGL
2023-07-01 10:23:32 +02:00
# https://github.com/NixOS/nixos-hardware/blob/master/lenovo/thinkpad/p1/3th-gen/nvidia.nix
2023-07-16 10:35:23 +02:00
# https://libreddit.kavin.rocks/r/NixOS/comments/x04dyv/optimus_help/
2023-07-16 11:22:22 +02:00
# boot.kernelParams = [ "nomodeset" ];
2023-07-16 10:35:23 +02:00
2023-07-26 14:42:33 +02:00
# nVidia information:
# https://github.com/NixOS/nixpkgs/pull/211300
# https://github.com/NixOS/nixpkgs/pull/244060
2023-07-05 14:58:58 +02:00
hardware = {
opengl.enable = true;
opengl.driSupport32Bit = true;
opengl.driSupport = true;
2023-07-16 10:35:23 +02:00
# opengl.extraPackages = with pkgs; [ nvidia-vaapi-driver ];
2023-08-11 14:23:00 +02:00
# https://nixpk.gs/pr-tracker.html?pr=244060
2023-08-14 12:56:10 +02:00
nvidia = {
2023-07-16 11:18:58 +02:00
open = false;
2023-08-15 03:10:15 +02:00
dynamicBoost.enable = true;
2023-08-19 10:28:54 +02:00
nvidiaPersistenced = false;
2023-07-16 10:06:08 +02:00
package = config.boot.kernelPackages.nvidiaPackages.stable;
2023-08-19 02:15:21 +02:00
powerManagement.finegrained = true;
powerManagement.enable = true;
2023-08-15 03:10:15 +02:00
nvidiaSettings = true;
modesetting.enable = true;
2023-07-12 08:29:53 +02:00
prime = {
2023-08-19 10:30:30 +02:00
reverseSync.enable = true;
2023-07-14 16:59:52 +02:00
offload = {
enable = true;
enableOffloadCmd = true;
};
2023-07-12 08:29:53 +02:00
intelBusId = lib.mkDefault "PCI:0:2:0";
nvidiaBusId = lib.mkDefault "PCI:1:0:0";
};
2023-07-05 14:58:58 +02:00
};
2023-07-01 10:23:32 +02:00
};
2023-07-16 10:12:15 +02:00
# environment.variables = {
# GBM_BACKEND = "nvidia-drm";
# LIBVA_DRIVER_NAME = "nvidia";
# __GLX_VENDOR_LIBRARY_NAME = "nvidia";
# };
2023-07-12 16:41:12 +02:00
2023-07-26 14:42:33 +02:00
2023-07-12 05:54:40 +02:00
environment.systemPackages = with pkgs; [
2023-07-12 08:08:57 +02:00
# Fingerprint software
2023-07-12 05:54:40 +02:00
fprintd
2023-08-17 07:45:29 +02:00
# nVidia graphics options
2023-07-15 15:31:06 +02:00
vulkan-loader
vulkan-validation-layers
vulkan-tools
2023-07-15 15:52:02 +02:00
gwe
2023-07-26 14:42:33 +02:00
nvtop-nvidia
2023-08-17 07:45:29 +02:00
2023-07-26 14:42:33 +02:00
# Game related things
gamemode
2023-07-16 08:51:38 +02:00
# support both 32- and 64-bit applications
wineWowPackages.stable
# wine-staging (version with experimental features)
2023-08-17 07:34:05 +02:00
# wineWowPackages.staging
2023-07-16 08:51:38 +02:00
# winetricks (all versions)
winetricks
# native wayland support (unstable)
wineWowPackages.waylandFull
2023-07-12 05:54:40 +02:00
];
2023-07-12 08:34:24 +02:00
}