Update nixos system config

This commit is contained in:
Yan Lin 2025-09-13 09:17:43 +02:00
parent c85ea77b73
commit c674f26e69
5 changed files with 57 additions and 49 deletions

View file

@ -56,9 +56,7 @@
nixosConfigurations."thinkpad" = nixpkgs.lib.nixosSystem { nixosConfigurations."thinkpad" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
disko.nixosModules.disko
./hosts/nixos/thinkpad/system.nix ./hosts/nixos/thinkpad/system.nix
./hosts/nixos/thinkpad/disk-config.nix
]; ];
}; };

View file

@ -1,7 +1,6 @@
{ config, pkgs, ... }: { { config, pkgs, ... }: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./disk-config.nix
./containers.nix # Host-specific container definitions ./containers.nix # Host-specific container definitions
./proxy.nix # Host-specific Traefik dynamic configuration ./proxy.nix # Host-specific Traefik dynamic configuration
./disk-health.nix # Host-specific disk health monitoring ./disk-health.nix # Host-specific disk health monitoring

View file

@ -1,28 +1,41 @@
# This file will be auto-generated by nixos-generate-config during installation # Do not modify this file! It was generated by nixos-generate-config
# It will contain the hardware scan results specific to your ThinkPad P14s Gen 2 # and may be overwritten by future invocations. Please make changes
# # to /etc/nixos/configuration.nix instead.
# DO NOT EDIT this file manually before installation!
# Run 'nixos-generate-config --show-hardware-config' on the target machine
# to generate the actual hardware configuration.
{ config, lib, pkgs, modulesPath, ... }: { config, lib, pkgs, modulesPath, ... }:
{ {
imports = [ ]; imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
# This will be populated automatically during installation boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ];
boot.initrd.availableKernelModules = [ ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
# Filesystem configuration will be added here by nixos-generate-config fileSystems."/" =
# based on your actual disk partitioning { device = "/dev/disk/by-uuid/97aa0a15-1b4a-43b6-b424-65d1926cec73";
fsType = "ext4";
};
# Swap configuration (if applicable) will be added here fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/7C9B-24EC";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
# CPU and platform configuration will be detected and added here swapDevices = [
{ device = "/dev/disk/by-partlabel/disk-main-swap"; }
];
# The NixOS release version will be set here # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
system.stateVersion = "24.05"; # (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp9s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View file

@ -1,7 +1,6 @@
{ config, pkgs, lib, ... }: { { config, pkgs, lib, ... }: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./disk-config.nix
]; ];
# Bootloader - standard UEFI setup # Bootloader - standard UEFI setup
@ -103,7 +102,7 @@
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
# Sound configuration with PipeWire (better than PulseAudio) # Sound configuration with PipeWire (better than PulseAudio)
hardware.pulseaudio.enable = false; services.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
services.pipewire = { services.pipewire = {
enable = true; enable = true;
@ -120,23 +119,24 @@
# Video drivers # Video drivers
videoDrivers = [ "modesetting" "nvidia" ]; videoDrivers = [ "modesetting" "nvidia" ];
# Display manager
displayManager.sddm = {
enable = true;
wayland.enable = true;
};
# Desktop environment
desktopManager.plasma6.enable = true;
# Keyboard layout # Keyboard layout
xkb = { xkb = {
layout = "us"; layout = "us";
variant = ""; variant = "";
}; };
};
# Display manager
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
};
# Desktop environment
services.desktopManager.plasma6.enable = true;
# Touchpad configuration # Touchpad configuration
libinput = { services.libinput = {
enable = true; enable = true;
touchpad = { touchpad = {
naturalScrolling = true; naturalScrolling = true;
@ -145,7 +145,6 @@
accelProfile = "adaptive"; accelProfile = "adaptive";
}; };
}; };
};
# Power management for laptops # Power management for laptops
powerManagement = { powerManagement = {
@ -250,11 +249,11 @@
home-manager home-manager
# KDE/Plasma utilities # KDE/Plasma utilities
kate kdePackages.kate
konsole kdePackages.konsole
spectacle kdePackages.spectacle
filelight kdePackages.filelight
ark kdePackages.ark
# System utilities # System utilities
pciutils pciutils

View file

@ -1,7 +1,6 @@
{ config, pkgs, ... }: { { config, pkgs, ... }: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./disk-config.nix
./containers.nix # Host-specific container definitions ./containers.nix # Host-specific container definitions
./proxy.nix # Host-specific Traefik dynamic configuration ./proxy.nix # Host-specific Traefik dynamic configuration
../../../modules/wireguard.nix ../../../modules/wireguard.nix