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