Skip to content

Instantly share code, notes, and snippets.

View ento's full-sized avatar

ento

View GitHub Profile
@ento
ento / Dockerfile
Last active April 30, 2023 04:19
WIP: Dockerfile that might be able to build Nix dependencies first in a separate layer. Ref: https://mitchellh.com/writing/nix-with-dockerfiles#user-content-fnref-2
FROM nixos/nix:latest AS builder
RUN nix-env --install jq
COPY . /tmp/build
WORKDIR /tmp/build
RUN drvpath=$(nix --extra-experimental-features "nix-command flakes" derivation show | jq -r 'to_entries[0] | .key') \
&& echo $drvpath is the path \
&& closure=$(nix-store --query --requisites $drvpath | grep -v -F $drvpath) \
FROM python:3.9-slim AS base
RUN apt-get update && apt-get install -y curl git
RUN curl --proto '=https' --tlsv1.2 -fsSL https://static.pantsbuild.org/setup/get-pants.sh | bash
FROM base as env_a
RUN umask 022 \
&& git clone https://github.com/pantsbuild/example-python example_repo \
&& cd example_repo \
&& git checkout 3de75f5 \
&& PATH=$HOME/bin:$PATH pants package ::
@ento
ento / chart.md
Created November 12, 2023 20:07
幻字
flowchart TD-->-->|-1| 示
    袱 --> 人
    袱 --> 犬
    猱 --> 犬
    猱 -->-->|-1| 予
    猱 --> 木
    猱 <--> 申
 犬 --&gt; 犬神
let
parseLine = line:
let
parts = builtins.match "([^[:space:]=#]+)[[:space:]]*=[[:space:]]*(.*)" line;
in
if (!builtins.isNull parts) && (builtins.length parts) == 2 then
{ name = builtins.elemAt parts 0; value = builtins.elemAt parts 1; }
else
null;
in
@ento
ento / slack-cli.nix
Created December 14, 2023 21:34
Slack CLI for the next-generation Slack apps. The binary is statically linked, so it seems to work without autopatchelf
{ lib, stdenv, fetchurl, ... }:
let
version = "2.11.0";
platform = stdenv.hostPlatform;
archive =
if platform.isLinux then
{
url = "https://downloads.slack-edge.com/slack-cli/slack_cli_${version}_linux_64-bit.tar.gz";
sha256 = "1sk6hb1m6j327fp8zlnw8bd8sni1wfwgc95wxqaxmr5gcg1fxqks";
}
"""
Generate a set of emoji images depicting various points on a hill.
Assumes pillow is available
https://pypi.org/project/pillow/
Image size is based on the size recommended by Notion
"""
import math
import sys