WIP: Restore mkFlake parity with master for package outputs and devShell behavior #95

Closed
Ghost wants to merge 0 commits from refs/pull/95/head into mkFlake
Ghost commented 2026-03-10 12:16:10 +10:00 (Migrated from codeberg.org)

The mkFlake refactor diverged from master in ways that removed functionality from flake outputs. This PR restores the missing package wiring and dev shell behavior so the resulting derivations remain aligned with pre-refactor output shape and semantics.

  • Package output parity (zen-custom)

    • Reintroduced a discoverable zen-custom package entry for mkFlake’s modules.mapModules ./packages flow.
    • Added packages/zen-custom.nix as a thin wrapper to preserve the existing self.packages.<system>.zen-custom contract used by modules.
  • Input wiring parity for Zen package

    • Updated lib/nixos.nix (mkFlake package evaluation path) to pass zen-browser-unwrapped from inputs.zen-browser.packages.${system} when available.
    • This restores the explicit dependency wiring previously done in flake.nix on master.
  • Dev shell parity with master

    • Switched shell.nix back to mkShellNoCC and restored:
      • SHELL=${lib.getExe bash}
      • package set parity (nil, nixd, statix, nixfmt)
# mkFlake package call now preserves zen input wiring
pkgs.callPackage v (
  { self = self.packages.${system}; }
  // lib.optionalAttrs (inputs ? zen-browser) {
    inherit (inputs.zen-browser.packages.${system}) zen-browser-unwrapped;
  }
)

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

The mkFlake refactor diverged from `master` in ways that removed functionality from flake outputs. This PR restores the missing package wiring and dev shell behavior so the resulting derivations remain aligned with pre-refactor output shape and semantics. - **Package output parity (`zen-custom`)** - Reintroduced a discoverable `zen-custom` package entry for mkFlake’s `modules.mapModules ./packages` flow. - Added `packages/zen-custom.nix` as a thin wrapper to preserve the existing `self.packages.<system>.zen-custom` contract used by modules. - **Input wiring parity for Zen package** - Updated `lib/nixos.nix` (`mkFlake` package evaluation path) to pass `zen-browser-unwrapped` from `inputs.zen-browser.packages.${system}` when available. - This restores the explicit dependency wiring previously done in `flake.nix` on `master`. - **Dev shell parity with `master`** - Switched `shell.nix` back to `mkShellNoCC` and restored: - `SHELL=${lib.getExe bash}` - package set parity (`nil`, `nixd`, `statix`, `nixfmt`) ```nix # mkFlake package call now preserves zen input wiring pkgs.callPackage v ( { self = self.packages.${system}; } // lib.optionalAttrs (inputs ? zen-browser) { inherit (inputs.zen-browser.packages.${system}) zen-browser-unwrapped; } ) ``` <!-- START COPILOT CODING AGENT TIPS --> --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs.

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kruziikrel13/NixOS!95
No description provided.