work details
This commit is contained in:
parent
d390530b35
commit
de83e8a338
6 changed files with 86 additions and 84 deletions
|
|
@ -1,26 +1,31 @@
|
||||||
{ config, lib, modulesPath, ... }: {
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
# AMD Ryzen 7 4000 series (Renoir)
|
{
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" ];
|
imports =
|
||||||
boot.kernelModules = [ "kvm-amd" "amdgpu" ];
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
boot.extraModulePackages = [];
|
];
|
||||||
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
hardware.cpu.amd.updateMicrocode =
|
fileSystems."/" =
|
||||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
{ device = "/dev/disk/by-uuid/1c2840f7-3924-477d-a8e7-707c95874441";
|
||||||
|
fsType = "ext4";
|
||||||
# PRIME offload: AMD iGPU renders the display, NVIDIA dGPU handles offloaded workloads.
|
|
||||||
# Fill in the Bus IDs before building the ISO.
|
|
||||||
# To get them: boot any live Linux on the machine and run:
|
|
||||||
# lspci -D | grep -E '(VGA|3D|Display)'
|
|
||||||
# Then convert the PCI address (e.g. 0000:06:00.0) to the format "PCI:6:0:0".
|
|
||||||
hardware.nvidia.prime = {
|
|
||||||
offload.enable = true;
|
|
||||||
offload.enableOffloadCmd = true;
|
|
||||||
amdgpuBusId = "PCI:FILL:IN:ME"; # TODO: AMD Radeon Vega iGPU bus ID
|
|
||||||
nvidiaBusId = "PCI:FILL:IN:ME"; # TODO: NVIDIA GTX 1650 dGPU bus ID
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/24C6-A993";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,7 @@ let
|
||||||
in {
|
in {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
firefox
|
firefox
|
||||||
discord
|
|
||||||
stremio-linux-shell
|
|
||||||
obsidian
|
|
||||||
kitty
|
kitty
|
||||||
qbittorrent
|
|
||||||
claude-code
|
claude-code
|
||||||
mpv
|
mpv
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }: {
|
||||||
let
|
|
||||||
wallpaper = ../../wallpapers/miku.png;
|
|
||||||
in {
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
XDG_CURRENT_DESKTOP = "niri";
|
XDG_CURRENT_DESKTOP = "niri";
|
||||||
XDG_SESSION_DESKTOP = "niri";
|
XDG_SESSION_DESKTOP = "niri";
|
||||||
|
|
@ -77,8 +74,6 @@ in {
|
||||||
|
|
||||||
prefer-no-csd
|
prefer-no-csd
|
||||||
|
|
||||||
spawn-at-startup "swww-daemon"
|
|
||||||
spawn-at-startup "swww" "img" "${wallpaper}" "--transition-type" "none"
|
|
||||||
spawn-at-startup "quickshell"
|
spawn-at-startup "quickshell"
|
||||||
|
|
||||||
screenshot-path "${config.xdg.userDirs.pictures}/screenshots/%Y-%m-%d %H-%M-%S.png"
|
screenshot-path "${config.xdg.userDirs.pictures}/screenshots/%Y-%m-%d %H-%M-%S.png"
|
||||||
|
|
@ -115,7 +110,7 @@ in {
|
||||||
|
|
||||||
// System
|
// System
|
||||||
Mod+Shift+E { quit; }
|
Mod+Shift+E { quit; }
|
||||||
Mod+L { spawn "swaylock" "-i" "${wallpaper}" "--scaling" "fill"; }
|
Mod+L { spawn "swaylock"; }
|
||||||
|
|
||||||
// Volume
|
// Volume
|
||||||
XF86AudioRaiseVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%+"; }
|
XF86AudioRaiseVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%+"; }
|
||||||
|
|
|
||||||
|
|
@ -45,8 +45,8 @@ in {
|
||||||
den.aspects.wayland
|
den.aspects.wayland
|
||||||
den.aspects.niri
|
den.aspects.niri
|
||||||
den.aspects.work-specific
|
den.aspects.work-specific
|
||||||
den.aspects.dev
|
|
||||||
den.aspects.secrets
|
den.aspects.secrets
|
||||||
|
den.aspects.dev
|
||||||
];
|
];
|
||||||
nixos = {
|
nixos = {
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.11";
|
||||||
|
|
|
||||||
|
|
@ -19,42 +19,42 @@ in {
|
||||||
tracy
|
tracy
|
||||||
|
|
||||||
# Infrastructure
|
# Infrastructure
|
||||||
docker-compose
|
# docker-compose
|
||||||
|
|
||||||
# IDE
|
# IDE
|
||||||
jetbrains.idea-oss
|
# jetbrains.idea-oss
|
||||||
|
|
||||||
# Neovim
|
# Neovim
|
||||||
vimPlugins.blink-cmp
|
vimPlugins.blink-cmp
|
||||||
|
|
||||||
# LSPs
|
# LSPs
|
||||||
bash-language-server
|
bash-language-server
|
||||||
lua-language-server
|
# lua-language-server
|
||||||
nixd
|
nixd
|
||||||
vscode-langservers-extracted
|
# vscode-langservers-extracted
|
||||||
yaml-language-server
|
# yaml-language-server
|
||||||
dockerfile-language-server
|
# dockerfile-language-server
|
||||||
marksman
|
# marksman
|
||||||
clang-tools
|
# clang-tools
|
||||||
jdt-language-server
|
# jdt-language-server
|
||||||
typescript-language-server
|
# typescript-language-server
|
||||||
pyright
|
# pyright
|
||||||
taplo
|
# taplo
|
||||||
sqls
|
# sqls
|
||||||
astro-language-server
|
# astro-language-server
|
||||||
angular-language-server
|
# angular-language-server
|
||||||
vue-language-server
|
# vue-language-server
|
||||||
tailwindcss-language-server
|
# tailwindcss-language-server
|
||||||
qt6Packages.qtdeclarative
|
# qt6Packages.qtdeclarative
|
||||||
wgsl-analyzer
|
# wgsl-analyzer
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.java = {
|
# programs.java = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
package = pkgs-unstable.jdk17;
|
# package = pkgs-unstable.jdk17;
|
||||||
};
|
# };
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
# virtualisation.docker.enable = true;
|
||||||
users.users.${username}.extraGroups = [ "docker" ];
|
# users.users.${username}.extraGroups = [ "docker" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,26 +2,32 @@
|
||||||
den.aspects.work-specific.nixos = { pkgs, config, ... }: {
|
den.aspects.work-specific.nixos = { pkgs, config, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./_hardware/work-hardware.nix
|
./_hardware/work-hardware.nix
|
||||||
./_hardware/notebook-disko.nix
|
|
||||||
inputs.disko.nixosModules.disko
|
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.graphics = {
|
hardware = {
|
||||||
|
graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enable32Bit = true;
|
enable32Bit = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.nvidia = {
|
nvidia = {
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
open = false;
|
open = false;
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
# Fine-grained power management is required for PRIME offload mode.
|
|
||||||
powerManagement.enable = true;
|
powerManagement.enable = true;
|
||||||
powerManagement.finegrained = true;
|
powerManagement.finegrained = true;
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
|
# AMD iGPU drives the display; NVIDIA dGPU handles offloaded rendering.
|
||||||
|
# Run `lspci -D | grep -E '(VGA|3D|Display)'` to verify Bus IDs.
|
||||||
|
prime = {
|
||||||
|
offload.enable = true;
|
||||||
|
offload.enableOffloadCmd = true;
|
||||||
|
amdgpuBusId = "PCI:5:0:0";
|
||||||
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# amdgpu drives the display; nvidia is available for offloaded rendering.
|
|
||||||
services.xserver.videoDrivers = [ "amdgpu" "nvidia" ];
|
services.xserver.videoDrivers = [ "amdgpu" "nvidia" ];
|
||||||
|
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
|
|
@ -37,7 +43,6 @@
|
||||||
allowedUDPPorts = [];
|
allowedUDPPorts = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.thermald.enable = true;
|
|
||||||
powerManagement.enable = true;
|
powerManagement.enable = true;
|
||||||
|
|
||||||
services.tlp = {
|
services.tlp = {
|
||||||
|
|
@ -49,7 +54,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd.kernelModules = [ "dm-crypt" "amdgpu" ];
|
initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
kernelModules = [ "kvm-amd" "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
|
||||||
initrd.compressor = "zstd";
|
initrd.compressor = "zstd";
|
||||||
kernelParams = [ "nvidia.NVreg_PreserveVideoMemoryAllocations=1" ];
|
kernelParams = [ "nvidia.NVreg_PreserveVideoMemoryAllocations=1" ];
|
||||||
|
|
||||||
|
|
@ -58,10 +64,10 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
device = "nodev";
|
device = "nodev";
|
||||||
efiSupport = true;
|
efiSupport = true;
|
||||||
configurationLimit = 2;
|
efiInstallAsRemovable = true;
|
||||||
enableCryptodisk = true;
|
configurationLimit = 10;
|
||||||
};
|
};
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue