Add multi-architecture support (x86_64 and aarch64)

This commit is contained in:
Celes Renata
2025-12-12 13:21:01 -08:00
parent 5b6b75886b
commit b47c5f9926
+21 -10
View File
@@ -15,19 +15,18 @@
outputs = { self, nixpkgs, home-manager, quickshell, ... }:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
systems = [ "x86_64-linux" "aarch64-linux" ];
forAllSystems = nixpkgs.lib.genAttrs systems;
pkgsFor = system: import nixpkgs {
inherit system;
overlays = [ self.overlays.default ];
};
# Import our utility packages
utilityPackages = import ./packages { inherit pkgs; };
in
{
overlays.default = final: prev: {
# Override quickshell from upstream to add Qt6 Wayland dependency
quickshell-base = quickshell.packages.${system}.default.overrideAttrs (oldAttrs: {
quickshell-base = quickshell.packages.${final.system}.default.overrideAttrs (oldAttrs: {
buildInputs = (oldAttrs.buildInputs or []) ++ [ final.qt6.qtwayland ];
});
@@ -48,11 +47,21 @@
'';
};
packages.${system} = utilityPackages // {
packages = forAllSystems (system:
let
pkgs = pkgsFor system;
utilityPackages = import ./packages { inherit pkgs; };
in utilityPackages // {
default = utilityPackages.update-flake;
};
}
);
devShells.${system}.default = pkgs.mkShell {
devShells = forAllSystems (system:
let
pkgs = pkgsFor system;
utilityPackages = import ./packages { inherit pkgs; };
in {
default = pkgs.mkShell {
buildInputs = with pkgs; [
nixpkgs-fmt
nil
@@ -67,6 +76,8 @@
shellHook = builtins.readFile ./packages/scripts/dev-shell-hook.sh;
};
}
);
homeManagerModules.default = import ./modules/home-manager.nix;
homeManagerModules.dots-hyprland = self.homeManagerModules.default;
@@ -76,7 +87,7 @@
homeConfigurations = {
declarative = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
pkgs = pkgsFor "x86_64-linux";
modules = [
self.homeManagerModules.default
{