nix: add overlay

This commit is contained in:
outfoxxed 2025-09-28 20:24:43 -07:00
parent 2119eb2205
commit b9905ef824
No known key found for this signature in database
GPG key ID: 4C88A185FB89301E
5 changed files with 22 additions and 11 deletions

View file

@ -2,6 +2,6 @@
clangStdenv, clangStdenv,
gccStdenv, gccStdenv,
}: { }: {
clang = { buildStdenv = clangStdenv; }; clang = { stdenv = clangStdenv; };
gcc = { buildStdenv = gccStdenv; }; gcc = { stdenv = gccStdenv; };
} }

View file

@ -2,8 +2,8 @@
lib, lib,
nix-gitignore, nix-gitignore,
pkgs, pkgs,
stdenv,
keepDebugInfo, keepDebugInfo,
buildStdenv ? pkgs.clangStdenv,
pkg-config, pkg-config,
cmake, cmake,
@ -44,7 +44,7 @@
withHyprland ? true, withHyprland ? true,
withI3 ? true, withI3 ? true,
}: let }: let
unwrapped = buildStdenv.mkDerivation { unwrapped = stdenv.mkDerivation {
pname = "quickshell${lib.optionalString debug "-debug"}"; pname = "quickshell${lib.optionalString debug "-debug"}";
version = "0.2.0"; version = "0.2.0";
src = nix-gitignore.gitignoreSource "/default.nix\n" ./.; src = nix-gitignore.gitignoreSource "/default.nix\n" ./.;

View file

@ -4,23 +4,28 @@
}; };
outputs = { self, nixpkgs }: let outputs = { self, nixpkgs }: let
overlayPkgs = p: p.appendOverlays [ self.overlays.default ];
forEachSystem = fn: forEachSystem = fn:
nixpkgs.lib.genAttrs nixpkgs.lib.genAttrs
nixpkgs.lib.platforms.linux nixpkgs.lib.platforms.linux
(system: fn system nixpkgs.legacyPackages.${system}); (system: fn system (overlayPkgs nixpkgs.legacyPackages.${system}));
in { in {
packages = forEachSystem (system: pkgs: rec { overlays.default = import ./overlay.nix {
quickshell = pkgs.callPackage ./default.nix { rev = self.rev or self.dirtyRev;
gitRev = self.rev or self.dirtyRev;
}; };
packages = forEachSystem (system: pkgs: rec {
quickshell = pkgs.quickshell;
default = quickshell; default = quickshell;
}); });
devShells = forEachSystem (system: pkgs: rec { devShells = forEachSystem (system: pkgs: rec {
default = import ./shell.nix { default = import ./shell.nix {
inherit pkgs; inherit pkgs;
inherit (self.packages.${system}) quickshell; quickshell = self.packages.${system}.quickshell.override {
stdenv = pkgs.clangStdenv;
};
}; };
}); });
}; };

5
overlay.nix Normal file
View file

@ -0,0 +1,5 @@
{ rev ? null }: (final: prev: {
quickshell = final.callPackage ./default.nix {
gitRev = rev;
};
})

View file

@ -1,6 +1,7 @@
{ {
pkgs ? import <nixpkgs> {}, pkgs ? import <nixpkgs> {},
quickshell ? pkgs.callPackage ./default.nix {}, stdenv ? pkgs.clangStdenv, # faster compiles than gcc
quickshell ? pkgs.callPackage ./default.nix { inherit stdenv; },
... ...
}: let }: let
tidyfox = import (pkgs.fetchFromGitea { tidyfox = import (pkgs.fetchFromGitea {