Skip to content

Commit 8ee2665

Browse files
ericdalloeca-agent
andcommitted
nix: rescue gregnix-personal rebuild + wire GP fork flake
Restore working `nixos-rebuild switch` on the ASUS Zenbook UX3405MA after a string of upstream changes broke the existing config: Inputs - Bump `nixpkgs` to the channel-blessed unstable rev 4100e830e0… (2026-05-27, picked from channels.nixos.org so cache.nixos.org has most of the closure). - Bump `home-manager` and `master` accordingly. - Drop unused `flake-utils`, EOL `home-stable` (24.05), and the `vpn` (yuezk/GP v2.3.8) flake which broke on naersk vs. crates.io's 2026 User-Agent blocklist. - Drop the duplicate `nixosConfigurations.ubuntu-personal`. - Bump `stable` from EOL 24.05 to 25.11. - Add `gp-openconnect` input pointing at the local fork (`path:/home/greg/dev/GlobalProtect-openconnect`). Switch to `github:ericdallo/GlobalProtect-openconnect/<branch>` after pushing. Hardware (asus-zenbook-oled) - Import nixos-hardware's `common-cpu-intel`, `common-pc-laptop`, and `common-pc-laptop-ssd` modules. - Remove the deprecated `nixpkgs.config.packageOverrides` for `intel-vaapi-driver` (conflicted with `common-cpu-intel`'s copy in `pkgs.buildEnv`). Replace with `hardware.intelgpu.enableHybridCodec`. - Slim `hardware.graphics.extraPackages` to just the VDPAU bridges (Intel drivers now come from nixos-hardware). - Keep `i915.force_probe=7d55` — UX3405MA's iGPU PCI ID still isn't autodetected upstream. Home Manager - `git`: migrate deprecated `userName`/`userEmail` to `settings.user.{name,email}`. - `vim`: use the structured `[{ plugin = ...; } ...]` form for `programs.neovim.plugins` (HM master now requires it). - `nubank`: drop `yubikey-personalization-gui` (archived upstream, removed from 25.11). `yubikey-manager` covers the same workflows. - `vpn`: use `pkgs.globalprotect-openconnect` from the fork overlay (CLI build — gpclient + gpservice + gpauth, no Tauri GUI). Drop the GUI desktop entry; intended use is from a terminal. - `games`: temporarily comment out `lutris` — it pulls in openldap whose `test017-syncreplication-refresh` consistently fails on this nixpkgs rev and isn't cached on cache.nixos.org. Re-enable after the next nixpkgs bump. System - `permittedInsecurePackages`: add `nodejs{,-slim}-20.20.2`. Node 20 is EOL upstream; Ferdium's Electron pulls it in transitively. - `displayManager.gdm.wayland` was removed in GDM 50 / NixOS 25.11 (Wayland is the default). Comment out. CI - Drop `gregnix-work` from the workflow matrices — host doesn't exist in this repo. 🤖 Generated with [eca](https://eca.dev) Co-Authored-By: eca-agent <git@eca.dev>
1 parent 04094c3 commit 8ee2665

14 files changed

Lines changed: 93 additions & 208 deletions

File tree

.github/workflows/build-and-cache.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
strategy:
1414
fail-fast: false
1515
matrix:
16-
profile: [gregnix-personal, gregnix-work]
16+
profile: [gregnix-personal]
1717
steps:
1818
- uses: easimon/maximize-build-space@v6
1919
with:

.github/workflows/update-flakes.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ jobs:
3434
run: |
3535
make build-gregnix-personal -C nix
3636
37-
- name: "Build gregnix-work ❄"
38-
run: |
39-
make build-gregnix-work -C nix
40-
4137
- name: Create Pull Request
4238
uses: peter-evans/create-pull-request@v4
4339
with:

nix/configuration.nix

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ in
2828

2929
nixpkgs.config.permittedInsecurePackages = [
3030
"libsoup-2.74.3"
31+
# Pulled in transitively (likely by an Electron-based app such as
32+
# Ferdium). Node 20 is EOL upstream; we accept the risk because the
33+
# app sandboxes its renderer.
34+
"nodejs-20.20.2"
35+
"nodejs-slim-20.20.2"
3136
];
3237

3338
environment.sessionVariables.NIXOS_OZONE_WL = "1";

nix/configurations/desktop.nix

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@
6767
displayManager.defaultSession = "hyprland";
6868

6969
displayManager.gdm.enable = true;
70-
displayManager.gdm.wayland = true;
7170

7271
xserver = {
7372
enable = true;

nix/configurations/hardware.nix

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@
3434
iw
3535
];
3636

37-
nixpkgs.config.packageOverrides = pkgs: {
38-
intel-vaapi-driver = pkgs.intel-vaapi-driver.override { enableHybridCodec = true; };
39-
};
40-
4137
hardware = {
4238
enableRedistributableFirmware = true;
4339

@@ -52,14 +48,19 @@
5248
};
5349
};
5450

51+
# Intel GPU configuration via nixos-hardware's `common-cpu-intel`
52+
# (imported in hosts/asus-zenbook-oled/default.nix). It already adds
53+
# intel-vaapi-driver, intel-media-driver, intel-compute-runtime and
54+
# the media/compute runtimes to `hardware.graphics.extraPackages`,
55+
# so we only declare what nixos-hardware doesn't cover (VDPAU bridges)
56+
# and toggle the option for hybrid codec on the VAAPI driver.
57+
intelgpu.enableHybridCodec = true;
58+
5559
graphics = {
5660
enable = true;
5761
enable32Bit = true;
5862
extraPackages = with pkgs; [
59-
intel-compute-runtime
60-
intel-media-driver
6163
libvdpau-va-gl
62-
intel-vaapi-driver
6364
libva-vdpau-driver
6465
];
6566
};

nix/configurations/overlays.nix

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@ in {
2626
inherit system;
2727
config = cfg;
2828
};
29-
vpn = inputs.vpn.packages.${system}.default;
3029
})
30+
31+
# GlobalProtect CLI lives in a separate fork-flake. Its overlay
32+
# exposes `pkgs.globalprotect-openconnect` (gpclient + gpservice +
33+
# gpauth, CLI build, no Tauri GUI). See
34+
# /home/greg/dev/GlobalProtect-openconnect/{flake,package}.nix.
35+
inputs.gp-openconnect.overlays.default
3136
];
3237
}

nix/flake.lock

Lines changed: 25 additions & 165 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)