all repos

dotfiles @ 70e19a1b38c94f548df6874e32479b29279505f8

i use rach linux btw
10 files changed, 218 insertions(+), 63 deletions(-)
Add doom emacs config
Author: Smirnov Olexandr ss2316544@gmail.com
Committed at: 2020-12-29 21:01:28 +0200
Parent: e3c8613
M bin/catfetch
···
        12
        12
         shell=$(basename $SHELL)

      
        13
        13
         

      
        14
        14
         # Pakages

      
        15
        
        -manager=$(which dnf apt pacman apk yay xbps-query 2>/dev/null)

      
        
        15
        +manager=$(which apt pacman yay apk xbps-query 2>/dev/null)

      
        16
        16
         manager=${manager##*/}

      
        17
        17
         case "$manager" in

      
        18
        18
         	apt)        packages="$(dpkg-query -f '${binary:Package}\n' -W | wc -l)";;

      
        19
        19
         	pacman)     packages="$(pacman -Q | wc -l)";;

      
        
        20
        +	yay)        packages="$(yay -Q | wc -l)";;

      
        20
        21
         	apk)        packages="$(apk list --installed | wc -l)";;

      
        21
        
        -	yay)        packages="$(yay -Q | wc -l)";;

      
        22
        22
         	xbps-query) packages="$(xbps-query -l | wc -l)";;

      
        23
        23
         esac 

      
        24
        
        -

      
        25
        24
         

      
        26
        25
         

      
        27
        26
         # Colors ####

      ···
        39
        38
         cyan='\e[36m'

      
        40
        39
         white='\e[37m'

      
        41
        40
         

      
        42
        
        -echo -e "              ${blue}${bold}    WM ${reset}${wmname}"

      
        43
        
        -echo -e "   /\_/\      ${blue}${bold} SHELL ${reset}${shell}"

      
        44
        
        -echo -e "  (=^.^=)     ${blue}${bold}KERNEL ${reset}${kernel}"

      
        45
        
        -echo -e "  (\") (\")_/   ${blue}${bold}   PKG ${reset}${packages}"

      
        
        41
        +echo -e "            ${blue}${bold}    WM ${reset}${wmname}"

      
        
        42
        +echo -e "   /\_/\    ${blue}${bold} SHELL ${reset}${shell}"

      
        
        43
        +echo -e "  (=^.^=)   ${blue}${bold}KERNEL ${reset}${kernel}"

      
        
        44
        +echo -e "  (\") (\")_/ ${blue}${bold}   PKG ${reset}${packages}"

      
        46
        45
         echo -e "  ${black}卑${red}卑${green}卑${yellow}卑${blue}卑${magenta}卑${cyan}卑${reset} "

      
        47
        46
         exit 0

      
M config/i3/config
···
        25
        25
         exec --no-startup-id exec nitrogen --restore

      
        26
        26
         exec --no-startup-id exec setxkbmap "us,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps"

      
        27
        27
         exec --no-startup-id exec org.telegram.desktop

      
        28
        
        -exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1

      
        29
        
        -exec --no-startup-id xautolock -time 3 -locker "betterlockscreen --off 180 -t \"Computer is lockerd\" -l"

      
        30
        
        -exec_always --no-startup-id $HOME/.config/i3/bar.sh

      
        
        28
        +exec --no-startup-id exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1

      
        
        29
        +exec_always --no-startup-id exec xautolock -time 3 -locker "betterlockscreen --off 180 -t \"Computer is lockerd\" -l"

      
        
        30
        +exec_always --no-startup-id exec $HOME/.config/i3/bar.sh

      
        31
        31
         #exec --no-startup-id exec conky

      
        32
        32
         #exec --no-startup-id exec redshift-gtk

      
        33
        33
         #exec --no-startup-id exec discord

      
A doom.d/README.md
···
        
        1
        +# Doom emacs

      
        
        2
        +

      
        
        3
        +### Install

      
        
        4
        +~~~bash

      
        
        5
        +sudo pacman -S emacs ripgrep fd

      
        
        6
        +git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d

      
        
        7
        +~/.emacs.d/bin/doom install

      
        
        8
        +~~~

      
A doom.d/config.el
···
        
        1
        +(setq user-full-name "Smirnov Alexandr"

      
        
        2
        +      user-mail-address "ss2316544@gmail.com")

      
        
        3
        +

      
        
        4
        +(setq doom-theme 'doom-one)

      
        
        5
        +(setq org-directory "~/org/")

      
        
        6
        +(setq display-line-numbers-type t)

      
A doom.d/custom.el
···
        
        1
        +(custom-set-variables

      
        
        2
        + '(package-selected-packages '(zoutline)))

      
        
        3
        +(custom-set-faces)

      
A doom.d/init.el
···
        
        1
        +(doom! :input

      
        
        2
        +       ;;chinese

      
        
        3
        +       ;;japanese

      
        
        4
        +       ;;layout            ; auie,ctsrnm is the superior home row

      
        
        5
        +

      
        
        6
        +       :completion

      
        
        7
        +       company             ; the ultimate code completion backend

      
        
        8
        +       ;;helm              ; the *other* search engine for love and life

      
        
        9
        +       ;;ido               ; the other *other* search engine...

      
        
        10
        +       ivy                 ; a search engine for love and life

      
        
        11
        +

      
        
        12
        +       :ui

      
        
        13
        +       ;;deft              ; notational velocity for Emacs

      
        
        14
        +       doom                ; what makes DOOM look the way it does

      
        
        15
        +       doom-dashboard      ; a nifty splash screen for Emacs

      
        
        16
        +       doom-quit           ; DOOM quit-message prompts when you quit Emacs

      
        
        17
        +       (emoji +unicode)    ; 🙂

      
        
        18
        +       ;;fill-column       ; a `fill-column' indicator

      
        
        19
        +       hl-todo             ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW

      
        
        20
        +       ;;hydra

      
        
        21
        +       ;;indent-guides     ; highlighted indent columns

      
        
        22
        +       ;;ligatures         ; ligatures and symbols to make your code pretty again

      
        
        23
        +       ;;minimap           ; show a map of the code on the side

      
        
        24
        +       modeline            ; snazzy, Atom-inspired modeline, plus API

      
        
        25
        +       ;;nav-flash         ; blink cursor line after big motions

      
        
        26
        +       ;;neotree           ; a project drawer, like NERDTree for vim

      
        
        27
        +       ophints             ; highlight the region an operation acts on

      
        
        28
        +       (popup +defaults)   ; tame sudden yet inevitable temporary windows

      
        
        29
        +       tabs                ; a tab bar for Emacs

      
        
        30
        +       treemacs            ; a project drawer, like neotree but cooler

      
        
        31
        +       unicode             ; extended unicode support for various languages

      
        
        32
        +       vc-gutter           ; vcs diff in the fringe

      
        
        33
        +       vi-tilde-fringe     ; fringe tildes to mark beyond EOB

      
        
        34
        +       ;;window-select     ; visually switch windows

      
        
        35
        +       workspaces          ; tab emulation, persistence & separate workspaces

      
        
        36
        +       ;;zen               ; distraction-free coding or writing

      
        
        37
        +

      
        
        38
        +       :editor

      
        
        39
        +       (evil +everywhere)  ; come to the dark side, we have cookies

      
        
        40
        +       ;;file-templates    ; auto-snippets for empty files

      
        
        41
        +       fold                ; (nigh) universal code folding

      
        
        42
        +       ;;(format +onsave)  ; automated prettiness

      
        
        43
        +       ;;god               ; run Emacs commands without modifier keys

      
        
        44
        +       ;;lispy             ; vim for lisp, for people who don't like vim

      
        
        45
        +       ;;multiple-cursors  ; editing in many places at once

      
        
        46
        +       ;;objed             ; text object editing for the innocent

      
        
        47
        +       ;;parinfer          ; turn lisp into python, sort of

      
        
        48
        +       ;;rotate-text       ; cycle region at point between text candidates

      
        
        49
        +       ;;snippets          ; my elves. They type so I don't have to

      
        
        50
        +       ;;word-wrap         ; soft wrapping with language-aware indent

      
        
        51
        +

      
        
        52
        +       :emacs

      
        
        53
        +       dired             ; making dired pretty [functional]

      
        
        54
        +       electric          ; smarter, keyword-based electric-indent

      
        
        55
        +       ;;ibuffer         ; interactive buffer management

      
        
        56
        +       undo              ; persistent, smarter undo for your inevitable mistakes

      
        
        57
        +       vc                ; version-control and Emacs, sitting in a tree

      
        
        58
        +

      
        
        59
        +       :term

      
        
        60
        +       eshell            ; the elisp shell that works everywhere

      
        
        61
        +       ;;shell             ; simple shell REPL for Emacs

      
        
        62
        +       ;;term              ; basic terminal emulator for Emacs

      
        
        63
        +       ;;vterm             ; the best terminal emulation in Emacs

      
        
        64
        +

      
        
        65
        +       :checkers

      
        
        66
        +       syntax              ; tasing you for every semicolon you forget

      
        
        67
        +       ;;spell             ; tasing you for misspelling mispelling

      
        
        68
        +       ;;grammar           ; tasing grammar mistake every you make

      
        
        69
        +

      
        
        70
        +       :tools

      
        
        71
        +       ;;ansible

      
        
        72
        +       ;;debugger          ; FIXME stepping through code, to help you add bugs

      
        
        73
        +       ;;direnv

      
        
        74
        +       ;;docker

      
        
        75
        +       ;;editorconfig      ; let someone else argue about tabs vs spaces

      
        
        76
        +       ;;ein               ; tame Jupyter notebooks with emacs

      
        
        77
        +       (eval +overlay)     ; run code, run (also, repls)

      
        
        78
        +       ;;gist              ; interacting with github gists

      
        
        79
        +       lookup              ; navigate your code and its documentation

      
        
        80
        +       lsp

      
        
        81
        +       magit               ; a git porcelain for Emacs

      
        
        82
        +       ;;make              ; run make tasks from Emacs

      
        
        83
        +       ;;pass              ; password manager for nerds

      
        
        84
        +       ;;pdf               ; pdf enhancements

      
        
        85
        +       ;;prodigy           ; FIXME managing external services & code builders

      
        
        86
        +       ;;rgb               ; creating color strings

      
        
        87
        +       ;;taskrunner        ; taskrunner for all your projects

      
        
        88
        +       ;;terraform         ; infrastructure as code

      
        
        89
        +       ;;tmux              ; an API for interacting with tmux

      
        
        90
        +       ;;upload            ; map local to remote projects via ssh/ftp

      
        
        91
        +

      
        
        92
        +       :os

      
        
        93
        +       (:if IS-MAC macos)  ; improve compatibility with macOS

      
        
        94
        +       tty                 ; improve the terminal Emacs experience

      
        
        95
        +

      
        
        96
        +       :lang

      
        
        97
        +       ;;agda              ; types of types of types of types...

      
        
        98
        +       ;;cc                ; C/C++/Obj-C madness

      
        
        99
        +       ;;clojure           ; java with a lisp

      
        
        100
        +       ;;common-lisp       ; if you've seen one lisp, you've seen them all

      
        
        101
        +       ;;coq               ; proofs-as-programs

      
        
        102
        +       ;;crystal           ; ruby at the speed of c

      
        
        103
        +       ;;csharp            ; unity, .NET, and mono shenanigans

      
        
        104
        +       ;;data              ; config/data formats

      
        
        105
        +       ;;(dart +flutter)   ; paint ui and not much else

      
        
        106
        +       ;;elixir            ; erlang done right

      
        
        107
        +       ;;elm               ; care for a cup of TEA?

      
        
        108
        +       emacs-lisp          ; drown in parentheses

      
        
        109
        +       ;;erlang            ; an elegant language for a more civilized age

      
        
        110
        +       ;;ess               ; emacs speaks statistics

      
        
        111
        +       ;;faust             ; dsp, but you get to keep your soul

      
        
        112
        +       ;;fsharp            ; ML stands for Microsoft's Language

      
        
        113
        +       ;;fstar             ; (dependent) types and (monadic) effects and Z3

      
        
        114
        +       ;;gdscript          ; the language you waited for

      
        
        115
        +       (go +lsp)           ; the hipster dialect

      
        
        116
        +       ;;(haskell +dante)  ; a language that's lazier than I am

      
        
        117
        +       ;;hy                ; readability of scheme w/ speed of python

      
        
        118
        +       ;;idris             ; a language you can depend on

      
        
        119
        +       json                ; At least it ain't XML

      
        
        120
        +       ;;(java +meghanada) ; the poster child for carpal tunnel syndrome

      
        
        121
        +       ;;javascript        ; all(hope(abandon(ye(who(enter(here))))))

      
        
        122
        +       ;;julia             ; a better, faster MATLAB

      
        
        123
        +       ;;kotlin            ; a better, slicker Java(Script)

      
        
        124
        +       ;;latex             ; writing papers in Emacs has never been so fun

      
        
        125
        +       ;;lean

      
        
        126
        +       ;;factor

      
        
        127
        +       ;;ledger            ; an accounting system in Emacs

      
        
        128
        +       ;;lua               ; one-based indices? one-based indices

      
        
        129
        +       markdown            ; writing docs for people to ignore

      
        
        130
        +       ;;nim               ; python + lisp at the speed of c

      
        
        131
        +       ;;nix               ; I hereby declare "nix geht mehr!"

      
        
        132
        +       ;;ocaml             ; an objective camel

      
        
        133
        +       org                 ; organize your plain life in plain text

      
        
        134
        +       ;;php               ; perl's insecure younger brother

      
        
        135
        +       ;;plantuml          ; diagrams for confusing people more

      
        
        136
        +       ;;purescript        ; javascript, but functional

      
        
        137
        +       python              ; beautiful is better than ugly

      
        
        138
        +       ;;qt                ; the 'cutest' gui framework ever

      
        
        139
        +       ;;racket            ; a DSL for DSLs

      
        
        140
        +       ;;raku              ; the artist formerly known as perl6

      
        
        141
        +       ;;rest              ; Emacs as a REST client

      
        
        142
        +       ;;rst               ; ReST in peace

      
        
        143
        +       ;;(ruby +rails)     ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}

      
        
        144
        +       ;;rust              ; Fe2O3.unwrap().unwrap().unwrap().unwrap()

      
        
        145
        +       ;;scala             ; java, but good

      
        
        146
        +       ;;scheme              ; a fully conniving family of lisps

      
        
        147
        +       sh                  ; she sells {ba,z,fi}sh shells on the C xor

      
        
        148
        +       ;;sml

      
        
        149
        +       ;;solidity          ; do you need a blockchain? No.

      
        
        150
        +       ;;swift             ; who asked for emoji variables?

      
        
        151
        +       ;;terra             ; Earth and Moon in alignment for performance.

      
        
        152
        +       ;;web               ; the tubes

      
        
        153
        +       yaml                ; JSON, but readable

      
        
        154
        +

      
        
        155
        +       :email

      
        
        156
        +       ;;(mu4e +gmail)

      
        
        157
        +       ;;notmuch

      
        
        158
        +       ;;(wanderlust +gmail)

      
        
        159
        +

      
        
        160
        +       :app

      
        
        161
        +       ;;calendar

      
        
        162
        +       ;;irc               ; how neckbeards socialize

      
        
        163
        +       ;;(rss +org)        ; emacs as an RSS reader

      
        
        164
        +       ;;twitter           ; twitter client https://twitter.com/vnought

      
        
        165
        +

      
        
        166
        +       :config

      
        
        167
        +       ;;literate

      
        
        168
        +       (default +bindings +smartparens))

      
A doom.d/packages.el
···
        
        1
        +(package! rainbow-mode)

      
        
        2
        +(package! async)

      
        
        3
        +(package! go-autocomplete)

      
M script/dmenu/dmenu-power.sh
···
        15
        15
                 esac

      
        16
        16
             ;;

      
        17
        17
             "Lock") 

      
        18
        
        -        declare opt=("Yes\nNo")

      
        19
        
        -        yesno=$(echo -e "${opt[@]}" | dmenu -p 'Power' $@)

      
        20
        
        -        case "$yesno" in

      
        21
        
        -            "Yes") exec  betterlockscreen --off 300 -t "Computer is lockerd" -l;;

      
        22
        
        -            "No") exec exit 0 ;;

      
        23
        
        -        esac

      
        24
        
        -    ;;

      
        
        18
        +        exec betterlockscreen --off 300 -t "Computer is lockerd" -l ;;

      
        25
        19
             "Logout")

      
        26
        20
                 declare opt=("Yes\nNo")

      
        27
        21
                 yesno=$(echo -e "${opt[@]}" | dmenu -p 'Logout' $@)

      
D script/spectrwm-bar.sh
···
        1
        
        -#!/bin/bash

      
        2
        
        -

      
        3
        
        -## WIFI SIGNAL

      
        4
        
        -wifi() {

      
        5
        
        -  wifis=$(cat /proc/net/wireless | grep "wlp3s0" | awk '{print $4}' | grep -o '[0-9]*')

      
        6
        
        -  echo -e " $wifis%"

      
        7
        
        -}

      
        8
        
        -

      
        9
        
        -## RAM

      
        10
        
        -mem() {

      
        11
        
        -  mem=`free | awk '/Mem/ {printf "%dM/%dM\n", $3 / 1024.0, $2 / 1024.0 }'`

      
        12
        
        -  echo -e "$mem"

      
        13
        
        -}

      
        14
        
        -

      
        15
        
        -## VOLUME

      
        16
        
        -vol() {

      
        17
        
        -    vol=`amixer get Master | awk -F'[][]' 'END{ print $4":"$2 }' | sed 's/on://g'`

      
        18
        
        -    echo -e " $vol"

      
        19
        
        -}

      
        20
        
        -

      
        21
        
        -

      
        22
        
        -## KEYBOARD

      
        23
        
        -keyl() {

      
        24
        
        -    case "$(xkblayout)" in

      
        25
        
        -        Eng) date="us";;

      
        26
        
        -        Rus) date="ru";;

      
        27
        
        -        Ukr) date="ua";;

      
        28
        
        -    esac

      
        29
        
        -    echo -e " $date"

      
        30
        
        -}

      
        31
        
        -

      
        32
        
        -

      
        33
        
        -SLEEP_SEC=0

      
        34
        
        -while :; do

      
        35
        
        -    echo "+@fg=2;$(keyl) +@fg=0; +@fg=3;$(vol) +@fg=0; +@fg=4;$(wifi) +@fg=0;"

      
        36
        
        -	sleep $SLEEP_SEC

      
        37
        
        -done

      
        38
        
        -

      
M zshrc
···
        17
        17
         export UPDATE_ZSH_DAYS=7        # Change how often to auto-update.

      
        18
        18
         export LANG=en_US.UTF-8         # Set locale

      
        19
        19
         

      
        20
        
        -plugins=(pip python golang pass sudo heroku git taskwarrior encode64)

      
        
        20
        +plugins=(pip python golang pass emacs sudo heroku git taskwarrior encode64)

      
        21
        21
         source $ZSH/oh-my-zsh.sh

      
        22
        22
         

      
        23
        23
         

      ···
        34
        34
         

      
        35
        35
         ### Aliases ###

      
        36
        36
         alias cls="clear"

      
        37
        
        -alias :q="exit"

      
        38
        
        -alias :q!="exit"

      
        39
        
        -alias q="exit"

      
        40
        
        -alias :qw="exit"

      
        41
        
        -alias tmux="tmux -2"

      
        42
        
        -alias vim="nvim"

      
        43
        37
         alias mkdir="mkdir -p"

      
        44
        38
         alias mkd="mkdir"

      
        45
        39
         alias sl="ls"

      ···
        48
        42
         alias df="df -h"

      
        49
        43
         alias lns="ln -s"

      
        50
        44
         alias uln="unlink"

      
        
        45
        +

      
        
        46
        +# Program

      
        
        47
        +alias vim="nvim"

      
        
        48
        +alias tmux="tmux -2"

      
        51
        49
         alias ipython="ipython --no-banner"

      
        52
        50
         alias icat="kitty +kitten icat"

      
        
        51
        +eval $(thefuck --alias)

      
        
        52
        +

      
        
        53
        +# Exit

      
        
        54
        +alias :q="exit"

      
        
        55
        +alias :q!="exit"

      
        
        56
        +alias q="exit"

      
        
        57
        +alias :qw="exit"

      
        
        58
        +

      
        
        59
        +# Navigation

      
        53
        60
         alias ..="cd .."

      
        54
        61
         alias ...="cd ../.."

      
        55
        62
         alias .3="cd ../../.."

      
        56
        63
         alias .4="cd ../../../.."

      
        57
        64
         alias .5="cd ../../../../.."

      
        58
        65
         alias .6="cd ../../../../../.."

      
        59
        
        -eval $(thefuck --alias)

      
        
        66
        +

      
        
        67
        +# Doom emacs

      
        
        68
        +alias doomsync="$HOME/.emacs.d/bin/doom sync"

      
        
        69
        +alias doomupgrade="$HOME/.emacs.d/bin/doom upgrade"

      
        
        70
        +alias doomdoctor="$HOME/.emacs.d/bin/doom doctor"

      
        
        71
        +alias doom="$HOME/.emacs.d/bin/doom"