Skip to content

Instantly share code, notes, and snippets.

View arilotter's full-sized avatar

Ari Lotter arilotter

View GitHub Profile
@arilotter
arilotter / beepy-drivers.nix
Created August 27, 2023 03:39
beepy nix demo
{ pkgs, ... }:
let
kernel = pkgs.rpi-kernels.latest.kernel;
sharp-drm-src = pkgs.fetchFromGitHub {
owner = "ardangelo";
repo = "sharp-drm-driver";
rev = "8bdc22653f0555b286c014dbb95bc8064f9693c4";
sha256 = "sha256-eRj74G3SNwHgMqF9KYfCGLfaf2g+EZSdpIdnKW+FPwI=";
};
sharpDriver = pkgs.stdenv.mkDerivation rec {
mkdir -p ~/test-haptics-project
cd ~/test-haptics-project
pnpm init
pnpm i @haptix/core@0.2.4
cat <<EOF > index.mjs
import {
Actuation,
FeedbackPattern,
PerformanceTime,
internalApiPerform,
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/master";
utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, ... }@inputs: inputs.utils.lib.eachSystem [ "aarch64-darwin" ]
(system:
let
{"secrets":[{"secret":{"originalDeck":[],"filledDeck":[],"filledDeckInstances":[],"singletonCardsPosessed":["Dummy","Hero","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","1000","1001","1002","1003","1004","1005","1006","1007","1008","1009","1010","1011","1012","1013","1014","1015","1016","1017","1018","1019","1020","1021","1022","1023","1024","1025","1026","1027","1028","1
@arilotter
arilotter / App.tsx
Created September 28, 2022 16:36
Sequence Rainbowkit Connector
import {
ConnectButton,
connectorsForWallets,
RainbowKitProvider,
wallet,
} from '@rainbow-me/rainbowkit';
import { WagmiConfig } from 'wagmi';
import { chain, configureChains, createClient } from 'wagmi';
import { alchemyProvider } from 'wagmi/providers/alchemy';
import "@rainbow-me/rainbowkit/styles.css";
@arilotter
arilotter / sequence-connector.ts
Created August 18, 2022 18:35
sequence connector (not fully implemented)
import { sequence } from '0xsequence'
import { mainnetNetworks, testnetNetworks } from '@0xsequence/network'
import type { ConnectOptions, ProviderConfig, Web3Provider } from '@0xsequence/provider'
import { Wallet } from '@0xsequence/provider'
import { Chain } from '@rainbow-me/rainbowkit'
import { Connector, ConnectorData, ConnectorNotFoundError, UserRejectedRequestError } from 'wagmi'
interface Options {
provider?: Partial<ProviderConfig>
connect?: ConnectOptions
@arilotter
arilotter / AssetHashManifest.ts
Created March 8, 2022 22:10
How Skyweaver's asset manifests are parsed! :)
export interface AssetsManifestTree {
radix: number
dicts: {
dirs: string[]
exts: string[]
segments: string[]
filenames: string[]
}
encoded: { [dirext: string]: { [filename: string]: string } }
}
@arilotter
arilotter / home.nix
Created September 17, 2021 15:05
Replay NixOS derivation
home.packages = [
(self.callPackage ./replay { };)
]
@arilotter
arilotter / fetch.js
Last active September 13, 2021 16:17
const cardsEndpoint = 'https://api.skyweaver.net/rpc/SkyWeaverAPI/GetCardLibrary';
async function getCards() {
const cardResults = await fetch(cardsEndpoint, {
method: 'post',
body: JSON.stringify({
page: {
page: 1,
pageSize: 1000
}
@arilotter
arilotter / dupl
Last active April 27, 2020 20:26
{"secrets":[{"cards":{"dataType":"Map","value":[[4,{"id":4,"view":{"cost":2,"prism":"agy","element":"earth","power":0,"health":0,"keywords":[],"type":"Spell","canBePlayed":true,"isSilenced":false,"markedForDeath":true,"canAttack":false,"isSleeping":true,"canBeTargetedByOwner":true,"canBeTargetedByEnemy":true,"isStealthed":false,"canAttackHeroPastGuard":false},"base":"981","temporaryModifiers":[],"instance":{"cost":2,"prism":"agy","element":"earth","power":0,"health":0,"keywords":[],"type":"Spell","canBePlayed":true,"isSilenced":false,"markedForDeath":true,"canAttack":true,"isSleeping":true,"canBeTargetedByOwner":true,"canBeTargetedByEnemy":true,"isStealthed":false,"canAttackHeroPastGuard":false}}],[5,{"id":5,"view":{"cost":3,"prism":"agy","element":"air","power":4,"health":2,"keywords":["Banner"],"type":"Unit","canBePlayed":true,"isSilenced":false,"markedForDeath":false,"canAttack":false,"isSleeping":true,"canBeTargetedByOwner":true,"canBeTargetedByEnemy":true,"isStealthed":false,"canAttackHeroPastGuard":fals