sev [Tue, 28 Nov 2023 18:51:22 +0000 (12:51 -0600)]
zsh: fixup env vars and update a comment
- removed graphical env vars as they aren't really doing anything. would be
useful for unmanaged invocations of xorg/wayland, but I don't do those
anymore. if graphical configuration is ever needed it should be added to site
local rc anyway since it relies heavily on underlying system configuration.
- scoped vars inside functions instead of unsetting.
- scoped some arithmetic vars inside _sev_setpath that were not being unset.
- added /opt/<provider>/<package>/bin and /opt/<package>/bin to path per FHS.
- be more aggressive in unsetting GNUPGHOME after forwarding.
- updated a gpg comment for clarification while there.
sev [Fri, 20 Oct 2023 19:26:06 +0000 (14:26 -0500)]
zshenv: fix xdg array logic
$xdg_*_dirs parameter expansion was augmented to use :# to remove empty
elements, to replace the old system that used the scalar $XDG_*_DIRS
parameters. the old code was originally added to remove the first value of the
DIRS arrays if they were empty. however, the $XDG_*_HOME vars were unquoted a
while ago, and zsh should already remove empty elements from unquoted array
expansions, rendering that safeguard unnecessary. the newest change also
introduced a regression where the arrays were being flattened into scalars.
this also caused KDE to not start due to being unable to find necessary system
files elided by the broken vars.
this was all fixed by removing the empty var removal code, and simply unquoting
everything. since SH_WORDSPLIT is not set, the parameters will not be
wordsplit.
this also fixed an issue where duplicate array values were not being removed
due to the presence of a trailing slash.
sev [Fri, 20 Oct 2023 17:03:44 +0000 (12:03 -0500)]
more zsh fixes
- various comment updates
- moved some stuff out of zprofile and into zshenv for earlier use
- fixed zoxide bug until upstream fixes it
- PATH will now be updated twice, once in zshenv and once in zprofile
- rehash alias will update PATH before rehashing
- FPATH is now deduplicated like PATH is
Arch Linux and other systems (especially FreeBSD around version 10 and 11, last
I used it) do a lot of stuff to your shell environment via /etc/profile{,d},
and this may end up being sourced by the system zprofile for compatibility.
rather than shove everything into our local zprofile to override this aberrant
and often unwanted behavior as was previously done, let's just set things up in
zshenv as it should be, and if there are any problems, use load-site-dotfile
to fix things up instead. system profile scripts that make use of env vars will
also be taken care of with this approach, like flatpak-bindir.sh in the Arch
Linux flatpak package for example.
we also now update PATH twice so it can be set up early for our own purposes,
and so that any weird changes made by system profile scripts can be fixed.
sev [Mon, 16 Oct 2023 23:41:05 +0000 (18:41 -0500)]
more zsh refactoring
- fixed bug where zshenv would not be called after setting ZDOTDIR since it
lives in $HOME
- moved some stuff from .zprofile to .zshenv and fixed ordering
- added load-site-dotfile instead of sourcing per-file
- _sev_home still not done yet... just ignore it
sev [Wed, 11 Oct 2023 22:10:05 +0000 (17:10 -0500)]
zsh: reorder zshrc, fix zoxide, git aliases
zoxide completion was not working since compinit was being loaded after zoxide
init was being run, so compinit was moved to the top. also added some git
aliases while there.
sev [Sun, 27 Aug 2023 02:51:17 +0000 (21:51 -0500)]
ykman-oath-reload: new + restored features
- pull in codes from local files, or from stdin if not present
- look for binaries outside of *nix PATH for cygwin/msys2 envs
- handle non-*nix line endings sent by ykman
- ignore blank lines and comments (#) in input
- add script comments
sev [Sun, 23 Jul 2023 18:11:20 +0000 (13:11 -0500)]
small fixes
zsh
- detect Termux env and skip pointless zprofile early load
- don't show error on gpg setup if gpg-agent.conf doesnt exist
- remove temp var from env
sev [Mon, 17 Jul 2023 07:50:51 +0000 (02:50 -0500)]
major rework
- remove unused configs, themes, icons, scripts
- update installer
- now respect xdg env vars
- clean out old links from our source tree before reinstall
- apply default permissions to created dirs
- update vim
- remove unused plugins
- move vim dir to xdg config dir (zsh VIMINIT)
- undo and backup dirs are autocreated and are moved to xdg
- remove modeline support
- add editorconfig plugin
- update zsh
- move zsh dotfiles to xdg config subdir
- all zsh local dotfiles are now relative to ZDOTDIR
- xdg env vars are now mostly default
- better xdg handling in general
- fixed xdg *_DIRS empty array index
- redesign tmpdir generation method
- ~/bin moved to ~/.local/bin per xdg
- better broken TERM handling
- ~/.gnupg moved to ~/.config/gnupg
- gpgagent refresh is more usable now
- preferred list of EDITORs, PAGERs, and TERMINALs
- ~/.zcompdump moved to ~/.cache/zsh/.zcompdump
- prompt_arrows_preexec removed because it's annoying
- python
- ~/.pythonrc moved to ~/.config/pythonrc (zshrc PYTHONSTARTUP)
sev [Tue, 15 Mar 2022 10:47:15 +0000 (05:47 -0500)]
tweaks to zsh/env (xdg, dbus, gpg, tmp), sway, ...
.gitignore: fix paths and add sway config.d
install.sh: handle gui stuff better, fix icons, fix linking
gui:
- mostly fix cursor and size, still doesn't work sometimes
- add Qt4 and GTK4 config
sway:
- remove export section, turns out it never worked
- float wayland pinentry-qt
- start pipewire on launch
bin: fix pinentry early exit, reorganize choices
gpg: point to system pinentry
zsh:
- rewrite gpg-agent.conf to update pinentry-program
- better logout/cleanup
- allow overwriting CHARSET, LANG, LC_CTYPE
- rewrite tmp setup and usage
- rewrite xdg cache and runtime setup and usage
- add dbus launch
- split gpg home setup into own block
- split gpg and ssh agent setup
- move cleanup of gpg forwarding and tmp into function
- run gpg/tmp cleanup on logout
- update gpg/ssh agent setup to be more intelligent
- fix using wrong pinentry with better gui detection
- debounce perl local::lib setup
sev [Fri, 11 Mar 2022 05:48:11 +0000 (23:48 -0600)]
switch to sway/wayland, update zsh/mod, move files
zsh:
- update submodules
- finalize development work on zprofile
- complete refactor of most code
- now much more stable and compatible
wayland move:
- rename i3 -> sway
- update config for sway compat
- remove xorg specific files
- .xinitrc migrated to sway config
- .Xmodmap replaced with sway input block
- keep .Xresources but remove urxvt stuff, for Xwayland
- remove dmenu/dpass shims, replaced with nwg
- remove urxvt module
- update GTK configs for proper theme support
refactor:
- rename xorg directory to gui since it holds wayland and xorg content now
- rename xdg to etc
- rename root to syslinux since that's all it contains
install.sh:
- complete refactor for better functionality and new dir name support
sev [Thu, 10 Mar 2022 02:20:43 +0000 (20:20 -0600)]
remove msys/cygwin support, bugfixes, and cleanup
zshenv:
- check for and fix broken TERM
- reset path to home for login shells, for convenience
zprofile:
- fixed agent setup
- tmp folders are now handled better and do not use XDG_CACHE_HOME as root
- remove all msys/cywgin compat
zlogout:
- safer cleanup of paths
- don't clear if not interactive
prompt_arrows_setup:
- fixed color detection
- GPG forwarding has been expanded from simply overwriting the existing
sockets to instead create a new environment for each connection.
- GPG SSH agent handling has been reworked.
- default-recipient-self was added to config.
sev [Mon, 28 Jun 2021 12:58:36 +0000 (07:58 -0500)]
apkv: orphan listing, update comments
apkv list -o will show orphaned packages that are not part of any
virtual package. orphans will also be shown when listing all virtual
packages with apkv list.
apkv add will now remove packages from world if present, since their
addition to a virtual package will keep them around as part of its
dependency chain.