Compare commits

...

10 Commits

Author SHA1 Message Date
Érico Nogueira 90136a2471 General update.
- update sourcecode/.gitignore
- remove ~/.cargo/bin from PATH: we no longer have anything installed
  there
- update stow-linux.sh: remove alacritty and add tex
- clean up outdated battmux script
2022-01-04 04:50:12 -03:00
Érico Nogueira 9e000b9ec1 Update latex stuff.
- add slide template
- update links in base template
2022-01-04 04:42:16 -03:00
Érico Nogueira e40d10a71d Add Nheko messenger.
Required adding a gnome-keyring-daemon service as well.
2022-01-04 04:42:16 -03:00
Érico Nogueira 42d2235206 Update void.sh.
Added more base stuff:
- wget is generally useful
- outils and minisign for signing stuff
- xxd for binary stuff
- ugrep as a potential ripgrep replacement
- fswatch for doing stuff with inotify
- moreutils to be fancy

For the rest:
- remove spotify stuff from media, add other useful programs
- replace youtube-dl with yt-dlp
- add stuff do dev
- add further_dev for less common stuff
- make Gemini stuff more generic
- add comic book browsing to zathura

Also make youtube-viewer use yt-dlp.
2022-01-04 04:42:00 -03:00
Érico Nogueira 501e72884d Update wayland config.
- move to font-cozette for terminal
- always use foot instead of alacritty
- lower screen temperature to 4000K for all times
2022-01-04 04:21:36 -03:00
Érico Nogueira 3140e9b8a5 Switch PipeWire to WirePlumber.
Service also has fallback to pipewire-media-session, if necessary.

Since we are here, update utilized pipewire packages:

- libspa-bluetooth for bluetooth functionality
- alsa-pipewire for ALSA replacement (see .asoundrc)
- libjack-pipewire for JACK replacement
2022-01-04 04:16:28 -03:00
Érico Nogueira eec6bad945 Clean up nvim LSP config.
Leave in only the server we're currently using.
2022-01-04 04:06:54 -03:00
Érico Nogueira b3ac17d3db Remove race from xdg-desktop-portal launch.
Caused by the dbus daemon not being aware of WAYLAND_DISPLAY.
2022-01-04 04:04:59 -03:00
Érico Nogueira 49772f7573 Update submodules.
Done using the command below:

    git submodule update --recursive --remote
2022-01-04 04:01:32 -03:00
Érico Nogueira 2981d7eb9b Add rainbow parentheses to nvim config. 2022-01-04 03:58:46 -03:00
28 changed files with 336 additions and 86 deletions

3
.gitmodules vendored
View File

@ -22,3 +22,6 @@
[submodule "nvim/.config/nvim/pack/plugins/start/goyo.vim"]
path = nvim/.config/nvim/pack/plugins/start/goyo.vim
url = https://github.com/junegunn/goyo.vim.git
[submodule "nvim/.config/nvim/pack/plugins/start/rainbow"]
path = nvim/.config/nvim/pack/plugins/start/rainbow
url = https://github.com/luochen1990/rainbow.git

View File

@ -6,7 +6,7 @@
#
# taken from https://fishshell.com/docs/current/commands.html#contains
for i in ~/.local/bin ~/.cargo/bin ~/.emacs.d/bin
for i in ~/.local/bin ~/.emacs.d/bin
if not contains $i $PATH
set PATH $PATH $i
end

4
media/.asoundrc Normal file
View File

@ -0,0 +1,4 @@
pcm.!default {
#type sndio
type pipewire
}

View File

@ -0,0 +1,247 @@
# Daemon config file for PipeWire version "0.3.39" #
#
# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.
context.properties = {
## Configure properties in the system.
#library.name.system = support/libspa-support
#context.data-loop.library.name.system = support/libspa-support
#support.dbus = true
#link.max-buffers = 64
link.max-buffers = 16 # version < 3 clients can't handle more
#mem.warn-mlock = false
#mem.allow-mlock = true
#mem.mlock-all = false
#clock.power-of-two-quantum = true
#log.level = 2
#cpu.zero.denormals = true
core.daemon = true # listening for socket connections
core.name = pipewire-0 # core name and socket name
## Properties for the DSP configuration.
#default.clock.rate = 48000
#default.clock.allowed-rates = [ 48000 ]
#default.clock.quantum = 1024
#default.clock.min-quantum = 32
#default.clock.max-quantum = 8192
#default.video.width = 640
#default.video.height = 480
#default.video.rate.num = 25
#default.video.rate.denom = 1
#
# These overrides are only applied when running in a vm.
vm.overrides = {
default.clock.min-quantum = 1024
}
}
context.spa-libs = {
#<factory-name regex> = <library-name>
#
# Used to find spa factory names. It maps an spa factory name
# regular expression to a library name that should contain
# that factory.
#
audio.convert.* = audioconvert/libspa-audioconvert
api.alsa.* = alsa/libspa-alsa
api.v4l2.* = v4l2/libspa-v4l2
api.libcamera.* = libcamera/libspa-libcamera
api.bluez5.* = bluez5/libspa-bluez5
api.vulkan.* = vulkan/libspa-vulkan
api.jack.* = jack/libspa-jack
support.* = support/libspa-support
#videotestsrc = videotestsrc/libspa-videotestsrc
#audiotestsrc = audiotestsrc/libspa-audiotestsrc
}
context.modules = [
#{ name = <module-name>
# [ args = { <key> = <value> ... } ]
# [ flags = [ [ ifexists ] [ nofail ] ]
#}
#
# Loads a module with the given parameters.
# If ifexists is given, the module is ignored when it is not found.
# If nofail is given, module initialization failures are ignored.
#
# Uses RTKit to boost the data thread priority.
{ name = libpipewire-module-rtkit
args = {
#nice.level = -11
#rt.prio = 88
#rt.time.soft = 2000000
#rt.time.hard = 2000000
}
flags = [ ifexists nofail ]
}
# Set thread priorities without using RTKit.
#{ name = libpipewire-module-rt
# args = {
# nice.level = -11
# rt.prio = 88
# rt.time.soft = 2000000
# rt.time.hard = 2000000
# }
# flags = [ ifexists nofail ]
#}
# The native communication protocol.
{ name = libpipewire-module-protocol-native }
# The profile module. Allows application to access profiler
# and performance data. It provides an interface that is used
# by pw-top and pw-profiler.
{ name = libpipewire-module-profiler }
# Allows applications to create metadata objects. It creates
# a factory for Metadata objects.
{ name = libpipewire-module-metadata }
# Creates a factory for making devices that run in the
# context of the PipeWire server.
{ name = libpipewire-module-spa-device-factory }
# Creates a factory for making nodes that run in the
# context of the PipeWire server.
{ name = libpipewire-module-spa-node-factory }
# Allows creating nodes that run in the context of the
# client. Is used by all clients that want to provide
# data to PipeWire.
{ name = libpipewire-module-client-node }
# Allows creating devices that run in the context of the
# client. Is used by the session manager.
{ name = libpipewire-module-client-device }
# The portal module monitors the PID of the portal process
# and tags connections with the same PID as portal
# connections.
{ name = libpipewire-module-portal
flags = [ ifexists nofail ]
}
# The access module can perform access checks and block
# new clients.
{ name = libpipewire-module-access
args = {
# access.allowed to list an array of paths of allowed
# apps.
#access.allowed = [
# /usr/bin/pipewire-media-session
#]
# An array of rejected paths.
#access.rejected = [ ]
# An array of paths with restricted access.
#access.restricted = [ ]
# Anything not in the above lists gets assigned the
# access.force permission.
#access.force = flatpak
}
}
# Makes a factory for wrapping nodes in an adapter with a
# converter and resampler.
{ name = libpipewire-module-adapter }
# Makes a factory for creating links between ports.
{ name = libpipewire-module-link-factory }
# Provides factories to make session manager objects.
{ name = libpipewire-module-session-manager }
]
context.objects = [
#{ factory = <factory-name>
# [ args = { <key> = <value> ... } ]
# [ flags = [ [ nofail ] ]
#}
#
# Creates an object from a PipeWire factory with the given parameters.
# If nofail is given, errors are ignored (and no object is created).
#
#{ factory = spa-node-factory args = { factory.name = videotestsrc node.name = videotestsrc Spa:Pod:Object:Param:Props:patternType = 1 } }
#{ factory = spa-device-factory args = { factory.name = api.jack.device foo=bar } flags = [ nofail ] }
#{ factory = spa-device-factory args = { factory.name = api.alsa.enum.udev } }
#{ factory = spa-node-factory args = { factory.name = api.alsa.seq.bridge node.name = Internal-MIDI-Bridge } }
#{ factory = adapter args = { factory.name = audiotestsrc node.name = my-test } }
#{ factory = spa-node-factory args = { factory.name = api.vulkan.compute.source node.name = my-compute-source } }
# A default dummy driver. This handles nodes marked with the "node.always-driver"
# property when no other driver is currently active. JACK clients need this.
{ factory = spa-node-factory
args = {
factory.name = support.node.driver
node.name = Dummy-Driver
node.group = pipewire.dummy
priority.driver = 20000
}
}
{ factory = spa-node-factory
args = {
factory.name = support.node.driver
node.name = Freewheel-Driver
priority.driver = 19000
node.group = pipewire.freewheel
node.freewheel = true
}
}
# This creates a new Source node. It will have input ports
# that you can link, to provide audio for this source.
#{ factory = adapter
# args = {
# factory.name = support.null-audio-sink
# node.name = "my-mic"
# node.description = "Microphone"
# media.class = "Audio/Source/Virtual"
# audio.position = "FL,FR"
# }
#}
# This creates a single PCM source device for the given
# alsa device path hw:0. You can change source to sink
# to make a sink in the same way.
#{ factory = adapter
# args = {
# factory.name = api.alsa.pcm.source
# node.name = "alsa-source"
# node.description = "PCM Source"
# media.class = "Audio/Source"
# api.alsa.path = "hw:0"
# api.alsa.period-size = 1024
# api.alsa.headroom = 0
# api.alsa.disable-mmap = false
# api.alsa.disable-batch = false
# audio.format = "S16LE"
# audio.rate = 48000
# audio.channels = 2
# audio.position = "FL,FR"
# }
#}
]
context.exec = [
#{ path = <program-name> [ args = "<arguments>" ] }
#
# Execute the given program with arguments.
#
# You can optionally start the session manager here,
# but it is better to start it as a systemd service.
# Run the session manager with -h for options.
#
#{ path = "/usr/bin/pipewire-media-session" args = "" }
#
# You can optionally start the pulseaudio-server here as well
# but it is better to start it as a systemd service.
# It can be interesting to start another daemon here that listens
# on another address with the -a option (eg. -a tcp:4713).
#
#{ path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" }
]

View File

@ -1,6 +1,6 @@
#!/usr/bin/perl
# YouTube Viewer 3.9.3 - configuration file
# YouTube Viewer 3.9.6 - configuration file
our $CONFIG = {
auto_captions => 0,
@ -54,6 +54,7 @@ our $CONFIG = {
env_proxy => 1,
fat32safe => 0,
ffmpeg_cmd => "/bin/ffmpeg",
force_fallback => 0,
fullscreen => 0,
get_captions => 1,
get_term_width => 1,
@ -125,5 +126,5 @@ our $CONFIG = {
youtube_users_file => "$ENV{HOME}/.config/youtube-viewer/youtube_users.txt",
youtube_video_url => "https://www.youtube.com/watch?v=%s",
ytdl => 1,
ytdl_cmd => "/bin/youtube-dl",
ytdl_cmd => "/bin/yt-dlp",
}

View File

@ -54,6 +54,10 @@ colorscheme slate
" Settings for Void stuff
autocmd BufNewFile,BufRead template setfiletype sh
" Rainbow Parentheses
let g:rainbow_active = 1
let g:rainbow_conf = { 'ctermfgs': ['darkblue', 'darkred', 'darkgreen', 'darkmagenta', 'darkcyan'] }
" LANGUAGE SERVER
@ -110,7 +114,7 @@ end
-- Use a loop to conveniently both setup defined servers
-- and map buffer local keybindings when the language server attaches
-- rust_analyzer
local servers = { "pyright", "tsserver", "clangd" }
local servers = { "clangd" }
for _, lsp in ipairs(servers) do
nvim_lsp[lsp].setup { on_attach = on_attach }
end

@ -1 +1 @@
Subproject commit a865dec7ca7616dbbd69315ad1417b84d0c411f8
Subproject commit a9c7283dce60ffcdec952384f6451ff42f8914f2

@ -1 +1 @@
Subproject commit 9122b2805499fbde06f27116f4b7a2a30d6996f5
Subproject commit 6fec676fe552cb30165dc8977dab9353c4c3ab26

@ -1 +1 @@
Subproject commit 9ca394ec3a9305a6c30018ee6f731c9b23a4b25e
Subproject commit 1917a52a7ccb517f76d6a6e732fb349f381fc927

@ -0,0 +1 @@
Subproject commit c18071e5c7790928b763c2e88c487dfc93d84a15

@ -1 +1 @@
Subproject commit 26f922753a288df639b8d05d13ed62b9b04a26bc
Subproject commit 332d44948a3c737272172d0eae0bf5b940e72459

View File

@ -2,3 +2,4 @@ sshfs-map/sshfs-map
sshfs-map/sshfs-unmap
enter-chroot/enter-chroot
cbc-file/cbc-file
battmux/battmux

@ -1 +1 @@
Subproject commit d76a8794d57ead5e27fb8a1489067f7d0b414f7f
Subproject commit 3de3e8b411b0eae44b9c876ec748a018170cfba6

@ -1 +1 @@
Subproject commit afd45ea983da8875ca9b1b8d95253d91ae9b4abb
Subproject commit 19e26d42a9d5c8676bbf616ccef1a73eca4eb94e

@ -1 +1 @@
Subproject commit 71af8890d889b62fc186421f1f04793511626bf2
Subproject commit 51ae30614d7e41a2fe85463325b917f8bc9ff289

View File

@ -1,4 +1,4 @@
#!/bin/sh
stow \
alacritty/ boxes/ doom-emacs/ embedded/ fish/ linux-utils/ media/ nvim/ \
term-utils/ utils/ wayland/ xbps/
boxes/ doom-emacs/ embedded/ fish/ linux-utils/ media/ nvim/ \
term-utils/ tex/ utils/ wayland/ xbps/

View File

@ -1,46 +0,0 @@
#!/usr/bin/env bash
# from https://github.com/NerdyPepper/dotfiles
red="\e[31m"
grn="\e[32m"
ylw="\e[33m"
cyn="\e[36m"
blu="\e[34m"
prp="\e[35m"
bprp="\e[35;1m"
rst="\e[0m"
icon="$( ~/scripts/get_xres color2 )"
fg="$( ~/scripts/get_xres color7 )"
bat_status=""
bat_status=$( cat /sys/class/power_supply/BAT0/capacity )
charging_status=$( cat /sys/class/power_supply/BAT0/status )
health() {
for i in {0..4}
do
if [[ $i -le $(( $bat_status/20 )) ]]; then
echo -ne "#[fg=colour1]♥ "
else
echo -ne "#[fg=colour8]♥ "
fi
done
echo
}
while getopts qi options
do
case $options in
i)
echo "$bat_status $charging_status"
;;
q)
if [[ "$charging_status" = *Charging* ]]; then
echo -ne "+ $(health)"
else
health
fi
esac
done

View File

@ -1,4 +1,6 @@
#!/bin/sh
[ -n "$SLIDE" ] && SLIDE=-slide
n="$1"
cp ~/.local/share/template.tex "$n"
cp ~/.local/share/template${SLIDE}.tex "$n"

View File

@ -0,0 +1,17 @@
\documentclass[pdf]{beamer}
% https://web.mit.edu/rsi/www/pdfs/beamer-tutorial.pdf
\mode<presentation>{}
%\title{Title}
%\subtitle{}
%\author{Érico Nogueira Rolim}
%\date{}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\end{document}

View File

@ -1,6 +1,10 @@
\documentclass[11pt,a4paper]{article}
% https://guides.nyu.edu/c.php?g=601858&p=4168138
% https://oeis.org/wiki/List_of_LaTeX_mathematical_symbols
% https://math-linux.com/latex-26/faq/latex-faq/article/latex-derivatives-limits-sums-products-and-integrals
% https://www.math.uci.edu/~xiangwen/pdf/LaTeX-Math-Symbols.pdf
% https://stackoverflow.com/questions/3175105/inserting-code-in-this-latex-document-with-indentation
% https://ctan.dcc.uchile.cl/fonts/amsfonts/doc/amsfndoc.pdf
%\title{Title}
%\author{Érico Nogueira Rolim}
@ -8,6 +12,7 @@
\usepackage[margin=2cm]{geometry}
%\usepackage{amsmath}
%\usepackage{amsfonts}
% https://guides.nyu.edu/c.php?g=601858&p=4168138
\newcommand{\question}[2][]{\begin{flushleft}

View File

@ -61,15 +61,16 @@ popcorn_desc="$(print_item popcorn) Install PopCorn usage statistics."
_browser="ncdu ranger fzf"
_device="usbutils"
_monitor="bmon htop"
_net="curl git gnupg2 aerc asciinema lynx weechat"
_shell="fish-shell lolcat-c tmux"
_tools="bsdtar fd lowdown neovim p7zip parallel ripgrep stow execline s6"
_net="curl wget git aerc asciinema lynx weechat"
_crypto="gnupg2 outils minisign"
_shell="fish-shell lolcat-c tmux xxd neovim"
_tools="bsdtar fd lowdown p7zip parallel ripgrep ugrep stow execline s6 fswatch moreutils"
_boxes="toybox toybox.static busybox"
_void="vsv xtools fuzzypkg graphviz"
_info="man-pages-devel man-pages-posix"
_fortune="cowsay fortune-mod-void"
_otp="bearssl-devel oath-toolkit libargon2-devel jq"
term="python3 ${_browser} ${_device} ${_monitor} ${_net} ${_shell} ${_tools}
term="python3 ${_browser} ${_device} ${_monitor} ${_net} ${_crypto} ${_shell} ${_tools}
${_boxes} ${_void} ${_info} ${_fortune} ${_otp}"
term_desc="$(print_item term) Install basic terminal utilities."
@ -87,7 +88,7 @@ graphics="Vulkan-Tools clinfo mesa-demos"
graphics_desc="$(print_item graphics) Install graphics stack testing tools."
fonts="font-awesome5 font-fira-ttf font-ibm-plex-ttf liberation-fonts-ttf
noto-fonts-ttf noto-fonts-emoji ttf-bitstream-vera"
noto-fonts-ttf noto-fonts-emoji ttf-bitstream-vera font-cozette"
fonts_desc="$(print_item fonts) Basic fonts necessary for browsing the web and normal GUIs."
themes="breeze-snow-cursor-theme breeze-amber-cursor-theme"
@ -104,18 +105,25 @@ wayland_desc="$(print_item wayland) Install other Wayland compositors and tools.
xorg="xfce4 xorg"
xorg_desc="$(print_item xorg) Install XFCE4 and Xorg."
audio="alsa-utils playerctl pipewire pavucontrol"
_pipewire="pipewire wireplumber libspa-bluetooth alsa-pipewire libjack-pipewire"
audio="alsa-utils playerctl pulseaudio-utils pavucontrol ${_pipewire}"
audio_desc="$(print_item audio) Install PipeWire and ALSA."
sndio="sndio aucatctl alsa-sndio"
sndio_desc="$(print_item sndio) Install sndio."
media="bluez mpv mpv-mpris youtube-dl spotifyd spotify-tui imv ImageMagick"
media_desc="$(print_item media) Install mpv, imv and spotify CLI programs."
media="bluez mpv mpv-mpris yt-dlp imv ImageMagick exiftool wildmidi droidcam"
media_desc="$(print_item media) Install media software."
dev="cmake make meson ninja valgrind gdb strace go"
spotify="spotifyd spotify-tui"
spotify_desc="$(print_item spotify) Install spotify CLI programs."
dev="cmake make meson ninja valgrind gdb strace extrace go github-cli"
dev_desc="$(print_item dev) Install build systems, debug tools, Go."
further_dev="racket zeal"
further_dev_desc="$(print_item further_dev) Install references and more languages."
containers="podman"
containers_desc="$(print_item containers) Install Podman."
@ -131,13 +139,16 @@ qt5_desc="$(print_item qt5) Install Qt5 for Wayland and qBittorrent."
mozilla="firefox thunderbird"
mozilla_desc="$(print_item mozilla) Install Firefox and Thunderbird."
gemini="castor"
gemini_desc="$(print_item gemini) Install castor."
gemini="castor lagrange python3-md2gemini"
gemini_desc="$(print_item gemini) Install Gemini related software."
matrix="nheko gnome-keyring"
matrix_desc="$(print_item matrix) Install nheko for Matrix."
office="libreoffice libreoffice-i18n-en-US libreoffice-i18n-pt-BR"
office_desc="$(print_item office) Install Libreoffice."
pdf="zathura zathura-pdf-poppler"
pdf="zathura zathura-pdf-poppler zathura-cb"
pdf_desc="$(print_item pdf) Install Zathura."
flatpak="flatpak xdg-desktop-portal xdg-desktop-portal-gtk xdg-user-dirs xdg-user-dirs-gtk xdg-utils"
@ -169,9 +180,9 @@ current_system_list="base_env_list zfs wayland uefi_bundle"
current_system="$(assemble_list "$current_system_list")"
current_system_desc="$(print_item current_system) $current_system_desc"
all_list="$base_env_list luks uefi_bundle disk_tools refind zfs dev office
all_list="$base_env_list luks uefi_bundle disk_tools refind zfs dev further_dev office
flatpak embedded kicad ate void_docs xbps_devel xorg nvidia graphics qt5 audio
wayland gemini containers"
wayland gemini containers spotify matrix"
all="$(assemble_list "$all_list")"
all_desc="$(print_item all) $all_list"

View File

@ -1,11 +1,6 @@
font = IBM Plex Mono:size=11, DejaVu Sans Mono:size=12
font = Cozette
dpi-aware = no
# look into px?
#font = Liberation Mono:size=12
#term = foot-direct
[tweak]
grapheme-shaping = yes
#font = IBM Plex Mono:size=11, DejaVu Sans Mono:size=12
[colors]
foreground = 0x4d4d4c

View File

@ -1,6 +1,6 @@
#!/bin/execlineb -S0
# generic launcher for floating alacritty with size WIDTH X LENGTH
ifte
{ alacritty --class generic-launcher }
{ alacritty --class generic-launcher --command $@ }
{ foot }
{ foot $@ }
test -z "$@"

View File

@ -1,3 +1,4 @@
#!/bin/execlineb -P
foreground { dbus-update-activation-environment WAYLAND_DISPLAY }
importas HOME HOME
s6-svscan ${HOME}/services

View File

@ -1,2 +1,2 @@
#!/bin/execlineb -P
gammastep -l -22.9:-47.1 -m wayland -t 4500:4500
gammastep -l -22.9:-47.1 -m wayland -t 4000:4000

2
wayland/services/keyring/run Executable file
View File

@ -0,0 +1,2 @@
#!/bin/execlineb -P
gnome-keyring-daemon --foreground --components=pkcs11,secrets

View File

@ -0,0 +1,4 @@
#!/bin/execlineb -P
tryexec
{ wireplumber }
pipewire-media-session

View File

@ -1,4 +1,2 @@
#!/bin/execlineb -P
# wait on xdpw
foreground { sleep 4 }
/usr/libexec/xdg-desktop-portal -r