-
-
Notifications
You must be signed in to change notification settings - Fork 14.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #114 from tomberek/master
Initial 15-7590
- Loading branch information
Showing
2 changed files
with
91 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
= Dell XPS 15 7590 = | ||
*Mostly copied from 15-9550 | ||
== Tested Hardware == | ||
|
||
* CPU: Intel(R) Core(TM) i9-9980HK | ||
* RAM: 32 GB | ||
* HDD: 1 TiB SSD | ||
* Screen: 15" 4k (3840✕2160) | ||
* Input: Touchscreen and trackpad. | ||
== Firmware Configuration == | ||
|
||
Not much tweaking of NixOS itself was needed. But we currently cannot automate the firmware setup, so this must be done by hand. | ||
|
||
=== Before installation === | ||
|
||
These settings are needed both for booting the final install, and installer itself. Therefore, they must be done first. | ||
|
||
* ''Disable Secure Boot (but keep UEFI Boot).'' Thankfully doing so is as easy as changing any other simple setting. | ||
* ''Disable Intel hardware RAID and use AHCI instead.'' Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.) | ||
=== Wifi === | ||
~~Wifi does not work with kernels older than 5.1 (firmware not present) or newer~~ (https://bbs.archlinux.org/viewtopic.php?id=247705) | ||
|
||
Update: The 48.ucode causes the Killer wifi card to crash. The iwlfwifi-cc-a0-46.ucode works perfectly. default.nix contains an overlay that removes the offending ucode from the linux-firmware bundle. | ||
|
||
``` | ||
# Use the systemd-boot EFI boot loader. | ||
boot.loader.systemd-boot.enable = true; | ||
boot.loader.grub = { | ||
device = "nodev"; | ||
efiSupport = true; | ||
efiInstallAsRemovable = true; | ||
}; | ||
boot.loader.efi.canTouchEfiVariables = true; | ||
boot.kernelPackages = pkgs.linuxPackages_5_1; | ||
``` | ||
Disable the `canTouchEfiVariables` after a boot or two to prevent NVRAM wearout. | ||
|
||
|
||
=== After installation === | ||
|
||
* ''Add systemd-boot to UEFI boot list.'' The (uneditable anyways) settings mapping drive UUIDs to HD* work fine. | ||
=== Optional === | ||
|
||
* ''Update BIOS.'' According to Reddit, this helps with battery life. | ||
=== Troubleshooting === | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
{ lib, ... }: | ||
|
||
{ | ||
imports = [ | ||
../../../common/cpu/intel | ||
../../../common/pc/laptop | ||
../../../common/pc/ssd | ||
]; | ||
|
||
# Set to true for just the first run, then disable it. | ||
# boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; | ||
|
||
# Earlier font-size setup | ||
console.earlySetup = true; | ||
|
||
# Prevent small EFI partiion from filling up | ||
boot.loader.grub.configurationLimit = 10; | ||
|
||
# The 48.ucode causes the Killer wifi card to crash. | ||
# The iwlfwifi-cc-a0-46.ucode works perfectly | ||
nixpkgs.pkgs = import <nixpkgs> { | ||
config.allowUnfree = true; | ||
overlays = [ | ||
(self: super: { | ||
firmwareLinuxNonfree = super.firmwareLinuxNonfree.overrideAttrs (old: { | ||
src = super.fetchgit{ | ||
url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; | ||
rev = "bf13a71b18af229b4c900b321ef1f8443028ded8"; | ||
sha256 = "1dcaqdqyffxiadx420pg20157wqidz0c0ca5mrgyfxgrbh6a4mdj"; | ||
}; | ||
postInstall = '' | ||
rm $out/lib/firmware/iwlwifi-cc-a0-48.ucode | ||
''; | ||
outputHash = "0dq48i1cr8f0qx3nyq50l9w9915vhgpwmwiw3b4yhisbc3afyay4"; | ||
}); | ||
}) | ||
]; | ||
}; | ||
} |