From a3fa8203dbb3ce47b6e7a249577b2a2a804759f7 Mon Sep 17 00:00:00 2001 From: osbm Date: Tue, 11 Feb 2025 22:16:56 +0300 Subject: [PATCH] make emulation a module --- hosts/tartarus/configuration.nix | 3 +-- hosts/ymir/configuration.nix | 4 +--- modules/default.nix | 1 + modules/emulation.nix | 21 +++++++++++++++++++++ 4 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 modules/emulation.nix diff --git a/hosts/tartarus/configuration.nix b/hosts/tartarus/configuration.nix index 0b0e42e..36a93e0 100644 --- a/hosts/tartarus/configuration.nix +++ b/hosts/tartarus/configuration.nix @@ -18,10 +18,9 @@ blockBluesky = false; enableKDE = true; enableTailscale = true; + enableAarch64Emulation = true; }; - boot.binfmt.emulatedSystems = ["aarch64-linux"]; - nix.settings.extra-platforms = config.boot.binfmt.emulatedSystems; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; diff --git a/hosts/ymir/configuration.nix b/hosts/ymir/configuration.nix index e125f54..a012c14 100644 --- a/hosts/ymir/configuration.nix +++ b/hosts/ymir/configuration.nix @@ -20,6 +20,7 @@ enableTailscale = true; # jellyfin is unnecessary for now enableJellyfin = true; + enableAarch64Emulation = true; }; # Bootloader. @@ -148,8 +149,5 @@ acceleration = "cuda"; }; - boot.binfmt.emulatedSystems = ["aarch64-linux"]; - nix.settings.extra-platforms = config.boot.binfmt.emulatedSystems; - system.stateVersion = "25.05"; # great taboo of the nixos world } diff --git a/modules/default.nix b/modules/default.nix index 5772328..2992dcc 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -3,6 +3,7 @@ ./arduino.nix ./common-packages.nix ./concentration.nix + ./emulation.nix ./firefox.nix ./fonts.nix ./graphical-interface.nix diff --git a/modules/emulation.nix b/modules/emulation.nix new file mode 100644 index 0000000..7e26754 --- /dev/null +++ b/modules/emulation.nix @@ -0,0 +1,21 @@ +{ + pkgs, + lib, + config, + ... +}: { + options = { + myModules.enableAarch64Emulation = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enable Aarch64 emulation"; + }; + }; + + config = lib.mkMerge [ + (lib.mkIf config.myModules.enableAarch64Emulation { + boot.binfmt.emulatedSystems = ["aarch64-linux"]; + nix.settings.extra-platforms = config.boot.binfmt.emulatedSystems; + }) + ]; +}