dotFiles

home, sweet $HOME

WTFPL License

Stars
7

dotFiles

home, sweet $HOME

.
 .config                    // XDG_CONFIG_HOME
    alacritty
       alacritty.yml
  aria2
   aria2.conf         // aria2 websocket JSON RPC and event hooks
   download-error.sh
   download-complete.sh
   download-start.sh
    autostart
    bash
       bashrc             // bash alias
    environment.d
       pam                // environment variables
    fcitx5
       conf
           clipboard.conf // clipboard paste primary
    fish
       conf.d
          rocka.fish     // fish shell alias
       fish_plugins       // fisher packages
       fish_variables     // color scheme
    fontconfig
   conf.d
    10-replace.conf
    30-color-emoji.conf
   fonts.conf
    gebaar
       gebaard.toml       // kde flavored gestures
    git
       config
    gtk-3.0
       bookmarks
       gtk.css
       settings.ini       // GTK window button order
    htop
       htoprc
    mpv
       mpv.conf           // hwdec, window size, screenshot file name, etc
    npm
       npmrc              // npm local prefix
    nvim                   // neovim
       init.vim
    octave
       octaverc
    Phonon
       mpv.conf           // hwdec for phonon-mpv
    powerline
       themes
           tmux           // powerline segments in tmux
    python
       init.py            // write python_histroy to $XDG_STATE_HOME
    systemd                // systemd user service
       user
           aria2.service
           chromium-dbus-proxy.service // prevent chromium from using dark mode
           ssh-agent.service
    tmux
       tmux.conf          // minial powerline-enabled tmux config
    touchegg
       touchegg.conf      // kde flavored touchpad gestures
    vim
       vimrc
    yarn
       config
    yay
       config.json
    chromium-flags.conf    // kwallet, overlay scrollbars, vaapi, ozone wayland
    code-flags.conf        // -> electron-flags.conf
    electron-flags.conf    // ozone wayland
    ksmserverrc            // disable session restore
    kwinrc
    plasmashellrc          // clipboard actions
    purposerc              // cleanup kde's share menu
    user-dirs.dirs
    user-dirs.locale
 .gnupg
    dirmngr.conf           // openpgp key server
    gpg-agent.conf
    gpg.conf
 .local
    bin                    // global `bin`
       aria2-dl           // CLI tool for sending `aria2.addUri` to JSON RPC
       btw                // print a blue Arch
       chromium-dbus-proxied // use `chromium-dbus-proxy`
       color-test         // test terminal colors
       firefox            // bwrap ~/.mozilla
       krita              // im module and xwayland scalling
       kwindesktopctl     // script to switch virtual desktop in kde
       syucnt             // count how many times you've `pacman -Syu`'d
       telegram-desktop   // use kde dialog
       thunderbird        // bwrap ~/.thunderbird, enable wayland
       yd                 // simple GUI wrapper for `ydcv`
       yt-dlp-wrapper     // `yt-dlp` GUI wrapper for clipboard actions
    share
        applications       // modified desktop entries (for icon or description)
        dbus-1
           services
               org.telegram.desktop.desktop // telegram-desktop dbus activation
        icons              // custom icons
        kio
           servicemenus
               unzip.desktop // unzip as gbk or jis in dophin
        konsole            // konsole color schemes
        solid
           actions        // disable gwenview's `import photos`
        yakuake
            skins
 LICENSE                    // WTFPL
 README.md

the file tree above can be generated by tree -aL 4 -I .git

  • let bash read ~/.config/bash/bashrc:

    # /etc/bash.bashrc
    RCFILE="${XDG_CONFIG_HOME:-$HOME/.local/share}/bash/bashrc"
    [ -r $RCFILE ] && . "${RCFILE}"
    unset RCFILE
    
    export HISTFILE="${XDG_STATE_HOME:-$HOME/.local/state}/bash/history"
    
  • let pam_env read user env file:

    # /etc/pam.d/system-login
    session    required   pam_env.so           user_readenv=1 user_envfile=.config/environment.d/pam
    
  • recommended fonts:

  • install fisher before using my fish_plugins

  • install phonon-mpv-git to get rid of vlc in KDE 6

  • (deprecated) install touchegg for touchpad gestures support of libinput

  • (deprecated) gebaar for gestures support of libinput

  • install ydcv-rs and kdialog before using the script yd

  • install package yt-dlp and kdialog before using the script yt-dlp-wrapper

  • some custom icons comes from varlesh/breeze-extra

  • Yakuake theme: a modified version of Breeze Prefect Dark

  • install powerline to use powerline in tmux & bash

  • install powerline-vim to use powerline in vim

  • install vim-airline and vim-airline-themes to use airline in neovim

  • which KDE Plasma config file to find: shalva97/kde-configuration-files

  • KWin hide titlebar for maximized windows:

    kwriteconfig6 --file ~/.config/kwinrc --group Windows --key BorderlessMaximizedWindows true
    qdbus6 org.kde.KWin /KWin reconfigure
    
  • KDE Plasma toggle widgets "locked" state

    qdbus6 org.kde.plasmashell /PlasmaShell evaluateScript "lockCorona(!locked)"
    
  • KDE Plasma change "Meta" key behavior

    # default behavior, open application launcher
    kwriteconfig6 --file ~/.config/kwinrc --group ModifierOnlyShortcuts --key Meta "org.kde.plasmashell,/PlasmaShell,org.kde.PlasmaShell,activateLauncherMenu"
    # activate "Overview" effect
    kwriteconfig6 --file ~/.config/kwinrc --group ModifierOnlyShortcuts --key Meta "org.kde.kglobalaccel,/component/kwin,org.kde.kglobalaccel.Component,invokeShortcut,Overview"
    qdbus6 org.kde.KWin /KWin reconfigure