Files
nixpkgs/pkgs/by-name/ut/utm/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

75 lines
2.2 KiB
Nix

{
lib,
undmg,
makeWrapper,
fetchurl,
stdenvNoCC,
}:
stdenvNoCC.mkDerivation rec {
pname = "utm";
version = "4.7.4";
src = fetchurl {
url = "https://github.com/utmapp/UTM/releases/download/v${version}/UTM.dmg";
hash = "sha256-4lnoH9FCrL3EWWNpmAEYz+XCxPSR7Za/W8YGxAXXms4=";
};
nativeBuildInputs = [
undmg
makeWrapper
];
sourceRoot = ".";
installPhase = ''
runHook preInstall
mkdir -p $out/Applications
cp -r *.app $out/Applications
mkdir -p $out/bin
for bin in $out/Applications/UTM.app/Contents/MacOS/*; do
# Symlinking `UTM` doesn't work; seems to look for files in the wrong
# place
makeWrapper $bin "$out/bin/$(basename $bin)"
done
runHook postInstall
'';
meta = {
description = "Full featured system emulator and virtual machine host for iOS and macOS";
longDescription = ''
UTM is a full featured system emulator and virtual machine host for iOS
and macOS. It is based off of QEMU. In short, it allows you to run
Windows, Linux, and more on your Mac, iPhone, and iPad.
Features:
- Full system emulation (MMU, devices, etc) using QEMU
- 30+ processors supported including x86_64, ARM64, and RISC-V
- VGA graphics mode using SPICE and QXL
- Text terminal mode
- USB devices
- JIT based acceleration using QEMU TCG
- Frontend designed from scratch for macOS 11 and iOS 11+ using the
latest and greatest APIs
- Create, manage, run VMs directly from your device
- Hardware accelerated virtualization using Hypervisor.framework and
QEMU
- Boot macOS guests with Virtualization.framework on macOS 12+
See https://docs.getutm.app/ for more information.
'';
homepage = "https://mac.getutm.app/";
changelog = "https://github.com/utmapp/utm/releases/tag/v${version}";
mainProgram = "UTM";
license = lib.licenses.asl20;
platforms = lib.platforms.darwin; # 11.3 is the minimum supported version as of UTM 4.
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with lib.maintainers; [
rrbutani
wegank
];
};
}