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" "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": { "root": {
"inputs": { "inputs": {
"Kapowarr-src": "Kapowarr-src", "Kapowarr-src": "Kapowarr-src",
@ -1642,6 +1662,7 @@
"pokemon-colorscripts-src": "pokemon-colorscripts-src", "pokemon-colorscripts-src": "pokemon-colorscripts-src",
"pr-tracker": "pr-tracker", "pr-tracker": "pr-tracker",
"pre-commit-hooks": "pre-commit-hooks", "pre-commit-hooks": "pre-commit-hooks",
"quickshell": "quickshell",
"secrets": "secrets", "secrets": "secrets",
"sioyek-theme-src": "sioyek-theme-src", "sioyek-theme-src": "sioyek-theme-src",
"smartinspect-src": "smartinspect-src", "smartinspect-src": "smartinspect-src",

View file

@ -416,6 +416,11 @@
repo = "git-hooks.nix"; repo = "git-hooks.nix";
type = "github"; type = "github";
}; };
quickshell = {
inputs.nixpkgs.follows = "nixpkgs";
type = "git";
url = "https://git.outfoxxed.me/outfoxxed/quickshell";
};
secrets = { secrets = {
inputs = { inputs = {
nixpkgs.follows = "nixpkgs"; 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 { astal = mkInput {
# owner = "Aylur"; # owner = "Aylur";
repo = "astal"; repo = "astal";
@ -434,7 +439,7 @@ in
// nosInputs // nosInputs
// bbsteamieInputs // bbsteamieInputs
// desktopInputs.hyprlandInputs // desktopInputs.hyprlandInputs
// desktopInputs.agsInputs // desktopInputs.shellInputs
// (listToAttrs (map (x: { // (listToAttrs (map (x: {
name = x.name or "${x.repo}-src"; name = x.name or "${x.repo}-src";
value = mkSrc (removeAttrs x ["name"]); value = mkSrc (removeAttrs x ["name"]);

View file

@ -1,6 +1,13 @@
inputs: let inputs: let
inherit (builtins) removeAttrs; inherit (builtins) functionArgs mapAttrs removeAttrs;
in rec { 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 # Import pkgs from a nixpkgs instance
mkPkgs = { mkPkgs = {
system, system,
@ -20,6 +27,7 @@ in rec {
inputs.self.overlays.appsPackages inputs.self.overlays.appsPackages
inputs.self.overlays.selfPackages inputs.self.overlays.selfPackages
inputs.self.overlays.scopedPackages inputs.self.overlays.scopedPackages
inputs.self.overlays.forced
] ]
++ (cfg.overlays or [])); ++ (cfg.overlays or []));
config = config =

View file

@ -7,6 +7,7 @@ This directory contains every overlay exposed by this flake.
| Name | Description | | Name | Description |
| ---- | ----------- | | ---- | ----------- |
| `appsPackages` | This overlay puts every derivations for apps exposed by this flake under pkgs.appsPackages. | | `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. | | `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. | | `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. | | `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. 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 = nix-version =
overlay overlay
(import ./nix-version self) (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 self: {nix ? null}: final: prev: let
inherit (builtins) functionArgs mapAttrs replaceStrings; inherit (builtins) mapAttrs replaceStrings;
inherit (final.lib) generateSplicesForMkScope head splitString versions; inherit (final.lib) generateSplicesForMkScope versions;
inherit (self.inputs) nix-eval-jobs nix-fast-build; inherit (self.inputs) nix-eval-jobs nix-fast-build;
nullCheck = n: v: nullCheck = n: v:
@ -8,12 +8,7 @@ self: {nix ? null}: final: prev: let
then prev.${n} then prev.${n}
else v; else v;
# This is for packages from flakes that don't offer overlays overrideAll = self.lib.overrideAll final;
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));
in in
mapAttrs nullCheck { mapAttrs nullCheck {
inherit nix; inherit nix;