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"