feat: add and force override quickshell package

This commit is contained in:
matt1432 2025-04-24 12:22:27 -04:00
parent 183d949414
commit 0a90a3f619
8 changed files with 68 additions and 11 deletions

21
flake.lock generated
View file

@ -1584,6 +1584,26 @@
"type": "github"
}
},
"quickshell": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1743928855,
"narHash": "sha256-6skFnvfLbslUOieffviT+XNH/M1HOQDQJhJLsG0UM2o=",
"ref": "refs/heads/master",
"rev": "ed528268e0c0a2f6be2b5aca7089ebc3e214d446",
"revCount": 505,
"type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
},
"original": {
"type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
}
},
"root": {
"inputs": {
"Kapowarr-src": "Kapowarr-src",
@ -1642,6 +1662,7 @@
"pokemon-colorscripts-src": "pokemon-colorscripts-src",
"pr-tracker": "pr-tracker",
"pre-commit-hooks": "pre-commit-hooks",
"quickshell": "quickshell",
"secrets": "secrets",
"sioyek-theme-src": "sioyek-theme-src",
"smartinspect-src": "smartinspect-src",

View file

@ -416,6 +416,11 @@
repo = "git-hooks.nix";
type = "github";
};
quickshell = {
inputs.nixpkgs.follows = "nixpkgs";
type = "git";
url = "https://git.outfoxxed.me/outfoxxed/quickshell";
};
secrets = {
inputs = {
nixpkgs.follows = "nixpkgs";

View file

@ -194,7 +194,12 @@ let
};
};
agsInputs = {
shellInputs = {
quickshell = mkInput {
type = "git";
url = "https://git.outfoxxed.me/outfoxxed/quickshell";
};
astal = mkInput {
# owner = "Aylur";
repo = "astal";
@ -434,7 +439,7 @@ in
// nosInputs
// bbsteamieInputs
// desktopInputs.hyprlandInputs
// desktopInputs.agsInputs
// desktopInputs.shellInputs
// (listToAttrs (map (x: {
name = x.name or "${x.repo}-src";
value = mkSrc (removeAttrs x ["name"]);

View file

@ -1,6 +1,13 @@
inputs: let
inherit (builtins) removeAttrs;
inherit (builtins) functionArgs mapAttrs removeAttrs;
in rec {
# This is for packages from flakes that don't offer overlays
overrideAll = pkgs: pkg: extraArgs: let
pkgFile = pkgs.lib.head (pkgs.lib.splitString [":"] pkg.meta.position);
args = functionArgs (import pkgFile);
in
pkg.override ((mapAttrs (n: v: pkgs.${n} or v) args) // extraArgs);
# Import pkgs from a nixpkgs instance
mkPkgs = {
system,
@ -20,6 +27,7 @@ in rec {
inputs.self.overlays.appsPackages
inputs.self.overlays.selfPackages
inputs.self.overlays.scopedPackages
inputs.self.overlays.forced
]
++ (cfg.overlays or []));
config =

View file

@ -7,6 +7,7 @@ This directory contains every overlay exposed by this flake.
| Name | Description |
| ---- | ----------- |
| `appsPackages` | This overlay puts every derivations for apps exposed by this flake under pkgs.appsPackages. |
| `forced` | Overrides packages from third party flakes that don't offer overlays. |
| `misc-fixes` | Fixes build failures, missing meta attributes, evaluation failures, etc. of the current `nixpkgs` revision of this flake. |
| `nix-version` | Overrides the nix package for everything so I don't need multiple versions. |
| `scopedPackages` | This overlay puts every package scopes exposed by this flake under pkgs.scopedPackages. |

View file

@ -27,6 +27,13 @@ in {
of the current `nixpkgs` revision of this flake.
'';
forced =
overlay
(import ./forced self)
''
Overrides packages from third party flakes that don't offer overlays.
'';
nix-version =
overlay
(import ./nix-version self)

View file

@ -0,0 +1,15 @@
self: final: prev: let
inherit (self.inputs) quickshell;
overrideAll = self.lib.overrideAll final;
in {
quickshell = overrideAll quickshell.packages.${final.system}.default {
gitRev = quickshell.rev;
buildStdenv = final.clangStdenv;
debug = false;
withI3 = false;
withX11 = false;
};
}

View file

@ -1,6 +1,6 @@
self: {nix ? null}: final: prev: let
inherit (builtins) functionArgs mapAttrs replaceStrings;
inherit (final.lib) generateSplicesForMkScope head splitString versions;
inherit (builtins) mapAttrs replaceStrings;
inherit (final.lib) generateSplicesForMkScope versions;
inherit (self.inputs) nix-eval-jobs nix-fast-build;
nullCheck = n: v:
@ -8,12 +8,7 @@ self: {nix ? null}: final: prev: let
then prev.${n}
else v;
# This is for packages from flakes that don't offer overlays
overrideAll = pkg: extraArgs: let
pkgFile = head (splitString [":"] pkg.meta.position);
args = functionArgs (import pkgFile);
in
pkg.override (mapAttrs (n: v: final.${n} or v) (args // extraArgs));
overrideAll = self.lib.overrideAll final;
in
mapAttrs nullCheck {
inherit nix;