From 643b136863a007fd7151620b21d90df9570219eb Mon Sep 17 00:00:00 2001 From: Antoine VIALLON Date: Sun, 22 Mar 2026 21:54:37 +0100 Subject: [PATCH] fix(overlays): comment-out linux-manual override as it was causing build failures + apply nixfmt --- overlays.nix | 309 +++++++++++++++++++++++++++++---------------------- 1 file changed, 179 insertions(+), 130 deletions(-) diff --git a/overlays.nix b/overlays.nix index c485704..1b2820b 100644 --- a/overlays.nix +++ b/overlays.nix @@ -1,4 +1,11 @@ -{config, pkgs, options, lib, myLib, ...}: +{ + config, + pkgs, + options, + lib, + myLib, + ... +}: with builtins; with lib; let @@ -8,7 +15,10 @@ in { imports = [ - (mkRenamedOptionModule [ "aviallon" "overlays" "optimizations" ] [ "aviallon" "optimizations" "enable" ]) + (mkRenamedOptionModule + [ "aviallon" "overlays" "optimizations" ] + [ "aviallon" "optimizations" "enable" ] + ) ]; options.aviallon.overlays = { @@ -21,140 +31,179 @@ in traceCallPackage = mkEnableOption "printing package names each time callPackage is evaluated"; }; config = mkIf cfg.enable { - nix.nixPath = + nix.nixPath = # Append our nixpkgs-overlays. - [ "nixpkgs-overlays=/etc/nixos/overlays-compat/" ] - ; + [ "nixpkgs-overlays=/etc/nixos/overlays-compat/" ]; - - nixpkgs.overlays = [] - ++ optional cfg.traceCallPackage (self: super: { - callPackage = path: overrides: - let - _pkg = super.callPackage path overrides; - _name = _pkg.name or _pkg.pname or ""; - in trace "callPackage ${_name}" _pkg - ; - }) - ++ [(self: super: { - htop = super.htop.overrideAttrs (old: { - configureFlags = old.configureFlags ++ [ - "--enable-affinity" - "--enable-delayacct" - "--enable-capabilities" - ]; - - nativeBuildInputs = old.nativeBuildInputs ++ (with super; [ - pkg-config - ]); - buildInputs = old.buildInputs ++ (with super; [ - libcap - libunwind - libnl - ]); - }); - ark = super.ark.override { - unfreeEnableUnrar = true; - }; - - }) - (final: prev: { - # Use our kernel for generating linux man pages - linux-manual = prev.linux-manual.override { linuxPackages_latest = config.boot.kernelPackages; }; - }) - - (final: prev: { - lutris-fhs = - (prev.buildFHSUserEnv { - name = "lutris"; - targetPkgs = pkgs: (with pkgs; - [ - glibc - bashInteractive - - python3Full - - lutris - gamescope - wineWowPackages.waylandFull - flatpak - ] - ); - - # symlink shared assets, including icons and desktop entries - extraInstallCommands = '' - ln -s "${pkgs.lutris}/share" "$out/" - ''; - - runScript = "/usr/bin/lutris"; - }); - }) - - (final: prev: let - pycharm-common = pkg: - let - myIsDerivation = x: !(myLib.derivations.isBroken x); - interpreters = pkgs: filter (x: myIsDerivation x) (attrValues pkgs.pythonInterpreters); - in prev.buildFHSUserEnv rec { - name = pkg.pname; - targetPkgs = pkgs: (with pkgs; - [ - glibc - bashInteractive - zlib - - python3Full - - pkg - ] - ++ trace "Using the following interpreters: ${toString (pkgNames (interpreters pkgs))}" (interpreters pkgs) - ); - - # symlink shared assets, including icons and desktop entries - extraInstallCommands = '' - ln -s "${pkg}/share" "$out/" - ''; - - runScript = "/usr/bin/${pkg.pname}"; - }; - in { - jetbrains = prev.jetbrains // { - pycharm-community-fhs = pycharm-common prev.jetbrains.pycharm-community; - pycharm-professional-fhs = pycharm-common prev.jetbrains.pycharm-professional; - - clion-fhs = let - compilers = pkgs: with pkgs; with llvmPackages_17; [ - (setPrio (-9) gcc13) - (hiPrio clang) - clang-unwrapped - libcxx + nixpkgs.overlays = + [ ] + ++ optional cfg.traceCallPackage ( + self: super: { + callPackage = + path: overrides: + let + _pkg = super.callPackage path overrides; + _name = _pkg.name or _pkg.pname or ""; + in + trace "callPackage ${_name}" _pkg; + } + ) + ++ [ + (self: super: { + htop = super.htop.overrideAttrs (old: { + configureFlags = old.configureFlags ++ [ + "--enable-affinity" + "--enable-delayacct" + "--enable-capabilities" ]; - in prev.buildFHSUserEnv rec { - name = "clion"; - targetPkgs = pkgs: (with pkgs; - [ - jetbrains.clion - (hiPrio cmake) - (hiPrio ninja) - gnumake - extra-cmake-modules - ] - ++ trace "Using the following compilers: ${toString (pkgNames (compilers pkgs))}" (compilers pkgs) - ); - # symlink shared assets, including icons and desktop entries - extraInstallCommands = '' - ln -s "${prev.jetbrains.clion}/share" "$out/" - ''; - extraOutputsToInstall = [ "include" "dev" "doc" ]; - runScript = "/usr/bin/clion"; + nativeBuildInputs = + old.nativeBuildInputs + ++ (with super; [ + pkg-config + ]); + buildInputs = + old.buildInputs + ++ (with super; [ + libcap + libunwind + libnl + ]); + }); + ark = super.ark.override { + unfreeEnableUnrar = true; }; - }; - }) - ]; + }) + # (final: prev: { + # # linux-manual requires scripts/split-man.pl from the kernel source, but + # # neither xanmod 6.19.7 nor vanilla 6.18.x ship it yet. Mark broken so + # # the build doesn't fail; man-pages and man-pages-posix still build fine. + # linux-manual = prev.linux-manual.overrideAttrs (_: { + # meta = (prev.linux-manual.meta or { }) // { + # broken = true; + # }; + # }); + # }) + + (final: prev: { + lutris-fhs = ( + prev.buildFHSUserEnv { + name = "lutris"; + targetPkgs = + pkgs: + (with pkgs; [ + glibc + bashInteractive + + python3Full + + lutris + gamescope + wineWow64Packages.waylandFull + flatpak + ]); + + # symlink shared assets, including icons and desktop entries + extraInstallCommands = '' + ln -s "${pkgs.lutris}/share" "$out/" + ''; + + runScript = "/usr/bin/lutris"; + } + ); + }) + + ( + final: prev: + let + pycharm-common = + pkg: + let + myIsDerivation = x: !(myLib.derivations.isBroken x); + interpreters = pkgs: filter (x: myIsDerivation x) (attrValues pkgs.pythonInterpreters); + in + prev.buildFHSUserEnv rec { + name = pkg.pname; + targetPkgs = + pkgs: + ( + with pkgs; + [ + glibc + bashInteractive + zlib + + python3Full + + pkg + ] + ++ trace "Using the following interpreters: ${toString (pkgNames (interpreters pkgs))}" ( + interpreters pkgs + ) + ); + + # symlink shared assets, including icons and desktop entries + extraInstallCommands = '' + ln -s "${pkg}/share" "$out/" + ''; + + runScript = "/usr/bin/${pkg.pname}"; + }; + in + { + jetbrains = prev.jetbrains // { + pycharm-community-fhs = pycharm-common prev.jetbrains.pycharm-community; + pycharm-professional-fhs = pycharm-common prev.jetbrains.pycharm-professional; + + clion-fhs = + let + compilers = + pkgs: + with pkgs; + with llvmPackages_17; + [ + (setPrio (-9) gcc13) + (hiPrio clang) + clang-unwrapped + libcxx + ]; + in + prev.buildFHSUserEnv rec { + name = "clion"; + targetPkgs = + pkgs: + ( + with pkgs; + [ + jetbrains.clion + (hiPrio cmake) + (hiPrio ninja) + gnumake + extra-cmake-modules + ] + ++ trace "Using the following compilers: ${toString (pkgNames (compilers pkgs))}" (compilers pkgs) + ); + # symlink shared assets, including icons and desktop entries + extraInstallCommands = '' + ln -s "${prev.jetbrains.clion}/share" "$out/" + ''; + extraOutputsToInstall = [ + "include" + "dev" + "doc" + ]; + + runScript = "/usr/bin/clion"; + }; + }; + } + ) + + ]; aviallon.programs.allowUnfreeList = [ - "unrar" "ark" + "unrar" + "ark" ]; - }; + }; }