/DotFiles

Config files to programs that I use

Primary LanguageShell

DotFiles

These are config files and scripts which power my arch linux system.

Installation

  1. Execute setup script:
    sudo pacman -S git
    git clone https://github.com/SmirnovAlexander/DotFiles.git && cd DotFiles
    ./setup.sh
  2. Reboot in case of desktop and relogin in case of server
  3. (Optionally) Install conda, initialize ssh and gpg keys:
    ./post_setup.sh
  4. Install neovim plugins:
    :PlugInstall
    :Copilot auth
    
  5. Install tmux plugins:
    <C-b> + I
    
  6. Configure Brave browser:

Additional Configuration Info

  • 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 is root. This is on purpose and should be toggled with zp (enable syntax highlighting with zv) GitHub | ranger / issues
  • tmux is not loading config from $XDG_CONFIG_HOME/tmux/tmux.conf on old versions
  • nsxiv images in thumbnail mode and .HEIC are rotated according to EXIF:Orientation tag but they shouldn't
    • maybe because of imagemagick package required by betterlockscreen
  • for virtualbox to function properly, add ibt=off to kernel parameters
    • to add shared folder, install virtualbox-guest-iso (or virtualbox-guest-utils), run Devices -> Insert Guest Additions CD Image and My 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 connect MTP devices (e.g. Garmin), use libmtp
  • to make printer work use Avahi
  • suspend vs hibernate:
  • 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:
  • 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=):
    { ControlMask,          Button4, zoom,           {.f = +1} },
    { ControlMask,          Button5, zoom,           {.f = -1} },
    
    put them before 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 or hibernate -> 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
  • gparted might not format partition because of udiskie automount; disable it

ToDo

  • 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