These are config files and scripts which power my arch linux system.
- Execute setup script:
sudo pacman -S git git clone https://github.com/SmirnovAlexander/DotFiles.git && cd DotFiles ./setup.sh
- Reboot in case of desktop and relogin in case of server
- (Optionally) Install
conda
, initialize ssh and gpg keys:./post_setup.sh
- Install neovim plugins:
:PlugInstall :Copilot auth
- Install tmux plugins:
<C-b> + I
- Configure Brave browser:
- disable password savings:
brave://settings/passwords
- change search engine to Google:
brave://settings/search
- enable autocomplete searches option:
brave://settings/privacy
- install extensions:
- disable password savings:
- to enable pacman parallel download follow Arch Wiki | pacman / Enabling parallel downloads
- to speed up pacman packages download, update mirrorlist by something like
sudo reflector --sort rate --connection-timeout 2 --download-timeout 2 --threads 10 --save /etc/pacman.d/mirrorlist
- if you can't log in after a couple of failed attempts it is probably caused by
faillock
Arch Wiki | security / Lock out user after three failed login attempts - to change
sudo
timeout follow Arch Wiki | sudo / Tips and tricks / Reduce the number of times you have to type a password ranger
is not previewing anything when user isroot
. This is on purpose and should be toggled withzp
(enable syntax highlighting withzv
) GitHub | ranger / issuestmux
is not loading config from$XDG_CONFIG_HOME/tmux/tmux.conf
on old versionsnsxiv
images in thumbnail mode and.HEIC
are rotated according toEXIF:Orientation
tag but they shouldn't- maybe because of
imagemagick
package required bybetterlockscreen
- maybe because of
- for
virtualbox
to function properly, addibt=off
to kernel parameters- to add shared folder, install
virtualbox-guest-iso
(orvirtualbox-guest-utils
), runDevices -> Insert Guest Additions CD Image
andMy Computer -> CD Drive (VirtualBox Guest Additions) -> VBoxWindowsAdditions.exe.
- add user to
vboxusers
group to detect USB devices - shared clipboard (requires guest additions): highlight the Guest VBox in the VirtualBox console, open General -> Advanced. Here you can choose between various Shared Clipboard settings: Disabled, Guest to Host, Host to Guest or Bidirectional
- to add shared folder, install
- to connect MTP devices (e.g. Garmin), use libmtp
- to make printer work use Avahi
- suspend vs hibernate:
- suspend:
- seems to drain a lot of battery, but it might be because of lid opens in backpack and laptop turns on
- investigate the effect of disabling waking on lid open
- hibernate:
- doesn't work by default
- general configuration instruction: Arch Wiki | Power management / Suspend and hibernate
- create swap for hibernation (maybe not needed): Arch Wiki | Swap / Swap file creation
- add kernel parameters: Arch Wiki | Kernel parameters / systemd-boot
- in case "Not enough swap space for hibernation": [SOLVED] Fail to hibernate "Not enough swap space for hibernation"
- suspend:
- to connect meshtastic:
- install driver from aur (maybe would've worked w/o it) and reboot
sudo pacman -S esptool
ll /dev | grep USB
esptool.py -p /dev/ttyCH343USB1 chip_id
- Download release from github
./device-install.sh -p /dev/ttyCH343USB1 -f firmware-tbeam-2.1.19.eb7025f.bin
meshtastic --port /dev/ttyCH343USB1 --info
meshtastic --port /dev/ttyCH343USB1 --set lora.region 'RU'
- to set up wifi hotspot (shares VPN as well): Arch Wiki | Software access point | linux-wifi-hotspot
- to download/upload config to baofeng walkie-talkie:
- install drivers (another source)
- install software from baofeng website
- reboot
- to fix screen tearing enable vsync with glx backend in picom (already enabled in picom.conf)
- to fix openvpn-install script on arch linux server apply openvpn-install.diff
- to use this setup on ROS embedded device, apart from sourcing ROS setup files, configure ip addresses like this in shell profile:
export ROS_HOSTNAME=$(ip route | grep wlan0 | grep src | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | tail -1) export ROS_MASTER_URI=http://$ROS_HOSTNAME:11311
- to enable zoom in
st
(to make it work in neovim -- disable mouse:set mouse=
):put them before{ ControlMask, Button4, zoom, {.f = +1} }, { ControlMask, Button5, zoom, {.f = -1} },
XK_ANY_MOD
masks - to copy output, add:
static char *copyoutput[] = { "/bin/sh", "-c", "st-copyout", "externalpipe", NULL }; { MODKEY, XK_o, externalpipe, {.v = copyoutput } },
- if laptop immediately wakes up after
suspend
orhibernate
-> maybe I am touching touchpad? - to use local X11 display from remote server via ssh, use:
- add
-listen tcp
to X11 startup args/etc/X11/xinit/xserverrc
xhost +
- export DISPLAY=IP:0.0
- add
- gparted might not format partition because of udiskie automount; disable it
- make
rm
command to move to trash folder but not delete - open all terminal windows at tmux
tmux attach-session -t random \; new-window ranger
- come up with solution for notes management
- rewrite mute script to iterate through all sources and mute/unmute them
- display muted status as every output is muted
- complete deletion script of marked photos in nsxiv
- preinstall coc extensions in a setup script, which is useful for docker environments; begin here and here