dotfiles for the following tools:
others (experimental):
- nix
- guix
I should switch to a package manager that supports declarative package definitions (e.g. nix/guix). Until then, I’m listing the requirements here.
- github.com
- gitlab.com
- porkbun.com
- namecheap.com
-
Heavily based on this article and adapted from the Arch guide.
- Install required packages:
sudo dnf install pamu2fcfg pam-u2f
- Generate the key mappings
pamu2fcfg > ~/.config/u2f_keys
If you have multiple hardware keys, you need to run the following for every subsequent key:
pamu2fcfg -n >> ~/.config/u2f_keys
- Move it so it can be used for centralized authentication:
sudo mv ~/.config/u2f_keys /etc/u2f_mappings
- To use it with GDM/GNOME, you need to edit this file:
sudo -e '/etc/pam.d/gdm-password'
And add the following line underneath the `pam_selinux_permit.so` entry:
auth sufficient pam_u2f.so authfile=/etc/u2f_mappings cue
- And for sudo, it’s a similar process; edit the following file:
sudo -e '/etc/pam.d/sudo'
And add a similar looking line for line 2:
auth sufficient pam_u2f.so authfile=/etc/u2f_mappings cue
- swaylock:
sudo -e '/etc/pam.d/swaylock'
and add the following line (before `auth include login`, if that’s present):
auth sufficient pam_u2f.so authfile=/etc/u2f_mappings cue
Press the key button and then enter to log-in
All good, don’t forget to enable completions
As of 2022-04-22:
fpath+=$ZDOTDIR/zfunc
(before compinit)
poetry completions zsh > $ZDOTDIR/zfunc/_poetry
home-manager switch
to apply a configuration
- Add all channels:
guix pull -C ~~/.config/guix/channels.scm
- Install packages defined in manifest:
guix package -m ~~/.config/guix/packages.scm
- On a foreign distro:
- upgrade the build daemon by running:
sudo -i guix pull
- if the distro uses systemd also run:
systemctl restart guix-daemon.service
- don’t forget to upgrade the guix channels sha every now and then
- Fedora: Use `dnf history userinstalled` to see which packages have been installed and to replace with guix packages
- Ubuntu: Use `apt list –installed` to see list of installed packages
- upgrade the build daemon by running:
/usr/share/applications/[...].desktop
cannot be executed: Remote peer disconnected Open the desktop file, look for aDBusActivatable=true
line and comment it out An alternative solution (runningexec dbus-daemon --session --address=unix:path=$XDG_RUNTIME_DIR/bus
) didn’t seem to work for me…- Unable to connect to
/run/user/1000/sway-ipc.1000.3043.sock
export SWAYSOCK=/run/user/$(id -u)/sway-ipc.$(id -u).$(pgrep -x sway).sock
- Build fails with 8GB space on /tmp - No space left on device
mount -o remount,size=15G /tmp
Adjust size to your needs
- [sway] Coming back from sleep doesn’t restore the laptop screen (it’s all black)
- [sway] Reloading sway/returning from sleep causes firefox-wayland to crash
- workaround: don’t use `input *` to switch kb layout
- [waybar] Disappears every now and then
- “workaround”: run `nohup waybar &` to restart it
- last incident on 2022-03-15
- [sway] reloading sway sometimes does not load gammastep
- [firefox] Doesn’t use $XDG_CONFIG_HOME
- [thunderbird] Doesn’t use $XDG_CONFIG_HOME
- [tmux] “SSH/Mosh aware username and hostname status line information” from oh-my-tmux
- [kodi] Doesn’t use $XDG_CONFIG_HOME
- Setting $KODI_HOME doesn’t seem to be working, kodi still looks for ~/.kodi and creates it if missing
- [zsh] has to be installed on the fedora side as well, otherwise the OS doesn’t see the PATH to the guix version and reverts to bash.
- [swaylock] & guix: swaylock needs to be setuid to read /etc/shadow