diff options
Diffstat (limited to '')
-rwxr-xr-x | bin/awkf | 4 | ||||
-rwxr-xr-x | bin/clean | 6 | ||||
-rwxr-xr-x | bin/e (renamed from bin/ee) | 0 | ||||
-rwxr-xr-x | bin/gc | 1 | ||||
-rwxr-xr-x | bin/print | 26 | ||||
-rwxr-xr-x | bin/vcs | 46 | ||||
-rw-r--r-- | etc/guix/channels.scm | 1 | ||||
-rw-r--r-- | etc/guix/home.scm | 75 | ||||
-rw-r--r-- | etc/guix/system.scm | 2 | ||||
-rw-r--r-- | etc/sh/rc | 16 | ||||
-rw-r--r-- | etc/ssh/config.tmpl | 2 | ||||
-rw-r--r-- | etc/ssh/known_hosts | 22 |
12 files changed, 129 insertions, 72 deletions
diff --git a/bin/awkf b/bin/awkf new file mode 100755 index 0000000..dc2d291 --- /dev/null +++ b/bin/awkf @@ -0,0 +1,4 @@ +#!/bin/sh +set -euo pipefail + +exec awk -f "$@" @@ -2,7 +2,11 @@ set -eu if [ -e Makefile ]; then - make -s clean + if [ -e fuzz.mk ]; then + make -sffuzz.mk clean + else + make -s clean + fi elif [ -e mkfile ]; then mk clean fi @@ -95,7 +95,6 @@ gc_guix() { } gc_nix() { - return if [ ! -e /nix/ ]; then return fi @@ -57,19 +57,22 @@ main() { ps2pdf "$FILE" "$NEWDIR"/in.pdf elif file -b "$FILE" | grep -q PDF; then cp "$FILE" "$NEWDIR"/in.pdf + elif file -b "$FILE" | grep -q text; then + enscript -C -o- "$FILE" | ps2pdf - "$NEWDIR"/in.pdf else - enscript -o- "$FILE" | ps2pdf - "$NEWDIR"/in.pdf + lp $OPTS "$FILE" + return fi cd "$NEWDIR" if [ -z "$DUPLEX" ]; then - lp in.pdf + lp $OPTS in.pdf cd - > /dev/null return fi if [ "$(n_pages in.pdf)" = '1' ]; then - lp in.pdf + lp $OPTS in.pdf return fi @@ -80,10 +83,10 @@ main() { NEVEN="$(n_pages even.pdf)" printf 'Printing odd pages...\n' >&2 - lp odd.pdf + lp $OPTS odd.pdf printf 'Has printing finished yet? Once it does, reload the pages and hit it enter to continue. ' read -r < /dev/tty - lp even.pdf + lp $OPTS even.pdf if [ "$NODD" != "$NEVEN" ]; then printf '\n' | lp @@ -107,24 +110,23 @@ for flag in "$@"; do esac done -QUALITY_SET=false DUPLEX= +OPTS='-o PrintQuality=standard' while getopts 'dq:h' flag; do case "$flag" in (d) DUPLEX=1 ;; (q) - QUALITY_SET=true case "$OPTARG" in low) - lpoptions -o PrintQuality=draft + OPTS='-o PrintQuality=draft' ;; medium) - lpoptions -o PrintQuality=standard + OPTS='-o PrintQuality=standard' ;; high) - lpoptions -o PrintQuality=high + OPTS='-o PrintQuality=high' ;; *) echo "Bad QUALITY option: \"$OPTARG\"" >&2 @@ -145,10 +147,6 @@ while getopts 'dq:h' flag; do done shift $((OPTIND - 1)) -if [ "$QUALITY_SET" = false ]; then - lpoptions -o PrintQuality=standard -fi - NEWDIR="$(mkdtemp)" trap 'rm -rf "$NEWDIR"' EXIT if [ -z "${1:-}" ]; then @@ -4,6 +4,7 @@ set -eu TYPES=' git +pijul fossil bitkeeper darcs @@ -15,6 +16,8 @@ cvs guess_type() { if [ -e "$1"/.git ] || { [ -n "${GIT_DIR:-}" ] && [ -n "$GIT_WORK_TREE" ]; }; then echo git + elif [ -e "$1"/.pijul ]; then + echo pijul elif [ -e "$1"/.hg ]; then echo mercurial elif [ -e "$1"/.bk ]; then @@ -135,6 +138,45 @@ git_ps1() { color -c blacki " - git/$(git rev-parse HEAD)" } +pijul_ps1() { + LINE="$(pijul channel | awk '$1 == "*" && $0=$2')" + + DIFF_LINES="$(pijul diff -u -s)" + HAS_DIFF=false + HAS_UNTRACKED=false + if printf '%s\n' "$DIFF_LINES" | grep -q '^[A|D|M|R| ][M|D| ]'; then + HAS_DIFF=true + fi + if printf '%s\n' "$DIFF_LINES" | grep -Eq '^([?][?]| A)'; then + HAS_UNTRACKED=true + fi + + if [ "$HAS_DIFF" = true ]; then + COLOR_FN=redb + LINE="{$LINE}" + elif [ "$IS_AHEAD" = true ] || [ "$IS_BEHIND" = true ]; then + COLOR_FN=bluei + LINE="[$LINE]" + elif [ "$HAS_UNTRACKED" = true ]; then + COLOR_FN=lightblue + LINE="{$LINE}" + else + COLOR_FN=green + LINE="($LINE)" + fi + + color -c "$COLOR_FN" "$LINE" + + CHANNEL_COUNT="$(pijul channel | wc -l)" + if [ "$CHANNEL_COUNT" -gt 1 ]; then + color -c lightblue "<$CHANNEL_COUNT>" + fi + + CHANGEID="$(pijul log --limit 1 --output-format json | + jq -r '.[0].hash')" + color -c blacki " - pijul/$CHANGEID" +} + bitkeeper_ps1() { printf '' } @@ -178,6 +220,10 @@ git_ls() { git ls-files } +pijul_ls() { + pijul ls +} + fossil_ls() { fossil ls } diff --git a/etc/guix/channels.scm b/etc/guix/channels.scm index a9700da..6c0d71a 100644 --- a/etc/guix/channels.scm +++ b/etc/guix/channels.scm @@ -9,6 +9,7 @@ "d749e053e6db365069cb9b2ef47a78b06f9e7361" (openpgp-fingerprint "5BDA E9B8 B2F6 C6BC BB0D 6CE5 81F9 0EC3 CD35 6060")))) +#; (channel (name 'the-dam) (url "https://gitlab.com/edouardklein/guix") diff --git a/etc/guix/home.scm b/etc/guix/home.scm index 2e5e5e4..74dfc7c 100644 --- a/etc/guix/home.scm +++ b/etc/guix/home.scm @@ -40,38 +40,6 @@ -(define tiniercc - (package - (inherit tcc) - (name "tiniercc") - (arguments - (substitute-keyword-arguments (package-arguments tcc) - ((#:tests? _ #f) #f) - ((#:configure-flags _) - #~(list - "--enable-static" - "--config-musl" - (string-append - "--crtprefix=" - #$(file-append musl "/lib")))) - ((#:phases phases) - #~(modify-phases #$phases - (add-after 'install 'ln-alias - (lambda _ - (symlink (string-append #$out "/bin/tcc") - (string-append #$out "/bin/cc")) - (symlink (string-append #$out "/bin/tcc") - (string-append #$out "/bin/c99")))))))) - (native-inputs - (modify-inputs (package-native-inputs tcc) - (append which))))) - -(define yt-dlp-latest - ((transformations:options->transformation - '((with-latest . "yt-dlp"))) - yt-dlp)) - - (define (slurp name) (string-trim-both (call-with-input-file @@ -162,6 +130,7 @@ man-pages-posix bash-completion + zip ;; amber @@ -185,6 +154,9 @@ cvs subversion quilt + pijul + tkrev + meld ;; urubu gperftools @@ -194,6 +166,7 @@ ncurses:doc bdb nvi + xxd vis libx11:out libx11:doc @@ -223,6 +196,7 @@ ;; lime nasm + fasm ;; pilotis pandoc @@ -234,6 +208,8 @@ lighttpd hexchat weechat + ngircd + inspircd ;; adoc asciidoc @@ -315,7 +291,7 @@ tcpdump nmap stunnel - netcat + netcat-openbsd siege socat curl:out @@ -324,12 +300,10 @@ cloc strace file - ;; urlscan ; conflicts + ;; urlscan ; conflicts with python-telegram-bot rlwrap direnv borg - khal - khard libfaketime qrencode ;; needed by qr(1) feh @@ -389,7 +363,7 @@ tcl z3 - frama-c + ;; frama-c ; broken clojure clojure-core-async clojure-core-cache @@ -416,7 +390,7 @@ opencl-icd-loader pciutils usbutils - ;; python-pyopencl ; broken + python-pyopencl python-pandas ;; python-scikit-learn ; conflicts with python-requests python @@ -428,14 +402,14 @@ python-docx python-telegram-bot valgrind - go-full + aflplusplus + gol ;; gm2 ; broken: not exported from channel gcc-toolchain:out gcc-toolchain:debug gcc-toolchain:static cppcheck clang - ;; musl pcc compcert quickjs-ng @@ -451,7 +425,7 @@ clisp ccl abcl - janet + ;; janet kawa chez-scheme racket @@ -468,6 +442,7 @@ brightnessctl xss-lock + fuse ranger libnotify espeak-ng @@ -480,10 +455,14 @@ less nano patch - ;; yt-dlp ripgrep fd - ;; mktorrent + + ;; unicode fonts + font-google-noto + font-google-noto-serif-cjk + font-google-noto-sans-cjk + font-google-noto-emoji mpvx imagemagick @@ -497,24 +476,24 @@ cheese ; webcam gpodder mate-calc - ;; telegram-desktop ; broken + telegram-desktop zathura zathura-djvu zathura-pdf-poppler zathura-ps transmission:out transmission:gui + frescobaldi audacity quodlibet icedove netsurf - ;; ungoogled-chromium anki firefox)) (list - yt-dlp-latest - pkg:mktorrent-latest - tiniercc) + ((transformations:options->transformation + '((with-latest . "yt-dlp"))) + yt-dlp)) (list (script "cronjob" (slurp (string-append (getenv "HOME") diff --git a/etc/guix/system.scm b/etc/guix/system.scm index 019d0ea..b0d2cec 100644 --- a/etc/guix/system.scm +++ b/etc/guix/system.scm @@ -138,7 +138,7 @@ Seiko Epson Color Ink Jet Printers.") (supplementary-groups '())) (user-account (name "andreh") - (comment "EuAndreh") + (comment "EuAndreh,,,,eu@euandre.org") (group "users") (supplementary-groups '("netdev" "audio" "video" "wheel" "kvm" "docker" "dialout")))) %base-user-accounts)) @@ -48,6 +48,7 @@ export BROWSER='firefox' export MAILDIR=~/Maildir export TZ='America/Sao_Paulo' export DICT=~/Desktop/en_US.dic +export POSIXLY_CORRECT=1 HOST="$(uname -s)/$(uname -m)" TARGET="Linux/i386" @@ -127,7 +128,6 @@ export VGFLAGS=' ' VGFLAGS="$(printf '%s\n' "$VGFLAGS" | grep . | tr -d '\t' | tr '\n' ' ')" -export FUZZSEC=0.1 export CC=gcc export CCFLAGS=' -g @@ -136,10 +136,8 @@ export CCFLAGS=' -Wall -Wextra -Wpedantic - -Wconversion -Wshadow -Wundef - -Wdouble-promotion -Wvla -Wmissing-prototypes ' @@ -147,6 +145,7 @@ CCFLAGS="$(printf '%s\n' "$CCFLAGS" | grep . | tr -d '\t' | tr '\n' ' ')" export LLDFLAGS='' export LDFLAGS="$LLDFLAGS -static" export CFLAGS="$CCFLAGS" +export CCFLAGS="$CCFLAGS -Wconversion -Wdouble-promotion" export YFLAGS='-Wother' export GOCFLAGS="-I $PREFIX/lib/go -N" export GOLDFLAGS="-L $PREFIX/lib/go" @@ -197,7 +196,6 @@ unalias -a alias p='ping euandre.org -c 3' alias o='open' -alias e='vi' alias mm='msmtp-queue -r' alias s='vcs status' alias d='vcs diff' @@ -212,7 +210,7 @@ alias diff='diff --color=auto' alias watch='watch --color ' alias man='MANWIDTH=$((COLUMNS > 80 ? 80 : COLUMNS)) man' alias less='less -R' -alias tree='tree -F -aC -I .git -I vendor -I STUFF -I refers' +alias tree='tree -F -aC -I .git -I .pijul -I vendor -I STUFF -I refers' alias make='make -e --no-print-directory' alias mv='mv -i' alias bc='bc -lq' @@ -350,6 +348,12 @@ PS1='`error_marker`'$(timestamp_fn)' '$(path)'`direnv_status``makeflags_status` '$(in_ssh_session)'$ ' export PS1 +bind 'set show-mode-in-prompt on' +bind 'set vi-ins-mode-string \1\e[34;1m\2.\1\e[0m\2' +bind 'set vi-cmd-mode-string \1\e[35;1m\2^\1\e[0m\2' +set -o vi +set -o emacs + g() { @@ -438,7 +442,7 @@ f() { } idiff() { - diff -U10 --color=always "$1" "$2" | less + diff -U10 --color=always "$1" "$2" | ifne less -R } diff --git a/etc/ssh/config.tmpl b/etc/ssh/config.tmpl index 21f404d..199b79c 100644 --- a/etc/ssh/config.tmpl +++ b/etc/ssh/config.tmpl @@ -9,7 +9,7 @@ Host * PasswordAuthentication no # personal rsync.net account -Host suyin +Host suyin zh3051.rsync.net HostName zh3051.rsync.net User zh3051 diff --git a/etc/ssh/known_hosts b/etc/ssh/known_hosts index 1df6668..f9364c1 100644 --- a/etc/ssh/known_hosts +++ b/etc/ssh/known_hosts @@ -68,3 +68,25 @@ papo.im ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABB usurpador ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXBNw2GKp1ia+Y8R/k6oGbLcs73G9YIt9QgpdaUTwN6 usurpador ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDPNTHW2Zwf8X2cNuP2tZqyStIOJJG8vwlXvAp5zi7SbeBuATbT7YZBsiD/25MxeptCFTyVTyTu8iLUFeE31f2F78//OOzzQyOQAosaiMP8LsRmko5qgl+M1u576LHRITrBIDB80ucYk9FXOGakIs/acypMDsQEzG1BUgsT9DwnbIlaqEoh+cin3QPc/7d4OmCTZhzsMbePUtwupdTKQ1In6phYI7VHJQVyqsysYgWqbt6Lp2AFvrUlSJkoSLJLYo3HzXj8vN7WZ9Hsw1+koENLjQPxsG52WGNvK94HU6DBk84wx6FuFg/Z0FETwkva9dmkyJAEaioYyfyN7woA4jxJAu7TrMJRe4vxFFDrx+oTD29HIpvUIfN6rM/wkVnwhoIa5RgG29xj5IrGfYPs78OfmOumzJaKxRCe5YzLULN+Bt8ADhtXlD1KJRyJLs/f1fby2iwbPUwSEHHNMW2I8MHpGEpp0mt3Cc3MmS5Q4SlGz6EuM4olrQA7u2HTnFvmJQEWywN46mKgtz/3i/o9BkdyRzDa1kOUufj76Rg2D2WY+QkdFOtoLmnMQ5dmkbrjaG/TB0usAlT+G+t973K1hdyhxAuiWxYrRgB08X3SiZwLJFznNL0PLt8FhZiTi7rIGpFBFLAI1gKxDhrqrMdZj8uTt9b/34XioV5r1c/7i5nabQ== + + +# +# TOFU, unverified +# + +devzat.hackclub.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7oO3Zh+NMk8qsakdy7pvcifO04M38ET8LznC0Ad3G6KsrCz4PLIv8gi4YCBW9xJLrwy8ICj1bEh61Hf/rSzl0J4dWbZCKy656l1XihSd0fdjNefMpOY/FTejYt1TszkCbohOEwDM39t+/hr4C2LQ6YC9QeznBXBw2mNn7f4nW1lwDeoKV6hr3vlqSwZ2pvZaZu6sWdhYPcA6omLyyycs8ar/AecxDNWFQZhwPXbEElDS4iRl4Wlw5kK+DrxsJuxdkkf7ur8SN4GADKUEULsfShx9M7j/aTx+rqtWg0O4gC/sTtczED4ugkdxNTmahYEMhvutja/pSHIvMAERXjETQtbUj/DkPkHQoFpax+GBaFV3Ge2ys521AyE/2I6vuwcNk5cNVXan7SXtf5lSKKemtqBEpE+omRx6YIIClTxRJL1Ee6elgFkPloo0Kxx3tcdNN66bpStw9DVzcZ/coC7hLl2m4vya/OAjey2AIt+aifD2iNIiPubV2ZGHOV3SSUFM= + + +# +# TOFU, unverified +# + +ssh.pijul.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICv96fnLXyeSnz4eCCpQVnSc377BGpzi0oER5m+3fAwE + + +# +# TOFU, unverified +# + +anoncvs.netbsd.org ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAFhP4E9+oDpCQZ9yVQA7OzDF0tHnL3eykrqEt3hS+rdHXA0Ak5uCaxi2Aj2JRnAKW1JYbjQ5hyKHYZ2o6SfDimqaQBAt18nWm4CCKc20UbSgyWaH/x+O3J68j5n43MY8gHycPKcLHly2FjhDhuhHuoYODfq9GYn3okYsMu2T/i6Tg+SKw== +anoncvs.netbsd.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA3QiBl8leG9fqIJpKeNov0PKq5YryFFiroMWOPUv4hDFn8R0jC07YVaR/OSBrr37CTmGX5AFceXPzoFnLlwCqWR7rXg4NR75FTlTp9CG9EBAEtU8mee27KDrUFBTZdfVl2+aRYoAI5fTXA+0vpIO68Cq843vRWUZCcwinS4cNLUU= |