Compare commits

...

119 Commits

Author SHA1 Message Date
github-actions[bot] 78b938facf
flake.lock: Update (#1681)
Flake lock file updates:

• Updated input 'nixpkgs':
    'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.803882%2Brev-fd487183437963a59ba763c0cc4f27e3447dd6dd/019767cd-a737-7649-ab6d-467a58ba9f92/source.tar.gz?narHash=sha256-mHv/yeUbmL91/TvV95p%2BmBVahm9mdQMJoqaTVTALaFw%3D' (2025-06-12)
  → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.808864%2Brev-4e7667a90c167f7a81d906e5a75cba4ad8bee620/0198eaa3-105a-74fa-a9b2-0a930acea8de/source.tar.gz?narHash=sha256-TH1SfSP523QI7kcPiNtMAEuwZR3Jdz0MCDXPs7TS8uo%3D' (2025-08-26)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-04 02:22:23 +01:00
dependabot[bot] 539b11bbf4 chore(deps): bump amannn/action-semantic-pull-request from 5 to 6
Bumps [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) from 5 to 6.
- [Release notes](https://github.com/amannn/action-semantic-pull-request/releases)
- [Changelog](https://github.com/amannn/action-semantic-pull-request/blob/main/CHANGELOG.md)
- [Commits](https://github.com/amannn/action-semantic-pull-request/compare/v5...v6)

---
updated-dependencies:
- dependency-name: amannn/action-semantic-pull-request
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 01:20:11 +00:00
Dott. Leonardo Migliorelli 4de41eb836
feat: Homebrew Install for macos Sequoia (#1693)
* added homebrew formulae
* Made the base formulae dynamic on latest release, included the head option to download master
2025-09-02 15:30:01 +01:00
Phil Clifford 4a11725b1e fix: change iso fs for unattended iso
fixes #1621
2025-08-28 12:01:57 +01:00
dependabot[bot] 508822fc90 chore(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-19 00:12:27 +01:00
dependabot[bot] 6d0a09e831 chore(deps): bump DeterminateSystems/flake-checker-action from 10 to 12
Bumps [DeterminateSystems/flake-checker-action](https://github.com/determinatesystems/flake-checker-action) from 10 to 12.
- [Release notes](https://github.com/determinatesystems/flake-checker-action/releases)
- [Commits](https://github.com/determinatesystems/flake-checker-action/compare/v10...v12)

---
updated-dependencies:
- dependency-name: DeterminateSystems/flake-checker-action
  dependency-version: '12'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-19 00:12:22 +01:00
dependabot[bot] 8ebc01bd91 chore(deps): bump DeterminateSystems/update-flake-lock from 25 to 27
Bumps [DeterminateSystems/update-flake-lock](https://github.com/determinatesystems/update-flake-lock) from 25 to 27.
- [Release notes](https://github.com/determinatesystems/update-flake-lock/releases)
- [Commits](https://github.com/determinatesystems/update-flake-lock/compare/v25...v27)

---
updated-dependencies:
- dependency-name: DeterminateSystems/update-flake-lock
  dependency-version: '27'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-19 00:12:15 +01:00
dependabot[bot] ee531af4fb chore(deps): bump DeterminateSystems/nix-installer-action from 17 to 19
Bumps [DeterminateSystems/nix-installer-action](https://github.com/determinatesystems/nix-installer-action) from 17 to 19.
- [Release notes](https://github.com/determinatesystems/nix-installer-action/releases)
- [Commits](https://github.com/determinatesystems/nix-installer-action/compare/v17...v19)

---
updated-dependencies:
- dependency-name: DeterminateSystems/nix-installer-action
  dependency-version: '19'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-19 00:12:05 +01:00
Lorenzo a6367ccb78
fix: Arch Linux Mirror (#1709)
Use official Arch Linux HTTPS server over potentially out of date mirror
2025-08-17 18:02:42 +01:00
Phil Clifford 36082437e1 fix(ubuntu): just get the latest iso as the previous has been removed
They have left references to the  24.04.2 iso in the SHA256SUMS file but removed the iso.
We need to filter out the latest until they tidy up.
2025-08-17 18:00:14 +01:00
Daniel Napora 808caa1e74 fix(Trisquel): Add missing field separator (|) 2025-08-17 16:58:48 +00:00
Liam bd178bb4c3 chore: Document Fedora edition/variant change 2025-07-31 15:09:56 +01:00
Liam f6b36c4ec5 fix: Accept edition as fedora variant 2025-07-31 15:09:56 +01:00
Alan Pope d912402e32 fix(macos) Add support for gnu hash algo 2025-07-29 18:16:31 +00:00
Phil Clifford 58d7c41998 fix: add dependency on new qemu-system-modules-spice for noble onwards 2025-07-29 18:00:47 +00:00
mag37 7d7332a1fc
fix: quickget - Handle Fedora KDE 42 (and up) as edition and not as spin. (#1697) 2025-07-21 19:28:36 +01:00
Kenichi Kamiya e4c2c5cf2b fix(nixos): support only latest 25.05
Previously, edition fallback logic allowed downloading the correct
"graphical" ISO for 25.05 even when specifying "plasma6" or "gnome".
However, the VM_PATH and directory name still used the original edition
(e.g., nixos-25.05-plasma6). Fixing this would require more complicated
changes to the code.

NixOS 24.11 will reach EOL on 2025-06-30, about two weeks from now.
2025-07-07 12:27:34 +01:00
Kenichi Kamiya 91e06a64fd fix(nixos): update editions
- Drop legacy 23.11 support; now only 24.11 or later is allowed
- Fallback to "graphical" edition except 24.11
- Do not display "graphical" edition to users;
  it is not supported in 24.11
2025-07-07 12:27:34 +01:00
TheMuso 9f90d46ea1
feat: Add support for FreeDOS 1.4 (#1678) 2025-06-18 02:45:25 +01:00
dependabot[bot] 6145f685aa chore(deps): bump DeterminateSystems/flake-checker-action from 9 to 10
Bumps [DeterminateSystems/flake-checker-action](https://github.com/determinatesystems/flake-checker-action) from 9 to 10.
- [Release notes](https://github.com/determinatesystems/flake-checker-action/releases)
- [Commits](https://github.com/determinatesystems/flake-checker-action/compare/v9...v10)

---
updated-dependencies:
- dependency-name: DeterminateSystems/flake-checker-action
  dependency-version: '10'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-15 13:07:44 +01:00
github-actions[bot] 3d40baa0e4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.802491%2Brev-7c43f080a7f28b2774f3b3f43234ca11661bf334/01970886-40c4-7b8c-a32f-bb580ba9bcb1/source.tar.gz?narHash=sha256-rqc2RKYTxP3tbjA%2BPB3VMRQNnjesrT0pEofXQTrMsS8%3D' (2025-05-25)
  → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.803882%2Brev-fd487183437963a59ba763c0cc4f27e3447dd6dd/019767cd-a737-7649-ab6d-467a58ba9f92/source.tar.gz?narHash=sha256-mHv/yeUbmL91/TvV95p%2BmBVahm9mdQMJoqaTVTALaFw%3D' (2025-06-12)
2025-06-15 13:07:23 +01:00
github-actions[bot] c6c75e6550 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2411.717837%2Brev-a39ed32a651fdee6842ec930761e31d1f242cb94/0196c53c-7a4e-7500-910f-55c1ddbd2de5/source.tar.gz?narHash=sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5%2BSHJkS5ID/Jo%3D' (2025-05-11)
  → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.802491%2Brev-7c43f080a7f28b2774f3b3f43234ca11661bf334/01970886-40c4-7b8c-a32f-bb580ba9bcb1/source.tar.gz?narHash=sha256-rqc2RKYTxP3tbjA%2BPB3VMRQNnjesrT0pEofXQTrMsS8%3D' (2025-05-25)
2025-05-29 11:05:23 +01:00
Liam 0e6be87757 fix(solus): update editions function to find correct editions 2025-05-26 19:22:51 +00:00
Phil Clifford 517ba94203 fix: adapt openindiana release search to updated website 2025-05-25 02:32:19 +00:00
github-actions[bot] 7ad2308fa3 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2411.717484%2Brev-26245db0cb552047418cfcef9a25da91b222d6c7/01967ace-4a07-717a-a72f-cc60008c3b59/source.tar.gz?narHash=sha256-1rqa/XPSJqJg21BKWjzJZC7yU0l/YTVtjRi0RJmipus%3D' (2025-04-27)
  → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2411.717837%2Brev-a39ed32a651fdee6842ec930761e31d1f242cb94/0196c53c-7a4e-7500-910f-55c1ddbd2de5/source.tar.gz?narHash=sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5%2BSHJkS5ID/Jo%3D' (2025-05-11)
2025-05-22 11:21:57 +01:00
dependabot[bot] 42d81b12bb chore(deps): bump DeterminateSystems/update-flake-lock from 24 to 25
Bumps [DeterminateSystems/update-flake-lock](https://github.com/determinatesystems/update-flake-lock) from 24 to 25.
- [Release notes](https://github.com/determinatesystems/update-flake-lock/releases)
- [Commits](https://github.com/determinatesystems/update-flake-lock/compare/v24...v25)

---
updated-dependencies:
- dependency-name: DeterminateSystems/update-flake-lock
  dependency-version: '25'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-22 11:21:39 +01:00
Lorenzo 2129abf060 Fixed parrotsec urls 2025-05-11 14:24:49 +01:00
github-actions[bot] 0d61c0643e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2411.716947%2Brev-26d499fc9f1d567283d5d56fcf367edd815dba1d/01962e50-af41-7ff9-8765-ebb3d39458ba/source.tar.gz?narHash=sha256-FHlSkNqFmPxPJvy%2B6fNLaNeWnF1lZSgqVCl/eWaJRc4%3D' (2025-04-12)
  → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2411.717484%2Brev-26245db0cb552047418cfcef9a25da91b222d6c7/01967ace-4a07-717a-a72f-cc60008c3b59/source.tar.gz?narHash=sha256-1rqa/XPSJqJg21BKWjzJZC7yU0l/YTVtjRi0RJmipus%3D' (2025-04-27)
2025-05-11 14:24:03 +01:00
Steffen Vogel 89fa572c85 fix(nix): Do not use per-system overlays in Flake 2025-05-11 14:23:23 +01:00
dependabot[bot] 45dd058774 chore(deps): bump DeterminateSystems/nix-installer-action from 16 to 17
Bumps [DeterminateSystems/nix-installer-action](https://github.com/determinatesystems/nix-installer-action) from 16 to 17.
- [Release notes](https://github.com/determinatesystems/nix-installer-action/releases)
- [Commits](https://github.com/determinatesystems/nix-installer-action/compare/v16...v17)

---
updated-dependencies:
- dependency-name: DeterminateSystems/nix-installer-action
  dependency-version: '17'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-11 14:22:28 +01:00
spameier f25205f451 fix(quickemu): correctly handle version 10.0.0 of QEMU 2025-05-01 19:17:29 +00:00
Liam 6b51f740a4 feat: Add Bazzite Deck; fix: Correct bazzite filenames 2025-04-17 17:49:05 +00:00
github-actions[bot] ed455b17a6 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2411.714925%2Brev-f44bd8ca21e026135061a0a57dcf3d0775b67a49/01954925-64dc-774f-8cc1-a596fc29244f/source.tar.gz?narHash=sha256-t%2BVaahjQAWyA%2BCtn2idyo1yxRIYpaDxMgHkgCNiMJa4%3D' (2025-02-26)
  → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2411.716947%2Brev-26d499fc9f1d567283d5d56fcf367edd815dba1d/01962e50-af41-7ff9-8765-ebb3d39458ba/source.tar.gz?narHash=sha256-FHlSkNqFmPxPJvy%2B6fNLaNeWnF1lZSgqVCl/eWaJRc4%3D' (2025-04-12)
2025-04-15 13:21:51 +01:00
Phil Clifford 727708b1ae
fix: handle pclinuxos inconsistent naming (#1629)
* fix: handle inconsistent filenaming

They name releases with a dash for mate and a dot for the others.  No bets on when they notice this and make it consistent.  In case they somehow get a dashed name first swap the dotty ones too.
2025-04-15 13:18:07 +01:00
user20198 0c4e257048
feat: Add PCLinuxOS to quickget (#1610)
* Add PCLinuxOS to quickget


---------

Co-authored-by: Phil Clifford <philclifford@users.noreply.github.com>
2025-04-12 23:07:25 +01:00
TheMuso 910d35f80c
fix: Use the pcnet ethernet device for FreeDOS (#1587)
FreeDOS does ship the Crynwr packet driver package, which does contain an
RTL8139 driver. However, you have to install the package after installing
FreeDOS, even if you performed a full install. It also seems to lock up for
me when attempting to load it.

The PCNet packet driver on the other hand, is installed with a full FreeDOS
install, is open source, and does work, at least for me.
2025-04-12 22:30:39 +01:00
Anatoli Babenia 616d10b594
feat(quickget): Show download path (#1516)
* feat(quickget): Show full download path


---------

Co-authored-by: Phil Clifford <philclifford@users.noreply.github.com>
2025-04-12 21:50:08 +01:00
Phil Clifford 40f86c0af1 chore: move arco to author-requested release source 2025-04-12 20:43:28 +00:00
Alex Haydock 15c0003442 fix: Select OVMF_VARS file with preloaded MS Platform Keys (Debian/Ubuntu hosts) 2025-04-12 21:42:47 +01:00
Alex Haydock f01db134da fix: Select OVMF_VARS file with preloaded MS Platform Keys (Fedora/RHEL-family hosts) 2025-04-12 21:42:47 +01:00
Alex Haydock 6d5b9231d2 fix: Enable SMM for Linux guests on Linux hosts when Secure Boot is enabled 2025-04-12 21:42:47 +01:00
Liam 9dc70808c5 fix: Better match parrotsec releases 2025-04-12 20:29:09 +00:00
dependabot[bot] daba59d46c chore(deps): bump DeterminateSystems/magic-nix-cache-action from 8 to 9
Bumps [DeterminateSystems/magic-nix-cache-action](https://github.com/determinatesystems/magic-nix-cache-action) from 8 to 9.
- [Release notes](https://github.com/determinatesystems/magic-nix-cache-action/releases)
- [Commits](https://github.com/determinatesystems/magic-nix-cache-action/compare/v8...v9)

---
updated-dependencies:
- dependency-name: DeterminateSystems/magic-nix-cache-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-07 01:48:53 +00:00
github-actions[bot] 4ecf677a74 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2411.712007%2Brev-d49da4c08359e3c39c4e27c74ac7ac9b70085966/01940ca0-b117-7d0e-b1ef-d579ee6d2f13/source.tar.gz?narHash=sha256-MgdXpeX2GuJbtlBrH9EdsUeWl/yXEubyvxM1G%2ByO4Ak%3D' (2024-12-27)
  → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2411.714925%2Brev-f44bd8ca21e026135061a0a57dcf3d0775b67a49/01954925-64dc-774f-8cc1-a596fc29244f/source.tar.gz?narHash=sha256-t%2BVaahjQAWyA%2BCtn2idyo1yxRIYpaDxMgHkgCNiMJa4%3D' (2025-02-26)
2025-03-07 01:48:32 +00:00
Phil Clifford 3da9edc995
fix: correctly match editions (#1585)
Closes #1583
2025-02-09 16:53:45 -08:00
Phil Clifford b60ff761e7
fix: move creation of script before functions that may update it (#1577) 2025-02-01 14:11:53 -08:00
nxxxse 588e421040
chore: use https for git submodules to use CA PKI instead of SSH TOFU (#1553)
Defaulting to HTTPS for submodule is more user-friendly.
2025-02-01 14:45:33 +00:00
Liam f87cc613ab
fix: Correctly throw errors when an invalid option is passed (#1560)
* fix: Correctly throw errors when a parameter is not fully matched
2025-02-01 14:39:48 +00:00
Liam 70b531c463
fix: Allow non-v24 arcolinux releases (#1575) 2025-02-01 14:37:21 +00:00
Gustavo Velásquez ae94ac7c16
docs: Fix typo in README.md (#1568) 2025-01-29 10:56:28 +00:00
Liam eb0fd03137
fix: Disregard curl configuration (#1571) 2025-01-29 10:54:23 +00:00
Alex Haydock 0c772d5619
fix: Check for PipeWire as well as PulseAudio before falling back to ALSA (#1565)
* fix: Check for PipeWire as well as PulseAudio before falling back to ALSA

* fix: Use PipeWire backend if available, and where QEMU version is >8.1

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>

---------

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2025-01-20 11:59:00 -08:00
hyperpuncher 20b17cb129
feat: Linux Mint 22.1 support (#1563) 2025-01-18 15:12:21 -08:00
debuggerx01 37190c7b3a
fix(macos): Correct version user receives from quickget; add sequoia (#1550)
* fix(macos): quickget macos sonoma download sequoia BaseSystem.dmg

* feat: Add macOS Sequoia

---------

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2025-01-15 11:36:50 -06:00
zenobit 622ecfd4a4
fix(siduction): Update to Shine_on+ (#1549) 2025-01-05 03:11:39 +00:00
debuggerx01 238ec98071
fix(windows): Fix the download of the Chinese Windows ISO. (#1540)
* Fix the download of the Chinese Windows ISO.
2024-12-30 21:54:14 +00:00
Phil Clifford eeee8266db
chore: regenerate docs to align with current release (#1544) 2024-12-30 15:45:18 -06:00
Martin Wimpress c2024d2490
chore: bump version to 4.9.8 2024-12-30 13:18:23 +00:00
Martin Wimpress 2a9d455307 chore: bump version to 4.9.7 2024-12-30 12:23:26 +00:00
Silke Hofstra 652708388e fix(solus): update Solus URLs
The latest Solus release has changed the naming of ISOs:

- Update all related functions to support the ISO name
  format used in the latest release.
- Use the directory listings in order to support more releases in the future.
2024-12-30 10:58:46 +00:00
Phil Clifford 373f133ac7
fix(easyos): move to dynamic release behaviour (#1494)
The static list included a release that has been removed
and also  hard coded mappings for 2023 and 2024. This dynamically determines the latest two years
and finds available releases in those years, so will still provide reasonable service next year.
2024-12-30 10:58:18 +00:00
dependabot[bot] a305f993c3 chore(deps): bump DeterminateSystems/nix-installer-action from 14 to 16
Bumps [DeterminateSystems/nix-installer-action](https://github.com/determinatesystems/nix-installer-action) from 14 to 16.
- [Release notes](https://github.com/determinatesystems/nix-installer-action/releases)
- [Commits](https://github.com/determinatesystems/nix-installer-action/compare/v14...v16)

---
updated-dependencies:
- dependency-name: DeterminateSystems/nix-installer-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-30 10:57:53 +00:00
github-actions[bot] a905d652e6 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2405.635837%2Brev-a3f9ad65a0bf298ed5847629a57808b97e6e8077/019284a3-b408-7df6-a876-30d9e039bc1d/source.tar.gz?narHash=sha256-u%2BrxA79a0lyhG%2Bu%2BoPBRtTDtzz8kvkc9a6SWSt9ekVc%3D' (2024-10-12)
  → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2411.712007%2Brev-d49da4c08359e3c39c4e27c74ac7ac9b70085966/01940ca0-b117-7d0e-b1ef-d579ee6d2f13/source.tar.gz?narHash=sha256-MgdXpeX2GuJbtlBrH9EdsUeWl/yXEubyvxM1G%2ByO4Ak%3D' (2024-12-27)
2024-12-30 10:57:34 +00:00
lwbt 42c83f7e6a
fix: TrueNAS Scale download (#1539)
* fix: TrueNAS Scale download

* Update endless to 6.0.4
2024-12-30 10:57:02 +00:00
Jack Wasey 6334e82a42
feat: Add proxmox-ve (#1518)
* Add proxmox-ve

* Dynamically detect proxmox-ve releases

* fix: Address shellcheck lint

---------

Co-authored-by: Jack antibes admin <jmin@antibes.walton>
Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-12-30 10:56:16 +00:00
Liam 2c22f0c31e
fix(windows): Use new Microsoft JSON API to fix URL generation (#1534) 2024-12-20 17:52:09 +00:00
Daniel Napora 122992112b
feat: Add Mabox Linux (#1531) 2024-12-19 16:27:37 +00:00
Phil Clifford e27aa30804
feat: add support for elementary 8.0 (#1533) 2024-12-18 20:47:18 +00:00
Liam d0ae72a251
fix: Add ArchLinux 4M OVMF paths (#1514) 2024-11-11 15:24:28 +00:00
Gordon Schulz ec0f276abf
fix(fedora): Check whether the link value contains an actual .iso file (#1503)
* fix(fedora): Check whether the link value contains an actual .iso file

Also remove the SHA256 requirement. Fedora provides these for all links
now.
Fixes #1502

* refactor(fedora): Use more concise function to filter out non-ISO files

---------

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-11-08 02:12:41 -06:00
Phil Clifford a09d5128be
chore: correct a spelling mistake (#1495) 2024-11-05 12:30:07 +00:00
Phil Clifford 16a43af329
fix(fedora): handle the space in the beta release (#1492)
* fix(fedora): handle the space in the beta release

fixes #1462
adjust the RELEASE to remove and replace the space

* fix(fedora): only list available editions where a release is selected

fixes #1493
2024-10-29 12:01:33 +00:00
Martin M. S. Pedersen 17a5971e49 fix: Use HTTPS URLs wherever possible 2024-10-21 15:44:06 -05:00
Zeglius 3f7bc4a77a fix: increase default disk size for bazzite to 64GB minimum 2024-10-21 15:37:39 -05:00
Liam 24e081752d refactor: Improve not equals syntax in get_deepin function 2024-10-19 19:29:22 -05:00
Phil Clifford 8299bfc896 fix(deepin): Correct architecture insertion logic
so Deepin 23 and  later are correctly adjusted.
2024-10-19 19:29:22 -05:00
Szorfein 70603de2a3
fix: Use ALSA on systems without a PulseAudio daemon (#1480) 2024-10-19 23:00:08 +01:00
github-actions[bot] 20c1fe030d
flake.lock: Update (#1478)
Flake lock file updates:

• Updated input 'nixpkgs':
    'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2405.635490%2Brev-f65141456289e81ea0d5a05af8898333cab5c53d/019237db-783b-7330-a22e-7d60c20ce855/source.tar.gz?narHash=sha256-pojbL/qteElw/nIXlN8kmHn/w6PQbEHr7Iz%2BWOXs0EM%3D' (2024-09-27)
  → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2405.635837%2Brev-a3f9ad65a0bf298ed5847629a57808b97e6e8077/019284a3-b408-7df6-a876-30d9e039bc1d/source.tar.gz?narHash=sha256-u%2BrxA79a0lyhG%2Bu%2BoPBRtTDtzz8kvkc9a6SWSt9ekVc%3D' (2024-10-12)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-19 22:50:59 +01:00
Alex Genovese 1638b7a721
fix: Archcraft and ReactOS ISO naming and editions quoting (#1468)
* proper fix for 'editions'

quotes needed on editions function call to prevent globbing  ....

* fix archcraft download

otherwise just downloads with filename 'download' without even a .iso extension

* refactor: Use web_redirect function to get archcraft URL


---------

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-10-19 22:47:04 +01:00
Alex Genovese 9d4b82db20
fix: dynamic grep latest MX linux and sort Kolibri (#1479)
* Fix: add dynamic grep for latest MX linux releases
* add quick fix for kolibri url
* add Kolibri editions and 7zip extraction
2024-10-19 22:35:38 +01:00
Alex Genovese 3de28e1e56
fix: CachyOS downloads (#1483)
* update cachyos to new  editions

only two editions now and a revised cdn setup
2024-10-18 19:43:14 +01:00
Phil Clifford 8eda1e1150 fix(parrotsec): change grep to not use perl regexp so MacOS/BSD are happier 2024-10-18 17:26:48 +01:00
Phil Clifford 66a0af3a92 fix(nixos): change grep to not use perl regexp so MacOS/BSD are happier 2024-10-18 17:26:48 +01:00
Phil Clifford 0f8d56d2c8
fix: blendOS now has a single current iso (#1481)
* fix: blendOS now has a single current iso

Select a reasonable mirror as the old choice is unreliable

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-10-17 20:54:57 +01:00
Dridi Boukelmoune 84595dc32f
docs: Move quickemu_conf manual to section 5 (#1454)
* docs: Simplify make rules for pandoc

This removes a --standalone duplicate and counter-productive
indirections like $(MANSECTION) because it prevents having more
than one and docs/Makefile hardcodes the section anyway.

* docs: Move quickemu_conf manual to section 5

Where it technically belongs... With the new make rules for pandoc, it's
actually much easier to manage manuals in several sections without much
overhead.

* docs: Remove potential quickemu_conf.1 leftover
2024-10-04 11:35:36 +01:00
Agustin Ferrario 002e366552 Add Haiku r1beta5
Added the lastest release from Haiku (r1beta5).
2024-09-30 17:37:36 +01:00
zenobit 3a20b31b49 fix: open homepage
introduced in
aa285f0f6e
2024-09-30 17:36:10 +01:00
dependabot[bot] c915522962 chore(deps): bump DeterminateSystems/magic-nix-cache-action from 7 to 8
Bumps [DeterminateSystems/magic-nix-cache-action](https://github.com/determinatesystems/magic-nix-cache-action) from 7 to 8.
- [Release notes](https://github.com/determinatesystems/magic-nix-cache-action/releases)
- [Commits](https://github.com/determinatesystems/magic-nix-cache-action/compare/v7...v8)

---
updated-dependencies:
- dependency-name: DeterminateSystems/magic-nix-cache-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 17:35:14 +01:00
Phil Clifford 17f3cd7eeb
refactor: remove redundant code from resolve_quickemu() (#1404)
* fix: remove redundant command call

* fix: test local quickemu is executable
2024-09-30 17:34:17 +01:00
dependabot[bot] 42ee12d51c chore(deps): bump DeterminateSystems/nix-installer-action from 13 to 14
Bumps [DeterminateSystems/nix-installer-action](https://github.com/determinatesystems/nix-installer-action) from 13 to 14.
- [Release notes](https://github.com/determinatesystems/nix-installer-action/releases)
- [Commits](https://github.com/determinatesystems/nix-installer-action/compare/v13...v14)

---
updated-dependencies:
- dependency-name: DeterminateSystems/nix-installer-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 17:32:34 +01:00
dependabot[bot] 973e57eefa chore(deps): bump DeterminateSystems/flake-checker-action from 8 to 9
Bumps [DeterminateSystems/flake-checker-action](https://github.com/determinatesystems/flake-checker-action) from 8 to 9.
- [Release notes](https://github.com/determinatesystems/flake-checker-action/releases)
- [Commits](https://github.com/determinatesystems/flake-checker-action/compare/v8...v9)

---
updated-dependencies:
- dependency-name: DeterminateSystems/flake-checker-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 17:32:10 +01:00
dependabot[bot] bf3ee94724 chore(deps): bump DeterminateSystems/update-flake-lock from 23 to 24
Bumps [DeterminateSystems/update-flake-lock](https://github.com/determinatesystems/update-flake-lock) from 23 to 24.
- [Release notes](https://github.com/determinatesystems/update-flake-lock/releases)
- [Commits](https://github.com/determinatesystems/update-flake-lock/compare/v23...v24)

---
updated-dependencies:
- dependency-name: DeterminateSystems/update-flake-lock
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 17:31:59 +01:00
Aaron Honeycutt 04be5de7f1 remove popos 21.10
this is an unsupported release now
2024-09-30 17:31:43 +01:00
Mario Kneidinger 4a871fff22 chore(new supported release): Added support for Linux Mint 22 2024-09-30 17:31:12 +01:00
github-actions[bot] 37b0f5dd25 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2405.634054%2Brev-4a92571f9207810b559c9eac203d1f4d79830073/01914d63-b212-712f-bb11-24565c742847/source.tar.gz?narHash=sha256-%2BCHVZnTnIYRLYsARInHYoWkujzcRkLY/gXm3s5bE52o%3D' (2024-08-13)
  → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2405.635490%2Brev-f65141456289e81ea0d5a05af8898333cab5c53d/019237db-783b-7330-a22e-7d60c20ce855/source.tar.gz?narHash=sha256-pojbL/qteElw/nIXlN8kmHn/w6PQbEHr7Iz%2BWOXs0EM%3D' (2024-09-27)
2024-09-30 17:30:53 +01:00
Gitsarry 790484cb7d fix: use double brackets for if clause with and & or concatenation
Previous does not work with Bash version 5.2.15(1)-release (x86_64-pc-linux-gnu)
2024-08-27 10:54:08 +01:00
Luke Yelavich 42c90e9771 feat: Add support for OpenSuse Aeon 2024-08-27 10:45:47 +01:00
Agustin Isasmendi 9332ff25cd fix: #1391 Change http to https endpoints for macos download 2024-08-27 10:45:15 +01:00
Phil Clifford c10ba9aac0 docs: remove doc reference to Windows Server 2012-r2 2024-08-27 10:44:27 +01:00
Phil Clifford 0cfeffbc82 docs: fix small usage typo 2024-08-27 10:44:27 +01:00
Phil Clifford def912cce3 docs: regenerated man pages include new options 2024-08-27 10:44:27 +01:00
Phil Clifford 75bd81d1e9 fix: get sparky info from mirror 2024-08-27 10:42:20 +01:00
Phil Clifford 1f0dc50194 fix: extend search for smbd 2024-08-27 10:41:42 +01:00
Gitsarry 18cdda254b fix: make function ignore_msrs_always work
With the previous version the file was never written if it not existed before, logic bug.
2024-08-27 10:38:41 +01:00
Liam 35f8e9333d fix: Use 1 as default sockets value 2024-08-27 10:37:54 +01:00
Chase Covello 070514d449
Fix: set RTC to localtime only for Windows/ReactOS/DOS and UTC for all others (#1429)
* Set RTC to localtime only for Windows/ReactOS/DOS and UTC for all other OS

Windows/ReactOS/DOS conventionally set the system RTC to local time, but Linux/UNIX/macOS use UTC. Guest systems that expect UTC and have the time zone set to local time will have the wrong system clock time at startup until they set the clock with NTP. This is especially an issue for disk images imported from or shared with another VM configuration that uses UTC for non-Windows guests.

* Removed RTC driftfix option for non-Windows/ReactOS/DOS guests

According to the QEMU man page:

    Enable driftfix (i386 targets only) if you experience time
    drift problems, specifically with Windows' ACPI HAL. This
    option will try to figure out how many timer interrupts were
    not processed by the Windows guest and will re-inject them.

This option thus seems unnecessary for other systems and may cause
performance or timekeeping issues, so enable only for
Windows/ReactOS/DOS.
2024-08-27 10:37:21 +01:00
github-actions[bot] bb103295ea flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2405.633516%2Brev-8c50662509100d53229d4be607f1a3a31157fa12/0190f691-c019-7d99-b723-4b2dd6dfd38f/source.tar.gz?narHash=sha256-2ShmEaFi0kJVOEEu5gmlykN5dwjWYWYUJmlRTvZQRpU%3D' (2024-07-27)
  → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2405.634054%2Brev-4a92571f9207810b559c9eac203d1f4d79830073/01914d63-b212-712f-bb11-24565c742847/source.tar.gz?narHash=sha256-%2BCHVZnTnIYRLYsARInHYoWkujzcRkLY/gXm3s5bE52o%3D' (2024-08-13)
2024-08-27 10:36:19 +01:00
Phil Clifford bc2858ecbf fix: dequote editions pipe 2024-08-27 10:35:34 +01:00
github-actions[bot] a13d554374 flake.lock: Update
Flake lock file updates:

• Updated input 'flake-schemas':
    'https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.2/018b3da8-4cc3-7fbb-8ff7-1588413c53e2/source.tar.gz?narHash=sha256-j8SR19V1SRysyJwpOBF4TLuAvAjF5t%2BgMiboN4gYQDU%3D' (2023-10-16)
  → 'https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz?narHash=sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw%3D' (2024-07-26)
• Updated input 'nixpkgs':
    'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2405.632931%2Brev-f12ee5f64c6a09995e71c9626d88c4efa983b488/0190afd7-6008-74ee-a4f6-a75a0a8f29b3/source.tar.gz?narHash=sha256-FZ5dnrvKkln9ESdoTR8R7GKW9rNpXNZrxGsOXsbsTpE%3D' (2024-07-12)
  → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2405.633516%2Brev-8c50662509100d53229d4be607f1a3a31157fa12/0190f691-c019-7d99-b723-4b2dd6dfd38f/source.tar.gz?narHash=sha256-2ShmEaFi0kJVOEEu5gmlykN5dwjWYWYUJmlRTvZQRpU%3D' (2024-07-27)
2024-08-02 10:37:50 +01:00
dependabot[bot] a2c3572512 chore(deps): bump DeterminateSystems/nix-installer-action from 12 to 13
Bumps [DeterminateSystems/nix-installer-action](https://github.com/determinatesystems/nix-installer-action) from 12 to 13.
- [Release notes](https://github.com/determinatesystems/nix-installer-action/releases)
- [Commits](https://github.com/determinatesystems/nix-installer-action/compare/v12...v13)

---
updated-dependencies:
- dependency-name: DeterminateSystems/nix-installer-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-02 10:37:28 +01:00
Liam 885d4a84b2 fix: Don't duplicate VM path in fixed ISO from create_config function 2024-07-14 20:00:37 +01:00
Alpha fc43f861b7 refactor: use unattended windows installation by default
Create unattended windows installation iso by default when creating
windows vms with --create-config.
To disable, pass --disable-unattended

https://github.com/quickemu-project/quickemu/pull/1373/files#r1673481239

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-07-14 20:00:37 +01:00
Liam d3a95c2fe5 refactor: General improvements to create_config function 2024-07-14 20:00:37 +01:00
Alpha 113bd4d1f5 feat: add --unattended flag to --create-config to create unattend.iso (windows hosts)
Feature request #1369
2024-07-14 20:00:37 +01:00
Alpha 3c50a65df5 refactor: move unattended win installation code inside function
move code necessary for creation of unattended.iso for windows 10 and 11
inside unattended_windows function

Change parameter required for unattended_windows function from
autounattend.xml file to $VM_PATH
2024-07-14 20:00:37 +01:00
Alpha 9276573c02 refactor: move create_config function to the bottom
move it below unattended_windows and web_get functions to reference them
later
2024-07-14 20:00:37 +01:00
github-actions[bot] 8d9c63ff6c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2405.631440%2Brev-2819fffa7fa42156680f0d282c60d81e8fb185b7/0190034c-678d-7039-b45c-fa38168f2500/source.tar.gz?narHash=sha256-mJi4/gjiwQlSaxjA6AusXBN/6rQRaPCycR7bd8fydnQ%3D' (2024-06-09)
  → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2405.632931%2Brev-f12ee5f64c6a09995e71c9626d88c4efa983b488/0190afd7-6008-74ee-a4f6-a75a0a8f29b3/source.tar.gz?narHash=sha256-FZ5dnrvKkln9ESdoTR8R7GKW9rNpXNZrxGsOXsbsTpE%3D' (2024-07-12)
2024-07-14 19:57:20 +01:00
Liam aeb14a717b chore: Remove windowskey from packaging 2024-07-11 10:34:26 +01:00
Liam 00c53fb022 chore: Remove unused dependency windowskey 2024-07-11 10:34:26 +01:00
28 changed files with 561 additions and 379 deletions

View File

@ -14,11 +14,11 @@ assignees: ''
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
Steps to reproduce the behaviour:
1. Run `quickemu` with arguments '...'
2. See error
**Expected behavior**
**Expected behaviour**
A clear and concise description of what you expected to happen.
**Quickemu output**

View File

@ -13,9 +13,9 @@ jobs:
name: Flake Checker
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: DeterminateSystems/nix-installer-action@v12
- uses: DeterminateSystems/magic-nix-cache-action@v7
- uses: DeterminateSystems/flake-checker-action@v8
- uses: DeterminateSystems/nix-installer-action@v19
- uses: DeterminateSystems/magic-nix-cache-action@v9
- uses: DeterminateSystems/flake-checker-action@v12

View File

@ -10,11 +10,11 @@ jobs:
name: Flake Lock Updater
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: DeterminateSystems/nix-installer-action@v12
- uses: DeterminateSystems/magic-nix-cache-action@v7
- uses: DeterminateSystems/update-flake-lock@v23
- uses: DeterminateSystems/nix-installer-action@v19
- uses: DeterminateSystems/magic-nix-cache-action@v9
- uses: DeterminateSystems/update-flake-lock@v27
with:
pr-title: "chore: update flake.lock"

View File

@ -15,7 +15,7 @@ jobs:
name: Validate pull request title
runs-on: ubuntu-22.04
steps:
- uses: amannn/action-semantic-pull-request@v5
- uses: amannn/action-semantic-pull-request@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:

View File

@ -10,7 +10,7 @@ jobs:
name: Shellcheck
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@master
with:

View File

@ -16,7 +16,7 @@ jobs:
name: "Check versions ⚖️"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: "Compare App and Git versions 🟰"
@ -37,7 +37,7 @@ jobs:
name: "Draft Release 📥️"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Create release ${{ github.ref }} as a draft
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@ -49,7 +49,7 @@ jobs:
name: "Build Release 👨‍🔧"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Build and Upload .deb
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@ -67,7 +67,7 @@ jobs:
name: "Publish Release 📤️"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Publish release ${{ github.ref }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@ -85,7 +85,7 @@ jobs:
id-token: "write"
contents: "read"
steps:
- uses: "actions/checkout@v4"
- uses: "actions/checkout@v5"
with:
ref: "${{ (inputs.tag != null) && format('refs/tags/{0}', inputs.tag) || '' }}"
- uses: "DeterminateSystems/nix-installer-action@main"
@ -102,7 +102,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: "Checkout 🥡"
uses: actions/checkout@v4
uses: actions/checkout@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Import gpg key 🔑"

View File

@ -29,7 +29,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: "Checkout 🥡"
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: "Build & Test .deb 🍥"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@ -51,11 +51,11 @@ jobs:
contents: "read"
steps:
- name: "Checkout 🥡"
uses: "actions/checkout@v4"
uses: "actions/checkout@v5"
- name: "Install Nix ❄️"
uses: "DeterminateSystems/nix-installer-action@v12"
uses: "DeterminateSystems/nix-installer-action@v19"
- name: "Enable Magic Nix Cache 🪄"
uses: "DeterminateSystems/magic-nix-cache-action@v7"
uses: "DeterminateSystems/magic-nix-cache-action@v9"
- name: "Build & Test .nix ❄️"
run: |
nix build .#quickemu

View File

@ -18,7 +18,7 @@ jobs:
name: "Run quickget tests 👟"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: "Install dependencies 📦️"
run: |
sudo apt-get -y update

2
.gitmodules vendored
View File

@ -1,3 +1,3 @@
[submodule "build-docs"]
path = build-docs
url = git@github.com:philclifford/quickemu-docs.git
url = https://github.com/philclifford/quickemu-docs.git

View File

@ -14,7 +14,7 @@ diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
Examples of behaviour that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
@ -25,7 +25,7 @@ community include:
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
Examples of unacceptable behaviour include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
@ -39,8 +39,8 @@ Examples of unacceptable behavior include:
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
acceptable behaviour and will take appropriate and fair corrective action in
response to any behaviour that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
@ -58,7 +58,7 @@ representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
Instances of abusive, harassing, or otherwise unacceptable behaviour may be
reported to the community leaders responsible for enforcement at
#quickemu channel on Discord.
All complaints will be reviewed and investigated promptly and fairly.
@ -73,19 +73,19 @@ the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
**Community Impact**: Use of inappropriate language or other behaviour deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
behaviour was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
**Consequence**: A warning with consequences for continued behaviour. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
@ -95,7 +95,7 @@ permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
sustained inappropriate behaviour.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
standards, including sustained inappropriate behaviour, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within

47
Formula/quickemu.rb Normal file
View File

@ -0,0 +1,47 @@
class Quickemu < Formula
desc "Quickly create and run optimised Windows, macOS and Linux virtual machines"
homepage "https://github.com/quickemu-project/quickemu"
livecheck do
url :stable
end
stable do
latest_release = JSON.parse(Utils.safe_popen_read("curl", "-s", "https://api.github.com/repos/quickemu-project/quickemu/releases/latest"))
version latest_release["tag_name"]
url "https://api.github.com/repos/quickemu-project/quickemu/tarball/#{latest_release["tag_name"]}"
end
head "https://github.com/quickemu-project/quickemu.git"
license "MIT"
depends_on "bash"
depends_on "cdrtools"
depends_on "coreutils"
depends_on "jq"
depends_on "python3"
depends_on "qemu"
depends_on "samba"
depends_on "socat"
depends_on "swtpm"
depends_on "usbutils"
depends_on "zsync"
def install
bin.install "quickemu"
bin.install "quickget"
end
test do
# `test do` will create, run in and delete a temporary directory.
#
# This test will fail and we won't accept that! For Homebrew/homebrew-core
# this will need to be a test that verifies the functionality of the
# software. Run the test with `brew test quickemu`. Options passed
# to `brew install` such as `--HEAD` also need to be provided to `brew test`.
#
# The installed folder is not in the path, so use the entire path to any
# executables being tested: `system bin/"program", "do", "something"`.
system "false"
end
end

View File

@ -63,7 +63,7 @@ required to run the virtual machines.
## As featured on [Linux Matters](https://linuxmatters.sh) podcast!
The presenters of Linux Matters 🐧🎙️ are the creators of each of the principle Quickemu projects. We discussed Quickemu's 2024 reboot in [Episode 30 - Quickemu Rising From the Bashes](https://linuxmatters.sh/30). <!-- and in [Episode 32 - Quick, quicker, quickest](https://linuxmatters.sh/32) [Martin](https://github.com/flexiondotorg) unveils macOS host support for [**Quickemu**](https://github.com/quickemu-project/quickemu), [Mark](https://github.com/marxjohnson) explains the origins of the [**Quickgui**](https://github.com/quickemu-project/quickgui) desktop app and upcoming improvements, and [Alan](https://github.com/popey) debuts [**Quicktest**](https://github.com/quickemu-project/quicktest); a framework for automatically testing operating systems via Quickemu -->
The presenters of Linux Matters 🐧🎙️ are the creators of each of the principal Quickemu projects. We discussed Quickemu's 2024 reboot in [Episode 30 - Quickemu Rising From the Bashes](https://linuxmatters.sh/30). <!-- and in [Episode 32 - Quick, quicker, quickest](https://linuxmatters.sh/32) [Martin](https://github.com/flexiondotorg) unveils macOS host support for [**Quickemu**](https://github.com/quickemu-project/quickemu), [Mark](https://github.com/marxjohnson) explains the origins of the [**Quickgui**](https://github.com/quickemu-project/quickgui) desktop app and upcoming improvements, and [Alan](https://github.com/popey) debuts [**Quicktest**](https://github.com/quickemu-project/quicktest); a framework for automatically testing operating systems via Quickemu -->
<div align="center">
<a href="https://linuxmatters.sh" target="_blank"><img src="https://github.com/wimpysworld/nix-config/raw/main/.github/screenshots/linuxmatters.png" alt="Linux Matters Podcast"/></a>

1
debian/control vendored
View File

@ -22,6 +22,7 @@ Depends:
procps,
python3-minimal,
qemu-system (>= 6.0),
base-files (<< 13~) | qemu-system-modules-spice,
socat,
spice-client-gtk,
swtpm,

1
debian/install vendored
View File

@ -2,4 +2,3 @@ chunkcheck usr/bin
quickemu usr/bin
quickget usr/bin
quickreport usr/bin
windowskey usr/bin

View File

@ -9,16 +9,18 @@ datadir := $(datarootdir)
mandir := $(datarootdir)/man
bindir := $(PREFIX)/bin
all: quickget.1 quickemu.1 quickemu_conf.1
all: quickget.1 quickemu.1 quickemu_conf.5
clean:
rm *.1
rm *.1 *.5
install_docs: all
install -d $(DESTDIR)$(mandir)/man1
install -d $(DESTDIR)$(mandir)/man5
install -m 644 quickget.1 $(DESTDIR)$(mandir)/man1
install -m 644 quickemu.1 $(DESTDIR)$(mandir)/man1
install -m 644 quickemu_conf.1 $(DESTDIR)$(mandir)/man1
install -m 644 quickemu_conf.5 $(DESTDIR)$(mandir)/man5
rm -f $(DESTDIR)$(mandir)/man1/quickemu_conf.1
# install -m 644 quickgui.1 $(DESTDIR)$(mandir)/man1
@ -34,7 +36,7 @@ install: install_bins install_docs
uninstall::
rm -f $(DESTDIR)$(mandir)/man1/quickget.1
rm -f $(DESTDIR)$(mandir)/man1/quickemu.1
rm -f $(DESTDIR)$(mandir)/man1/quickemu_conf.1
rm -f $(DESTDIR)$(mandir)/man5/quickemu_conf.5
rm -f $(DESTDIR)$(bindir)/quickget
rm -f $(DESTDIR)$(bindir)/quickemu
rm -f $(DESTDIR)$(bindir)/quickreport

View File

@ -1,11 +1,7 @@
PANDOC ?= pandoc
PANDOC_OPTIONS = -f gfm+definition_lists
MANSECTION ?= 1
.SUFFIXES: .1.md .1 .5.md .5
PANDOC_OPTIONS=-f gfm+definition_lists --standalone
MANPAGE.md = $(PANDOC) --standalone $(PANDOC_OPTIONS) --to man
%.$(MANSECTION): %.$(MANSECTION).md
$(MANPAGE.md) $< -o $@
.1.md.1 .5.md.5:
$(PANDOC) --standalone $(PANDOC_OPTIONS) --to man -o $@ $<

View File

@ -1,6 +1,6 @@
.\" Automatically generated by Pandoc 3.2.1
.\" Automatically generated by Pandoc 3.6.1
.\"
.TH "QUICKEMU" "1" "June 29, 2024" "quickemu" "Quickemu User Manual"
.TH "QUICKEMU" "1" "December 30, 2024" "quickemu" "Quickemu User Manual"
.SH NAME
quickemu \- A quick VM builder and manager
.SH SYNOPSIS
@ -190,7 +190,7 @@ Host support for \f[B]Linux and macOS\f[R]
.IP \[bu] 2
\f[B]Windows\f[R] 10 and 11 including TPM 2.0
.IP \[bu] 2
\f[B]Windows Server\f[R] 2022 2019 2016 2012\-r2
\f[B]Windows Server\f[R] 2022 2019 2016
.IP \[bu] 2
\c
.UR https://ubuntu.com/desktop
@ -568,11 +568,12 @@ You can also use \f[CR]quickget\f[R] with advanced options :
.IP
.EX
\-\-download <os> <release> [edition] : Download image; no VM configuration
\-\-create\-config <os> [path/url] : Create VM config for a OS image
\-\-create\-config <os> [path/url] [flags] : Create VM config for an OS image
\-\-open\-homepage <os> : Open homepage for the OS
\-\-show [os] : Show OS information
\-\-version : Show version
\-\-help : Show this help message
\-\-disable\-unattended : Force quickget not to set up an unattended installation
\-\-url [os] [release] [edition] : Show image URL(s)
\-\-check [os] [release] [edition] : Check image URL(s)
\-\-list : List all supported systems
@ -690,6 +691,8 @@ wiki
.IP \[bu] 2
\f[CR]lmde\f[R] (Linux Mint Debian Edition)
.IP \[bu] 2
\f[CR]maboxlinux\f[R] (Mabox Linux)
.IP \[bu] 2
\f[CR]mageia\f[R] (Mageia)
.IP \[bu] 2
\f[CR]manjaro\f[R] (Manjaro)
@ -724,6 +727,8 @@ wiki
.IP \[bu] 2
\f[CR]primtux\f[R] (PrimTux)
.IP \[bu] 2
\f[CR]proxmox\-ve\f[R] (Proxmox VE)
.IP \[bu] 2
\f[CR]pureos\f[R] (PureOS)
.IP \[bu] 2
\f[CR]reactos\f[R] (ReactOS)
@ -1324,6 +1329,6 @@ Full sources at: \c
.UR https://github.com/quickemu-project/quickemu
.UE \c
.PP
quickemu_conf(1), quickget(1), quickgui(1)
quickemu_conf(5), quickget(1), quickgui(1)
.SH AUTHORS
Martin Wimpress.

View File

@ -1,6 +1,6 @@
---
author: Martin Wimpress
date: June 29, 2024
date: December 30, 2024
footer: quickemu
header: Quickemu User Manual
section: 1
@ -175,7 +175,7 @@ Haiku, KolibriOS, OpenIndiana, ReactOS, and more.
- Host support for **Linux and macOS**
- **macOS** Sonoma, Ventura, Monterey, Big Sur, Catalina & Mojave
- **Windows** 10 and 11 including TPM 2.0
- **Windows Server** 2022 2019 2016 2012-r2
- **Windows Server** 2022 2019 2016
- [Ubuntu](https://ubuntu.com/desktop) and all the **[official Ubuntu
flavours](https://ubuntu.com/download/flavours)**
- **Nearly 1000 operating system editions are supported!**
@ -394,11 +394,12 @@ You can also use `quickget` with advanced options :
``` text
--download <os> <release> [edition] : Download image; no VM configuration
--create-config <os> [path/url] : Create VM config for a OS image
--create-config <os> [path/url] [flags] : Create VM config for an OS image
--open-homepage <os> : Open homepage for the OS
--show [os] : Show OS information
--version : Show version
--help : Show this help message
--disable-unattended : Force quickget not to set up an unattended installation
--url [os] [release] [edition] : Show image URL(s)
--check [os] [release] [edition] : Check image URL(s)
--list : List all supported systems
@ -472,6 +473,7 @@ Further information is available from the project
- `linuxlite` (Linux Lite)
- `linuxmint` (Linux Mint)
- `lmde` (Linux Mint Debian Edition)
- `maboxlinux` (Mabox Linux)
- `mageia` (Mageia)
- `manjaro` (Manjaro)
- `mxlinux` (MX Linux)
@ -489,6 +491,7 @@ Further information is available from the project
- `popos` (Pop!\_OS)
- `porteus` (Porteus)
- `primtux` (PrimTux)
- `proxmox-ve` (Proxmox VE)
- `pureos` (PureOS)
- `reactos` (ReactOS)
- `rebornos` (RebornOS)
@ -848,4 +851,4 @@ Submit bug reports online at:
Full sources at: <https://github.com/quickemu-project/quickemu>
quickemu_conf(1), quickget(1), quickgui(1)
quickemu_conf(5), quickget(1), quickgui(1)

View File

@ -1,6 +1,6 @@
.\" Automatically generated by Pandoc 3.2
.\" Automatically generated by Pandoc 3.6.1
.\"
.TH "QUICKEMU_CONF" "1" "June 24, 2024" "quickemu_conf" "Quickemu Configuration Manual"
.TH "QUICKEMU_CONF" "5" "December 30, 2024" "quickemu_conf" "Quickemu Configuration Manual"
.SH NAME
quickemu_conf \- Options and parameters in the quickemu <vm>.conf
.SH DESCRIPTION

View File

@ -1,9 +1,9 @@
---
author: Martin Wimpress
date: June 24, 2024
date: December 30, 2024
footer: quickemu_conf
header: Quickemu Configuration Manual
section: 1
section: 5
title: QUICKEMU_CONF
---

View File

@ -1,6 +1,6 @@
.\" Automatically generated by Pandoc 3.2
.\" Automatically generated by Pandoc 3.6.1
.\"
.TH "QUICKGET" "1" "June 24, 2024" "quickget" "Quickget User Manual"
.TH "QUICKGET" "1" "December 30, 2024" "quickget" "Quickget User Manual"
.SH NAME
quickget \- download and prepare materials for building a quickemu VM
.SH SYNOPSIS
@ -129,11 +129,12 @@ You can also use \f[CR]quickget\f[R] with advanced options :
.IP
.EX
\-\-download <os> <release> [edition] : Download image; no VM configuration
\-\-create\-config <os> [path/url] : Create VM config for a OS image
\-\-create\-config <os> [path/url] [flags] : Create VM config for an OS image
\-\-open\-homepage <os> : Open homepage for the OS
\-\-show [os] : Show OS information
\-\-version : Show version
\-\-help : Show this help message
\-\-disable\-unattended : Force quickget not to set up an unattended installation
\-\-url [os] [release] [edition] : Show image URL(s)
\-\-check [os] [release] [edition] : Check image URL(s)
\-\-list : List all supported systems
@ -251,6 +252,8 @@ wiki
.IP \[bu] 2
\f[CR]lmde\f[R] (Linux Mint Debian Edition)
.IP \[bu] 2
\f[CR]maboxlinux\f[R] (Mabox Linux)
.IP \[bu] 2
\f[CR]mageia\f[R] (Mageia)
.IP \[bu] 2
\f[CR]manjaro\f[R] (Manjaro)
@ -285,6 +288,8 @@ wiki
.IP \[bu] 2
\f[CR]primtux\f[R] (PrimTux)
.IP \[bu] 2
\f[CR]proxmox\-ve\f[R] (Proxmox VE)
.IP \[bu] 2
\f[CR]pureos\f[R] (PureOS)
.IP \[bu] 2
\f[CR]reactos\f[R] (ReactOS)
@ -700,6 +705,6 @@ Full sources at: \c
.UR https://github.com/quickemu-project/quickemu
.UE \c
.PP
quickemu(1), quickemu_conf(1), quickgui(1)
quickemu(1), quickemu_conf(5), quickgui(1)
.SH AUTHORS
Martin Wimpress.

View File

@ -1,6 +1,6 @@
---
author: Martin Wimpress
date: June 24, 2024
date: December 30, 2024
footer: quickget
header: Quickget User Manual
section: 1
@ -124,11 +124,12 @@ You can also use `quickget` with advanced options :
``` text
--download <os> <release> [edition] : Download image; no VM configuration
--create-config <os> [path/url] : Create VM config for a OS image
--create-config <os> [path/url] [flags] : Create VM config for an OS image
--open-homepage <os> : Open homepage for the OS
--show [os] : Show OS information
--version : Show version
--help : Show this help message
--disable-unattended : Force quickget not to set up an unattended installation
--url [os] [release] [edition] : Show image URL(s)
--check [os] [release] [edition] : Check image URL(s)
--list : List all supported systems
@ -202,6 +203,7 @@ Further information is available from the project
- `linuxlite` (Linux Lite)
- `linuxmint` (Linux Mint)
- `lmde` (Linux Mint Debian Edition)
- `maboxlinux` (Mabox Linux)
- `mageia` (Mageia)
- `manjaro` (Manjaro)
- `mxlinux` (MX Linux)
@ -219,6 +221,7 @@ Further information is available from the project
- `popos` (Pop!\_OS)
- `porteus` (Porteus)
- `primtux` (PrimTux)
- `proxmox-ve` (Proxmox VE)
- `pureos` (PureOS)
- `reactos` (ReactOS)
- `rebornos` (RebornOS)
@ -484,4 +487,4 @@ Submit bug reports online at:
Full sources at: <https://github.com/quickemu-project/quickemu>
quickemu(1), quickemu_conf(1), quickgui(1)
quickemu(1), quickemu_conf(5), quickgui(1)

View File

@ -2,12 +2,12 @@
"nodes": {
"flake-schemas": {
"locked": {
"lastModified": 1697467827,
"narHash": "sha256-j8SR19V1SRysyJwpOBF4TLuAvAjF5t+gMiboN4gYQDU=",
"rev": "764932025c817d4e500a8d2a4d8c565563923d29",
"revCount": 29,
"lastModified": 1721999734,
"narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=",
"rev": "0a5c42297d870156d9c57d8f99e476b738dcd982",
"revCount": 75,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.2/018b3da8-4cc3-7fbb-8ff7-1588413c53e2/source.tar.gz"
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz"
},
"original": {
"type": "tarball",
@ -16,12 +16,12 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1717952948,
"narHash": "sha256-mJi4/gjiwQlSaxjA6AusXBN/6rQRaPCycR7bd8fydnQ=",
"rev": "2819fffa7fa42156680f0d282c60d81e8fb185b7",
"revCount": 631440,
"lastModified": 1756217674,
"narHash": "sha256-TH1SfSP523QI7kcPiNtMAEuwZR3Jdz0MCDXPs7TS8uo=",
"rev": "4e7667a90c167f7a81d906e5a75cba4ad8bee620",
"revCount": 808864,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2405.631440%2Brev-2819fffa7fa42156680f0d282c60d81e8fb185b7/0190034c-678d-7039-b45c-fa38168f2500/source.tar.gz"
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.808864%2Brev-4e7667a90c167f7a81d906e5a75cba4ad8bee620/0198eaa3-105a-74fa-a9b2-0a930acea8de/source.tar.gz"
},
"original": {
"type": "tarball",

View File

@ -22,11 +22,11 @@
schemas = flake-schemas.schemas;
# Define overlays for each supported system
overlays = forEachSupportedSystem ({pkgs, system, ...}: {
overlays = {
default = final: prev: {
quickemu = final.callPackage ./package.nix { };
};
});
};
# Define packages for each supported system
packages = forEachSupportedSystem ({pkgs, system, ...}: rec {

View File

@ -81,12 +81,12 @@ stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
installManPage docs/quickget.1 docs/quickemu.1 docs/quickemu_conf.1
install -Dm755 -t "$out/bin" chunkcheck quickemu quickget quickreport windowskey
installManPage docs/quickget.1 docs/quickemu.1 docs/quickemu_conf.5
install -Dm755 -t "$out/bin" chunkcheck quickemu quickget quickreport
# spice-gtk needs to be put in suffix so that when virtualisation.spiceUSBRedirection
# is enabled, the wrapped spice-client-glib-usb-acl-helper is used
for f in chunkcheck quickget quickemu quickreport windowskey; do
for f in chunkcheck quickget quickemu quickreport; do
wrapProgram $out/bin/$f \
--prefix PATH : "${lib.makeBinPath runtimePaths}" \
--suffix PATH : "${lib.makeBinPath [ spice-gtk ]}"

View File

@ -10,7 +10,7 @@ function ignore_msrs_always() {
# Make sure the host has /etc/modprobe.d
if [ -d /etc/modprobe.d ]; then
# Skip if ignore_msrs is already enabled, assumes initramfs has been rebuilt
if grep -lq 'ignore_msrs=Y' /etc/modprobe.d/kvm-quickemu.conf >/dev/null 2>&1; then
if ! grep -lq 'ignore_msrs=Y' /etc/modprobe.d/kvm-quickemu.conf >/dev/null 2>&1; then
echo "options kvm ignore_msrs=Y" | sudo tee /etc/modprobe.d/kvm-quickemu.conf
sudo update-initramfs -k all -u
fi
@ -323,6 +323,10 @@ function configure_cpu() {
HOST_CPU_SOCKETS=$(get_cpu_info 'Socket')
HOST_CPU_VENDOR=$(get_cpu_info 'Vendor')
if [ "${HOST_CPU_SOCKETS}" = "-" ]; then
HOST_CPU_SOCKETS=1
fi
CPU_MODEL="host"
QEMU_ACCEL="tcg"
# Configure appropriately for the host platform
@ -391,6 +395,16 @@ function configure_cpu() {
fi
fi
# SMM is also required for Linux guests when Secure Boot is enabled
if [ "${secureboot}" == "on" ]; then
if [ "${guest_os}" == "linux" ]; then
# SMM is not available on QEMU for macOS via Homebrew
if [ "${OS_KERNEL}" == "Linux" ]; then
SMM="on"
fi
fi
fi
case ${guest_os} in
batocera|freedos|haiku|solaris) MACHINE_TYPE="pc";;
kolibrios|reactos)
@ -410,7 +424,7 @@ function configure_cpu() {
# A CPU with fma is required for Metal support
# A CPU with invtsc is required for macOS to boot
case ${macos_release} in
ventura|sonoma)
ventura|sonoma|sequoia)
# A CPU with AVX2 support is required for >= macOS Ventura
if check_cpu_flag sse4_2 && check_cpu_flag avx2; then
if [ "${HOST_CPU_VENDOR}" != "GenuineIntel" ] && [ -z "${HYPERVISOR}" ]; then
@ -659,13 +673,14 @@ function configure_bios() {
if [ -n "${EFI_CODE}" ] || [ ! -e "${EFI_CODE}" ]; then
case ${secureboot} in
on) # shellcheck disable=SC2054,SC2140
ovmfs=("${SHARE_PATH}/OVMF/OVMF_CODE_4M.secboot.fd","${SHARE_PATH}/OVMF/OVMF_VARS_4M.fd" \
"${SHARE_PATH}/edk2/ovmf/OVMF_CODE.secboot.fd","${SHARE_PATH}/edk2/ovmf/OVMF_VARS.fd" \
ovmfs=("${SHARE_PATH}/OVMF/OVMF_CODE_4M.secboot.fd","${SHARE_PATH}/OVMF/OVMF_VARS_4M.ms.fd" \
"${SHARE_PATH}/edk2/ovmf/OVMF_CODE.secboot.fd","${SHARE_PATH}/edk2/ovmf/OVMF_VARS.secboot.fd" \
"${SHARE_PATH}/OVMF/x64/OVMF_CODE.secboot.fd","${SHARE_PATH}/OVMF/x64/OVMF_VARS.fd" \
"${SHARE_PATH}/edk2-ovmf/OVMF_CODE.secboot.fd","${SHARE_PATH}/edk2-ovmf/OVMF_VARS.fd" \
"${SHARE_PATH}/qemu/ovmf-x86_64-smm-ms-code.bin","${SHARE_PATH}/qemu/ovmf-x86_64-smm-ms-vars.bin" \
"${SHARE_PATH}/qemu/edk2-x86_64-secure-code.fd","${SHARE_PATH}/qemu/edk2-x86_64-code.fd" \
"${SHARE_PATH}/edk2-ovmf/x64/OVMF_CODE.secboot.fd","${SHARE_PATH}/edk2-ovmf/x64/OVMF_VARS.fd"
"${SHARE_PATH}/edk2-ovmf/x64/OVMF_CODE.secboot.fd","${SHARE_PATH}/edk2-ovmf/x64/OVMF_VARS.fd" \
"${SHARE_PATH}/edk2/x64/OVMF_CODE.secboot.4m.fd","${SHARE_PATH}/edk2/x64/OVMF_VARS.4m.fd"
);;
*) # shellcheck disable=SC2054,SC2140
ovmfs=("${SHARE_PATH}/OVMF/OVMF_CODE_4M.fd","${SHARE_PATH}/OVMF/OVMF_VARS_4M.fd" \
@ -675,7 +690,8 @@ function configure_bios() {
"${SHARE_PATH}/edk2-ovmf/OVMF_CODE.fd","${SHARE_PATH}/edk2-ovmf/OVMF_VARS.fd" \
"${SHARE_PATH}/qemu/ovmf-x86_64-4m-code.bin","${SHARE_PATH}/qemu/ovmf-x86_64-4m-vars.bin" \
"${SHARE_PATH}/qemu/edk2-x86_64-code.fd","${SHARE_PATH}/qemu/edk2-x86_64-code.fd" \
"${SHARE_PATH}/edk2-ovmf/x64/OVMF_CODE.fd","${SHARE_PATH}/edk2-ovmf/x64/OVMF_VARS.fd"
"${SHARE_PATH}/edk2-ovmf/x64/OVMF_CODE.fd","${SHARE_PATH}/edk2-ovmf/x64/OVMF_VARS.fd" \
"${SHARE_PATH}/edk2/x64/OVMF_CODE.4m.fd","${SHARE_PATH}/edk2/x64/OVMF_VARS.4m.fd"
);;
esac
# Attempt each EFI_CODE file one by one, selecting the corresponding code and vars
@ -736,7 +752,7 @@ function configure_bios() {
function configure_os_quirks() {
if [ "${guest_os}" == "batocera" ] || [ "${guest_os}" == "freedos" ] || [ "${guest_os}" == "haiku" ] || [ "${guest_os}" == "kolibrios" ]; then
if [ "${guest_os}" == "batocera" ] || [ "${guest_os}" == "haiku" ] || [ "${guest_os}" == "kolibrios" ]; then
NET_DEVICE="rtl8139"
fi
@ -747,7 +763,8 @@ function configure_os_quirks() {
case ${guest_os} in
windows-server) NET_DEVICE="e1000";;
*bsd|linux*|windows) NET_DEVICE="virtio-net";;
freedos) sound_card="sb16";;
freedos) sound_card="sb16"
NET_DEVICE="pcnet";;
*solaris) usb_controller="xhci"
sound_card="ac97";;
reactos) NET_DEVICE="e1000"
@ -760,7 +777,7 @@ function configure_os_quirks() {
# * VirtIO Memory Balloning is supported since Big Sur (https://pmhahn.github.io/virtio-balloon/)
# * VirtIO RNG is supported since Big Sur, but exposed to all guests by default.
case ${macos_release} in
big-sur|monterey|ventura|sonoma)
big-sur|monterey|ventura|sonoma|sequoia)
BALLOON="-device virtio-balloon"
MAC_DISK_DEV="virtio-blk-pci"
NET_DEVICE="virtio-net"
@ -874,12 +891,23 @@ function configure_storage() {
}
function configure_display() {
# Determine which audio driver use between Pulseaudio or ALSA
local AUDIO_DRIVER="pa"
if pidof pipewire >/dev/null 2>&1; then
# QEMU's pipewire audio backend was added in version 8.1
if [ "${QEMU_VER_SHORT}" -ge 81 ]; then
AUDIO_DRIVER="pipewire"
fi
elif ! pidof pulseaudio >/dev/null 2>&1; then
AUDIO_DRIVER="alsa"
fi
# Setup the appropriate audio device based on the display output
# https://www.kraxel.org/blog/2020/01/qemu-sound-audiodev/
case ${display} in
cocoa) AUDIO_DEV="coreaudio,id=audio0";;
none|spice|spice-app) AUDIO_DEV="spice,id=audio0";;
*) AUDIO_DEV="pa,id=audio0";;
*) AUDIO_DEV="${AUDIO_DRIVER},id=audio0";;
esac
# Determine a sane resolution for Linux guests.
@ -1086,7 +1114,9 @@ function configure_file_sharing() {
fi
# SMB
if [ -x "$(command -v smbd)" ]; then
# We need to search in NixOS compatible paths as well as the standard location
# since /usr/sbin/smbd may not be in the PATH.
if [ -x "$(command -v smbd)" ] || [ -x "/usr/sbin/smbd" ]; then
NET+=",smb=${PUBLIC}"
echo " - smbd: On guest: smb://10.0.2.4/qemu"
fi
@ -1168,6 +1198,8 @@ function vm_boot() {
# Set the hostname of the VM
NET="user,hostname=${VMNAME}"
echo "#!/usr/bin/env bash" > "${VMDIR}/${VMNAME}.sh"
configure_cpu
configure_ram
configure_bios
@ -1180,8 +1212,6 @@ function vm_boot() {
configure_usb
configure_tpm
echo "#!/usr/bin/env bash" > "${VMDIR}/${VMNAME}.sh"
# Changing process name is not supported on macOS
if [ "${OS_KERNEL}" == "Linux" ]; then
# shellcheck disable=SC2054,SC2206,SC2140
@ -1191,9 +1221,16 @@ function vm_boot() {
args+=(-machine ${MACHINE_TYPE},smm=${SMM},vmport=off,accel=${QEMU_ACCEL} ${GUEST_TWEAKS}
${CPU} ${SMP}
-m ${RAM_VM} ${BALLOON}
-rtc base=localtime,clock=host,driftfix=slew
-pidfile "${VMDIR}/${VMNAME}.pid")
if [ "${guest_os}" == "windows" ] || [ "${guest_os}" == "windows-server" ] || [ "${guest_os}" == "reactos" ] || [ "${guest_os}" == "freedos" ]; then
# shellcheck disable=SC2054
args+=(-rtc base=localtime,clock=host,driftfix=slew)
else
# shellcheck disable=SC2054
args+=(-rtc base=utc,clock=host)
fi
# shellcheck disable=SC2206
args+=(${VIDEO} -display ${DISPLAY_RENDER})
# Only enable SPICE is using SPICE display
@ -1893,7 +1930,7 @@ VMPATH=""
# shellcheck disable=SC2155
readonly LAUNCHER=$(basename "${0}")
readonly DISK_MIN_SIZE=$((197632 * 8))
readonly VERSION="4.9.6"
readonly VERSION="4.9.8"
# TODO: Make this run the native architecture binary
ARCH_VM="x86_64"
@ -1917,7 +1954,8 @@ if [ "${OS_KERNEL}" == "Darwin" ]; then
fi
QEMU_VER_LONG=$(${QEMU_IMG} --version | head -n 1 | awk '{print $3}')
QEMU_VER_SHORT=$(echo "${QEMU_VER_LONG//./}" | cut -c1-2)
# strip patch version and remove dots. 6.0.0 => 60 / 10.0.0 => 100
QEMU_VER_SHORT=$(echo "${QEMU_VER_LONG%.*}" | sed 's/\.//g')
if [ "${QEMU_VER_SHORT}" -lt 60 ]; then
echo "ERROR! QEMU 6.0.0 or newer is required, detected ${QEMU_VER_LONG}."
exit 1

558
quickget

File diff suppressed because it is too large Load Diff

View File

@ -1,85 +0,0 @@
#!/usr/bin/env python3
import html.parser
import os
import sys
import urllib.request
"""
Download Windows product keys from MicroSoft
"""
key_page_url = "https://docs.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys"
def usage():
script = os.path.basename(sys.argv[0])
message = f"""Usage: {script} [windows-version]
To specify the version of Windows you'd like, pass a string that matches the
name of the operating system you'd like to download. Case doesn't matter, so
you can use "windows 10" or "Windows 10".
e.g.
{script} "Windows 10"
{script} "enterprise"
"""
print(message, file=sys.stderr)
sys.exit(0)
def download_page(url):
response = urllib.request.urlopen(url)
return response.read().decode("utf-8")
class WindowsKeyPageParser(html.parser.HTMLParser):
def __init__(self, *, convert_charrefs=True):
super().__init__(convert_charrefs=True)
self.product_keys = {}
self.parsing_os = False
def handle_starttag(self, tag, attrs):
self.parsing_os = tag == "td"
def handle_endtag(self, tag):
self.parsing_os = False
def handle_data(self, data):
if self.parsing_os:
self.stash_table_cell(data)
def stash_table_cell(self, data):
if "Windows" in data:
self.current_os = data
else:
product_key = data
self.product_keys[self.current_os] = product_key
def find_keys_for_all_versions(markup):
parser = WindowsKeyPageParser()
parser.feed(markup)
return parser.product_keys
if __name__ == "__main__":
try:
arg = sys.argv[1]
except IndexError:
windows_version = ""
else:
if arg in ["-h", "--help"]:
usage()
windows_version = arg
markup = download_page(key_page_url)
product_keys = find_keys_for_all_versions(markup)
for os_name, product_key in product_keys.items():
if windows_version.lower() in os_name.lower():
print(f"{os_name}: {product_key}")