Skip to content

Instantly share code, notes, and snippets.


Mislav Marohnić mislav

View GitHub Profile
mislav /
Last active April 20, 2023 09:36
Install Windows 11 in a virtual machine on macOS with an M1 CPU

Based on

  1. You will need:
    • A Windows 10 or Windows 11 license key;
    • UTM for Mac - the App Store version is offered as a way to support the developers, since it's paid, but has the same features as the free build.
  2. Obtain scripts that bootstrap an arm64 Windows 11 22H2 (I've chosen Windows Home edition and not Pro);
  3. brew install aria2 cabextract wimlib cdrtools minacle/chntpw/chntpw;
  4. cd into the directory extracted in step 1 and bash - this will produce an ISO;
  5. In the UTM app, create a new “Virtualize” machine and mount the ISO file from the previous step;
  6. Check “Install drivers and SPICE tools”;
# you must also upload the public key as signing key to
git config --global user.signingkey '~/.ssh/id_rsa'
git config --global commit.gpgsign true
git config --global gpg.format ssh
# (optional) this file enables `git log --show-signature` and contains email addresses associated with public keys
git config --global gpg.ssh.allowedsignersfile '~/.ssh/git-signers'
mislav /
Last active May 20, 2022 11:42
Figuring how to assign your own SSL certificate to be used by the Unifi Controller web interface
hostname="MYHOST" # set this to where the Unifi Controller is served from
# these don't really matter
mislav / config.json
Last active April 12, 2023 23:28
Experiment in using GitHub CLI to authenticate fetching docker images from GitHub Package Registry
View config.json
// ~/docker/config.json
"credsStore": "desktop",
"credHelpers": {
"": "gh",
"": "gh"
mislav / keybindings.json
Last active June 18, 2021 12:19
VS Code keyboard shortcut for quickly re-running the Go test under development. Requires VS Code Go 0.26+
View keybindings.json
// > Preferences: Open Keyboard Shortuts (JSON)
"key": "shift+enter",
"command": "go.test.cursorOrPrevious",
"when": "editorTextFocus && editorLangId == 'go' && !findInputFocused && !replaceActive"
"key": "ctrl+shift+enter",
"command": "go.test.package"
mislav / workflows-automerge.yml
Last active April 1, 2023 01:52
Using GitHub CLI from GitHub Actions
View workflows-automerge.yml
name: Auto-merge
types: [opened]
runs-on: ubuntu-latest
# Usage: bash <source-repo> <destination-repo> <label-names>...
# Requirements: GitHub CLI, jq
# Example:
# brew install gh jq
# bash owner/repo1 owner/repo2 "bug" "help wanted" "feature"
set -e
# First, close Google Chrome.
# unload the Keystone agent
find /Library/Launch* ~/Library/LaunchAgents -maxdepth 1 -iname '*' | xargs -L1 launchctl unload
# prevent it from starting again (note: you could also back up the files by moving them elsewhere)
find /Library/Launch* ~/Library/LaunchAgents -maxdepth 1 -iname '*' | xargs rm -v
# Warning: it's likely that running Google Chrome after this will restore these files.
# If it doesn't, consider that automatic Chrome updates will be DISABLED. Use at own risk.
mislav / gh-rename-master
Last active April 24, 2022 10:02
Rename the default branch of a repository using GitHub CLI
View gh-rename-master
# Usage: gh-rename-master <newbranch> [<remote>]
# Renames the "master" branch of the current repository both locally and on GitHub.
# dependencies: GitHub CLI v0.10
set -e
mislav /
Created April 15, 2020 11:59
GraphQL mutation example with hub & jq
jq -R --slurp '{query: ., variables: {input: $ARGS.named}}' \
--arg name "hello-world" \
--arg visibility "PRIVATE" \
--arg ownerId "<ORG-NODEID>" \
--arg teamId "<TEAM-NODEID>" \
mutation ($input: CreateRepositoryInput!) {
createRepository(input: $input) {
repository {