-
Download .nix file
-
Run:
$ nix run -f all-minecrafts.nix versions.v1_8_9.client -c minecraft -
Enjoy (…power of fixed-output derivations)!
| import json | |
| import logging | |
| import os | |
| import signal | |
| import socket | |
| import sys | |
| import time | |
| from select import select | |
| from evdev import InputDevice, ecodes, list_devices |
| declare -A nixenv_paths | |
| nadd() { | |
| setopt local_options err_return pipefail | |
| local out out_paths | |
| for installable in "$@"; do | |
| local with_outputs="$installable^*" | |
| if [[ "$installable" = *"^"* ]]; then | |
| with_outputs="$installable" | |
| fi |
| { config, lib, pkgs, ... }: | |
| let | |
| libCrypto = with pkgs; stdenv.mkDerivation rec { | |
| name = "${pname}-${version}"; | |
| pname = "minecraft-bedrock-server-libcrypto"; | |
| version = "1.16-201.02"; | |
| src = fetchurl { | |
| url = "https://minecraft.azureedge.net/bin-linux/bedrock-server-1.16.201.02.zip"; |
| source $HOME/antigen.zsh | |
| antigen use oh-my-zsh | |
| antigen bundles <<EOF | |
| npm | |
| node | |
| docker | |
| cabal | |
| pyenv |
| import Data.Text.ICU | |
| import qualified Data.Text as T | |
| graphemeClustersCount :: LocaleName -> T.Text -> Int | |
| graphemeClustersCount loc = length . breaks (breakCharacter loc) | |
| testStr = "😀éé" | |
| main :: IO () | |
| main = print $ graphemeClustersCount Current $ T.pack $ testStr |
These methods in this gist worked for me on my U.S.-based keyboard layouts. I am unsure about other layouts. If you have problems, revert your changes; delete the registry key you created (and reboot).
Update: you should probably scroll down to approach 4 where I suggest using Microsoft PowerToys Keyboard Manager.
Navigate to and create a new binary value in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout named Scancode Map.
All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.
Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.
elem.offsetLeft,elem.offsetTop,elem.offsetWidth,elem.offsetHeight,elem.offsetParent