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
+36 -25
View File
@@ -15,19 +15,18 @@
outputs = { self, nixpkgs, home-manager, quickshell, ... }: outputs = { self, nixpkgs, home-manager, quickshell, ... }:
let let
system = "x86_64-linux"; systems = [ "x86_64-linux" "aarch64-linux" ];
pkgs = import nixpkgs { forAllSystems = nixpkgs.lib.genAttrs systems;
pkgsFor = system: import nixpkgs {
inherit system; inherit system;
overlays = [ self.overlays.default ]; overlays = [ self.overlays.default ];
}; };
# Import our utility packages
utilityPackages = import ./packages { inherit pkgs; };
in in
{ {
overlays.default = final: prev: { overlays.default = final: prev: {
# Override quickshell from upstream to add Qt6 Wayland dependency # 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 ]; buildInputs = (oldAttrs.buildInputs or []) ++ [ final.qt6.qtwayland ];
}); });
@@ -48,25 +47,37 @@
''; '';
}; };
packages.${system} = utilityPackages // { packages = forAllSystems (system:
default = utilityPackages.update-flake; let
}; pkgs = pkgsFor system;
utilityPackages = import ./packages { inherit pkgs; };
in utilityPackages // {
default = utilityPackages.update-flake;
}
);
devShells.${system}.default = pkgs.mkShell { devShells = forAllSystems (system:
buildInputs = with pkgs; [ let
nixpkgs-fmt pkgs = pkgsFor system;
nil utilityPackages = import ./packages { inherit pkgs; };
git in {
jq default = pkgs.mkShell {
] ++ (with utilityPackages; [ buildInputs = with pkgs; [
update-flake nixpkgs-fmt
test-python-env nil
test-quickshell git
compare-modes jq
]); ] ++ (with utilityPackages; [
update-flake
shellHook = builtins.readFile ./packages/scripts/dev-shell-hook.sh; test-python-env
}; test-quickshell
compare-modes
]);
shellHook = builtins.readFile ./packages/scripts/dev-shell-hook.sh;
};
}
);
homeManagerModules.default = import ./modules/home-manager.nix; homeManagerModules.default = import ./modules/home-manager.nix;
homeManagerModules.dots-hyprland = self.homeManagerModules.default; homeManagerModules.dots-hyprland = self.homeManagerModules.default;
@@ -76,7 +87,7 @@
homeConfigurations = { homeConfigurations = {
declarative = home-manager.lib.homeManagerConfiguration { declarative = home-manager.lib.homeManagerConfiguration {
inherit pkgs; pkgs = pkgsFor "x86_64-linux";
modules = [ modules = [
self.homeManagerModules.default self.homeManagerModules.default
{ {