feat: allow unfree packages distro-wide

nixpkgs.config.allowUnfree in the system module (covers the live ISO
via useGlobalPkgs and every mkFlake machine) plus the two explicit
`import nixpkgs` sites (repo + lib.nix) so the standalone HM desktop
sees the same package set. Unblocks claude-code for the menu system's
ask-Claude module, vendor drivers, etc. Opt out with
`nixpkgs.config = lib.mkForce { allowUnfree = false; }`.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Bernardo Magri
2026-06-12 18:16:20 +01:00
parent ed7be0206d
commit c1781f45ca
3 changed files with 12 additions and 0 deletions

View File

@@ -35,6 +35,9 @@
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system; inherit system;
overlays = [ self.overlays.default ]; overlays = [ self.overlays.default ];
# Matches nixpkgs.config.allowUnfree in modules/nixos — the
# standalone HM generation must come from like-configured pkgs.
config.allowUnfree = true;
}; };
# The guided installer — live-ISO only (not in the overlay): it bakes # The guided installer — live-ISO only (not in the overlay): it bakes

View File

@@ -47,6 +47,9 @@
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system; inherit system;
overlays = [ nomarchy.overlays.default ]; overlays = [ nomarchy.overlays.default ];
# Matches nixpkgs.config.allowUnfree in modules/nixos: the system
# and the standalone HM desktop see the same package set.
config.allowUnfree = true;
}; };
in in
{ {

View File

@@ -14,6 +14,12 @@ in
imports = [ ./options.nix ]; imports = [ ./options.nix ];
config = { config = {
# Unfree allowed distro-wide: pragmatic-desktop territory (claude-code
# for the menu's ask-Claude module, vendor drivers, …). The custom
# nixpkgs-config type can't carry a nested mkDefault; disagree with
# `nixpkgs.config = lib.mkForce { allowUnfree = false; }`.
nixpkgs.config.allowUnfree = true;
# ── Wayland session: Hyprland ──────────────────────────────────── # ── Wayland session: Hyprland ────────────────────────────────────
# Installs the binary, registers the session, wires up # Installs the binary, registers the session, wires up
# xdg-desktop-portal-hyprland. Configuration is Home Manager's job. # xdg-desktop-portal-hyprland. Configuration is Home Manager's job.