diff options
author | Karel Kočí <cynerd@email.cz> | 2022-12-04 21:39:25 +0100 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2022-12-04 21:39:25 +0100 |
commit | 9996cca17aeb63ed0d51d59d4572dced0b050aee (patch) | |
tree | c8be1113f1557fd314378193798809926011e2b5 /common.sh | |
parent | 03151e48368bdf45ccae8ae1997e41d046c2bbdd (diff) | |
download | nixos-personal-9996cca17aeb63ed0d51d59d4572dced0b050aee.tar.gz nixos-personal-9996cca17aeb63ed0d51d59d4572dced0b050aee.tar.bz2 nixos-personal-9996cca17aeb63ed0d51d59d4572dced0b050aee.zip |
install.sh: add ability to install non-native architecture
The result is that it now requires to be run only on NixOS but that
should be fine.
Diffstat (limited to 'common.sh')
-rw-r--r-- | common.sh | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -80,6 +80,10 @@ device_system() { nix eval --raw ".#nixosConfigurations.$1.config.nixpkgs.system" } +build_system() { + nix eval --raw --impure --expr 'builtins.currentSystem' +} + # Validates if link is valid. build_validate() { local device="$1" @@ -93,12 +97,10 @@ build() { local device="$1" shift - local toplevel=".config.system.build.toplevel" - if [ "$(device_system "$device")" = "armv7l-linux" ]; then - toplevel=".config.system.build.cross.x86_64-linux${toplevel}" - fi - if [ "$(device_system "$device")" = "aarch64-linux" ]; then - toplevel=".config.system.build.cross.x86_64-linux${toplevel}" + local toplevel="config.system.build.toplevel" + local bsystem="$(build_system)" + if [ "$bsystem" != "$(device_system "$device")" ]; then + toplevel="config.system.build.cross.$bsystem.$toplevel" fi stage "Building system for device: $device" @@ -106,7 +108,7 @@ build() { -o "$(result "${device}")" \ --keep-going \ "$@" \ - "${0%/*}#nixosConfigurations.${device}${toplevel}" + "${0%/*}#nixosConfigurations.${device}.${toplevel}" } ## Copy NixOS system ########################################################### |