Skip to content

Instantly share code, notes, and snippets.

@paulvictor
paulvictor / install.sh
Last active July 26, 2022 05:20 — forked from mx00s/install.sh
NixOS install script based on @grahamc's "Erase Your Darlings" blog post
#!/usr/bin/env bash
#
# NixOS install script synthesized from:
#
# - Erase Your Darlings (https://grahamc.com/blog/erase-your-darlings)
# - ZFS Datasets for NixOS (https://grahamc.com/blog/nixos-on-zfs)
# - NixOS Manual (https://nixos.org/nixos/manual/)
#
# It expects the name of the block device (e.g. 'sda') to partition
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE PartialTypeSignatures #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ViewPatterns #-}
module Lib.JSObject where
import qualified Data.Text.Encoding as TE
import Data.Text (Text)
#!/usr/bin/env nix-shell
#! nix-shell -p "ghc.withPackages (pkgs: with pkgs; [ mtl transformers lens ]) " ghcid
#! nix-shell -I nixpkgs=https://github.com/nixos/nixpkgs-channels/archive/nixos-unstable.tar.gz
-- #! nix-shell -i "ghcid -c 'ghci -Wall' -T main"
#! nix-shell -i runghc
{-# LANGUAGE ViewPatterns #-}
{-# LANGUAGE LambdaCase #-}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- Sets a name for a task -->
<key>Label</key>
<string>homebrew.gpg.gpg-agent</string>
<!-- Sets a command to run and its options -->
<key>ProgramArguments</key>
<array>
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQClUN5JbC8uK+V9aJ+JaxFNqIcBwG1WC3a2u98PfdE9lKQFNb3LoTZBfMO2qTI5Z7z8gN/A/scghnfagE85Yqt/QWKj5EoR8nnUkObw+q+HZPyPeJgUBB5yOhD6xo9vupl2sre0UiVkZNcbrgAqxymY0mPcZ4UsZgy6qEUbJSAcR6Jv5D9zHgWBQaVysxDQoN1tkacJQxdkm4rPeSwMKoTBWgCPiY4bh+jaVHTCNRRd30m9TftXkSrJGPUEBTTmPBgZDEb9MuU13c0V5PhRMnBQjAeyZMCaSvcvWLGeGQfoWT9TyUb3gBKNWKo83ds3dmUnN+QdhY5N+Z6dW4VQch+kCQjfy65fbUGc/bCsBuafTNQBx0H3fNiNWV+wkl9rDzbV99/moXSvF3M/UM/dB6Ohw9AuC8jGYDgFUZVcZf5KLnjOJQ6LV/NqxvjdEWpnIYbeB2n/DU15earOwxgLJd8jW213ebe5Weu+UX6eknHdwidhv6RnY0sWxBW4OUFEa0MmzY/lcI58qXTWkcd+fojTJRRwq6tLc50FcMRH50jsFFheIOhyRQvCUC/elU2yeK+pm7AYUlqq5oaYso9H3dqsmO0Q9e2pM+dHWeD342zC+mITMYI6Zj7s6ihjCjlz8qcQxfWaKd4Oc3yPV5XlLmdziEbr9XicB65uXwkRaWKiAQ== openpgp:0x66CC775F
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGFa7qABEAC/xf4Tyc8Ws/DQhE3S83sEnhIykC1ZBiVQ5Q/UGDgKNPkvtlmc
Zh2xP5zXlzPcoLomoVTxsOsVDLaFPrDnBL0HiSe8z/XClnRKLrdbm9X4PEKxmlq3
cZw0NGC38dOiwxfiAGooy7LSdM4Y96BC0PvR2qGhMdr/5b3KVGYUzOGzQo5LVrbv
Wf4XxNCuMaK7sq9hxe9SqlO8ec1mx3tblR/qA3w2S13aUzfSafY+guPiVeNa5mIC
TV++Ukqn4fYjvak3IpiOAdvFDzX3mJ6lL8ATUwrL5ZahCNrc38reift7a2rFlOWT
q+V3FPP1czJGPhAG5rJZ6X/LtmOEpMsr6x5Hy5iywyAlxYFJQNb/ODDVJ7R0o6WH
3+Ae+qyUV4rVTffxt9PdAGwE81NAr5m7iHr2sGNRyRvYTG8jGtKKU9Xjxka0yt88
XYYJPkOLWIxLFkFwr3cV38J+rYlwolTMcIbH7uu14H0KdERVEQvyHgN8uzq+0nv1
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGA+DTYBEADAKX2Kebp+6hqUCoJf/fmJGwKCzOOkDrPJIqfBcPYb4irgzdNB
/Fy1H5lSDNcMNXbyIwkIqromKdYjomkT9R2OK5AnFW5hhhiQBKh5mMmfdLjsxPCk
itxQJevD8/O6jdb2n7PSSf6OZ8hKWlogBhDBZwN1kHs2gl925MZkPTJK+9Cu8pHp
MUhk2WvhRNPn1gNKos6PtNR6PF7GLZU2H4XQXvli1rAU5Pc/vQOClUlHGjToTjjU
Xh01ZLIuzyR1ohiHgfi4yFzCxtqj3PBLj2T9+EANtNw/4bxGk2/EecoJCC9jyzPb
i1BuSvkZnyrwxg9Nu4i+pZl1jpEr3lWBMjYz2UKjvbpFz5hvLQXBXns9Nk8EmMOD
BOgYT/CwxJ3uZgHza/iG2+jclVfsCefSY0jEg3HQMVcR/fyhxWh8rQFVkYAVKOee
wRPMQC5jFfWkBEpAoRLsU/LeGn3k/UL+Jy4CUcOXxkZjQID5cGis2svy7Gt8X68h
@paulvictor
paulvictor / Main.hs
Created January 6, 2021 07:10
Rsa public private key demo
#!/usr/bin/env nix-shell
#! nix-shell -i runghc -p "ghc.withPackages (pkgs: [ pkgs.bytestring pkgs.jose-jwt ])"
#! nix-shell -I nixpkgs=https://github.com/nixos/nixpkgs-channels/archive/nixos-20.03.tar.gz
{-# LANGUAGE OverloadedStrings #-}
module Main(main) where
import Control.Exception(assert)
import Jose.Jwa (Alg(Encrypted), JweAlg(RSA_OAEP), Enc(A256GCM))
@load "ordchr"
function asciiCount(str, result, k){
for (k=1; k<=length(str); k++){
ascii = ord(substr(str, k, 1))
if ((ascii > 64 && ascii < 91) || (ascii > 96 && ascii < 123)){
result ++;
}
}
return result;
}
#cVim-link-container, .cVim-link-hint, #cVim-command-bar, #cVim-command-bar-mode, #cVim-command-bar-input, #cVim-command-bar-search-results, .cVim-completion-item, .cVim-completion-item .cVim-full, .cVim-completion-item .cVim-left, .cVim-completion-item .cVim-right, #cVim-hud, #cVim-status-bar {
font-family: Helvetica, Helvetica Neue, Neue, sans-serif, Arial;
font-size: 9pt !important;
-webkit-font-smoothing: antialiased !important;
border-radius: 4px!important;
}
#cVim-link-container {
position: absolute;
pointer-events: none;