1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00

modularize

This commit is contained in:
Kierán Meinhardt
2019-04-19 03:11:51 +02:00
parent a90799f39b
commit a763c63de4
58 changed files with 1317 additions and 1172 deletions

26
packages/font-size.nix Normal file
View File

@@ -0,0 +1,26 @@
{ writeDashBin, font }:
writeDashBin "font-size" ''
set -efu
# set_font NORMAL_FONT BOLD_FONT
set_font() {
printf '\033]710;%s\007' "$1"
printf '\033]711;%s\007' "$2"
}
case ''${1-} in
'''|0|--reset)
set_font \
"xft:${font.name}:size=${toString font.size}" \
"xft:${font.name}:size=${toString font.size}:bold" \
;;
[2-9]|[1-9][0-9]|[1-9][0-9][0-9])
set_font \
"xft:${font.name}:size=$1" \
"xft:${font.name}:size=$1:bold" \
;;
*)
echo "$0: bad argument: $1" >&2
exit 1
esac
''

22
packages/genius.nix Normal file
View File

@@ -0,0 +1,22 @@
{ writeDashBin, gnused, curl, pandoc }:
writeDashBin "genius" ''
test $# -eq 2 || (
echo "usage: $0 <artist> <song>"
exit 1
)
normalize() {
tr -d -c '0-9A-Za-z ' | tr ' ' - | tr '[:upper:]' '[:lower:]'
}
ARTIST=$(echo "$1" | normalize | ${gnused}/bin/sed 's/./\U&/')
TITLE=$(echo "$2" | normalize)
GENIUS_URL="https://genius.com/$ARTIST-$TITLE-lyrics"
${curl}/bin/curl -s "$GENIUS_URL" \
| ${gnused}/bin/sed -ne '/class="lyrics"/,/<\/p>/p' \
| ${pandoc}/bin/pandoc -f html -s -t plain \
| ${gnused}/bin/sed 's/^_/\x1b[3m/g;s/_$/\x1b[0m/g;s/^\[/\n\x1b\[1m\[/g;s/\]$/\]\x1b[0m/g'
printf "\n(source: $GENIUS_URL)\n" >/dev/stderr
''

13
packages/instaget.nix Normal file
View File

@@ -0,0 +1,13 @@
{ writeDashBin, wget, curl, jq }:
writeDashBin "instaget" ''
for url in "$@"; do
${curl}/bin/curl -s "$url" \
| grep display_url \
| grep -o '{.*}' \
| ${jq}/bin/jq -r '
.entry_data.PostPage
| .[].graphql.shortcode_media.edge_sidecar_to_children.edges
| .[].node.display_url' \
| xargs ${wget}/bin/wget
done
''

2
packages/n.nix Normal file
View File

@@ -0,0 +1,2 @@
{ writeDashBin }:
writeDashBin "n" ''nix-shell -p "$1" --run "''${2:-$1}"''

4
packages/nix-git.nix Normal file
View File

@@ -0,0 +1,4 @@
{ writeDashBin, nix-prefetch-git, jq }:
writeDashBin "nix-git" ''
${nix-prefetch-git}/bin/nix-prefetch-git "$@" 2> /dev/null | ${jq}/bin/jq -r '"rev = \"\(.rev)\";\nsha256 = \"\(.sha256)\";"'
''

4
packages/wttr.nix Normal file
View File

@@ -0,0 +1,4 @@
{ writeDashBin, curl, jq }:
writeDashBin "wttr" ''
${curl}/bin/curl -s -H "Accept-Language: ''${LANG%_*}" --compressed "wttr.in/''${1-"@$(${curl}/bin/curl -s ipinfo.io | ${jq}/bin/jq -r .ip)"}?0"
''