SSG24QP3C2K5NTVHM2QFK7RWBV7ZPZV2K2XOXUT6M6C4V5NXKQ6AC YVII7NUI5Z6DPUDQZG2ZVJ6QNQRCEUYX5547IYCMPZI7GJ3GDZQAC TMJL2IJW7XKJA3L5BRGDAORJLVQZHUXMSBCEBVGFORNDPVZSFOLQC WKTWJMZPPJXR7K6E7JZF42ORLVINJVC634G4SJKR5QBNO7UYTXBQC 4XUXIGQGX6RHOWRRUXRBA4HZU6JWZLFVV775SDHXH6WNCL3IWZOQC RTBMBSBABSGTRICJ4AWBKWO3JJHBRKV6FGOMYPDD7X6SS6X35ZIQC F62TRVFONDJZFEA3NIKOQUNIPZWHHDEESV263HE3XRTCTPOGXOWAC V2RX2Y7VB7Y3BHX3ALK4GTCMFJATMLCKIAT4U3XCYZZZIUBIIZ5QC YLW6ZFTIGIC2V6ZUA3I2T7MMPW5BZCOORLB2WSJYNUB3AGWLSEKQC VTPA57TTA3C4RUCTOAO6HYOKGBKGBDSWMJMWA7CWSCFAAV7GMEJQC MQT74AV47PUYNCX27OMFK6BFN7PP4DX46JAACN2EPRYXUXV7EL3AC UBB7TTAXVPQQCOVHACKWXSPV2NPARSHREYJB6J3RSEDZZIXPFGOAC TIHOQEN2ITDF7YUSX4KZFXFIH2S6K2YWM4GCTHDA3HDCJ72L6SGQC ATF3K2KSKMI6STPROVW54ZGLYM6S3XPB45AKAZODDKIXFR4HWYFAC RJIISHE5VJHPYUNCDDMDELB3WAI4QRSGC62ZS7NL5I6A4LWDQFAQC letcommonModule ={ config, lib, ... }:letin{options.operatingSystem = mkOption {"linux""darwin"];default = "linux";example = "linux";description = "The host system operating system";};options.systemType = mkOption {"desktop""server""wsl"];default = "server";example = "server";description = "The host system type";};options.isLinux = mkOption {default = false;description = "Whether the system is Linux";};options.isDarwin = mkOption {default = false;description = "Whether the system is Darwin/macOS";};options.isDesktop = mkOption {default = false;description = "Whether the system is a desktop";};options.isServer = mkOption {default = false;description = "Whether the system is a server";};options.isWsl = mkOption {type = bool;default = false;description = "Whether the system is a wsl";};config.isLinux = mkIf (config.operatingSystem == "linux") true;config.isDarwin = mkIf (config.operatingSystem == "darwin") true;config.isDesktop = mkIf (config.systemType == "desktop") true;config.isServer = mkIf (config.systemType == "server") true;config.isWsl = mkIf (config.systemType == "wsl") true;config.nixpkgs.hostPlatform.system = config.systemPlatform;};in{}flake.modules.nixos.system-types = commonModule;flake.modules.darwin.system-types = commonModule;type = bool;type = bool;type = bool;type = bool;type = enum [options.systemPlatform = mkOption {type = enum ["x86_64-linux""aarch64-darwin"];example = "x86_64-linux";description = "The host platform";};type = enum [inherit (lib.options) mkOption;inherit (lib.modules) mkIf;inherit (lib.types) enum bool;
letcommonModule ={config,lib,pkgs,...}:letinherit (lib.options) mkOption;inherit (lib.types) enum;inherit (lib.strings) splitString;inherit (lib.lists) last;inherit (config.myLib) mkConst;in{options = {os = mkConst <| last <| splitString "-" config.nixpkgs.hostPlatform.system;platform = mkOption {type = enum ["x86_64-linux""aarch64-linux""aarch64-darwin""x86_64-darwin"];default = pkgs.system;example = "x86_64-linux";description = "The host platform (inferred from pkgs.system)";};type = mkOption {type = enum ["desktop""server""wsl"];default = "server";example = "server";description = "The host system type";};isLinux = mkConst <| config.os == "linux";isDarwin = mkConst <| config.os == "darwin";isWsl = mkConst <| config.os == "wsl";isDesktop = mkConst <| config.type == "desktop";isServer = mkConst <| config.type == "server";};config.nixpkgs.hostPlatform = config.platform;};in
config.operatingSystem = "darwin";config.systemPlatform = "aarch64-darwin";config.systemType = "desktop";
config.platform = "aarch64-darwin";config.type = "desktop";