WARNING:
These are some of MY configuration files. While they are public they are not
intended to work perfectly on your machine. Especially don't expect the
setup_env.sh script work on your machine. It barely works here.
That being said - feel free to copy whatever you need.
This script creates symbolic links from the home directory and subdirs to the
files in this repository. If a file on the top level repository exists with a
name dot.<something> a link will be created in $HOME.
E.g.
~/.gitconfig -> /home/ruschi/dotfiles/VillaStraylight/dot.gitconfig
It also creates links to files from subdirectories (dot.config dot.gnupg
dot.emacs.d dot.ssh) of this repository. The script should take care of
creating sub-directories for the links if the source file is in a sub-directory
of these directories.
E.g.
~/.config/i3/config -> ~/dotfiles/dot.config/i3/config
The script automatically created the directory ~/.config/i3/.
I chose only some files like configuration to be included in the repository. Other files, like keys will remain on the machine.
-
-wSets an override directory. Not all machines are equal. Sometimes I have different configurations for different machines, e.g..gitconfigat work. To override/dot.gitconfigon a machinefoocreate a file called/foo/dot.gitconfigand run thesetup_env.sh -w fooon the machinefoo.
In this case machinefoowill create all common links but~/.gitconfigwill point todotfiles/foo/dot.gitconfigThis only works with configuration files present in the main directory tree. It does not add new files. -
-fforce links. If a link already exists it will be overwritten without asking. USE WITH CARE -
-nDry run. Do not create links. This still sets up mail and gpg - USE WITH CARE
- The i3lock service can be executed before suspend by systemd.
copy
./i3lock@.serviceto/etc/systemd/system/i3lock@.serviceand enable it for the user:systemctl enable i3lock@ruschi.service
Wayland is not X11 hence sway does not read .xsessionrc. It also behave
differently in some other points I haven't fully understood yet.
- Environment variables. I have no idea why
.zshenvis sourced in sway but it is. according to docs it should not because programs are not started by a shell. The way to go should be.config/environment.d/xx-yy.conf. But it seems these file(s) are not used at all. - D-Bus environment variable. For unknown reason
pinentryfor gpg stopped working with the error "No Gcr System Prompter available". The workaround was to adddbus-update-activation-environment --systemd DISPLAYto the sway startup file. - SSH agent authentication using gpg agent stopped working at some
point. Something caused
SSH_AUTH_SOCKto be wrong/empty. The workaround was to addtoexport SSH_AGENT_PID= export SSH_AUTH_SOCK="${XDG_RUNTIME_DIR}/ssh-agent.socket".zshenv.local - If the package
xdg-desktop-portal-*is installed. Firefox, waybar etc are dead slow in starting up.
I try do phase out gpg. Currently KeepassXC my secrets provider of choice as it
can serve as ssh-agent and as freedesktop secrets provider.
Emacs (mu4e and gnus-smtp) can use KeepassXC secrets. The secret is stored in
the "default collection". To make it work I created a group which is exported
via freedesktop and added an entry with attributes. Emacs searches for an entry
with port and host attributes. It does not use the "UserName" from
keepass but uses an additional attribute user for the login. The password is
taken form the password field of the entry.