From 53f978f270d660103fe96ac9d8d84655f82f8b2e Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Wed, 17 Apr 2024 19:34:02 +0200 Subject: [PATCH 1/9] link offical wiki page instead of unoffical --- friendlyarm/nanopc-t4/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/friendlyarm/nanopc-t4/README.md b/friendlyarm/nanopc-t4/README.md index 30ccf04..23d0462 100644 --- a/friendlyarm/nanopc-t4/README.md +++ b/friendlyarm/nanopc-t4/README.md @@ -4,7 +4,7 @@ This document on how I configure [NixOS](https://nixos.org/) on [NanoPC-T4](http # Installation -To install NixOS on you can follow the [official instructions](https://nixos.wiki/wiki/NixOS_on_ARM/NanoPC-T4) and use the [pre-built images](https://github.com/tmountain/arch-nanopct4/tree/main/images/) from @tmountain. You can also build the U-Boot image yourself from `nixpkgs` based on changes added in [#111034](https://github.com/NixOS/nixpkgs/pull/111034). +To install NixOS on you can follow the [official instructions](https://wiki.nixos.org/wiki/NixOS_on_ARM/NanoPC-T4) and use the [pre-built images](https://github.com/tmountain/arch-nanopct4/tree/main/images/) from @tmountain. You can also build the U-Boot image yourself from `nixpkgs` based on changes added in [#111034](https://github.com/NixOS/nixpkgs/pull/111034). ## NixOS on NVMe with ZFS @@ -62,7 +62,7 @@ A reader using `CP2102` chip did not work but `FT232RL` works fine: You can use `minicom` or `picocom` to connect: ``` -sudo minicom -b 1500000 -D /dev/ttyUSB0 +sudo minicom -b 1500000 -D /dev/ttyUSB0 sudo picocom -b 1500000 /dev/ttyUSB0 ``` But you'll need to disable flow control with `Ctrl-A x`. From 699723a72878912a7f8ae4b18d57eea68836c0fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tracteur=20Blind=C3=A9?= Date: Sat, 13 Apr 2024 08:58:07 -0700 Subject: [PATCH 2/9] surface: linux-surface to 6.8.1 --- microsoft/surface/common/kernel/default.nix | 2 +- .../common/kernel/{linux-6.6.x => linux-6.8.x}/default.nix | 4 ++-- .../common/kernel/{linux-6.6.x => linux-6.8.x}/patches.nix | 0 microsoft/surface/common/repos.nix | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) rename microsoft/surface/common/kernel/{linux-6.6.x => linux-6.8.x}/default.nix (87%) rename microsoft/surface/common/kernel/{linux-6.6.x => linux-6.8.x}/patches.nix (100%) diff --git a/microsoft/surface/common/kernel/default.nix b/microsoft/surface/common/kernel/default.nix index 55f22da..0c0159a 100644 --- a/microsoft/surface/common/kernel/default.nix +++ b/microsoft/surface/common/kernel/default.nix @@ -5,7 +5,7 @@ let in { imports = [ - ./linux-6.6.x + ./linux-6.8.x ]; options.microsoft-surface.kernelVersion = mkOption { diff --git a/microsoft/surface/common/kernel/linux-6.6.x/default.nix b/microsoft/surface/common/kernel/linux-6.8.x/default.nix similarity index 87% rename from microsoft/surface/common/kernel/linux-6.6.x/default.nix rename to microsoft/surface/common/kernel/linux-6.8.x/default.nix index 7d59f62..c6db5c1 100644 --- a/microsoft/surface/common/kernel/linux-6.6.x/default.nix +++ b/microsoft/surface/common/kernel/linux-6.8.x/default.nix @@ -7,14 +7,14 @@ let cfg = config.microsoft-surface; - version = "6.6.25"; + version = "6.8.1"; kernelPatches = surfacePatches { inherit version; patchFn = ./patches.nix; }; kernelPackages = linuxPackage { inherit version kernelPatches; - sha256 = "0i0zvqlj02rm6wpbidji0rn9559vrpfc1b8gbfjk70lhhyz11llr"; + sha256 = "sha256-jQyJNuMUCg+99RGtep8hEhWY82VnQ4mPR7uQUtN8/2g="; ignoreConfigErrors=true; }; diff --git a/microsoft/surface/common/kernel/linux-6.6.x/patches.nix b/microsoft/surface/common/kernel/linux-6.8.x/patches.nix similarity index 100% rename from microsoft/surface/common/kernel/linux-6.6.x/patches.nix rename to microsoft/surface/common/kernel/linux-6.8.x/patches.nix diff --git a/microsoft/surface/common/repos.nix b/microsoft/surface/common/repos.nix index 69e3122..7314da8 100644 --- a/microsoft/surface/common/repos.nix +++ b/microsoft/surface/common/repos.nix @@ -4,8 +4,8 @@ linux-surface = fetchFromGitHub { owner = "linux-surface"; repo = "linux-surface"; - rev = "arch-6.6.6-1"; - hash = "sha256-0pP/A0XllR/iheIBEBwEApaXpyFYzsnGZ+wdm4w5Jjg="; + rev = "arch-6.8.1-1"; + hash = "sha256-CI5kuER2rZ30sJciJpSuziWVI/KlX1ls8+PjoraemXo="; }; # This is the owner and repo for the pre-patched kernel from the "linux-surface" project: From 6f976e53752e5b9ab08f9a3b1b0b9c67815c9754 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tracteur=20Blind=C3=A9?= Date: Wed, 17 Apr 2024 17:41:51 -0700 Subject: [PATCH 3/9] surface: linux-surface to 6.8.6 --- microsoft/surface/common/kernel/linux-6.8.x/default.nix | 4 ++-- microsoft/surface/common/repos.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/microsoft/surface/common/kernel/linux-6.8.x/default.nix b/microsoft/surface/common/kernel/linux-6.8.x/default.nix index c6db5c1..cc3b663 100644 --- a/microsoft/surface/common/kernel/linux-6.8.x/default.nix +++ b/microsoft/surface/common/kernel/linux-6.8.x/default.nix @@ -7,14 +7,14 @@ let cfg = config.microsoft-surface; - version = "6.8.1"; + version = "6.8.6"; kernelPatches = surfacePatches { inherit version; patchFn = ./patches.nix; }; kernelPackages = linuxPackage { inherit version kernelPatches; - sha256 = "sha256-jQyJNuMUCg+99RGtep8hEhWY82VnQ4mPR7uQUtN8/2g="; + sha256 = "sha256-nnIyMtYDq0Xr8EPDRxTEjyd6sZXCmry4Ry8qTDpaGZU="; ignoreConfigErrors=true; }; diff --git a/microsoft/surface/common/repos.nix b/microsoft/surface/common/repos.nix index 7314da8..321e729 100644 --- a/microsoft/surface/common/repos.nix +++ b/microsoft/surface/common/repos.nix @@ -4,8 +4,8 @@ linux-surface = fetchFromGitHub { owner = "linux-surface"; repo = "linux-surface"; - rev = "arch-6.8.1-1"; - hash = "sha256-CI5kuER2rZ30sJciJpSuziWVI/KlX1ls8+PjoraemXo="; + rev = "arch-6.8.6-1"; + hash = "sha256-kLnHcYFeQ7/8lbSL4p9D2aC4V/Ib1tU225UOkRcNnH4="; }; # This is the owner and repo for the pre-patched kernel from the "linux-surface" project: From 6f1e7c42376cbc14c6a3d46e8471e58d36b8c5c7 Mon Sep 17 00:00:00 2001 From: Jacob Osborne Date: Mon, 15 Apr 2024 15:34:04 -0400 Subject: [PATCH 4/9] added framework 16 --- README.md | 1 + flake.nix | 1 + framework/16-inch/cpu/7040-amd/README.md | 18 +++++++++++++ framework/16-inch/cpu/7040-amd/default.nix | 10 ++++++++ framework/16-inch/cpu/common/amd.nix | 14 ++++++++++ framework/16-inch/cpu/common/default.nix | 30 ++++++++++++++++++++++ 6 files changed, 74 insertions(+) create mode 100644 framework/16-inch/cpu/7040-amd/README.md create mode 100644 framework/16-inch/cpu/7040-amd/default.nix create mode 100644 framework/16-inch/cpu/common/amd.nix create mode 100644 framework/16-inch/cpu/common/default.nix diff --git a/README.md b/README.md index 1bfe760..35b5af6 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ See code for all available configurations. | [Framework 12th Gen Intel Core](framework/13-inch/12th-gen-intel) | `` | | [Framework 13th Gen Intel Core](framework/13-inch/13th-gen-intel) | `` | | [Framework 13 AMD Ryzen 7040 Series](framework/13-inch/7040-amd) | `` | +| [Framework 16 AMD Ryzen 7040 Series](framework/16-inch/cpu/7040-amd) | `` | | [FriendlyARM NanoPC-T4](friendlyarm/nanopc-t4) | `` | | [FriendlyARM NanoPi R5s](friendlyarm/nanopi-r5s) | `` | | [Focus M2 Gen 1](focus/m2/gen1) | `` | diff --git a/flake.nix b/flake.nix index 046d9be..05aae27 100644 --- a/flake.nix +++ b/flake.nix @@ -77,6 +77,7 @@ framework-12th-gen-intel = import ./framework/13-inch/12th-gen-intel; framework-13th-gen-intel = import ./framework/13-inch/13th-gen-intel; framework-13-7040-amd = import ./framework/13-inch/7040-amd; + framework-16-7040-amd = import ./framework/16-inch/cpu/7040-amd; friendlyarm-nanopc-t4 = import ./friendlyarm/nanopc-t4; friendlyarm-nanopi-r5s = import ./friendlyarm/nanopi-r5s; focus-m2-gen1 = import ./focus/m2/gen1; diff --git a/framework/16-inch/cpu/7040-amd/README.md b/framework/16-inch/cpu/7040-amd/README.md new file mode 100644 index 0000000..fb9f2c3 --- /dev/null +++ b/framework/16-inch/cpu/7040-amd/README.md @@ -0,0 +1,18 @@ +# [Framework Laptop 16](https://frame.work/) + +## Updating Firmware + +First enable the `fwupd` service + +```nix +services.fwupd.enable = true; +``` + +Then run + +```sh + $ fwupdmgr update +``` + +- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop.Ryzen7040.BIOS.firmware) + diff --git a/framework/16-inch/cpu/7040-amd/default.nix b/framework/16-inch/cpu/7040-amd/default.nix new file mode 100644 index 0000000..2059a49 --- /dev/null +++ b/framework/16-inch/cpu/7040-amd/default.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../common + ../common/amd.nix + ../../../../common/cpu/amd/raphael/igpu.nix + ]; + +} diff --git a/framework/16-inch/cpu/common/amd.nix b/framework/16-inch/cpu/common/amd.nix new file mode 100644 index 0000000..f75720d --- /dev/null +++ b/framework/16-inch/cpu/common/amd.nix @@ -0,0 +1,14 @@ +{ lib, config, ... }: { + imports = [ + ../../../../common/cpu/amd + ../../../../common/cpu/amd/pstate.nix + ../../../../common/gpu/amd + ]; + + # Workaround for SuspendThenHibernate: https://lore.kernel.org/linux-kernel/20231106162310.85711-1-mario.limonciello@amd.com/ + boot.kernelParams = lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") ["rtc_cmos.use_acpi_alarm=1"] ; + + # AMD has better battery life with PPD over TLP: + # https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13 + services.power-profiles-daemon.enable = lib.mkDefault true; +} diff --git a/framework/16-inch/cpu/common/default.nix b/framework/16-inch/cpu/common/default.nix new file mode 100644 index 0000000..4105bc8 --- /dev/null +++ b/framework/16-inch/cpu/common/default.nix @@ -0,0 +1,30 @@ +{ lib, pkgs, ... }: { + imports = [ + ../../../../common/pc/laptop + ../../../../common/pc/laptop/ssd + ]; + + # Fix TRRS headphones missing a mic + # https://community.frame.work/t/headset-microphone-on-linux/12387/3 + boot.extraModprobeConfig = lib.mkIf (lib.versionOlder pkgs.linux.version "6.6.8") '' + options snd-hda-intel model=dell-headset-multi + ''; + + # For fingerprint support + services.fprintd.enable = lib.mkDefault true; + + # Custom udev rules + services.udev.extraRules = '' + # Ethernet expansion card support + ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8156", ATTR{power/autosuspend}="20" + ''; + + # Fix font sizes in X + # services.xserver.dpi = 200; + + # Needed for desktop environments to detect/manage display brightness + hardware.sensor.iio.enable = lib.mkDefault true; + + # Enable keyboard customization + hardware.keyboard.qmk.enable = lib.mkDefault true; +} From 3638bc8fab3de21e116909423f289feb4950a0c8 Mon Sep 17 00:00:00 2001 From: Jacob Osborne Date: Thu, 18 Apr 2024 14:42:35 -0400 Subject: [PATCH 5/9] Redirected users to the fwupd wiki page --- framework/16-inch/cpu/7040-amd/README.md | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/framework/16-inch/cpu/7040-amd/README.md b/framework/16-inch/cpu/7040-amd/README.md index fb9f2c3..0ce3dbe 100644 --- a/framework/16-inch/cpu/7040-amd/README.md +++ b/framework/16-inch/cpu/7040-amd/README.md @@ -1,18 +1,4 @@ # [Framework Laptop 16](https://frame.work/) ## Updating Firmware - -First enable the `fwupd` service - -```nix -services.fwupd.enable = true; -``` - -Then run - -```sh - $ fwupdmgr update -``` - -- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop.Ryzen7040.BIOS.firmware) - +The Framework Laptop 16 uses LVFS, so it can be updated via fwupd; see https://wiki.nixos.org/wiki/Fwupd for details From 5d48925b815fd202781bfae8fb6f45c07112fdb2 Mon Sep 17 00:00:00 2001 From: Jacob Osborne Date: Thu, 18 Apr 2024 15:16:54 -0400 Subject: [PATCH 6/9] Removed commented dpi settings --- framework/16-inch/cpu/common/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/framework/16-inch/cpu/common/default.nix b/framework/16-inch/cpu/common/default.nix index 4105bc8..34a769b 100644 --- a/framework/16-inch/cpu/common/default.nix +++ b/framework/16-inch/cpu/common/default.nix @@ -19,9 +19,6 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8156", ATTR{power/autosuspend}="20" ''; - # Fix font sizes in X - # services.xserver.dpi = 200; - # Needed for desktop environments to detect/manage display brightness hardware.sensor.iio.enable = lib.mkDefault true; From c056352c4c63f8b9707ebf4f8a8fcc1d5b7950a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 23 Apr 2024 11:19:54 +0200 Subject: [PATCH 7/9] fix mergify configuration --- .mergify.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.mergify.yml b/.mergify.yml index fe7af7f..45ffb1e 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -5,8 +5,7 @@ queue_rules: defaults: actions: queue: - allow_merging_configuration_change: true - method: rebase + merge_method: rebase pull_request_rules: - name: merge using the merge queue conditions: From 797f8d8082c7cc3259cba7275c699d4991b09ecc Mon Sep 17 00:00:00 2001 From: Benedikt Ritter Date: Tue, 16 Apr 2024 20:54:43 +0200 Subject: [PATCH 8/9] TUXEDO Pulse 14 Gen3: init Add relevant modules for TUXEDO Pulse 14 Gen3. The device is equipped with an AMD Ryzen 7 7840HS with integrated AMD Radeon M780 iGPU. --- README.md | 1 + flake.nix | 1 + tuxedo/pulse/14/gen3/README.md | 7 +++++++ tuxedo/pulse/14/gen3/default.nix | 9 +++++++++ 4 files changed, 18 insertions(+) create mode 100644 tuxedo/pulse/14/gen3/README.md create mode 100644 tuxedo/pulse/14/gen3/default.nix diff --git a/README.md b/README.md index 35b5af6..207f4ca 100644 --- a/README.md +++ b/README.md @@ -289,4 +289,5 @@ See code for all available configurations. | [Toshiba Chromebook 2 `swanky`](toshiba/swanky) | `` | | [Tuxedo InfinityBook v4](tuxedo/infinitybook/v4) | `` | | [TUXEDO InfinityBook Pro 14 - Gen7](tuxedo/infinitybook/pro14/gen7) | `` | +| [TUXEDO Pulse 14 - Gen3](tuxedo/pulse/14/gen3) | `` | | [TUXEDO Pulse 15 - Gen2](tuxedo/pulse/15/gen2) | `` | diff --git a/flake.nix b/flake.nix index 05aae27..cabdabc 100644 --- a/flake.nix +++ b/flake.nix @@ -230,6 +230,7 @@ toshiba-swanky = import ./toshiba/swanky; tuxedo-infinitybook-v4 = import ./tuxedo/infinitybook/v4; tuxedo-infinitybook-pro14-gen7 = import ./tuxedo/infinitybook/pro14/gen7; + tuxedo-pulse-14-gen3 = import ./tuxedo/pulse/14/gen3; tuxedo-pulse-15-gen2 = import ./tuxedo/pulse/15/gen2; common-cpu-amd = import ./common/cpu/amd; diff --git a/tuxedo/pulse/14/gen3/README.md b/tuxedo/pulse/14/gen3/README.md new file mode 100644 index 0000000..a44b5b3 --- /dev/null +++ b/tuxedo/pulse/14/gen3/README.md @@ -0,0 +1,7 @@ +# TUXEDO Pulse 14 - Gen3 + +## About + +[NixOS hardware configuration](https://github.com/NixOS/nixos-hardware) for +[TUXEDO Pulse 14 - +Gen3](https://www.tuxedocomputers.com/en/TUXEDO-Pulse-14-Gen3). diff --git a/tuxedo/pulse/14/gen3/default.nix b/tuxedo/pulse/14/gen3/default.nix new file mode 100644 index 0000000..f43fbb0 --- /dev/null +++ b/tuxedo/pulse/14/gen3/default.nix @@ -0,0 +1,9 @@ +{pkgs, ...}: { + imports = [ + ../../../../common/cpu/amd + ../../../../common/cpu/amd/pstate.nix + ../../../../common/cpu/amd/raphael/igpu.nix + ../../../../common/pc/laptop + ../../../../common/pc/laptop/ssd + ]; +} From 74b75a9598e800f94e7ba71f2d5e042c4979189e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 27 Apr 2024 08:18:59 +0200 Subject: [PATCH 9/9] hp elitebook: fix eval --- hp/elitebook/2560p/network.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/hp/elitebook/2560p/network.nix b/hp/elitebook/2560p/network.nix index 2fa94e9..4cdcd64 100644 --- a/hp/elitebook/2560p/network.nix +++ b/hp/elitebook/2560p/network.nix @@ -3,10 +3,9 @@ with lib; { config = { # Wifi can't connect if rand mac address is used - networking.networkmanager.extraConfig = concatStringsSep "\n" [ - "[device]" - "match-device=driver:iwlwifi" - "wifi.scan-rand-mac-address=no" - ]; + networking.networkmanager.settings.device = { + match-device = "driver:iwlwifi"; + wifi.scan-rand-mac-address = "no"; + }; }; }