diff options
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/guix/epson-inkjet-printer-201401w-1.0.0-1lsb3.2.src.rpm | bin | 0 -> 2602436 bytes | |||
| -rw-r--r-- | etc/guix/home.scm | 51 | ||||
| -rw-r--r-- | etc/guix/system.scm | 62 | ||||
| -rw-r--r-- | etc/sh/rc | 7 | ||||
| -rwxr-xr-x | etc/tmux/continuum-throttle.sh | 19 | ||||
| -rw-r--r-- | etc/tmux/tmux.conf | 6 |
6 files changed, 106 insertions, 39 deletions
diff --git a/etc/guix/epson-inkjet-printer-201401w-1.0.0-1lsb3.2.src.rpm b/etc/guix/epson-inkjet-printer-201401w-1.0.0-1lsb3.2.src.rpm Binary files differnew file mode 100644 index 00000000..22a277bb --- /dev/null +++ b/etc/guix/epson-inkjet-printer-201401w-1.0.0-1lsb3.2.src.rpm diff --git a/etc/guix/home.scm b/etc/guix/home.scm index 5462bb64..3cfa20c4 100644 --- a/etc/guix/home.scm +++ b/etc/guix/home.scm @@ -2,7 +2,7 @@ ((ice-9 textual-ports) #:prefix textual-ports:) ((guix licenses) #:prefix licenses:) ((guix transformations) #:prefix transformations:) - ((xyz euandreh heredoc) #:prefix heredoc:) + ((hereguile) #:prefix hereguile:) ((org euandre queue) #:prefix q:) ((org euandre packages) #:prefix pkg:) (gnu) @@ -36,7 +36,7 @@ video xdisorg xml) -(heredoc:enable-syntax) +(hereguile:enable-syntax) @@ -72,7 +72,7 @@ (define cronjobs (list #~(job "0 0 * * *" "cronjob check") - #~(job "0 1 * * *" "cronjob backupit -q cron") + #~(job "0 1 * * *" "cronjob backupit -q -t cron") #~(job "0 2 * * 0" "cronjob gc") #~(job "0 3 * * *" "cronjob reconfigure") #~(job "0 7 * * *" "cronjob guix pull -v3"))) @@ -275,7 +275,6 @@ meson ninja sparse - ant mpc maven pkg-config @@ -300,7 +299,7 @@ cloc strace file - ;; urlscan ; conflicts with python-telegram-bot + urlscan rlwrap direnv borg @@ -363,7 +362,7 @@ tcl z3 - frama-c + ; frama-c ; conflict clojure clojure-core-async clojure-core-cache @@ -377,9 +376,9 @@ clojure-tools-reader clojure-test-check leiningen - openjdk@23:jdk - openjdk@23:doc - openjdk@23:out + openjdk:jdk + openjdk:doc + openjdk:out astyle sharutils perl @@ -393,6 +392,8 @@ opencl-icd-loader pciutils usbutils + python-mypy + python-flake8 python-pyopencl python-pandas ;; python-scikit-learn ; conflicts with python-requests @@ -403,7 +404,8 @@ python-requests python-beautifulsoup4 python-docx - python-telegram-bot + ;; python-telegram-bot ; broken: pulls python-ordereddict + valgrind aflplusplus gol @@ -411,6 +413,7 @@ gcc-toolchain:out gcc-toolchain:debug gcc-toolchain:static + musl cppcheck clang tcc @@ -456,6 +459,9 @@ htop util-linux gzip + zstd + zstd:lib + zstd:static xz psmisc less @@ -463,6 +469,9 @@ patch ripgrep fd + openssl:out + openssl:static + openssl:doc ;; unicode fonts font-google-noto @@ -470,6 +479,8 @@ font-google-noto-sans-cjk font-google-noto-emoji + patchelf@0.16.1 + xforms hicolor-icon-theme xdg-utils mpvx @@ -483,6 +494,8 @@ keepassxc cheese ; webcam gpodder + gobject-introspection ; provides cairo-1.0.typelib for gpodder + python-pycairo ; gpodder's gtkui/draw.py imports cairo python-dbus mate-calc telegram-desktop @@ -497,7 +510,6 @@ quodlibet icedove netsurf - anki firefox)) (list ((transformations:options->transformation @@ -507,6 +519,16 @@ (script "cronjob" (slurp (string-append (getenv "HOME") "/.usr/etc/sh/cronjob.sh")))))) + (essential-services + (modify-services ((@@ (gnu home) home-environment-default-essential-services) + this-home-environment) + (home-xdg-base-directories-service-type + _ => (home-xdg-base-directories-configuration + (cache-home (xdg "var/cache")) + (config-home (xdg "etc")) + (data-home (xdg "share")) + (log-home (xdg "var/log")) + (state-home (xdg "var/state")))))) (services (append %base-home-services @@ -514,13 +536,6 @@ (service (home-service 'clipmenu clipmenu "/bin/clipmenud")) (service (home-service 'dunst dunst "/bin/dunst")) (service (home-service 'poweralertd poweralertd "/bin/poweralertd")) - (service home-xdg-base-directories-service-type - (home-xdg-base-directories-configuration - (cache-home (xdg "var/cache")) - (config-home (xdg "etc")) - (data-home (xdg "share")) - (log-home (xdg "var/log")) - (state-home (xdg "var/state")))) (service home-syncthing-service-type) (simple-service 'my-shell-profile home-shell-profile-service-type (list (plain-file diff --git a/etc/guix/system.scm b/etc/guix/system.scm index 3cf1ac98..163ce5c4 100644 --- a/etc/guix/system.scm +++ b/etc/guix/system.scm @@ -5,7 +5,7 @@ ((nonguix licenses) #:prefix ng.license:) ((org euandre packages) #:prefix pkg:) ((org euandre queue) #:prefix q:) - ((xyz euandreh heredoc) #:prefix heredoc:) + ((hereguile) #:prefix hereguile:) (gnu) (gnu system locale) (guix build-system gnu) @@ -31,11 +31,12 @@ virtualization vpn xorg) -(heredoc:enable-syntax) +(hereguile:enable-syntax) (define host-name "novinho") -(define wg-ipaddr "10.0.0.5") +(define wg0-ipaddr "10.0.0.5") +(define wg1-ipaddr "10.0.1.5") ;; Implement wireless printing before sending upstream @@ -44,15 +45,12 @@ (name "epson-L365") (version "1.0.0") (source - (origin - (method url-fetch) - (uri - (string-append - "https://download3.ebz.epson.net/dsc/f/03/00/03/45/41/92e9c9254f0ee4230a069545ba27ec2858a2c457/epson-inkjet-printer-201401w-" - version - "-1lsb3.2.src.rpm")) - (sha256 - (base32 "0c60m1sd59s4sda38dc5nniwa7dh1b0kv1maajr0x9d38gqlyk3x")))) + (local-file + (string-append + (dirname (current-filename)) + "/epson-inkjet-printer-201401w-" + version + "-1lsb3.2.src.rpm"))) (build-system gnu-build-system) (arguments (list @@ -102,10 +100,23 @@ Seiko Epson Color Ink Jet Printers.") #\-))) (define desired-architectures - '("i386" - "x86_64" + '("aarch64" "arm" - "aarch64")) + "armeb" + "i386" + "m68k" + "mips" + "mips64" + "mips64el" + "mipsel" + "mipsn32" + "mipsn32el" + "ppc" + "ppc64" + "ppc64le" + "riscv32" + "riscv64" + "x86_64")) (define platforms (filter (lambda (name) @@ -170,7 +181,7 @@ Seiko Epson Color Ink Jet Printers.") (simple-service 'add-wireguard-aliases hosts-service-type (list (host "10.0.0.0" "toph") - (host wg-ipaddr host-name))) + (host "10.0.1.0" "asami"))) (service q:local-postfix-service-type (q:postfix-configuration (main.cf-extra #"- @@ -191,9 +202,11 @@ Seiko Epson Color Ink Jet Printers.") ("andreh" "eu@euandre.org"))) (service wireguard-service-type (wireguard-configuration + (interface "wg0") + (private-key "/etc/wireguard/toph.key") (addresses (list - (string-append wg-ipaddr "/32"))) + (string-append wg0-ipaddr "/32"))) (peers (list (wireguard-peer @@ -202,6 +215,21 @@ Seiko Epson Color Ink Jet Printers.") (public-key "8jJgTIWrs7HNWlJXOwl8A0DKqIiAGa4hhh/hcXm4EUs=") (allowed-ips '("10.0.0.0/32")) (keep-alive 25)))))) + (service wireguard-service-type + (wireguard-configuration + (interface "wg1") + (private-key "/etc/wireguard/asami.key") + (addresses + (list + (string-append wg1-ipaddr "/32"))) + (peers + (list + (wireguard-peer + (name "asami") + (endpoint "papo.im:51820") + (public-key "xWeNyN4GmdsoGZKswuNVj6z7WHqlE5WwUGs3S1quBis=") + (allowed-ips '("10.0.1.0/32")) + (keep-alive 25)))))) (service qemu-binfmt-service-type (qemu-binfmt-configuration (platforms @@ -49,7 +49,6 @@ 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" @@ -63,7 +62,7 @@ export NOTMUCH_CONFIG="$XDG_CONFIG_HOME/notmuch/default/config" export PASSWORD_STORE_DIR="$SRC/private/password-store" export MAILCAPS="$XDG_CONFIG_HOME/mailcaps/config" export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/pythonrc.py" -export NIX_PATH=nixpkgs="$HOME/dev/misc/nixpkgs" +export NIX_PATH=nixpkgs="$HOME/dev/others/nixpkgs" export JARPATH=~/.usr/var/mkg/share/java export EXINIT=' " set number @@ -167,7 +166,7 @@ add_prefix() { path_add C_INCLUDE_PATH "$C_INCLUDE_PATH" "$1/include" path_add LIBRARY_PATH "$LIBRARY_PATH" "$1/lib" path_add ADA_INCLUDE_PATH "$ADA_INCLUDE_PATH" "$1/include" - path_add ADA_OBJECTS_PATH "$ADA_OBJECTS_PATH" "$1/lib/ali" + path_add ADA_OBJECTS_PATH "$ADA_OBJECTS_PATH" "$1/lib" path_add NODE_PATH "$NODE_PATH" "$1/lib/node" @@ -187,7 +186,7 @@ for d in "$XDG_PREFIX"/opt/bin-dirs/*; do path_add PATH "$PATH" "$d" done -PATH="/run/setuid-programs:/run/wrappers/bin:$XDG_PREFIX/bin:$PREFIX/bin:$PATH" +PATH="/run/setuid-programs:/run/wrappers/bin:$XDG_PREFIX/bin:$HOME/.local/bin:$PREFIX/bin:$PATH" diff --git a/etc/tmux/continuum-throttle.sh b/etc/tmux/continuum-throttle.sh new file mode 100755 index 00000000..e0e3dabb --- /dev/null +++ b/etc/tmux/continuum-throttle.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# Throttle wrapper around tmux-continuum's save script. +# +# tmux re-renders status-right per client per status-interval, so the +# upstream save script is invoked far more often than it can possibly do +# useful work. This wrapper short-circuits the common case using only +# bash builtins (no fork, no subprocess) and only execs the real script +# when the throttle window has elapsed. + +throttle=60 +stamp="${XDG_RUNTIME_DIR:-/tmp}/tmux-continuum-throttle.stamp" +real=~/.guix-home/profile/share/tmux-plugins/continuum/scripts/continuum_save.sh + +last=0 +[[ -r $stamp ]] && read -r last < "$stamp" +(( EPOCHSECONDS - last < throttle )) && exit 0 + +printf '%s\n' "$EPOCHSECONDS" > "$stamp" +exec "$real" diff --git a/etc/tmux/tmux.conf b/etc/tmux/tmux.conf index 53fee2b3..562edc0a 100644 --- a/etc/tmux/tmux.conf +++ b/etc/tmux/tmux.conf @@ -98,3 +98,9 @@ set -g @resurrect-capture-pane-contents 'on' set -g @resurrect-processes '~make ~ssh ~e "~alot->alot" "~ranger->ranger" "~newsboat->newsboat" "~entr->entr" "~git->git" "~info->info"' run-shell ~/.guix-home/profile/share/tmux-plugins/resurrect/resurrect.tmux run-shell ~/.guix-home/profile/share/tmux-plugins/continuum/continuum.tmux + +# Throttle continuum's status-right hook to avoid per-client per-tick fork +# storms (the upstream save script forks bash + several `tmux show-option` +# subprocesses every invocation). The wrapper short-circuits in pure bash. +set -g status-interval 60 +set -g status-right "#(~/.usr/etc/tmux/continuum-throttle.sh)" |
