mirror of
https://github.com/kmein/niveum
synced 2026-03-16 10:11:08 +01:00
modularize
This commit is contained in:
26
packages/font-size.nix
Normal file
26
packages/font-size.nix
Normal 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
22
packages/genius.nix
Normal 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
13
packages/instaget.nix
Normal 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
2
packages/n.nix
Normal file
@@ -0,0 +1,2 @@
|
||||
{ writeDashBin }:
|
||||
writeDashBin "n" ''nix-shell -p "$1" --run "''${2:-$1}"''
|
||||
4
packages/nix-git.nix
Normal file
4
packages/nix-git.nix
Normal 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
4
packages/wttr.nix
Normal 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"
|
||||
''
|
||||
Reference in New Issue
Block a user