My personal quirks quantified in text form
This is only public so I can easily share it across machines. There is probably nothing of interest for you here ... or is there?
My usage is mostly terminal-based, via Crostini on Chromebook, WSL2 on Windows, and (rarely) MacOS terminal. Making heavy use of:
Graphical sections are Linux-only, and use:
On MacOS, use:
git clone https://github.com/fortes/dotfiles.git --branch debian-bookworm
./dotfiles/scripts/setup_machine
Once you've run setup, you'll still have to do the following manual steps:
Generate this machine's SSH keys:
ssh-keygen -t ed25519 -C "$(hostname)"
Then add the key into GitHub and wherever else
Add any additional ssh keys into ~/.ssh
Might need to extract out of 1Password, once downloaded will have the password removed. To restore, do
ssh-keygen -p -f KEY_FILE
Alternatively, try using the command line op
to get the keys:
op item get SSH_KEY_ITEM_ID --fields "private key" --reveal > ~/.ssh/xxx &&
op item get SSH_KEY_ITEM_ID --fields "public key" > ~/.ssh/xxx.pub
# Private key has quotes around it, so need to remove them before this next step
ssh-keygen -p -f ~/.ssh/xxx
chmod 400 ~/.ssh/xxx*
Authorize your public keys on the new machine:
ssh-import-id gh:fortes
Add your favorite servers into .ssh/config.local
Setup .gitconfig.local
:
[user]
name = Your Name
email = [email protected]
git update-index --skip-worktree ./symlinks/npmrc
To make changes in the future:
git update-index --no-skip-worktree ./symlinks/npmrc
TODO: Automate these steps.
~/.profile.local
, then run :Copilot setup
in NeoVim to authenticatekindlegen
from Amazon (TODO: See if possible to script this)Run browser setup above
Can install some optional apps via scripts:
dotfiles/scripts/setup_kvm
dotfiles/scripts/setup_signal
dotfiles/scripts/setup_zerotier
dotfiles/scripts/setup_zoom
Depending on the machine, you may need pavucontrol
in order to unmute your audio output via GUI.
** Alternatively, find the name of the desired output via pacmd list-sinks
then run pacmd set-default-sink $SINK_NAME
and make sure to unmute via pacmd set-sink-mute [name] 0
If running multiple monitors, need to configure Wacom tablet to only use a specific monitor:
xsetwacom --list | grep stylus # get id, e.g. "21"
xrandr --listactivemonitors # get id, e.g. DP-2
xsetwacom --set "21" MapToOutput DP-2
For High DPI displays, create a ~/.Xresources.local
file with the proper Xft.dpi
(see .Xresources
for example)
To mount SMB shares on boot, add something like the following to /etc/fstab
:
//machine-name/share /media/share cifs nofail,user=,password=,ro 0 0
The Bullseye to Bookworm upgrade requires a few manual steps that I'm too lazy to automate:
apt-key delete
on keys for et
, signal
, etc repos that were added via the now deprecated apt-key
. Find the key id by taking the last eight digits of the hex displayed (no space). E.g. apt-key del 57F6FB06
for Signal. Need to then delete the relevant fiels in /etc/apt/sources.list.d
as wellpip
user packages no longer work, everything got moved to pipx
/venv
and there may be some strays left in ~/.local/bin
that need to be manually removed
pip freeze --user | xargs pip uninstall
should work here/etc/apt/sources.list.d/bullseye-backports.list
and let the script add the new onelsb_release -a
(should be bookworm
)setup_machine
Downloads
folder with Linux, then symlink via ln -s /mnt/chromeos/MyFiles/Downloads ~/downloads
hyper-v
in start menu, will show up in obscure UI for settingsWindows Subsystem for Linux
via MS Store (doesn't seem to work in winget
)winget
, running winget list
should promptApp Installer
winget install AgileBits.1Password
winget install Google.Chrome.Dev
winget install Microsoft.MouseandKeyboardCenter
winget install Microsoft.PowerShell
winget install Microsoft.PowerToys
winget install Microsoft.VisualStudioCode
winget install Mozilla.Firefox
winget install Neovim.Neovim
winget install Plex.PlexAmp
winget install ShareX.ShareX
winget install SourceFoundry.HackFonts
winget install Valve.Steam
(if gaming)winget install VideoLAN.VLC
winget install Zoom.Zoom
%UserProfile%\.wslconfig
:
[wsl2]
memory=16G
systemd
for VM by creating/adding to /etc/wsl.conf
:
[boot]
systemd=true
winget install Debian.Debian
sudo apt update && sudo apt dist-upgrade
~/dotfiles/setup_machine
/etc/fstab
(drvfs
special for WSL):
\\machine-name\share /mnt/machine-share drvfs defaults,ro,noatime,uid=1000,gid=1000,umask=022 0 0
Downloads
Still a work in progress, but kinda works
git
: xcode-select --install
terminal.app
profile, send option as meta keyterminal.app
sucks with colors, so once installs happen, switch to Alacritty and pin it in the dockfind -L ~/.config -type l [-delete]
debian.sources
file instead of sources.list
, need to adjust setup_machine
org.kde.kwalletd5
and ignores gnome keyring)exa
is now unmaintained, need to either go to eza or lsd
1password
GUI not installing correctly, something wrong w/ bash logicWork in progress. The Sway Wiki has some good links for migration, and there are useful tools as well
--ozone-platform-hint=auto
or go to chrome://flags
and set Preferred Ozone platform
sway-notification-center
over dunst, much betterwaybar
and the helpers
wl-clipboard
(wayclip
not in repos)swhkd
to consider as hotkey handler, get sway
out of the business?sway/config.local
out of source control, etcsignal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland
grim
/ slurp
/ grimshot
wf-recorder
?rofi
replacement for app launching, window switching, and shutdown, etc commands.
fzf
, but need to figure out the data sourceswofi
kinda working, need to get terminal apps running (e.g. htop
)gammastep
seems to work on Wayland, need to figure out all the launching, etc
gammastep-indicator
broken due to not including /usr/lib/python3/dist-packages
in PYTHONPATH
, works if done manually, not sure if something wrong with sway config or whatdunst
seems to support wayland, but need to get launching, etc.
mako-notifier
an option, need to configure in order to get iconsswaybg
or just native swayglances
and btop
diff-so-fancy
stevearc/conform.nvim
zellij
which supports sixel? Currently slightly janky thoughwshowkeys
or similar for showing keypresses for screencasts, etcevdi-dkms
nvidia-detect
and run to check supportnvidia-driver
GRUB_GFXMODE=auto
in /etc/default/grub
, then run sudo update-grub