Compare commits
62 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
6cb60e7a27 | ||
|
d50cdca292 | ||
|
f35f478a03 | ||
|
9d25e4c13b | ||
|
f2ef049f7f | ||
|
e4d3e84525 | ||
|
ea78b16bd9 | ||
|
6f97821cae | ||
|
f0202964ec | ||
|
6f07d96ea0 | ||
|
0cd98dd54b | ||
|
074f9bcb3c | ||
|
6dbc5a2635 | ||
|
ea2954b21e | ||
|
c8b5165b95 | ||
|
0f015849aa | ||
|
a830c391e6 | ||
|
2772190259 | ||
|
b51604d950 | ||
|
a9f2b370d0 | ||
|
e471aad8d4 | ||
|
ae3e2e45b6 | ||
|
5240a44722 | ||
|
ae9e8f5d7c | ||
|
8bf32d1b93 | ||
|
6a2f0dec9d | ||
|
0c3fc88325 | ||
|
37837558b1 | ||
|
fc49bdf6c4 | ||
|
5866cb54d0 | ||
|
5cd9fdc6a9 | ||
|
91a33cdeb5 | ||
|
0a59f73c8f | ||
|
2d20791d0d | ||
|
2f78d852e6 | ||
|
619cd94874 | ||
|
c9c02318d3 | ||
|
b88768512a | ||
|
ca7513be8b | ||
|
6814a0f545 | ||
|
9cca8b0e05 | ||
|
1e449408bb | ||
|
32509d6482 | ||
|
aa48c18165 | ||
|
23556fddf2 | ||
|
ea3d2edc97 | ||
|
59483a7ac8 | ||
|
e68ff6e85e | ||
|
18af6196b3 | ||
|
90d6b9aad9 | ||
|
f8a7c1e39d | ||
|
1a1c055b06 | ||
|
ee3e7b81e4 | ||
|
cfb2d498fa | ||
|
ebcaeb805c | ||
|
3f5da0dfe0 | ||
|
d829dd0959 | ||
|
c29fdd9625 | ||
|
21debe133a | ||
|
fc8c11d360 | ||
|
8e833119db | ||
|
9a934dc351 |
1
.dockerignore
Normal file
1
.dockerignore
Normal file
@@ -0,0 +1 @@
|
||||
*
|
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,2 +0,0 @@
|
||||
.*
|
||||
vim/Session.vim
|
||||
|
15
.gitmodules
vendored
15
.gitmodules
vendored
@@ -1,10 +1,13 @@
|
||||
[submodule "vim/bundle/vundle"]
|
||||
path = vim/bundle/vundle
|
||||
[submodule "vim/.vim/bundle/vundle"]
|
||||
path = vim/.vim/bundle/vundle
|
||||
url = https://github.com/gmarik/vundle.git
|
||||
ignore = dirty
|
||||
[submodule "oh-my-zsh"]
|
||||
path = oh-my-zsh
|
||||
path = zsh/.oh-my-zsh
|
||||
url = https://github.com/balkian/oh-my-zsh.git
|
||||
[submodule "i3-wm-scripts"]
|
||||
path = bin/i3-wm-scripts
|
||||
url = https://github.com/yiuin/i3-wm-scripts.git
|
||||
[submodule "prezto"]
|
||||
path = zsh/.zprezto
|
||||
url = https://github.com/sorin-ionescu/prezto.git
|
||||
[submodule "i3/.config/i3/i3blocks-contrib"]
|
||||
path = i3/.config/i3/i3blocks-contrib
|
||||
url = https://github.com/vivien/i3blocks-contrib.git
|
||||
|
@@ -1,54 +0,0 @@
|
||||
FROM ubuntu:14.04
|
||||
|
||||
RUN apt-get update -y
|
||||
RUN apt-get install -y build-essential
|
||||
RUN apt-get install -y cmake
|
||||
RUN apt-get install -y curl
|
||||
RUN apt-get install -y diffstat
|
||||
RUN apt-get install -y git
|
||||
RUN apt-get install -y pkg-config
|
||||
RUN apt-get install -y python
|
||||
RUN apt-get install -y python-dev
|
||||
RUN apt-get install -y python3
|
||||
RUN apt-get install -y tmux
|
||||
RUN apt-get install -y vim
|
||||
RUN apt-get install -y zsh
|
||||
|
||||
RUN curl -SL 'https://bootstrap.pypa.io/get-pip.py' | python2
|
||||
RUN pip install virtualenv
|
||||
RUN pip install virtualenvwrapper
|
||||
|
||||
# Setup home environment
|
||||
RUN useradd dev
|
||||
RUN mkdir /home/dev && chown -R dev: /home/dev
|
||||
ENV PATH /home/dev/bin:$PATH
|
||||
|
||||
# Create a shared data volume
|
||||
# We need to create an empty file, otherwise the volume will
|
||||
# belong to root.
|
||||
# This is probably a Docker bug.
|
||||
RUN mkdir /var/shared/
|
||||
RUN touch /var/shared/placeholder
|
||||
RUN chown -R dev:dev /var/shared
|
||||
RUN mkdir -p /usr/src/app/
|
||||
RUN touch /usr/src/app/nocode
|
||||
RUN chown -R dev:dev /usr/src/app
|
||||
|
||||
VOLUME /usr/src/app
|
||||
|
||||
WORKDIR /home/dev
|
||||
ENV HOME /home/dev
|
||||
RUN git clone https://github.com/balkian/dotfiles /home/dev/dotfiles
|
||||
RUN sh /home/dev/dotfiles/make.sh
|
||||
|
||||
# Link in shared parts of the home directory
|
||||
RUN ln -s /var/shared/.ssh
|
||||
RUN ln -s /usr/src/app
|
||||
RUN chsh dev -s /usr/bin/zsh
|
||||
|
||||
RUN chown -R dev: /home/dev
|
||||
RUN chown -R dev: /usr/local/
|
||||
|
||||
WORKDIR /home/dev/app
|
||||
ENTRYPOINT ["zsh"]
|
||||
USER dev
|
57
Dockerfile
Normal file
57
Dockerfile
Normal file
@@ -0,0 +1,57 @@
|
||||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update -y && \
|
||||
apt-get install -y build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
diffstat \
|
||||
git \
|
||||
pkg-config \
|
||||
python \
|
||||
python-dev \
|
||||
python \
|
||||
python3 \
|
||||
tmux \
|
||||
stow \
|
||||
sudo \
|
||||
vim \
|
||||
zsh && \
|
||||
apt clean
|
||||
|
||||
RUN curl -SL 'https://bootstrap.pypa.io/get-pip.py' | python3
|
||||
RUN pip install virtualenv virtualenvwrapper
|
||||
|
||||
# Setup home environment
|
||||
RUN useradd dev
|
||||
RUN mkdir /home/dev && chown -R dev: /home/dev
|
||||
ENV PATH /home/dev/bin:$PATH
|
||||
|
||||
# Create a shared data volume
|
||||
# We need to create an empty file, otherwise the volume will
|
||||
# belong to root.
|
||||
# This is probably a Docker bug.
|
||||
RUN mkdir /var/shared/
|
||||
RUN touch /var/shared/placeholder
|
||||
RUN chown -R dev:dev /var/shared
|
||||
RUN mkdir -p /usr/src/app/
|
||||
RUN touch /usr/src/app/nocode
|
||||
RUN chown -R dev:dev /usr/src/app
|
||||
|
||||
VOLUME /usr/src/app
|
||||
|
||||
WORKDIR /home/dev
|
||||
ENV HOME /home/dev
|
||||
RUN mkdir /home/dev/dotfiles/
|
||||
RUN ls /home/dev/dotfiles
|
||||
COPY . /home/dev/dotfiles
|
||||
RUN sh /home/dev/dotfiles/make.sh
|
||||
|
||||
# Link in shared parts of the home directory
|
||||
RUN ln -s /var/shared/.ssh && ln -s /usr/src/app
|
||||
RUN chsh dev -s /usr/bin/zsh
|
||||
|
||||
RUN echo "dev ALL = NOPASSWD: ALL" >> /etc/sudoers
|
||||
|
||||
USER dev
|
||||
WORKDIR /home/dev/app
|
||||
ENTRYPOINT ["zsh"]
|
15
Makefile
Normal file
15
Makefile
Normal file
@@ -0,0 +1,15 @@
|
||||
########## Variables
|
||||
|
||||
# change to the dotfiles directory
|
||||
|
||||
stow: submodules
|
||||
find . -maxdepth 0 -type d | xargs stow -v
|
||||
|
||||
submodules:
|
||||
git submodule update --init --recursive
|
||||
|
||||
docker: Dockerfile
|
||||
git clone . /tmp/dotfiles
|
||||
docker build -t balkian/devmachine /tmp/dotfiles
|
||||
|
||||
.PHONY: stow submodules docker
|
21
README.md
21
README.md
@@ -11,13 +11,22 @@ The fast way:
|
||||
```bash
|
||||
curl -#L https://github.com/balkian/dotfiles/tarball/master | tar -xzv --strip-components 1 --exclude={README.md}
|
||||
```
|
||||
### Install
|
||||
### Quick install
|
||||
|
||||
Just run:
|
||||
```bash
|
||||
```
|
||||
make
|
||||
```
|
||||
### Install
|
||||
Each folder contains the configuration files for a specific program, as they would appear under "$HOME" (~).
|
||||
To install them, first initialize the submodules:
|
||||
|
||||
```
|
||||
git submodule update --init --recursive
|
||||
source make.sh
|
||||
```
|
||||
|
||||
## How it works
|
||||
So far, this is the simplest way of keeping your dotfiles in a repository. The installation script will just back-up your files in a folder in your ~/ with the timestamp, so running it twice won't destroy your original files.
|
||||
Then, you can use the [GNU Stow](https://www.gnu.org/software/stow/) utility to link the files to the appropriate folder:
|
||||
```bash
|
||||
stow <modules that you want to install>
|
||||
```
|
||||
|
||||
Alternatively, you may simply copy the files to your $HOME folder.
|
||||
|
@@ -1,38 +0,0 @@
|
||||
URxvt*termName:screen-256color
|
||||
URxvt*loginShell:true
|
||||
URxvt.iconFile: /usr/share/icons/HighContrast/scalable/apps/utilities-terminal.svg
|
||||
URxvt.scrollBar: false
|
||||
URxvt.scrollstyle: rxvt
|
||||
URxvt*scrollTtyOutput: false
|
||||
URxvt*scrollWithBuffer: true
|
||||
URxvt*scrollTtyKeypress: true
|
||||
URxvt.depth: 32
|
||||
URxvt.saveLines: 50000
|
||||
|
||||
URxvt.font: xft:DejaVu Sans Mono:size=10
|
||||
Xft.antialias: rgba
|
||||
Xft.hinting: true
|
||||
Xft.hintstyle: hintslight
|
||||
Xft.rgba: rgb
|
||||
Xft.dpi: 96
|
||||
URxvt.letterSpace: -2
|
||||
|
||||
|
||||
URxvt.foreground: #FFFFFF
|
||||
URxvt.background: #111111
|
||||
URxvt.color0: #2E3436
|
||||
URxvt.color1: #CC0000
|
||||
URxvt.color2: #4E9A06
|
||||
URxvt.color3: #C4A000
|
||||
URxvt.color4: #3465A4
|
||||
URxvt.color5: #75507B
|
||||
URxvt.color6: #06989A
|
||||
URxvt.color7: #D3D7CF
|
||||
URxvt.color8: #555753
|
||||
URxvt.color9: #EF2929
|
||||
URxvt.color10: #8AE234
|
||||
URxvt.color11: #FCE94F
|
||||
URxvt.color12: #729FCF
|
||||
URxvt.color13: #AD7FA8
|
||||
URxvt.color14: #34E2E2
|
||||
URxvt.color15: #EEEEEC
|
@@ -1,96 +0,0 @@
|
||||
!-------------------------------------------------------------------------------
|
||||
! Xft settings
|
||||
!-------------------------------------------------------------------------------
|
||||
|
||||
Xft.dpi: 96
|
||||
Xft.antialias: false
|
||||
Xft.rgba: rgb
|
||||
Xft.hinting: true
|
||||
Xft.hintstyle: hintslight
|
||||
|
||||
!-------------------------------------------------------------------------------
|
||||
! URxvt settings
|
||||
! Colours lifted from Solarized (http://ethanschoonover.com/solarized)
|
||||
! More info at:
|
||||
! http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.1.pod
|
||||
!-------------------------------------------------------------------------------
|
||||
|
||||
URxvt.depth: 32
|
||||
URxvt.geometry: 90x30
|
||||
URxvt.transparent: false
|
||||
URxvt.fading: 0
|
||||
! URxvt.urgentOnBell: true
|
||||
! URxvt.visualBell: true
|
||||
URxvt.loginShell: true
|
||||
URxvt.saveLines: 50
|
||||
URxvt.internalBorder: 3
|
||||
URxvt.lineSpace: 0
|
||||
URxvt.letterSpace: -2
|
||||
|
||||
! Fonts
|
||||
URxvt.allow_bold: true
|
||||
/* URxvt.font: -*-terminus-medium-r-normal-*-12-120-72-72-c-60-iso8859-1 */
|
||||
URxvt*font: xft:DejaVu Sans Mono:pixelsize=14
|
||||
URxvt*boldFont: xft:DejaVu Sans Mono:pixelsize=14
|
||||
|
||||
! Fix font space
|
||||
URxvt*letterSpace: -1
|
||||
|
||||
! Scrollbar
|
||||
URxvt.scrollStyle: rxvt
|
||||
URxvt.scrollBar: false
|
||||
|
||||
! Perl extensions
|
||||
URxvt.perl-ext-common: default,matcher
|
||||
URxvt.matcher.button: 1
|
||||
URxvt.urlLauncher: google-chrome
|
||||
|
||||
! Cursor
|
||||
URxvt.cursorBlink: true
|
||||
URxvt.cursorColor: #657b83
|
||||
URxvt.cursorUnderline: false
|
||||
|
||||
! Pointer
|
||||
URxvt.pointerBlank: true
|
||||
|
||||
!!Source http://github.com/altercation/solarized
|
||||
|
||||
*background: #002b36
|
||||
*foreground: #657b83
|
||||
!!*fading: 40
|
||||
*fadeColor: #002b36
|
||||
*cursorColor: #93a1a1
|
||||
*pointerColorBackground: #586e75
|
||||
*pointerColorForeground: #93a1a1
|
||||
|
||||
!! black dark/light
|
||||
*color0: #073642
|
||||
*color8: #002b36
|
||||
|
||||
!! red dark/light
|
||||
*color1: #dc322f
|
||||
*color9: #cb4b16
|
||||
|
||||
!! green dark/light
|
||||
*color2: #859900
|
||||
*color10: #586e75
|
||||
|
||||
!! yellow dark/light
|
||||
*color3: #b58900
|
||||
*color11: #657b83
|
||||
|
||||
!! blue dark/light
|
||||
*color4: #268bd2
|
||||
*color12: #839496
|
||||
|
||||
!! magenta dark/light
|
||||
*color5: #d33682
|
||||
*color13: #6c71c4
|
||||
|
||||
!! cyan dark/light
|
||||
*color6: #2aa198
|
||||
*color14: #93a1a1
|
||||
|
||||
!! white dark/light
|
||||
*color7: #eee8d5
|
||||
*color15: #fdf6e3
|
@@ -2,16 +2,16 @@
|
||||
! Xft settings
|
||||
!-------------------------------------------------------------------------------
|
||||
|
||||
Xft.dpi: 96
|
||||
Xft.dpi: 140
|
||||
Xft.antialias: true
|
||||
Xft.rgba: rgb
|
||||
Xft.rgba: none
|
||||
Xft.hinting: true
|
||||
Xft.hintstyle: hintfull
|
||||
Xft.hintstyle: hintslight
|
||||
|
||||
!-------------------------------------------------------------------------------
|
||||
! Emacs settings
|
||||
!-------------------------------------------------------------------------------
|
||||
!Emacs.font: DejaVu Sans Mono-10
|
||||
Emacs.font: DejaVu Sans Mono-10
|
||||
|
||||
!-------------------------------------------------------------------------------
|
||||
! URxvt settings
|
||||
@@ -27,18 +27,18 @@ URxvt.fading: 0
|
||||
! URxvt.urgentOnBell: true
|
||||
! URxvt.visualBell: true
|
||||
URxvt.loginShell: true
|
||||
URxvt.saveLines: 50
|
||||
URxvt.saveLines: 100
|
||||
URxvt.internalBorder: 3
|
||||
URxvt.lineSpace: 0
|
||||
|
||||
! Fonts
|
||||
URxvt.allow_bold: true
|
||||
/* URxvt.font: -*-terminus-medium-r-normal-*-12-120-72-72-c-60-iso8859-1 */
|
||||
URxvt*font: xft:DejaVu\ Sans\ Mono:pixelsize=14
|
||||
URxvt*boldFont: xft:DejaVu\ Sans\ Mono:pixelsize=14:style=bold
|
||||
URxvt*font: xft:DejaVu\ Sans\ Mono:pixelsize=13
|
||||
URxvt*boldFont: xft:DejaVu\ Sans\ Mono:pixelsize=13:style=bold
|
||||
|
||||
! Fix font space
|
||||
URxvt*letterSpace: -2
|
||||
URxvt*letterSpace: -1
|
||||
|
||||
! Scrollbar
|
||||
URxvt.scrollStyle: rxvt
|
||||
@@ -295,4 +295,14 @@ URxvt.pointerBlank: true
|
||||
*color13: #bb88dd
|
||||
*color14: #4eb4fa
|
||||
*color15: #d0d0d0
|
||||
!
|
||||
|
||||
! ------------------------------------------------------------------------------
|
||||
! ROFI Color theme
|
||||
! ------------------------------------------------------------------------------
|
||||
rofi.color-enabled: true
|
||||
rofi.terminal: i3-sensible-terminal
|
||||
rofi.color-window: #273238, #273238, #1e2529
|
||||
rofi.color-normal: #273238, #c1c1c1, #273238, #394249, #ffffff
|
||||
rofi.color-active: #273238, #80cbc4, #273238, #394249, #80cbc4
|
||||
rofi.color-urgent: #273238, #ff1844, #273238, #394249, #ff1844
|
||||
rofi.ssh-command: {terminal} -e "{ssh-client} {host}"
|
@@ -24,3 +24,7 @@ fi
|
||||
if [ -f $HOME/.Xmodmap ]; then
|
||||
/usr/bin/xmodmap $HOME/.Xmodmap 2>/dev/null &
|
||||
fi
|
||||
|
||||
if [ -f $HOME/.xsession ]; then
|
||||
. $HOME/.xsession
|
||||
fi
|
12
Xsession/.xsessionrc
Executable file
12
Xsession/.xsessionrc
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
touch /tmp/LOG
|
||||
echo "loaded(xprofile)" $(date) >> /tmp/LOG
|
||||
setxkbmap "us,es" "altgr-intl," -option "ctrl:nocaps,grp:shift_toggle,terminate:ctrl_alt_bksp"
|
||||
#xmodmap ~/.Xmodmap
|
||||
#source ~/.xinitrc
|
||||
export XTERMINAL=termite
|
||||
export TERMINAL=termite
|
||||
export TERMCMD=termite
|
||||
export BROWSER=chromium-browser
|
||||
export MOZ_USE_XINPUT2=1
|
||||
|
@@ -4,4 +4,4 @@ fi
|
||||
|
||||
|
||||
### Added by the Heroku Toolbelt
|
||||
export PATH="/usr/local/heroku/bin:$PATH"
|
||||
export PATH="/usr/local/heroku/bin:$HOME/.local/bin:$HOME/.bin$PATH"
|
125
bin/bashrc
125
bin/bashrc
@@ -1,125 +0,0 @@
|
||||
# ~/.bashrc: executed by bash(1) for non-login shells.
|
||||
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
||||
# for examples
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
[ -z "$PS1" ] && return
|
||||
|
||||
# don't put duplicate lines in the history. See bash(1) for more options
|
||||
# ... or force ignoredups and ignorespace
|
||||
HISTCONTROL=ignoredups:ignorespace
|
||||
|
||||
# append to the history file, don't overwrite it
|
||||
shopt -s histappend
|
||||
|
||||
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
||||
HISTSIZE=1000
|
||||
HISTFILESIZE=2000
|
||||
|
||||
# check the window size after each command and, if necessary,
|
||||
# update the values of LINES and COLUMNS.
|
||||
shopt -s checkwinsize
|
||||
|
||||
# make less more friendly for non-text input files, see lesspipe(1)
|
||||
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
||||
|
||||
# set variable identifying the chroot you work in (used in the prompt below)
|
||||
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
|
||||
debian_chroot=$(cat /etc/debian_chroot)
|
||||
fi
|
||||
|
||||
# set a fancy prompt (non-color, unless we know we "want" color)
|
||||
case "$TERM" in
|
||||
xterm-color) color_prompt=yes;;
|
||||
xterm) color_prompt=yes;;
|
||||
esac
|
||||
|
||||
# uncomment for a colored prompt, if the terminal has the capability; turned
|
||||
# off by default to not distract the user: the focus in a terminal window
|
||||
# should be on the output of commands, not on the prompt
|
||||
force_color_prompt=yes
|
||||
|
||||
if [ -n "$force_color_prompt" ]; then
|
||||
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
||||
# We have color support; assume it's compliant with Ecma-48
|
||||
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
||||
# a case would tend to support setf rather than setaf.)
|
||||
color_prompt=yes
|
||||
else
|
||||
color_prompt=
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$color_prompt" = yes ]; then
|
||||
export PROMPT_COMMAND='PS1="\\[\033[1;\`if [[ \$? = "0" ]]; then echo "32m\\]"; else echo "31m\\]"; fi\`[\!]\\[\033[0m\]\u@\h \W: "'
|
||||
else
|
||||
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
||||
fi
|
||||
|
||||
unset color_prompt force_color_prompt
|
||||
|
||||
# If this is an xterm set the title to user@host:dir
|
||||
case "$TERM" in
|
||||
xterm*|rxvt*)
|
||||
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# enable color support of ls and also add handy aliases
|
||||
if [ -x /usr/bin/dircolors ]; then
|
||||
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
||||
alias ls='ls --color=auto'
|
||||
#alias dir='dir --color=auto'
|
||||
#alias vdir='vdir --color=auto'
|
||||
|
||||
alias grep='grep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
alias egrep='egrep --color=auto'
|
||||
fi
|
||||
|
||||
# some more ls aliases
|
||||
alias ll='ls -alhF'
|
||||
alias la='ls -A'
|
||||
alias l='ls -CF'
|
||||
|
||||
# Add an "alert" alias for long running commands. Use like so:
|
||||
# sleep 10; alert
|
||||
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
|
||||
|
||||
# Alias definitions.
|
||||
# You may want to put all your additions into a separate file like
|
||||
# ~/.bash_aliases, instead of adding them here directly.
|
||||
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
||||
|
||||
if [ -f ~/.bash_aliases ]; then
|
||||
. ~/.bash_aliases
|
||||
fi
|
||||
|
||||
# enable programmable completion features (you don't need to enable
|
||||
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
||||
# sources /etc/bash.bashrc).
|
||||
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
|
||||
. /etc/bash_completion
|
||||
fi
|
||||
export CDPATH=~:/media/Datos:/home/balkian
|
||||
|
||||
if [ "$TERM" = "linux" ]; then
|
||||
alias logout="clear && logout && exit"
|
||||
else
|
||||
alias logout="exit 0"
|
||||
fi
|
||||
export PYTHONSTARTUP=/home/$USER/.pythonrc
|
||||
export PATH=$PATH:/var/lib/gems/1.8/bin
|
||||
|
||||
setWindowTitle() {
|
||||
echo -ne "\e]2;$*\a"
|
||||
}
|
||||
updateWindowTitle() {
|
||||
setWindowTitle "${HOSTNAME%%.*}:${PWD/$HOME/~}"
|
||||
}
|
||||
PROMPT_COMMAND=$PROMPT_COMMAND updateWindowTitle
|
||||
|
||||
function findHere() { ex=$1; shift; grep -R $* $ex .;}
|
||||
|
@@ -1,2 +0,0 @@
|
||||
#!/bin/bash
|
||||
one-window 'gnome-terminal' 'xdotool windowfocus $WID & xdotool key ctrl+shift+t'
|
Submodule bin/i3-wm-scripts deleted from 477335215d
23
bin/monitors
23
bin/monitors
@@ -1,23 +0,0 @@
|
||||
#!/bin/sh
|
||||
case $1 in
|
||||
"single")
|
||||
#xrandr --auto --output eDP1 --primary --output DP1 --off
|
||||
~/.screenlayout/gsi-single.sh
|
||||
xrandr --output HDMI1 --off --output DVI-1 --off --output DP1 --off --output eDP1 --mode 1920x1080 --pos 0x0 --rotate normal --output VGA1 --off
|
||||
;;
|
||||
"dual")
|
||||
case $2 in
|
||||
"home")
|
||||
xrandr --output DP1 --off --output VIRTUAL1 --off --output eDP1 --mode 1920x1080 --pos 0x1080 --rotate normal --output HDMI1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output VGA1 --off
|
||||
;;
|
||||
*)
|
||||
#xrandr --auto --output eDP1 --primary --right-of DP1
|
||||
xrandr --output VIRTUAL1 --off --output DP1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output HDMI1 --off --output eDP1 --mode 1920x1080 --pos 1920x0 --rotate normal --output VGA1 --off
|
||||
xrandr --output "DVI-1-0" --off
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
if [ `command -v nitrogen` ]; then
|
||||
nitrogen --restore
|
||||
fi
|
@@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
~/Programs/Zotero_linux-x86_64/run-zotero.sh
|
20
bspwm/.config/bspwm/bspwmrc
Executable file
20
bspwm/.config/bspwm/bspwmrc
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
sxhkd &
|
||||
compton --config ~/.compton.conf &
|
||||
|
||||
bspc config border_width 2
|
||||
bspc config window_gap 12
|
||||
|
||||
bspc config split_ratio 0.52
|
||||
bspc config borderless_monocle true
|
||||
bspc config gapless_monocle true
|
||||
bspc config focus_by_distance true
|
||||
bspc config focus_follows_pointer true
|
||||
|
||||
bspc monitor -d I II III IV V VI VII VIII IX X
|
||||
|
||||
bspc rule -a Gimp desktop=^8 state=floating follow=on
|
||||
bspc rule -a Firefox desktop=^2
|
||||
bspc rule -a mplayer2 state=floating
|
||||
bspc rule -a Screenkey manage=off
|
95
compton/.compton.conf
Normal file
95
compton/.compton.conf
Normal file
@@ -0,0 +1,95 @@
|
||||
# Shadow
|
||||
shadow = true;
|
||||
no-dnd-shadow = true;
|
||||
no-dock-shadow = true;
|
||||
clear-shadow = true;
|
||||
shadow-radius = 7;
|
||||
shadow-offset-x = -7;
|
||||
shadow-offset-y = -7;
|
||||
# shadow-opacity = 0.7;
|
||||
# shadow-red = 0.0;
|
||||
# shadow-green = 0.0;
|
||||
# shadow-blue = 0.0;
|
||||
shadow-exclude = [
|
||||
"name = 'Notification'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g = 'Cairo-clock'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
# shadow-exclude = "n:e:Notification";
|
||||
# shadow-exclude-reg = "x10+0+0";
|
||||
# xinerama-shadow-crop = true;
|
||||
|
||||
# Opacity
|
||||
#mark-override-focused = true;
|
||||
#menu-opacity = 0.9;
|
||||
inactive-opacity = 0.95;
|
||||
# active-opacity = 0.8;
|
||||
# frame-opacity = 0.7;
|
||||
inactive-opacity-override = false;
|
||||
alpha-step = 0.06;
|
||||
inactive-dim = 0.2;
|
||||
#inactive-dim-fixed = false;
|
||||
# blur-background = true;
|
||||
# blur-background-frame = true;
|
||||
blur-kern = "3x3box"
|
||||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
|
||||
# blur-background-fixed = true;
|
||||
blur-background-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
||||
#
|
||||
opacity-rule = [ "99:_NET_WM_STATE@:32a = '_NET_WM_STATE_FULLSCREEN'" ];
|
||||
|
||||
|
||||
|
||||
# Fading
|
||||
fading = false;
|
||||
# fade-delta = 30;
|
||||
fade-in-step = 0.05;
|
||||
fade-out-step = 0.05;
|
||||
# no-fading-openclose = true;
|
||||
# no-fading-destroyed-argb = true;
|
||||
fade-exclude = [ ];
|
||||
|
||||
# Other
|
||||
backend = "xrender"
|
||||
mark-wmwin-focused = true;
|
||||
mark-ovredir-focused = true;
|
||||
use-ewmh-active-win = true;
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
refresh-rate = 0;
|
||||
vsync = "none";
|
||||
dbe = false;
|
||||
paint-on-overlay = true;
|
||||
# sw-opti = true;
|
||||
# unredir-if-possible = true;
|
||||
# unredir-if-possible-delay = 5000;
|
||||
# unredir-if-possible-exclude = [ ];
|
||||
focus-exclude = [ "class_g = 'Cairo-clock'",
|
||||
"class_g = 'Popcorn Time'" ];
|
||||
detect-transient = true;
|
||||
detect-client-leader = false;
|
||||
invert-color-include = [ ];
|
||||
# resize-damage = 1;
|
||||
|
||||
# GLX backend
|
||||
# glx-no-stencil = true;
|
||||
glx-copy-from-front = false;
|
||||
# glx-use-copysubbuffermesa = true;
|
||||
# glx-no-rebind-pixmap = true;
|
||||
glx-swap-method = "undefined";
|
||||
# glx-use-gpushader4 = true;
|
||||
# xrender-sync = true;
|
||||
# xrender-sync-fence = true;
|
||||
|
||||
# Window type settings
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = true; shadow = true; opacity = 0.95; focus = true; };
|
||||
};
|
120
dunst/.config/dunst/dunst.conf
Normal file
120
dunst/.config/dunst/dunst.conf
Normal file
@@ -0,0 +1,120 @@
|
||||
[global]
|
||||
font = "DejaVu Sans 10"
|
||||
allow_markup = yes
|
||||
format = "<b>%s %p</b>\n%b"
|
||||
sort = yes
|
||||
indicate_hidden = true
|
||||
idle_threshold = 0
|
||||
geometry = "300x40-20+20"
|
||||
alignment = center
|
||||
show_age_threshold = 60
|
||||
sticky_history = yes
|
||||
follow = mouse
|
||||
icon_position = left
|
||||
word_wrap = yes
|
||||
separator_height = 2
|
||||
padding = 15
|
||||
horizontal_padding = 10
|
||||
separator_color = frame
|
||||
startup_notification = true
|
||||
dmenu = "/usr/bin/dmenu -p dunst: -nb #FFFFFF -nf #000000 -sb #94DBFF -sf #000000"
|
||||
browser = firefox
|
||||
|
||||
|
||||
[frame]
|
||||
width = 0
|
||||
color = "#565656"
|
||||
|
||||
[shortcuts]
|
||||
close = ctrl+space
|
||||
close_all = ctrl+shift+space
|
||||
history = ctrl+grave
|
||||
context = ctrl+shift+period
|
||||
|
||||
[urgency_low]
|
||||
background = "#232323"
|
||||
foreground = "#FEFEFE"
|
||||
timeout = 30
|
||||
|
||||
[urgency_normal]
|
||||
background = "#94DBFF"
|
||||
foreground = "#000000"
|
||||
timeout = 45
|
||||
|
||||
[urgency_critical]
|
||||
background = "#ff9999"
|
||||
foreground = "#000000"
|
||||
timeout = 0
|
||||
|
||||
|
||||
[libpurple_signed]
|
||||
appname = libpurple
|
||||
summary = *igned*
|
||||
urgency = low
|
||||
timeout = 3
|
||||
background = "#ccff33"
|
||||
|
||||
[libpurple_came_back]
|
||||
appname = libpurple
|
||||
summary = "*came*"
|
||||
format = ""
|
||||
|
||||
[libpurple_went_away]
|
||||
appname = libpurple
|
||||
summary = "*went*"
|
||||
format = ""
|
||||
|
||||
[libpurple_says]
|
||||
appname = libpurple
|
||||
summary = *ays*
|
||||
urgency = critical
|
||||
background = "#ccff33"
|
||||
|
||||
[libpurple]
|
||||
appname = libpurple
|
||||
urgency = critical
|
||||
background = "#ccff33"
|
||||
|
||||
[twitter]
|
||||
appname = Pidgin
|
||||
summary = *twitter.com*
|
||||
urgency = low
|
||||
|
||||
[turpial]
|
||||
appname = Turpial
|
||||
urgency = low
|
||||
|
||||
[ttytter]
|
||||
summary = "TTYtter*"
|
||||
urgency = low
|
||||
|
||||
[dunst-sum]
|
||||
appname = gmailnotify.py
|
||||
summary = "*[dD]unst*"
|
||||
urgency = critical
|
||||
|
||||
[dunst-body]
|
||||
appname = gmailnotify.py
|
||||
body = "*[dD]unst*"
|
||||
urgency = critical
|
||||
|
||||
[mcabber]
|
||||
appname = notify-send
|
||||
summary = "*jabber*"
|
||||
urgency = critical
|
||||
|
||||
[irc]
|
||||
appname = weechat
|
||||
timeout = 0
|
||||
background = "#99FF33"
|
||||
foreground = "#000000"
|
||||
|
||||
[XChat]
|
||||
appname = XChat
|
||||
timeout = 0
|
||||
background = "#99FF33"
|
||||
foreground = "#000000"
|
||||
|
||||
[test]
|
||||
summary = "*test*"
|
||||
background="#22dd22"
|
4
emacs.d/.gitignore
vendored
4
emacs.d/.gitignore
vendored
@@ -1,4 +0,0 @@
|
||||
*
|
||||
!init.el
|
||||
!config/
|
||||
!config/config-*.el
|
@@ -1,25 +0,0 @@
|
||||
(defun ergoemacs-open-in-external-app ()
|
||||
"Open the current file or dired marked files in external app."
|
||||
(interactive)
|
||||
(let ( doIt
|
||||
(myFileList
|
||||
(cond
|
||||
((string-equal major-mode "dired-mode") (dired-get-marked-files))
|
||||
(t (list (buffer-file-name))) ) ) )
|
||||
|
||||
(setq doIt (if (<= (length myFileList) 5)
|
||||
t
|
||||
(y-or-n-p "Open more than 5 files?") ) )
|
||||
|
||||
(when doIt
|
||||
(cond
|
||||
((string-equal system-type "windows-nt")
|
||||
(mapc (lambda (fPath) (w32-shell-execute "open" (replace-regexp-in-string "/" "\\" fPath t t)) ) myFileList)
|
||||
)
|
||||
((string-equal system-type "darwin")
|
||||
(mapc (lambda (fPath) (shell-command (format "open \"%s\"" fPath)) ) myFileList) )
|
||||
((string-equal system-type "gnu/linux")
|
||||
(mapc (lambda (fPath) (let ((process-connection-type nil)) (start-process "" nil "xdg-open" fPath)) ) myFileList) ) ) ) ) )
|
||||
|
||||
(define-key dired-mode-map (kbd "e") 'ergoemacs-open-in-external-app)
|
||||
(provide 'config-dired)
|
@@ -1,55 +0,0 @@
|
||||
(evil-define-key 'normal ein:notebooklist-mode-map
|
||||
"r" 'ein:notebooklist-reload
|
||||
"q" 'bury-buffer)
|
||||
|
||||
(evil-define-key 'normal ein:notebook-mode-map
|
||||
",w" 'ein:notebook-save-notebook-command
|
||||
",cc" 'ein:worksheet-execute-cell
|
||||
",e" 'ein:worksheet-clear-output
|
||||
",v" 'ein:worksheet-set-output-visibility-all
|
||||
",l" 'ein:worksheet-clear-output
|
||||
",L" 'ein:worksheet-clear-all-output
|
||||
",d" 'ein:worksheet-kill-cell
|
||||
",y" 'ein:worksheet-copy-cell
|
||||
",p" 'ein:worksheet-yank-cell
|
||||
",O" 'ein:worksheet-insert-cell-above
|
||||
",o" 'ein:worksheet-insert-cell-below
|
||||
"]e" 'ein:notebook-worksheet-move-next
|
||||
"[e" 'ein:notebook-worksheet-move-rev
|
||||
",t" 'ein:worksheet-toggle-cell-type
|
||||
",u" 'ein:worksheet-change-cell-type
|
||||
",s" 'ein:worksheet-split-cell-at-point
|
||||
",m" 'ein:worksheet-merge-cell
|
||||
"\C-n" 'ein:worksheet-goto-next-input
|
||||
"\C-p" 'ein:worksheet-goto-prev-input
|
||||
(kbd "<C-return>") 'ein:worksheet-execute-cell)
|
||||
|
||||
(evil-define-key 'insert ein:notebook-mode-map
|
||||
(kbd "<C-return>") 'ein:worksheet-execute-cell)
|
||||
|
||||
(defun ipybackground ()
|
||||
(interactive)
|
||||
;(setq prevfg (face-attribute 'default :foreground))
|
||||
(face-remap-add-relative 'ein:cell-input-area :background (face-attribute 'default :background))
|
||||
;(face-remap-add-relative 'default :background "#ffffff")
|
||||
(setq buffer-face-mode-face '(:background "#343434"))
|
||||
(buffer-face-mode))
|
||||
|
||||
|
||||
(add-hook
|
||||
'ein:notebook-mode-hook 'ipybackground)
|
||||
|
||||
;; (add-hook
|
||||
;; 'ein:notebook-mode-hook '(linum-mode 0))
|
||||
|
||||
(setq ein:notebook-modes '(ein:notebook-mumamo-mode ein:notebook-plain-mode))
|
||||
|
||||
(setq mumamo-background-colors nil)
|
||||
|
||||
(when (and (>= emacs-major-version 24)
|
||||
(>= emacs-minor-version 2))
|
||||
(eval-after-load "mumamo"
|
||||
'(setq mumamo-per-buffer-local-vars
|
||||
(delq 'buffer-file-name mumamo-per-buffer-local-vars))))
|
||||
|
||||
(provide 'config-ein)
|
@@ -1,67 +0,0 @@
|
||||
;;; config-evil.el --- Configuration for evil and its keybindings
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
(evil-mode)
|
||||
(require 'evil-leader)
|
||||
(require 'evil-matchit)
|
||||
(require 'evil-nerd-commenter)
|
||||
(require 'evil-surround)
|
||||
|
||||
;; Evil global modes config
|
||||
(evilnc-default-hotkeys)
|
||||
(setq evil-default-cursor t)
|
||||
|
||||
;; Evil global modes
|
||||
(global-evil-matchit-mode 1)
|
||||
(global-evil-surround-mode 1)
|
||||
(global-evil-jumper-mode)
|
||||
(global-evil-leader-mode)
|
||||
|
||||
;; exclude modes from evil mode
|
||||
(add-to-list 'evil-emacs-state-modes 'git-rebase-mode)
|
||||
(add-to-list 'evil-emacs-state-modes 'undo-tree-visualizer-mode)
|
||||
(add-to-list 'evil-emacs-state-modes 'dired-mode)
|
||||
|
||||
(defun next-code-buffer ()
|
||||
;;; Avoid special buffers when cycling through windows
|
||||
;;; http://stackoverflow.com/questions/14323516/make-emacs-next-buffer-skip-messages-buffer
|
||||
(interactive)
|
||||
(let (( bread-crumb (buffer-name) ))
|
||||
(next-buffer)
|
||||
(while
|
||||
(and
|
||||
(string-match-p "^\*" (buffer-name))
|
||||
(not ( equal bread-crumb (buffer-name) )) )
|
||||
(next-buffer))))
|
||||
|
||||
(defun previous-code-buffer ()
|
||||
(interactive)
|
||||
(let (( bread-crumb (buffer-name) ))
|
||||
(previous-buffer)
|
||||
(while
|
||||
(and
|
||||
(string-match-p "^\*" (buffer-name))
|
||||
(not ( equal bread-crumb (buffer-name) )) )
|
||||
(previous-buffer))))
|
||||
;;
|
||||
;; Evil keys
|
||||
(evil-leader/set-leader "<SPC>")
|
||||
|
||||
(define-key evil-normal-state-map (kbd "[b") 'previous-code-buffer)
|
||||
(define-key evil-normal-state-map (kbd "]b") 'next-code-buffer)
|
||||
(define-key evil-normal-state-map (kbd "s") 'evil-ace-jump-char-mode)
|
||||
(define-key evil-normal-state-map (kbd ",d") 'neotree-toggle)
|
||||
(define-key evil-normal-state-map (kbd ",u") 'undo-tree-visualize)
|
||||
|
||||
(define-key evil-normal-state-map (kbd "C-c +") 'evil-numbers/inc-at-pt)
|
||||
(define-key evil-normal-state-map (kbd "C-c -") 'evil-numbers/dec-at-pt)
|
||||
|
||||
(add-hook 'neotree-mode-hook
|
||||
(lambda ()
|
||||
(define-key evil-normal-state-local-map (kbd "TAB") 'neotree-enter)
|
||||
(define-key evil-normal-state-local-map (kbd "SPC") 'neotree-enter)
|
||||
(define-key evil-normal-state-local-map (kbd "q") 'neotree-hide)
|
||||
(define-key evil-normal-state-local-map (kbd "RET") 'neotree-enter)))
|
||||
|
||||
(provide 'config-evil)
|
||||
;;; config-evil.el ends here
|
@@ -1,80 +0,0 @@
|
||||
;;; config-file -- Helm configuration
|
||||
;;; Commentary:
|
||||
;;; The slowest part is actually loading helm-projectile
|
||||
;;; Code:
|
||||
|
||||
(require 'helm)
|
||||
(require 'helm-config)
|
||||
(require 'helm-grep)
|
||||
(require 'helm-locate)
|
||||
(require 'helm-misc)
|
||||
(require 'projectile)
|
||||
(require 'helm-projectile)
|
||||
(setq helm-quick-update t)
|
||||
(setq helm-bookmark-show-location t)
|
||||
(setq helm-buffers-fuzzy-matching t)
|
||||
|
||||
;;; Save current position to mark ring
|
||||
(add-hook 'helm-goto-line-before-hook 'helm-save-current-pos-to-mark-ring)
|
||||
|
||||
;; Better helm fonts
|
||||
(set-face-attribute 'helm-selection nil :background "gold" :foreground "black")
|
||||
|
||||
;;; Keyboard mappings
|
||||
(define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action) ; rebihnd tab to do persistent action
|
||||
(define-key helm-map (kbd "C-i") 'helm-execute-persistent-action) ; make TAB works in terminal
|
||||
(define-key helm-map (kbd "C-z") 'helm-select-action) ; list actions using C-z
|
||||
(define-key helm-grep-mode-map (kbd "<return>") 'helm-grep-mode-jump-other-window)
|
||||
(define-key helm-grep-mode-map (kbd "n") 'helm-grep-mode-jump-other-window-forward)
|
||||
(define-key helm-grep-mode-map (kbd "p") 'helm-grep-mode-jump-other-window-backward)
|
||||
(global-set-key (kbd "M-y") 'helm-show-kill-ring)
|
||||
(global-set-key (kbd "C-x b") 'helm-mini)
|
||||
(global-set-key (kbd "C-x C-f") 'helm-find-files)
|
||||
(global-set-key (kbd "C-h SPC") 'helm-all-mark-rings)
|
||||
(global-set-key (kbd "C-c h o") 'helm-occur)
|
||||
|
||||
(define-key helm-grep-mode-map (kbd "<return>") 'helm-grep-mode-jump-other-window)
|
||||
(define-key helm-grep-mode-map (kbd "n") 'helm-grep-mode-jump-other-window-forward)
|
||||
(define-key helm-grep-mode-map (kbd "p") 'helm-grep-mode-jump-other-window-backward)
|
||||
|
||||
;;; Evil helm
|
||||
(define-key evil-normal-state-map (kbd "C-p") 'helm-mini)
|
||||
(evil-leader/set-key "<SPC>" 'helm-M-x)
|
||||
(define-key evil-normal-state-map (kbd ",f") 'helm-swoop)
|
||||
(define-key evil-normal-state-map (kbd ",a") 'helm-ag)
|
||||
(define-key evil-normal-state-map (kbd ",y") 'helm-show-kill-ring)
|
||||
|
||||
;;; Keyboard
|
||||
(global-set-key (kbd "M-x") 'helm-M-x)
|
||||
(define-key helm-map (kbd "C-w") 'backward-kill-word)
|
||||
|
||||
;; use helm to list eshell history
|
||||
(add-hook 'eshell-mode-hook
|
||||
#'(lambda ()
|
||||
(define-key eshell-mode-map (kbd "M-l") 'helm-eshell-history)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; PACKAGE: helm-swoop ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Locate the helm-swoop folder to your path
|
||||
(require 'helm-swoop)
|
||||
;; Change the keybinds to whatever you like :)
|
||||
(global-set-key (kbd "C-c h o") 'helm-swoop)
|
||||
(global-set-key (kbd "C-c s") 'helm-multi-swoop-all)
|
||||
;; When doing isearch, hand the word over to helm-swoop
|
||||
(define-key isearch-mode-map (kbd "M-i") 'helm-swoop-from-isearch)
|
||||
;; From helm-swoop to helm-multi-swoop-all
|
||||
(define-key helm-swoop-map (kbd "M-i") 'helm-multi-swoop-all-from-helm-swoop)
|
||||
;; Save buffer when helm-multi-swoop-edit complete
|
||||
(setq helm-multi-swoop-edit-save t)
|
||||
;; If this value is t, split window inside the current window
|
||||
(setq helm-swoop-split-with-multiple-windows t)
|
||||
;; Split direcion. 'split-window-vertically or 'split-window-horizontally
|
||||
(setq helm-swoop-split-direction 'split-window-vertically)
|
||||
;; If nil, you can slightly boost invoke speed in exchange for text color
|
||||
(setq helm-swoop-speed-or-color t)
|
||||
|
||||
(helm-mode 1)
|
||||
(provide 'config-helm)
|
||||
|
||||
;;; config-helm.el ends here
|
@@ -1,38 +0,0 @@
|
||||
(setq TeX-auto-save t)
|
||||
(setq TeX-parse-self t)
|
||||
|
||||
(setq-default TeX-master nil)
|
||||
|
||||
(setq TeX-view-program-list '(
|
||||
;; ("Evince" "evince --page-index=%(outpage) %o"),
|
||||
("Okular" "okular --noraise --unique %o#src:%n%a")
|
||||
))
|
||||
;; (setq TeX-view-program-selection '((output-pdf "Evince")))
|
||||
(setq TeX-view-program-selection '((output-pdf "Okular")))
|
||||
|
||||
(setq LaTeX-command "latex -synctex=1")
|
||||
|
||||
(setq TeX-source-correlate-method 'synctex)
|
||||
;(setq TeX-one-master "<none>") ;; If you don't want emacs to write the variables to the file
|
||||
(setq-default TeX-master nil) ;
|
||||
|
||||
;; Avoid questions :)
|
||||
(defun build-view ()
|
||||
(interactive)
|
||||
(let ((TeX-save-query nil))
|
||||
(TeX-save-document (TeX-master-file)))
|
||||
(setq build-proc (TeX-command "LaTeX" 'TeX-master-file -1))
|
||||
(set-process-sentinel build-proc 'build-sentinel)
|
||||
)
|
||||
|
||||
(defun build-sentinel (process event)
|
||||
(if (string= event "finished\n")
|
||||
(TeX-view)
|
||||
(message "Errors! Check with C-`")))
|
||||
|
||||
(add-hook 'LaTeX-mode-hook '(lambda () (local-set-key (kbd "\C-c\C-c") 'build-view)))
|
||||
|
||||
(add-hook 'LaTeX-mode-hook 'TeX-source-correlate-mode)
|
||||
(add-hook 'LaTeX-mode-hook 'reftex-mode)
|
||||
|
||||
(provide 'config-latex)
|
@@ -1,20 +0,0 @@
|
||||
(require 'org)
|
||||
(require 'evil-org)
|
||||
(define-key global-map "\C-cl" 'org-store-link)
|
||||
(define-key global-map "\C-ca" 'org-agenda)
|
||||
(evil-leader/set-key "a" 'org-agenda)
|
||||
|
||||
(setq org-log-done t)
|
||||
|
||||
(setq org-directory "~/Dropbox/org")
|
||||
(setq org-mobile-inbox-for-pull "~/Dropbox/org/inbox.org")
|
||||
(setq org-mobile-directory "~/Dropbox/Apps/MobileOrg")
|
||||
(setq org-mobile-files '("~/Dropbox/org"))
|
||||
(setq org-default-notes-file (concat org-directory "/notes.org"))
|
||||
(setq org-agenda-files (list org-directory))
|
||||
|
||||
(define-key global-map "\C-cc" 'org-capture)
|
||||
|
||||
(setq org-clock-persist 'history)
|
||||
|
||||
(provide 'config-org)
|
@@ -1,24 +0,0 @@
|
||||
(require 'python)
|
||||
(setq
|
||||
python-shell-interpreter "ipython"
|
||||
python-shell-interpreter-args "--pylab"
|
||||
python-shell-prompt-regexp "In \\[[0-9]+\\]: "
|
||||
python-shell-prompt-output-regexp "Out\\[[0-9]+\\]: "
|
||||
python-shell-completion-setup-code
|
||||
"from IPython.core.completerlib import module_completion"
|
||||
python-shell-completion-module-string-code
|
||||
"';'.join(module_completion('''%s'''))\n"
|
||||
python-shell-completion-string-code
|
||||
"';'.join(get_ipython().Completer.all_completions('''%s'''))\n")
|
||||
|
||||
(add-hook 'python-mode-hook 'auto-complete-mode)
|
||||
(add-hook 'python-mode-hook '(lambda () (require 'nose)))
|
||||
(add-hook 'python-mode-hook 'jedi:setup)
|
||||
|
||||
(eval-after-load "python"
|
||||
'(progn
|
||||
(define-key python-mode-map (kbd "C-c C-d") 'helm-pydoc)))
|
||||
|
||||
(setq jedi:complete-on-dot t)
|
||||
|
||||
(provide 'config-python)
|
331
emacs.d/init.el
331
emacs.d/init.el
@@ -1,331 +0,0 @@
|
||||
;;; BalkEmacs --- My emacs configuration
|
||||
;;; Commentary:
|
||||
|
||||
;;; Config that needs to be loaded before require
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(custom-safe-themes (quote ("8db4b03b9ae654d4a57804286eb3e332725c84d7cdab38463cb6b97d5762ad26" "31a01668c84d03862a970c471edbd377b2430868eccf5e8a9aec6831f1a0908d" "1297a022df4228b81bc0436230f211bad168a117282c20ddcba2db8c6a200743" "c3c0a3702e1d6c0373a0f6a557788dfd49ec9e66e753fb24493579859c8e95ab" "3c83b3676d796422704082049fc38b6966bcad960f896669dfc21a7a37a748fa" default))))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
)
|
||||
|
||||
(setq evil-want-C-u-scroll t)
|
||||
|
||||
;;; Code:
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
|
||||
|
||||
(add-to-list 'load-path "~/.emacs.d/el-get/el-get")
|
||||
|
||||
(setq package-enable-at-startup nil)
|
||||
|
||||
(unless (require 'el-get nil 'noerror)
|
||||
(with-current-buffer
|
||||
(url-retrieve-synchronously
|
||||
"https://raw.github.com/dimitri/el-get/master/el-get-install.el")
|
||||
(goto-char (point-max))
|
||||
(eval-print-last-sexp)))
|
||||
|
||||
(add-to-list 'el-get-recipe-path "~/.emacs.d/el-get-user/recipes")
|
||||
|
||||
(setq el-get-sources
|
||||
'((:name molokai-theme
|
||||
:type github
|
||||
:pkgname "hbin/molokai-theme"
|
||||
:load "molokai-theme.el")))
|
||||
|
||||
(setq
|
||||
my:el-get-packages
|
||||
'(el-get ; el-get is self-hosting
|
||||
ace-jump-mode
|
||||
auctex
|
||||
auctex-latexmk
|
||||
auto-complete ; complete as you type with overlays
|
||||
ein
|
||||
emmet-mode
|
||||
; escreen ; screen for emacs, C-\ C-h
|
||||
evil
|
||||
evil-jumper
|
||||
evil-leader
|
||||
evil-matchit
|
||||
evil-nerd-commenter
|
||||
evil-numbers
|
||||
evil-org-mode
|
||||
evil-surround
|
||||
exec-path-from-shell
|
||||
fill-column-indicator
|
||||
flycheck
|
||||
gist
|
||||
git-gutter-fringe
|
||||
guide-key
|
||||
helm
|
||||
helm-ag
|
||||
helm-projectile
|
||||
helm-pydoc
|
||||
helm-swoop
|
||||
jedi
|
||||
magit
|
||||
markdown-mode
|
||||
neotree
|
||||
nxhtml
|
||||
nose
|
||||
pivotal-tracker
|
||||
popwin
|
||||
pretty-mode
|
||||
projectile
|
||||
;; smex
|
||||
smart-mode-line
|
||||
switch-window ; takes over C-x o
|
||||
undo-tree
|
||||
vimrc-mode
|
||||
volatile-highlights
|
||||
yaml-mode
|
||||
yasnippet
|
||||
zygospore
|
||||
; zencoding-mode ; http://www.emacswiki.org/emacs/ZenCoding
|
||||
;; color-theme-solarized
|
||||
;; color-theme-tango)) ; check out color-theme-olarized
|
||||
|
||||
;; install new packages and init already installed packages
|
||||
))
|
||||
|
||||
(setq my:el-get-packages
|
||||
(append my:el-get-packages
|
||||
(mapcar #'el-get-source-name el-get-sources)))
|
||||
|
||||
(require 'el-get-elpa)
|
||||
(unless (file-directory-p el-get-recipe-path-elpa)
|
||||
(el-get-elpa-build-local-recipes))
|
||||
|
||||
(el-get 'sync my:el-get-packages)
|
||||
|
||||
|
||||
;;(color-theme-solarized-dark)
|
||||
;(load-theme 'soothe t)
|
||||
;;(require 'monokai-theme)
|
||||
(load-theme 'molokai t)
|
||||
|
||||
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
|
||||
;;(setq completion-cycle-threshold t)
|
||||
|
||||
;;; Neotree
|
||||
(require 'neotree)
|
||||
(setq projectile-switch-project-action 'neotree-projectile-action)
|
||||
(when neo-persist-show
|
||||
(add-hook 'popwin:before-popup-hook
|
||||
(lambda () (setq neo-persist-show nil)))
|
||||
(add-hook 'popwin:after-popup-hook
|
||||
(lambda () (setq neo-persist-show t))))
|
||||
|
||||
;;; Popwin
|
||||
(require 'popwin)
|
||||
(popwin-mode)
|
||||
|
||||
;;; Linum
|
||||
(require 'linum)
|
||||
(add-hook 'prog-mode-hook 'linum-mode)
|
||||
(setq linum-format 'dynamic)
|
||||
(set-face-attribute 'linum nil :height 90)
|
||||
|
||||
(setq highlight-color "#232323")
|
||||
|
||||
;;; Show column number
|
||||
(column-number-mode)
|
||||
|
||||
;;; Highlight line
|
||||
(global-hl-line-mode)
|
||||
(set-face-background 'hl-line highlight-color)
|
||||
|
||||
;;; Flycheck
|
||||
(add-hook 'after-init-hook #'global-flycheck-mode)
|
||||
(setq flycheck-temp-prefix ".flycheck")
|
||||
|
||||
;; (global-linum-mode 1)
|
||||
;; (setq linum-mode-inhibit-modes-list '(eshell-mode
|
||||
;; helm-buffer
|
||||
;; shell-mode
|
||||
;; ein:notebook-bg-mode
|
||||
;; ein:bg/ein:notebook
|
||||
;; ein:bg
|
||||
;; ein:notebook
|
||||
;; ))
|
||||
;; (defadvice linum-on (around linum-on-inhibit-for-modes)
|
||||
;; "Stop the load of linum-mode for some major modes."
|
||||
;; (unless (member major-mode linum-mode-inhibit-modes-list)
|
||||
;; ad-do-it))
|
||||
;; (ad-activate 'linum-on)
|
||||
(add-hook 'prog-mode-hook 'fci-mode)
|
||||
|
||||
;; (require 'powerline)
|
||||
;; (powerline-center-evil-theme)
|
||||
|
||||
(sml/setup)
|
||||
(sml/apply-theme 'dark)
|
||||
|
||||
(display-time-mode t)
|
||||
|
||||
;;; Global emacs settings
|
||||
;; disable splash screen
|
||||
(setq inhibit-splash-screen t)
|
||||
(setq truncate-partial-width-windows nil)
|
||||
(set-default 'truncate-lines nil)
|
||||
;; No tabs, only 4 spaces, as default
|
||||
(setq-default indent-tabs-mode nil)
|
||||
(setq tab-width 4)
|
||||
(setq default-tab-width 4);
|
||||
;; Show info about available commands
|
||||
(setq guide-key/guide-key-sequence '("SPC" ","))
|
||||
|
||||
;; Separate Configs
|
||||
(add-to-list 'load-path (concat user-emacs-directory "config"))
|
||||
(require 'config-latex)
|
||||
(require 'config-python)
|
||||
(eval-after-load 'ein-notebooklist
|
||||
'(require 'config-ein))
|
||||
(require 'config-helm)
|
||||
(require 'config-evil)
|
||||
(require 'config-org)
|
||||
(require 'config-secret)
|
||||
(require 'config-dired)
|
||||
|
||||
;;; Global modes
|
||||
(tool-bar-mode 0)
|
||||
(savehist-mode 1)
|
||||
(show-paren-mode t)
|
||||
(yas-global-mode 1)
|
||||
(guide-key-mode 1)
|
||||
|
||||
;;; Specific modes
|
||||
;; (autoload 'markdown-mode "markdown-mode"
|
||||
;; "Major mode for editing Markdown files" t)
|
||||
(add-to-list 'auto-mode-alist '("\\.text\\'" . markdown-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
|
||||
|
||||
;;
|
||||
;; Global Keybindings
|
||||
;;
|
||||
(global-set-key "\C-w" 'backward-kill-word)
|
||||
(global-set-key "\C-x\C-k" 'kill-region)
|
||||
(global-set-key [escape] 'keyboard-escape-quit)
|
||||
(define-key helm-map (kbd "C-w") 'backward-kill-word)
|
||||
(global-set-key (kbd "C-x 1") 'zygospore-toggle-delete-other-windows)
|
||||
|
||||
;; Don't clover my folders
|
||||
(setq
|
||||
backup-by-copying t ; don't clobber symlinks
|
||||
delete-old-versions t
|
||||
kept-new-versions 6
|
||||
kept-old-versions 2
|
||||
version-control t) ; use versioned backups
|
||||
|
||||
(setq backup-directory-alist
|
||||
`((".*" . ,temporary-file-directory)))
|
||||
(setq auto-save-file-name-transforms
|
||||
`((".*" , temporary-file-directory t)))
|
||||
;; Preven #file#.txt files
|
||||
(setq create-lockfiles nil)
|
||||
|
||||
(setq inhibit-startup-message t)
|
||||
|
||||
(toggle-indicate-empty-lines)
|
||||
|
||||
;;; Columns
|
||||
(require 'fill-column-indicator)
|
||||
(setq fci-rule-column 79)
|
||||
(setq fci-rule-color highlight-color)
|
||||
(setq fci-rule-width 3)
|
||||
|
||||
(fringe-mode '(5 . 5))
|
||||
|
||||
(eval-after-load 'magit
|
||||
'(progn
|
||||
(set-face-foreground 'magit-diff-add "green3")
|
||||
(set-face-foreground 'magit-diff-del "red3")
|
||||
(set-face-background 'magit-item-highlight "black")))
|
||||
|
||||
;; Fix Scrolling in tmux
|
||||
;; Set the default font too
|
||||
(defun client-config (&optional frame)
|
||||
"Establish settings for the current terminal."
|
||||
(if (not frame) ;; The initial call.
|
||||
(xterm-mouse-mode 1)
|
||||
;; Otherwise called via after-make-frame-functions.
|
||||
(if xterm-mouse-mode
|
||||
;; Re-initialise the mode in case of a new terminal.
|
||||
(xterm-mouse-mode 1))))
|
||||
;; Evaluate both now (for non-daemon emacs) and upon frame creation
|
||||
;; (for new terminals via emacsclient).
|
||||
(client-config)
|
||||
(add-hook 'after-make-frame-functions 'client-config)
|
||||
|
||||
(defun toggle-current-window-dedication ()
|
||||
(interactive)
|
||||
(let* ((window (selected-window))
|
||||
(dedicated (window-dedicated-p window)))
|
||||
(set-window-dedicated-p window (not dedicated))
|
||||
(message "Window %sdedicated to %s"
|
||||
(if dedicated "no longer " "")
|
||||
(buffer-name))))
|
||||
|
||||
(global-set-key [insert] 'toggle-current-window-dedication)
|
||||
|
||||
|
||||
;; Disable copying to the clipboard
|
||||
;; (setq x-select-enable-clipboard nil)
|
||||
;; (setq x-select-enable-primary t)
|
||||
|
||||
;;; Show human sizes in dired
|
||||
(setq-default dired-listing-switches "-alhv")
|
||||
|
||||
(defalias 'yes-or-no-p 'y-or-n-p)
|
||||
|
||||
;;; Winner
|
||||
;;; History of visited windows
|
||||
;;; C-<left>, C-<right>
|
||||
(when (fboundp 'winner-mode)
|
||||
(winner-mode 1))
|
||||
|
||||
(exec-path-from-shell-initialize)
|
||||
|
||||
(require 'git-gutter-fringe)
|
||||
(setq git-gutter-fr:side 'right-fringe)
|
||||
|
||||
;; set a default font
|
||||
(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-10"))
|
||||
;; emacs doesn't actually save undo history with revert-buffer
|
||||
;; see http://lists.gnu.org/archive/html/bug-gnu-emacs/2011-04/msg00151.html
|
||||
;; fix that.
|
||||
(defun revert-buffer-keep-history (&optional IGNORE-AUTO NOCONFIRM PRESERVE-MODES)
|
||||
(interactive)
|
||||
|
||||
(setq tmp (point))
|
||||
;; tell Emacs the modtime is fine, so we can edit the buffer
|
||||
(clear-visited-file-modtime)
|
||||
|
||||
;; insert the current contents of the file on disk
|
||||
(widen)
|
||||
(delete-region (point-min) (point-max))
|
||||
(insert-file-contents (buffer-file-name))
|
||||
|
||||
;; mark the buffer as not modified
|
||||
(not-modified)
|
||||
(set-visited-file-modtime)
|
||||
(goto-char tmp)
|
||||
)
|
||||
|
||||
(setq revert-buffer-function 'revert-buffer-keep-history)
|
||||
|
||||
(require 'recentf)
|
||||
(recentf-mode 1)
|
||||
(setq recentf-max-saved-items 300)
|
||||
(setq recentf-max-menu-items 20)
|
||||
|
||||
|
||||
(provide '.emacs)
|
399
emacs/#.spacemacs#
Normal file
399
emacs/#.spacemacs#
Normal file
@@ -0,0 +1,399 @@
|
||||
;; -*- mode: emacs-lisp -*-
|
||||
;; This file is loaded by Spacemacs at startup.
|
||||
;; It must be stored in your home directory.
|
||||
|
||||
(defun dotspacemacs/layers ()
|
||||
"Configuration Layers declaration.
|
||||
You should not put any user code in this function besides modifying the variable
|
||||
values."
|
||||
(setq-default
|
||||
;; Base distribution to use. This is a layer contained in the directory
|
||||
;; `+distribution'. For now available distributions are `spacemacs-base'
|
||||
;; or `spacemacs'. (default 'spacemacs)
|
||||
dotspacemacs-distribution 'spacemacs
|
||||
;; Lazy installation of layers (i.e. layers are installed only when a file
|
||||
Podéis tomarOSddjk with a supported type is opened). Possible values are `all', `unused'
|
||||
;; and `nil'. `unuemacs do not wrap linessed' will lazy install only unused layers (i.e. layers
|
||||
;; not listed in variable `dotspacemacs-configuration-layers'), `all' will
|
||||
;; lazy install any layer that support lazy installation even the layers
|
||||
;; listed in `dotspacemacs-configuration-layers'. `nil' disable the lazy
|
||||
;; installation feature and you have to explicitly list a layer in the
|
||||
;; variable `dotspacemacs-configuration-layers' to install it.
|
||||
;; (default 'unused)
|
||||
dotspacemacs-enable-lazy-installation 'unused
|
||||
;; If non-nil then Spacemacs will ask for confirmation before installing
|
||||
;; a layer lazily. (default t)
|
||||
dotspacemacs-ask-for-lazy-installation t
|
||||
;; If non-nil layers with lazy install support are lazy installed.
|
||||
;; List of additional paths where to look for configuration layers.
|
||||
;; Paths must have a trailing slash (i.e. `~/.mycontribs/')
|
||||
dotspacemacs-configuration-layer-path '()
|
||||
;; List of configuration layers to load.
|
||||
dotspacemacs-configuration-layers
|
||||
'(
|
||||
go
|
||||
clojure
|
||||
nginx
|
||||
csv
|
||||
javascript
|
||||
yaml
|
||||
html
|
||||
python
|
||||
(go :variables
|
||||
gofmt-command "goimports"
|
||||
)
|
||||
;; ----------------------------------------------------------------
|
||||
;; Example of useful layers you may want to use right away.
|
||||
;; Uncomment some layer names and press <SPC f e R> (Vim style) or
|
||||
;; <M-m f e R> (Emacs style) to install them.
|
||||
;; ----------------------------------------------------------------
|
||||
helm
|
||||
(auto-completion :variables
|
||||
auto-completion-return-key-behavior 'complete
|
||||
auto-completion-tab-key-behavior 'cycle
|
||||
auto-completion-complete-with-key-sequence nil
|
||||
auto-completion-complete-with-key-sequence-delay 0.1
|
||||
auto-completion-private-snippets-directory nil)
|
||||
|
||||
;; better-defaults
|
||||
emacs-lisp
|
||||
git
|
||||
latex
|
||||
markdown
|
||||
org
|
||||
themes-megapack
|
||||
(shell :variables
|
||||
shell-default-height 30
|
||||
shell-default-position 'bottom)
|
||||
spell-checking
|
||||
syntax-checking
|
||||
version-control
|
||||
yaml
|
||||
)
|
||||
;; List of additional packages that will be installed without being
|
||||
;; wrapped in a layer. If you need some configuration for these
|
||||
;; packages, then consider creating a layer. You can also put the
|
||||
;; configuration in `dotspacemacs/user-config'.
|
||||
dotspacemacs-additional-packages '()
|
||||
;; A list of packages that cannot be updated.
|
||||
dotspacemacs-frozen-packages '()
|
||||
;; A list of packages that will not be installed and loaded.
|
||||
dotspacemacs-excluded-packages '()
|
||||
;; Defines the behaviour of Spacemacs when installing packages.
|
||||
;; Possible values are `used-only', `used-but-keep-unused' and `all'.
|
||||
;; `used-only' installs only explicitly used packages and uninstall any
|
||||
;; unused packages as well as their unused dependencies.
|
||||
;; `used-but-keep-unused' installs only the used packages but won't uninstall
|
||||
;; them if they become unused. `all' installs *all* packages supported by
|
||||
;; Spacemacs and never uninstall them. (default is `used-only')
|
||||
dotspacemacs-install-packages 'used-only))
|
||||
|
||||
(defun dotspacemacs/init ()
|
||||
"Initialization function.
|
||||
This function is called at the very startup of Spacemacs initialization
|
||||
before layers configuration.
|
||||
You should not put any user code in there besides modifying the variable
|
||||
values."
|
||||
;; This setq-default sexp is an exhaustive list of all the supported
|
||||
;; spacemacs settings.
|
||||
(setq-default
|
||||
;; If non nil ELPA repositories are contacted via HTTPS whenever it's
|
||||
;; possible. Set it to nil if you have no way to use HTTPS in your
|
||||
;; environment, otherwise it is strongly recommended to let it set to t.
|
||||
;; This variable has no effect if Emacs is launched with the parameter
|
||||
;; `--insecure' which forces the value of this variable to nil.
|
||||
;; (default t)
|
||||
dotspacemacs-elpa-https t
|
||||
;; Maximum allowed time in seconds to contact an ELPA repository.
|
||||
dotspacemacs-elpa-timeout 5
|
||||
;; If non nil then spacemacs will check for updates at startup
|
||||
;; when the current branch is not `develop'. Note that checking for
|
||||
;; new versions works via git commands, thus it calls GitHub services
|
||||
;; whenever you start Emacs. (default nil)
|
||||
dotspacemacs-check-for-update nil
|
||||
;; If non-nil, a form that evaluates to a package directory. For example, to
|
||||
;; use different package directories for different Emacs versions, set this
|
||||
;; to `emacs-version'.
|
||||
dotspacemacs-elpa-subdirectory nil
|
||||
;; One of `vim', `emacs' or `hybrid'.
|
||||
;; `hybrid' is like `vim' except that `insert state' is replaced by the
|
||||
;; `hybrid state' with `emacs' key bindings. The value can also be a list
|
||||
;; with `:variables' keyword (similar to layers). Check the editing styles
|
||||
;; section of the documentation for details on available variables.
|
||||
;; (default 'vim)
|
||||
dotspacemacs-editing-style 'vim
|
||||
;; If non nil output loading progress in `*Messages*' buffer. (default nil)
|
||||
dotspacemacs-verbose-loading nil
|
||||
;; Specify the startup banner. Default value is `official', it displays
|
||||
;; the official spacemacs logo. An integer value is the index of text
|
||||
;; banner, `random' chooses a random text banner in `core/banners'
|
||||
;; directory. A string value must be a path to an image format supported
|
||||
;; by your Emacs build.
|
||||
;; If the value is nil then no banner is displayed. (default 'official)
|
||||
dotspacemacs-startup-banner 'official
|
||||
;; List of items to show in startup buffer or an association list of
|
||||
;; the form `(list-type . list-size)`. If nil then it is disabled.
|
||||
;; Possible values for list-type are:
|
||||
;; `recents' `bookmarks' `projects' `agenda' `todos'."
|
||||
;; List sizes may be nil, in which case
|
||||
;; `spacemacs-buffer-startup-lists-length' takes effect.
|
||||
dotspacemacs-startup-lists '((recents . 5)
|
||||
(projects . 7))
|
||||
;; True if the home buffer should respond to resize events.
|
||||
dotspacemacs-startup-buffer-responsive t
|
||||
;; Default major mode of the scratch buffer (default `text-mode')
|
||||
dotspacemacs-scratch-mode 'text-mode
|
||||
;; List of themes, the first of the list is loaded when spacemacs starts.
|
||||
;; Press <SPC> T n to cycle to the next theme in the list (works great
|
||||
;; with 2 themes variants, one dark and one light)
|
||||
dotspacemacs-themes '(
|
||||
leuven
|
||||
spacemacs-dark
|
||||
minimal-light
|
||||
tango-plus
|
||||
dichromacy
|
||||
ample
|
||||
sanityinc-tomorrow-night)
|
||||
;; If non nil the cursor color matches the state color in GUI Emacs.
|
||||
dotspacemacs-colorize-cursor-according-to-state t
|
||||
;; Default font, or prioritized list of fonts. `powerline-scale' allows to
|
||||
;; quickly tweak the mode-line size to make separators look not too crappy.
|
||||
dotspacemacs-default-font '("DejaVu Sans Mono"
|
||||
:size 14
|
||||
:weight normal
|
||||
:width normal
|
||||
:powerline-scale 1.5)
|
||||
;; The leader key
|
||||
dotspacemacs-leader-key "SPC"
|
||||
;; The key used for Emacs commands (M-x) (after pressing on the leader key).
|
||||
;; (default "SPC")
|
||||
dotspacemacs-emacs-command-key "SPC"
|
||||
;; The key used for Vim Ex commands (default ":")
|
||||
dotspacemacs-ex-command-key ":"
|
||||
;; The leader key accessible in `emacs state' and `insert state'
|
||||
;; (default "M-m")
|
||||
dotspacemacs-emacs-leader-key "M-m"
|
||||
;; Major mode leader key is a shortcut key which is the equivalent of
|
||||
;; pressing `<leader> m`. Set it to `nil` to disable it. (default ",")
|
||||
dotspacemacs-major-mode-leader-key ","
|
||||
;; Major mode leader key accessible in `emacs state' and `insert state'.
|
||||
;; (default "C-M-m")
|
||||
dotspacemacs-major-mode-emacs-leader-key "C-M-m"
|
||||
;; These variables control whether separate commands are bound in the GUI to
|
||||
;; the key pairs C-i, TAB and C-m, RET.
|
||||
;; Setting it to a non-nil value, allows for separate commands under <C-i>
|
||||
;; and TAB or <C-m> and RET.
|
||||
;; In the terminal, these pairs are generally indistinguishable, so this only
|
||||
;; works in the GUI. (default nil)
|
||||
dotspacemacs-distinguish-gui-tab nil
|
||||
;; If non nil `Y' is remapped to `y$' in Evil states. (default nil)
|
||||
dotspacemacs-remap-Y-to-y$ nil
|
||||
;; If non-nil, the shift mappings `<' and `>' retain visual state if used
|
||||
;; there. (default t)
|
||||
dotspacemacs-retain-visual-state-on-shift t
|
||||
;; If non-nil, J and K move lines up and down when in visual mode.
|
||||
;; (default nil)
|
||||
dotspacemacs-visual-line-move-text nil
|
||||
;; If non nil, inverse the meaning of `g' in `:substitute' Evil ex-command.
|
||||
;; (default nil)
|
||||
dotspacemacs-ex-substitute-global nil
|
||||
;; Name of the default layout (default "Default")
|
||||
dotspacemacs-default-layout-name "Default"
|
||||
;; If non nil the default layout name is displayed in the mode-line.
|
||||
;; (default nil)
|
||||
dotspacemacs-display-default-layout nil
|
||||
;; If non nil then the last auto saved layouts are resume automatically upon
|
||||
;; start. (default nil)
|
||||
dotspacemacs-auto-resume-layouts nil
|
||||
;; Size (in MB) above which spacemacs will prompt to open the large file
|
||||
;; literally to avoid performance issues. Opening a file literally means that
|
||||
;; no major mode or minor modes are active. (default is 1)
|
||||
dotspacemacs-large-file-size 1
|
||||
;; Location where to auto-save files. Possible values are `original' to
|
||||
;; auto-save the file in-place, `cache' to auto-save the file to another
|
||||
;; file stored in the cache directory and `nil' to disable auto-saving.
|
||||
;; (default 'cache)
|
||||
dotspacemacs-auto-save-file-location 'cache
|
||||
;; Maximum number of rollback slots to keep in the cache. (default 5)
|
||||
dotspacemacs-max-rollback-slots 5
|
||||
;; If non nil, `helm' will try to minimize the space it uses. (default nil)
|
||||
dotspacemacs-helm-resize nil
|
||||
;; if non nil, the helm header is hidden when there is only one source.
|
||||
;; (default nil)
|
||||
dotspacemacs-helm-no-header nil
|
||||
;; define the position to display `helm', options are `bottom', `top',
|
||||
;; `left', or `right'. (default 'bottom)
|
||||
dotspacemacs-helm-position 'bottom
|
||||
;; Controls fuzzy matching in helm. If set to `always', force fuzzy matching
|
||||
;; in all non-asynchronous sources. If set to `source', preserve individual
|
||||
;; source settings. Else, disable fuzzy matching in all sources.
|
||||
;; (default 'always)
|
||||
dotspacemacs-helm-use-fuzzy 'always
|
||||
;; If non nil the paste micro-state is enabled. When enabled pressing `p`
|
||||
;; several times cycle between the kill ring content. (default nil)
|
||||
dotspacemacs-enable-paste-transient-state nil
|
||||
;; Which-key delay in seconds. The which-key buffer is the popup listing
|
||||
;; the commands bound to the current keystroke sequence. (default 0.4)
|
||||
dotspacemacs-which-key-delay 0.4
|
||||
;; Which-key frame position. Possible values are `right', `bottom' and
|
||||
;; `right-then-bottom'. right-then-bottom tries to display the frame to the
|
||||
;; right; if there is insufficient space it displays it at the bottom.
|
||||
;; (default 'bottom)
|
||||
dotspacemacs-which-key-position 'bottom
|
||||
;; If non nil a progress bar is displayed when spacemacs is loading. This
|
||||
;; may increase the boot time on some systems and emacs builds, set it to
|
||||
;; nil to boost the loading time. (default t)
|
||||
dotspacemacs-loading-progress-bar t
|
||||
;; If non nil the frame is fullscreen when Emacs starts up. (default nil)
|
||||
;; (Emacs 24.4+ only)
|
||||
dotspacemacs-fullscreen-at-startup nil
|
||||
;; If non nil `spacemacs/toggle-fullscreen' will not use native fullscreen.
|
||||
;; Use to disable fullscreen animations in OSX. (default nil)
|
||||
dotspacemacs-fullscreen-use-non-native nil
|
||||
;; If non nil the frame is maximized when Emacs starts up.
|
||||
;; Takes effect only if `dotspacemacs-fullscreen-at-startup' is nil.
|
||||
;; (default nil) (Emacs 24.4+ only)
|
||||
dotspacemacs-maximized-at-startup nil
|
||||
;; A value from the range (0..100), in increasing opacity, which describes
|
||||
;; the transparency level of a frame when it's active or selected.
|
||||
;; Transparency can be toggled through `toggle-transparency'. (default 90)
|
||||
dotspacemacs-active-transparency 90
|
||||
;; A value from the range (0..100), in increasing opacity, which describes
|
||||
;; the transparency level of a frame when it's inactive or deselected.
|
||||
;; Transparency can be toggled through `toggle-transparency'. (default 90)
|
||||
dotspacemacs-inactive-transparency 90
|
||||
;; If non nil show the titles of transient states. (default t)
|
||||
dotspacemacs-show-transient-state-title t
|
||||
;; If non nil show the color guide hint for transient state keys. (default t)
|
||||
dotspacemacs-show-transient-state-color-guide t
|
||||
;; If non nil unicode symbols are displayed in the mode line. (default t)
|
||||
dotspacemacs-mode-line-unicode-symbols t
|
||||
;; If non nil smooth scrolling (native-scrolling) is enabled. Smooth
|
||||
;; scrolling overrides the default behavior of Emacs which recenters point
|
||||
;; when it reaches the top or bottom of the screen. (default t)
|
||||
dotspacemacs-smooth-scrolling t
|
||||
;; Control line numbers activation.
|
||||
;; If set to `t' or `relative' line numbers are turned on in all `prog-mode' and
|
||||
;; `text-mode' derivatives. If set to `relative', line numbers are relative.
|
||||
;; This variable can also be set to a property list for finer control:
|
||||
;; '(:relative nil
|
||||
;; :disabled-for-modes dired-mode
|
||||
;; doc-view-mode
|
||||
;; markdown-mode
|
||||
;; org-mode
|
||||
;; pdf-view-mode
|
||||
;; text-mode
|
||||
;; :size-limit-kb 1000)
|
||||
;; (default nil)
|
||||
dotspacemacs-line-numbers t
|
||||
;; Code folding method. Possible values are `evil' and `origami'.
|
||||
;; (default 'evil)
|
||||
dotspacemacs-folding-method 'evil
|
||||
;; If non-nil smartparens-strict-mode will be enabled in programming modes.
|
||||
;; (default nil)
|
||||
dotspacemacs-smartparens-strict-mode nil
|
||||
;; If non-nil pressing the closing parenthesis `)' key in insert mode passes
|
||||
;; over any automatically added closing parenthesis, bracket, quote, etc…
|
||||
;; This can be temporary disabled by pressing `C-q' before `)'. (default nil)
|
||||
dotspacemacs-smart-closing-parenthesis nil
|
||||
;; Select a scope to highlight delimiters. Possible values are `any',
|
||||
;; `current', `all' or `nil'. Default is `all' (highlight any scope and
|
||||
;; emphasis the current one). (default 'all)
|
||||
dotspacemacs-highlight-delimiters 'all
|
||||
;; If non nil, advise quit functions to keep server open when quitting.
|
||||
;; (default nil)
|
||||
dotspacemacs-persistent-server nil
|
||||
;; List of search tool executable names. Spacemacs uses the first installed
|
||||
;; tool of the list. Supported tools are `ag', `pt', `ack' and `grep'.
|
||||
;; (default '("ag" "pt" "ack" "grep"))
|
||||
dotspacemacs-search-tools '("ag" "pt" "ack" "grep")
|
||||
;; The default package repository used if no explicit repository has been
|
||||
;; specified with an installed package.
|
||||
;; Not used for now. (default nil)
|
||||
dotspacemacs-default-package-repository nil
|
||||
;; Delete whitespace while saving buffer. Possible values are `all'
|
||||
;; to aggressively delete empty line and long sequences of whitespace,
|
||||
;; `trailing' to delete only the whitespace at end of lines, `changed'to
|
||||
;; delete only whitespace for changed lines or `nil' to disable cleanup.
|
||||
;; (default nil)
|
||||
dotspacemacs-whitespace-cleanup nil
|
||||
))
|
||||
|
||||
(defun dotspacemacs/user-init ()
|
||||
"Initialization function for user code.
|
||||
It is called immediately after `dotspacemacs/init', before layer configuration
|
||||
executes.
|
||||
This function is mostly useful for variables that need to be set
|
||||
before packages are loaded. If you are unsure, you should try in setting them in
|
||||
`dotspacemacs/user-config' first."
|
||||
)
|
||||
|
||||
(defun dotspacemacs/user-config ()
|
||||
"Configuration function for user code.
|
||||
This function is called at the very end of Spacemacs initialization after
|
||||
layers configuration.
|
||||
This is the place where most of your configurations should be done. Unless it is
|
||||
explicitly specified that a variable should be set before a package is loaded,
|
||||
you should place your code here."
|
||||
(with-eval-after-load 'helm
|
||||
(define-key helm-map (kbd "C-w") 'evil-delete-backward-word)
|
||||
)
|
||||
;; Launch terminal
|
||||
|
||||
(defun open-terminal ()
|
||||
"Open a terminal in the current working directory."
|
||||
(interactive)
|
||||
(call-process (or (getenv "XTERMINAL") "xterm") nil 0 nil))
|
||||
;; This does not work: (concat "echo -c 'cd " default-directory "'"))
|
||||
|
||||
(global-set-key (kbd "C-c t") 'open-terminal)
|
||||
)
|
||||
|
||||
;; Do not write anything past this comment. This is where Emacs will
|
||||
;; auto-generate custom variable definitions.
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(ansi-color-faces-vector
|
||||
[default bold shadow italic underline bold bold-italic bold])
|
||||
'(beacon-color "#cc6666")
|
||||
'(custom-safe-themes
|
||||
(quote
|
||||
("3e335d794ed3030fefd0dbd7ff2d3555e29481fe4bbb0106ea11c660d6001767" "cc0dbb53a10215b696d391a90de635ba1699072745bf653b53774706999208e3" "ed317c0a3387be628a48c4bbdb316b4fa645a414838149069210b66dd521733f" "938d8c186c4cb9ec4a8d8bc159285e0d0f07bad46edf20aa469a89d0d2a586ea" "fa2b58bb98b62c3b8cf3b6f02f058ef7827a8e497125de0254f56e373abee088" "bffa9739ce0752a37d9b1eee78fc00ba159748f50dc328af4be661484848e476" default)))
|
||||
'(evil-want-Y-yank-to-eol nil)
|
||||
'(fci-rule-color "#373b41" t)
|
||||
'(flycheck-color-mode-line-face-to-color (quote mode-line-buffer-id))
|
||||
'(frame-background-mode (quote dark))
|
||||
'(package-selected-packages
|
||||
(quote
|
||||
(zenburn-theme zen-and-art-theme underwater-theme ujelly-theme twilight-theme twilight-bright-theme twilight-anti-bright-theme toxi-theme tao-theme tangotango-theme tango-plus-theme tango-2-theme sunny-day-theme sublime-themes subatomic256-theme subatomic-theme spacegray-theme soothe-theme solarized-theme soft-stone-theme soft-morning-theme soft-charcoal-theme smyx-theme seti-theme reverse-theme railscasts-theme purple-haze-theme professional-theme planet-theme phoenix-dark-pink-theme phoenix-dark-mono-theme organic-green-theme omtose-phellack-theme oldlace-theme occidental-theme obsidian-theme noctilux-theme naquadah-theme mustang-theme monokai-theme monochrome-theme molokai-theme moe-theme minimal-theme material-theme majapahit-theme madhat2r-theme lush-theme light-soap-theme jbeans-theme jazz-theme ir-black-theme clojure-snippets clj-refactor inflections edn paredit peg cider-eval-sexp-fu cider seq queue clojure-mode nginx-mode auctex-latexmk company-auctex auctex csv-mode web-beautify livid-mode skewer-mode simple-httpd json-mode json-snatcher json-reformat js2-refactor multiple-cursors js2-mode js-doc company-tern dash-functional tern coffee-mode yaml-mode helm-company helm-c-yasnippet fuzzy company-web web-completion-data company-statistics company-go company-anaconda company auto-yasnippet yasnippet ac-ispell auto-complete web-mode tagedit slim-mode scss-mode sass-mode pug-mode less-css-mode helm-css-scss haml-mode emmet-mode smeargle orgit magit-gitflow helm-gitignore gitignore-mode gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link evil-magit magit magit-popup xterm-color shell-pop org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-download multi-term mmm-mode markdown-toc markdown-mode htmlize gnuplot git-gutter-fringe+ git-gutter-fringe fringe-helper git-gutter+ git-commit with-editor git-gutter gh-md flyspell-correct-helm flyspell-correct flycheck-pos-tip pos-tip flycheck eshell-z eshell-prompt-extras esh-help diff-hl auto-dictionary yapfify pyvenv pytest pyenv-mode py-isort pip-requirements live-py-mode hy-mode helm-pydoc cython-mode anaconda-mode pythonic go-guru go-eldoc go-mode ws-butler winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline powerline restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox spinner org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint info+ indent-guide hydra hungry-delete hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation hide-comnt help-fns+ helm-themes helm-swoop helm-projectile helm-mode-manager helm-make projectile pkg-info epl helm-flx helm-descbinds helm-ag google-translate golden-ratio flx-ido flx fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-ediff evil-args evil-anzu anzu evil goto-chg undo-tree eval-sexp-fu highlight elisp-slime-nav dumb-jump f s diminish define-word column-enforce-mode clean-aindent-mode bind-map bind-key auto-highlight-symbol auto-compile packed dash aggressive-indent adaptive-wrap ace-window ace-link ace-jump-helm-line helm avy helm-core popup async)))
|
||||
'(vc-annotate-background nil)
|
||||
'(vc-annotate-color-map
|
||||
(quote
|
||||
((20 . "#cc6666")
|
||||
(40 . "#de935f")
|
||||
(60 . "#f0c674")
|
||||
(80 . "#b5bd68")
|
||||
(100 . "#8abeb7")
|
||||
(120 . "#81a2be")
|
||||
(140 . "#b294bb")
|
||||
(160 . "#cc6666")
|
||||
(180 . "#de935f")
|
||||
(200 . "#f0c674")
|
||||
(220 . "#b5bd68")
|
||||
(240 . "#8abeb7")
|
||||
(260 . "#81a2be")
|
||||
(280 . "#b294bb")
|
||||
(300 . "#cc6666")
|
||||
(320 . "#de935f")
|
||||
(340 . "#f0c674")
|
||||
(360 . "#b5bd68"))))
|
||||
'(vc-annotate-very-old-color nil))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(default ((t (:background nil)))))
|
3
emacs/.emacs.d/.gitignore
vendored
Normal file
3
emacs/.emacs.d/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
*
|
||||
!init.el
|
||||
!custom.el
|
23
emacs/.emacs.d/custom.el
Normal file
23
emacs/.emacs.d/custom.el
Normal file
@@ -0,0 +1,23 @@
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(ansi-color-names-vector
|
||||
["#101010" "#7c7c7c" "#8e8e8e" "#a0a0a0" "#686868" "#747474" "#686868" "#b9b9b9"])
|
||||
'(ansi-term-color-vector
|
||||
[unspecified "#101010" "#7c7c7c" "#8e8e8e" "#a0a0a0" "#686868" "#747474" "#686868" "#b9b9b9"])
|
||||
'(custom-safe-themes
|
||||
(quote
|
||||
("aea30125ef2e48831f46695418677b9d676c3babf43959c8e978c0ad672a7329" "cea3ec09c821b7eaf235882e6555c3ffa2fd23de92459751e18f26ad035d2142" "3380a2766cf0590d50d6366c5a91e976bdc3c413df963a0ab9952314b4577299" "100eeb65d336e3d8f419c0f09170f9fd30f688849c5e60a801a1e6addd8216cb" "3f67aee8f8d8eedad7f547a346803be4cc47c420602e19d88bdcccc66dba033b" "c968804189e0fc963c641f5c9ad64bca431d41af2fb7e1d01a2a6666376f819c" "50d07ab55e2b5322b2a8b13bc15ddf76d7f5985268833762c500a90e2a09e7aa" "4feee83c4fbbe8b827650d0f9af4ba7da903a5d117d849a3ccee88262805f40d" "fee4e306d9070a55dce4d8e9d92d28bd9efe92625d2ba9d4d654fc9cd8113b7f" "6daa09c8c2c68de3ff1b83694115231faa7e650fdbb668bc76275f0f2ce2a437" "1263771faf6967879c3ab8b577c6c31020222ac6d3bac31f331a74275385a452" "ec13410d459f1b67158c500d13d290560fc4dad2edaaa22e33a4d1df08e8f887" "34ed3e2fa4a1cb2ce7400c7f1a6c8f12931d8021435bad841fdc1192bd1cc7da" "8cf1002c7f805360115700144c0031b9cfa4d03edc6a0f38718cef7b7cabe382" "12670281275ea7c1b42d0a548a584e23b9c4e1d2dabb747fd5e2d692bcd0d39b" "21e380db38e92e8c0e56e0a2446f7ac8f6851061b57ffbcadb284ffe4c102478" "91fba9a99f7b64390e1f56319c3dbbaed22de1b9676b3c73d935bf62277b799c" "b1bcb837df0455af8e91114b7a3bddfa084cde32ceb16b1b468d5e5e8605a835" "e24679edfdea016519c0e2d4a5e57157a11f928b7ef4361d00c23a7fe54b8e01" "9f6750057fefba39c184783c7b80ddd9c63bc6e8064846b423b4362c9e930404" "d43120398682953ef18fd7e11e69c94e44d39bb2ab450c4e64815311542acbff" "b4ec581daad15aa7020b722523dc6bcea850bfbdbe31bfeb11c45ea51899bd75" "3a3917dbcc6571ef3942c2bf4c4240f70b5c4bc0b28192be6d3f9acd83607a24" "b6db49cec08652adf1ff2341ce32c7303be313b0de38c621676122f255ee46db" "b6d649c9f972b491686e7fa634535653e6222c1faca1ab71b3117854470a79ae" "0ae52e74c576120c6863403922ee00340a3bf3051615674c4b937f9c99b24535" "b2028956188cf668e27a130c027e7f240c24c705c1517108b98a9645644711d9" "03e3e79fb2b344e41a7df897818b7969ca51a15a67dc0c30ebbdeb9ea2cd4492" "232f715279fc131ed4facf6a517b84d23dca145fcc0e09c5e0f90eb534e1680f" "aed73c6d0afcf2232bb25ed2d872c7a1c4f1bda6759f84afc24de6a1aec93da8" "0b6645497e51d80eda1d337d6cabe31814d6c381e69491931a688836c16137ed" "cdfb22711f64d0e665f40b2607879fcf2607764b2b70d672ddaa26d2da13049f" "196cc00960232cfc7e74f4e95a94a5977cb16fd28ba7282195338f68c84058ec" default)))
|
||||
'(global-hl-line-mode t)
|
||||
'(package-selected-packages
|
||||
(quote
|
||||
(package-build yafolding origami-mode highlight-indent-guides indent-guide go-dlv quelpa avy avy-mode github-theme base16-theme hlinum glab neotree evil-magit docker password-store gitlab flycheck-cask ensime scala-mode yasnippet yaml-mode slime quelpa-use-package ob-ipython nose n3-mode monokai-theme markdown-mode magit jedi helm-swoop helm-projectile helm-descbinds helm-ag guide-key go-mode go-autocomplete gist flymake-go flycheck exec-path-from-shell evil-surround evil-smartparens evil-paredit evil-org evil-nerd-commenter evil-mu4e evil-matchit evil-leader evil-jumper ein clojure-mode auctex ace-jump-mode)))
|
||||
'(safe-local-variable-values (quote ((TeX-command-extra-options . "-shell-escape")))))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
)
|
844
emacs/.emacs.d/init.el
Normal file
844
emacs/.emacs.d/init.el
Normal file
@@ -0,0 +1,844 @@
|
||||
;;; BalkEmacs --- My emacs configuration
|
||||
;;; Commentary:
|
||||
|
||||
(setq custom-file "~/.emacs.d/custom.el")
|
||||
(load custom-file 'noerror)
|
||||
|
||||
(package-initialize)
|
||||
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
|
||||
(add-to-list 'package-archives '("melpa-stable" . "http://stable.melpa.org/packages/") t)
|
||||
(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
|
||||
|
||||
(setq quelpa-checkout-melpa-p nil)
|
||||
|
||||
(unless (require 'quelpa nil t)
|
||||
(with-temp-buffer
|
||||
(url-insert-file-contents "https://raw.github.com/quelpa/quelpa/master/bootstrap.el")
|
||||
(eval-buffer)))
|
||||
|
||||
(quelpa 'use-package)
|
||||
;'(use-package
|
||||
;:fetcher github
|
||||
;:repo "quelpa/quelpa-use-package"))
|
||||
(require 'use-package)
|
||||
(quelpa
|
||||
'(quelpa-use-package
|
||||
:fetcher github
|
||||
:repo "quelpa/quelpa-use-package"))
|
||||
(require 'quelpa-use-package)
|
||||
|
||||
(eval-when-compile (require 'cl))
|
||||
|
||||
(use-package evil
|
||||
:ensure
|
||||
:init (progn
|
||||
(setq evil-want-C-u-scroll t)
|
||||
)
|
||||
:config (progn
|
||||
|
||||
(evil-mode)
|
||||
(use-package evil-leader :ensure)
|
||||
(use-package evil-matchit :ensure)
|
||||
(use-package neotree :ensure)
|
||||
(use-package evil-nerd-commenter
|
||||
:ensure
|
||||
:config (progn
|
||||
(evilnc-default-hotkeys)
|
||||
)
|
||||
)
|
||||
(use-package evil-surround :ensure)
|
||||
(use-package avy :ensure)
|
||||
|
||||
;; Evil global modes config
|
||||
(evilnc-default-hotkeys)
|
||||
(setq evil-default-cursor t)
|
||||
|
||||
;; Evil global modes
|
||||
(global-evil-jumper-mode 1)
|
||||
(global-evil-surround-mode 1)
|
||||
(global-evil-leader-mode)
|
||||
(global-evil-matchit-mode 1)
|
||||
|
||||
;; exclude modes from evil mode
|
||||
(add-to-list 'evil-emacs-state-modes 'git-rebase-mode)
|
||||
(add-to-list 'evil-emacs-state-modes 'undo-tree-visualizer-mode)
|
||||
(add-to-list 'evil-emacs-state-modes 'dired-mode)
|
||||
|
||||
|
||||
;; Neo
|
||||
(defun neotree-project-dir-toggle ()
|
||||
"Open NeoTree using the project root, using find-file-in-project,
|
||||
or the current buffer directory."
|
||||
(interactive)
|
||||
(let ((project-dir
|
||||
(ignore-errors
|
||||
(projectile-project-root)
|
||||
))
|
||||
(file-name (buffer-file-name))
|
||||
(neo-smart-open t))
|
||||
(if (and (fboundp 'neo-global--window-exists-p)
|
||||
(neo-global--window-exists-p))
|
||||
(neotree-hide)
|
||||
(progn
|
||||
(neotree-show)
|
||||
(if project-dir
|
||||
(neotree-dir project-dir))
|
||||
(if file-name
|
||||
(neotree-find file-name))))))
|
||||
|
||||
(defun next-code-buffer ()
|
||||
;;; Avoid special buffers when cycling through windows
|
||||
;;; http://stackoverflow.com/questions/14323516/make-emacs-next-buffer-skip-messages-buffer
|
||||
(interactive)
|
||||
(let (( bread-crumb (buffer-name) ))
|
||||
(next-buffer)
|
||||
(while
|
||||
(and
|
||||
(string-match-p "^\*" (buffer-name))
|
||||
(not ( equal bread-crumb (buffer-name) )) )
|
||||
(next-buffer))))
|
||||
|
||||
(defun previous-code-buffer ()
|
||||
(interactive)
|
||||
(let (( bread-crumb (buffer-name) ))
|
||||
(previous-buffer)
|
||||
(while
|
||||
(and
|
||||
(string-match-p "^\*" (buffer-name))
|
||||
(not ( equal bread-crumb (buffer-name) )) )
|
||||
(previous-buffer))))
|
||||
|
||||
;; change mode-line color by evil state
|
||||
(lexical-let ((default-color (cons (face-background 'mode-line)
|
||||
(face-foreground 'mode-line))))
|
||||
(add-hook 'post-command-hook
|
||||
(lambda ()
|
||||
(let ((color (cond ((minibufferp) default-color)
|
||||
((evil-insert-state-p) (cons (cdr default-color) (car default-color)))
|
||||
((buffer-modified-p) '("#ff0000" . "#ffffff"))
|
||||
(t default-color))))
|
||||
(set-face-background 'mode-line (car color))
|
||||
(set-face-foreground 'mode-line (cdr color))))))
|
||||
;; Evil keys
|
||||
(evil-leader/set-leader "<SPC>")
|
||||
|
||||
(define-key evil-normal-state-map (kbd "[q") 'previous-error)
|
||||
(define-key evil-normal-state-map (kbd "]q") 'next-error)
|
||||
(define-key evil-normal-state-map (kbd "[b") 'previous-code-buffer)
|
||||
(define-key evil-normal-state-map (kbd "]b") 'next-code-buffer)
|
||||
(define-key evil-normal-state-map (kbd "s") 'avy-goto-char-timer)
|
||||
(define-key evil-normal-state-map (kbd "S") 'avy-goto-word-0)
|
||||
(define-key evil-normal-state-map (kbd ",d") 'neotree-project-dir-toggle)
|
||||
(define-key evil-normal-state-map (kbd ",u") 'undo-tree-visualize)
|
||||
|
||||
(define-key evil-normal-state-map (kbd "C-c +") 'evil-numbers/inc-at-pt)
|
||||
(define-key evil-normal-state-map (kbd "C-c -") 'evil-numbers/dec-at-pt)
|
||||
|
||||
(add-hook 'neotree-mode-hook
|
||||
(lambda ()
|
||||
(define-key evil-normal-state-local-map (kbd "TAB") 'neotree-enter)
|
||||
(define-key evil-normal-state-local-map (kbd "SPC") 'neotree-enter)
|
||||
(define-key evil-normal-state-local-map (kbd "q") 'neotree-hide)
|
||||
(define-key evil-normal-state-local-map (kbd "RET") 'neotree-enter)))
|
||||
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
(use-package guide-key
|
||||
:ensure
|
||||
:config (progn
|
||||
(setq guide-key/guide-key-sequence t)
|
||||
(guide-key-mode 1)
|
||||
))
|
||||
|
||||
(use-package projectile
|
||||
:ensure
|
||||
:config (progn
|
||||
(projectile-global-mode)
|
||||
(setq projectile-switch-project-action 'projectile-dired)
|
||||
))
|
||||
|
||||
(use-package helm
|
||||
:ensure t
|
||||
:config (progn
|
||||
(use-package helm-config)
|
||||
(use-package helm-grep)
|
||||
(use-package helm-locate)
|
||||
(use-package helm-misc)
|
||||
(use-package helm-descbinds
|
||||
:config (progn
|
||||
(helm-descbinds-mode)
|
||||
)
|
||||
)
|
||||
(use-package helm-projectile :ensure
|
||||
:config (progn
|
||||
(setq projectile-completion-system 'helm)
|
||||
(helm-projectile-on)
|
||||
))
|
||||
(use-package helm-ag :ensure)
|
||||
|
||||
(setq helm-quick-update t)
|
||||
(setq helm-bookmark-show-location t)
|
||||
(setq helm-buffers-fuzzy-matching t)
|
||||
(defun smart-for-files ()
|
||||
"Call `helm-projectile' if `projectile-project-p', otherwise fallback to `helm-for-files'."
|
||||
(interactive)
|
||||
(if (projectile-project-p)
|
||||
(helm-projectile)
|
||||
(helm-for-files)))
|
||||
|
||||
(defun smart-for-buffers ()
|
||||
"Call `helm-projectile' if `projectile-project-p', otherwise fallback to `helm-for-files'."
|
||||
(interactive)
|
||||
(if (projectile-project-p)
|
||||
(helm-projectile-switch-to-buffer)
|
||||
(switch-to-buffer)))
|
||||
|
||||
;;; Save current position to mark ring
|
||||
(add-hook 'helm-goto-line-before-hook 'helm-save-current-pos-to-mark-ring)
|
||||
|
||||
;; Better helm fonts
|
||||
(set-face-attribute 'helm-selection nil :background "gold" :foreground "black")
|
||||
|
||||
;;; Keyboard mappings
|
||||
(global-set-key (kbd "M-y") 'helm-show-kill-ring)
|
||||
(global-set-key (kbd "C-x b") 'helm-mini)
|
||||
(global-set-key (kbd "C-x p") 'smart-for-files)
|
||||
(global-set-key (kbd "C-x C-f") 'helm-find-files)
|
||||
(global-set-key (kbd "C-h SPC") 'helm-all-mark-rings)
|
||||
(global-set-key (kbd "C-c h o") 'helm-occur)
|
||||
|
||||
(define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action) ; rebihnd tab to do persistent action
|
||||
(define-key helm-map (kbd "C-i") 'helm-execute-persistent-action) ; make TAB works in terminal
|
||||
(define-key helm-map (kbd "C-z") 'helm-select-action) ; list actions using C-z
|
||||
(define-key helm-grep-mode-map (kbd "<return>") 'helm-grep-mode-jump-other-window)
|
||||
(define-key helm-grep-mode-map (kbd "n") 'helm-grep-mode-jump-other-window-forward)
|
||||
(define-key helm-grep-mode-map (kbd "p") 'helm-grep-mode-jump-other-window-backward)
|
||||
|
||||
(define-key evil-normal-state-map "\C-e" 'evil-end-of-line)
|
||||
(define-key evil-insert-state-map "\C-e" 'end-of-line)
|
||||
(define-key evil-visual-state-map "\C-e" 'evil-end-of-line)
|
||||
(define-key evil-motion-state-map "\C-e" 'evil-end-of-line)
|
||||
(define-key evil-normal-state-map "\C-n" 'evil-next-line)
|
||||
(define-key evil-insert-state-map "\C-n" 'evil-next-line)
|
||||
(define-key evil-visual-state-map "\C-n" 'evil-next-line)
|
||||
(define-key evil-normal-state-map "\C-p" 'evil-previous-line)
|
||||
(define-key evil-insert-state-map "\C-p" 'evil-previous-line)
|
||||
(define-key evil-visual-state-map "\C-p" 'evil-previous-line)
|
||||
(define-key evil-normal-state-map "\C-k" 'kill-line)
|
||||
(define-key evil-insert-state-map "\C-k" 'kill-line)
|
||||
(define-key evil-visual-state-map "\C-k" 'kill-line)
|
||||
(define-key evil-normal-state-map "Q" 'call-last-kbd-macro)
|
||||
(define-key evil-visual-state-map "Q" 'call-last-kbd-macro)
|
||||
;;; Evil helm
|
||||
;; (define-key evil-normal-state-map (kbd "C-p") 'helm-mini)
|
||||
(evil-leader/set-key "p" 'smart-for-files)
|
||||
(evil-leader/set-key "b" 'smart-for-buffers)
|
||||
(evil-leader/set-key "<SPC>" 'helm-M-x)
|
||||
(define-key evil-normal-state-map (kbd ",s") 'helm-swoop)
|
||||
(define-key evil-normal-state-map (kbd ",a") 'helm-ag)
|
||||
(define-key evil-normal-state-map (kbd ",y") 'helm-show-kill-ring)
|
||||
|
||||
;;; Keyboard
|
||||
(global-set-key (kbd "M-x") 'helm-M-x)
|
||||
(define-key helm-map (kbd "C-w") 'backward-kill-word)
|
||||
|
||||
;; use helm to list eshell history
|
||||
(add-hook 'eshell-mode-hook
|
||||
#'(lambda ()
|
||||
(define-key eshell-mode-map (kbd "M-l") 'helm-eshell-history)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; PACKAGE: helm-swoop ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Locate the helm-swoop folder to your path
|
||||
(use-package helm-swoop
|
||||
:ensure
|
||||
:config (progn
|
||||
;; Change the keybinds to whatever you like :)
|
||||
(global-set-key (kbd "C-c h o") 'helm-swoop)
|
||||
(global-set-key (kbd "C-c s") 'helm-multi-swoop-all)
|
||||
;; When doing isearch, hand the word over to helm-swoop
|
||||
(define-key isearch-mode-map (kbd "M-i") 'helm-swoop-from-isearch)
|
||||
;; From helm-swoop to helm-multi-swoop-all
|
||||
(define-key helm-swoop-map (kbd "M-i") 'helm-multi-swoop-all-from-helm-swoop)
|
||||
;; Save buffer when helm-multi-swoop-edit complete
|
||||
(setq helm-multi-swoop-edit-save t)
|
||||
;; If this value is t, split window inside the current window
|
||||
(setq helm-swoop-split-with-multiple-windows t)
|
||||
;; Split direcion. 'split-window-vertically or 'split-window-horizontally
|
||||
(setq helm-swoop-split-direction 'split-window-vertically)
|
||||
;; If nil, you can slightly boost invoke speed in exchange for text color
|
||||
(setq helm-swoop-speed-or-color t)
|
||||
))
|
||||
(helm-mode 1)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package auto-complete
|
||||
:ensure t
|
||||
:config (progn
|
||||
(ac-config-default)
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
(use-package flycheck
|
||||
:ensure t
|
||||
:config (progn
|
||||
(add-hook 'after-init-hook #'global-flycheck-mode)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package popwin
|
||||
:ensure
|
||||
:config (progn
|
||||
(popwin-mode)
|
||||
))
|
||||
|
||||
|
||||
(use-package hlinum
|
||||
:ensure
|
||||
:config (progn
|
||||
(hlinum-activate)
|
||||
(add-hook 'prog-mode-hook 'linum-mode)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package base16-theme
|
||||
:ensure
|
||||
:config (progn
|
||||
(load-theme 'base16-tomorrow-night)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package slime
|
||||
:config (progn
|
||||
(setq inferior-lisp "/usr/bin/sbcl")
|
||||
(setq inferior-lisp-program (executable-find "sbcl"))
|
||||
(setq slime-contribs '(slime-fancy))
|
||||
)
|
||||
)
|
||||
|
||||
(use-package python
|
||||
:config (progn
|
||||
|
||||
(use-package ob-ipython
|
||||
:config (progn
|
||||
)
|
||||
)
|
||||
(setq
|
||||
;; python-shell-interpreter "compose-run"
|
||||
;; python-shell-interpreter-args "python ")
|
||||
python-shell-interpreter "ipython"
|
||||
python-shell-interpreter-args "--pylab"
|
||||
python-shell-prompt-regexp "In \\[[0-9]+\\]: "
|
||||
python-shell-prompt-output-regexp "Out\\[[0-9]+\\]: "
|
||||
python-shell-completion-setup-code
|
||||
"from IPython.core.completerlib import module_completion"
|
||||
python-shell-completion-module-string-code "';'.join(module_completion('''%s'''))\n"
|
||||
python-shell-completion-string-code "';'.join(get_ipython().Completer.all_completions('''%s'''))\n")
|
||||
|
||||
(add-hook 'python-mode-hook 'auto-complete-mode)
|
||||
(add-hook 'python-mode-hook '(lambda () (require 'nose)))
|
||||
|
||||
(eval-after-load "python"
|
||||
'(progn
|
||||
(define-key python-mode-map (kbd "C-c C-d") 'helm-pydoc)))
|
||||
|
||||
(use-package jedi
|
||||
:config (progn
|
||||
(setq jedi:complete-on-dot t)
|
||||
(setq jedi:get-in-function-call-delay 500)
|
||||
(add-hook 'python-mode-hook 'jedi:setup)
|
||||
)
|
||||
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package go-mode
|
||||
:init (progn
|
||||
(use-package go-autocomplete :ensure
|
||||
:config (progn
|
||||
(use-package auto-complete-config)
|
||||
(ac-config-default)
|
||||
)
|
||||
)
|
||||
(use-package go-dlv :ensure
|
||||
)
|
||||
(defun my-go-mode-hook ()
|
||||
; Use goimports instead of go-fmt
|
||||
;; You need to do: go get golang.org/x/tools/cmd/goimports
|
||||
(setq gofmt-command "goimports")
|
||||
; Call Gofmt before saving
|
||||
(add-hook 'before-save-hook 'gofmt-before-save)
|
||||
; Customize compile command to run go build
|
||||
(if (not (string-match "go" compile-command))
|
||||
(set (make-local-variable 'compile-command)
|
||||
"go build -v && go test -v && go vet"))
|
||||
; Godef jump key binding
|
||||
(local-set-key (kbd "M-.") 'godef-jump)
|
||||
(auto-complete-for-go)
|
||||
)
|
||||
(defun auto-complete-for-go ()
|
||||
(auto-complete-mode 1))
|
||||
(add-hook 'go-mode-hook 'my-go-mode-hook)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package flymake-go
|
||||
:ensure
|
||||
:init (progn
|
||||
)
|
||||
)
|
||||
|
||||
(use-package scala-mode
|
||||
:interpreter
|
||||
("scala" . scala-mode))
|
||||
|
||||
(use-package ensime
|
||||
:config (progn
|
||||
(setq ensime-startup-snapshot-notification nil)
|
||||
(use-package flycheck-cask
|
||||
:ensure t
|
||||
:commands flycheck-cask-setup
|
||||
:config (add-hook 'emacs-lisp-mode-hook (flycheck-cask-setup)))
|
||||
))
|
||||
|
||||
(use-package org
|
||||
:ensure t
|
||||
:config (progn
|
||||
(use-package evil-org :ensure t)
|
||||
(define-key global-map "\C-cl" 'org-store-link)
|
||||
(define-key global-map "\C-ca" 'org-agenda)
|
||||
(evil-leader/set-key "a" 'org-agenda)
|
||||
(evil-org-mode)
|
||||
|
||||
|
||||
(add-hook 'org-capture-mode-hook 'evil-insert-state)
|
||||
|
||||
|
||||
|
||||
(setq org-log-done t)
|
||||
|
||||
(setq org-directory "~/Dropbox/org")
|
||||
(setq org-mobile-inbox-for-pull "~/Dropbox/org/inbox.org")
|
||||
(setq org-mobile-directory "~/Dropbox/Apps/MobileOrg")
|
||||
(setq org-mobile-files '("~/Dropbox/org"))
|
||||
(setq org-default-notes-file (concat org-directory "/notes.org"))
|
||||
(setq org-agenda-files (list org-directory))
|
||||
|
||||
(define-key global-map "\C-cc" 'org-capture)
|
||||
|
||||
(setq org-clock-persist 'history)
|
||||
|
||||
;; Set syntax highlight in org-mode babel
|
||||
(setq org-src-fontify-natively t)
|
||||
|
||||
;;;don't prompt me to confirm everytime I want to evaluate a block
|
||||
(setq org-confirm-babel-evaluate nil)
|
||||
|
||||
;;; display/update images in the buffer after I evaluate
|
||||
(add-hook 'org-babel-after-execute-hook 'org-display-inline-images 'append)
|
||||
|
||||
;;
|
||||
(setq org-tag-alist '(
|
||||
(:startgroup . nil)
|
||||
("@phd" . ?p) ("@home" . ?h)
|
||||
(:endgroup . nil)
|
||||
(:startgroup . nil)
|
||||
("reading" . ?r) ("coding" . ?c) ("writing" . "w")
|
||||
(:endgroup . nil)
|
||||
)
|
||||
)
|
||||
|
||||
(org-babel-do-load-languages
|
||||
'org-babel-load-languages
|
||||
'(
|
||||
(sh . t)
|
||||
(python . t)
|
||||
))
|
||||
|
||||
(defun org-archive-done-tasks ()
|
||||
(interactive)
|
||||
(org-map-entries
|
||||
(lambda ()
|
||||
(org-archive-subtree)
|
||||
(setq org-map-continue-from (outline-previous-heading)))
|
||||
"/DONE" 'file))
|
||||
(define-key org-mode-map "\C-cd" 'org-archive-done-tasks)
|
||||
|
||||
(setq org-capture-templates
|
||||
(quote
|
||||
(("i" "Ideas" entry
|
||||
(file "ideas.org")
|
||||
"* %?" nil nil)
|
||||
("t" "Tasks" entry
|
||||
(file "tasks.org")
|
||||
"* TODO %?\n\t%i"))))
|
||||
|
||||
(defadvice org-capture-finalize
|
||||
(after delete-capture-frame activate)
|
||||
"Advise capture-finalize to close the frame"
|
||||
(if (equal "capture" (frame-parameter nil 'name))
|
||||
(delete-frame)))
|
||||
|
||||
(defadvice org-capture-destroy
|
||||
(after delete-capture-frame activate)
|
||||
"Advise capture-destroy to close the frame"
|
||||
(if (equal "capture" (frame-parameter nil 'name))
|
||||
(delete-frame)))
|
||||
|
||||
;; make the frame contain a single window. by default org-capture
|
||||
;; splits the window.
|
||||
(add-hook 'org-capture-mode-hook
|
||||
'delete-other-windows)
|
||||
|
||||
(defun make-capture-frame ()
|
||||
"Create a new frame and run org-capture."
|
||||
(interactive)
|
||||
(make-frame '((name . "capture")
|
||||
(width . 120)
|
||||
(height . 15)))
|
||||
(select-frame-by-name "capture")
|
||||
(setq word-wrap 1)
|
||||
(setq truncate-lines nil)
|
||||
(org-capture)
|
||||
(delete-other-windows)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package magit
|
||||
:ensure
|
||||
:config (progn
|
||||
(add-hook 'after-save-hook 'magit-after-save-refresh-status)
|
||||
(define-key evil-normal-state-map (kbd ",g") 'magit-status)
|
||||
(define-key evil-normal-state-map (kbd "C-c g") 'magit-status)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(use-package yaml-mode
|
||||
:config (progn
|
||||
(add-to-list 'auto-mode-alist '("\\.yml$" . yaml-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.yaml$" . yaml-mode))
|
||||
)
|
||||
)
|
||||
|
||||
(use-package gist
|
||||
:config (progn
|
||||
)
|
||||
)
|
||||
|
||||
(use-package n3-mode
|
||||
:mode ("\\.ttl" "\\.n3")
|
||||
)
|
||||
|
||||
(use-package yasnippet
|
||||
:diminish yas-minor-mode
|
||||
:config (progn
|
||||
(yas-global-mode 1)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package smartparens
|
||||
:diminish smartparens-mode
|
||||
:init
|
||||
:config (progn
|
||||
(use-package evil-paredit
|
||||
:ensure
|
||||
:config (progn
|
||||
(use-package evil-smartparens :ensure)
|
||||
(add-hook 'clojure-mode-hook 'smartparens-mode)
|
||||
(add-hook 'cider-repl-mode-hook 'evil-smartparens-mode)
|
||||
(add-hook 'lisp-mode-hook 'evil-smartparens-mode)
|
||||
(add-hook 'emacs-lisp-mode-hook 'evil-smartparens-mode)
|
||||
(add-hook 'lisp-interaction-mode-hook 'evil-smartparens-mode)
|
||||
(add-hook 'ielm-mode-hook 'evil-smartparens-mode)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package markdown-mode
|
||||
:init
|
||||
:config (progn
|
||||
(setq markdown-command "pandoc -f markdown -t html -s")
|
||||
)
|
||||
)
|
||||
|
||||
(use-package go-mode
|
||||
:init
|
||||
:config (progn
|
||||
)
|
||||
)
|
||||
|
||||
(use-package mu4e
|
||||
:init
|
||||
:config (progn
|
||||
(use-package smtpmail
|
||||
:ensure)
|
||||
|
||||
(setq mu4e-contexts
|
||||
`( ,(make-mu4e-context
|
||||
:name "Private"
|
||||
:enter-func (lambda () (mu4e-message "Switch to the GMAIL context"))
|
||||
;; leave-func not defined
|
||||
:match-func (lambda (msg)
|
||||
(when msg
|
||||
(mu4e-message-contact-field-matches msg
|
||||
:to "jfsanchezrada@gmail.com")))
|
||||
:vars '(
|
||||
(smtpmail-starttls-credentials '("smtp.gmail.com" 587 nil nil))
|
||||
(smtpmail-auth-credentials '(("smtp.gmail.com" 587 "jfsanchezrada@gmail.com" nil)))
|
||||
(smtpmail-default-smtp-server "smtp.gmail.com")
|
||||
(smtpmail-smtp-server "smtp.gmail.com")
|
||||
(smtpmail-smtp-service 587)
|
||||
(smtpmail-debug-info t)
|
||||
( user-mail-address . "jfsanchezrada@gmail.com" )
|
||||
( user-full-name . "J. Fernando Sánchez Rada" )
|
||||
( mu4e-compose-signature . "J. Fernando Sánchez\n")))
|
||||
,(make-mu4e-context
|
||||
:name "Sinpapel"
|
||||
:enter-func (lambda () (mu4e-message "Switch to the Personal context"))
|
||||
;; leave-fun not defined
|
||||
:match-func (lambda (msg)
|
||||
(when msg
|
||||
(mu4e-message-contact-field-matches msg
|
||||
:to "j@sinpapel.es")))
|
||||
:vars '(
|
||||
(smtpmail-starttls-credentials '(("smtp.sinpapel.es" 587 nil nil)))
|
||||
(smtpmail-auth-credentials '(("smtp.sinpapel.es" 587 "j@sinpapel.es" nil)))
|
||||
(smtpmail-default-smtp-server "smtp.sinpapel.es")
|
||||
(smtpmail-smtp-server "smtp.sinpapel.es")
|
||||
(smtpmail-smtp-service 587)
|
||||
(smtpmail-debug-info t)
|
||||
( user-mail-address . "j@sinpapel.es" )
|
||||
( user-full-name . "J. Fernando Sánchez Rada" )
|
||||
( mu4e-compose-signature .
|
||||
"J. Fernando Sánchez\n"))))
|
||||
)
|
||||
|
||||
|
||||
(setq mu4e-compose-context-policy nil)
|
||||
|
||||
(setq message-send-mail-function 'smtpmail-send-it
|
||||
starttls-use-gnutls t
|
||||
smtpmail-debug-info t)
|
||||
|
||||
(setq mu4e-maildir (expand-file-name "~/.mail/"))
|
||||
(setq mu4e-drafts-folder "/Drafts")
|
||||
(setq mu4e-sent-folder "/Sent Items")
|
||||
(setq mu4e-trash-folder "/Trash")
|
||||
(setq message-signature-file "~/.emacs.d/.signature") ; put your signature in this file
|
||||
(setq mu4e-get-mail-command "mbsync gmail-inbox balkian"
|
||||
mu4e-html2text-command "w3m -T text/html"
|
||||
mu4e-update-interval 300
|
||||
mu4e-headers-auto-update t
|
||||
mu4e-compose-signature-auto-include nil)
|
||||
(add-to-list 'mu4e-view-actions
|
||||
'("ViewInBrowser" . mu4e-action-view-in-browser) t)
|
||||
(setq mu4e-maildir-shortcuts
|
||||
'( ("/gmail/INBOX" . ?i)
|
||||
("/Sent Items" . ?s)
|
||||
("/Trash" . ?t)
|
||||
("/Drafts" . ?d)))
|
||||
|
||||
;; use imagemagick if available
|
||||
(when (fboundp 'imagemagick-register-types)
|
||||
(imagemagick-register-types))
|
||||
|
||||
;; general emacs mail settings; used when composing e-mail
|
||||
;; the non-mu4e-* stuff is inherited from emacs/message-mode
|
||||
(setq mu4e-reply-to-address "jfsanchezrada@gmail.com"
|
||||
user-mail-address "jfsanchezrada@gmail.com"
|
||||
user-full-name "J. Fernando Sánchez")
|
||||
;; show images
|
||||
(setq mu4e-show-images t
|
||||
mu4e-show-addresses t)
|
||||
|
||||
;; By default, mu4e only shows contact names
|
||||
(setq mu4e-view-show-addresses t)
|
||||
;; don't save message to Sent Messages, IMAP takes care of this
|
||||
(setq mu4e-sent-messages-behavior 'delete)
|
||||
|
||||
(add-hook 'mu4e-compose-mode-hook
|
||||
(defun my-do-compose-stuff ()
|
||||
"My settings for message composition."
|
||||
(set-fill-column 72)
|
||||
(flyspell-mode)))
|
||||
)
|
||||
)
|
||||
|
||||
;;; Global emacs settings
|
||||
;; disable splash screen
|
||||
(setq inhibit-splash-screen t)
|
||||
(setq initial-scratch-message "\
|
||||
;; SCRATCHPAD
|
||||
")
|
||||
(setq truncate-partial-width-windows nil)
|
||||
(set-default 'truncate-lines nil)
|
||||
;;; Highlight line
|
||||
(global-hl-line-mode)
|
||||
(require 'color)
|
||||
|
||||
(defun set-hl-line-color-based-on-theme ()
|
||||
"Set the hl-line face to have no foregorund and a background that is 10% darker than the default face's background."
|
||||
(let ((background-color (color-lighten-name (face-background 'default) 10)))
|
||||
(set-face-attribute 'hl-line nil
|
||||
:foreground nil
|
||||
:background background-color)
|
||||
(set-face-attribute 'linum-highlight-face nil
|
||||
:background (face-foreground 'default)
|
||||
:foreground (face-background 'default))))
|
||||
|
||||
(add-hook 'global-hl-line-mode-hook 'set-hl-line-color-based-on-theme)
|
||||
;; (set-face-background 'hl-line 'highlight-color)
|
||||
(setq-default indent-tabs-mode nil)
|
||||
(setq tab-width 4)
|
||||
(setq default-tab-width 4);
|
||||
(setq js-indent-level 2)
|
||||
|
||||
(toggle-indicate-empty-lines)
|
||||
|
||||
;;; Global modes
|
||||
(scroll-bar-mode 0)
|
||||
(tool-bar-mode 0)
|
||||
(savehist-mode 1)
|
||||
(show-paren-mode t)
|
||||
(column-number-mode)
|
||||
(when (fboundp 'winner-mode)
|
||||
(winner-mode 1))
|
||||
|
||||
|
||||
;;; Other key bindings
|
||||
(define-key global-map "\C-ch" 'winner-undo)
|
||||
(define-key global-map "\C-cl" 'winner-redo)
|
||||
|
||||
|
||||
;; set a default font
|
||||
(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12"))
|
||||
;; emacs doesn't actually save undo history with revert-buffer
|
||||
;; see http://lists.gnu.org/archive/html/bug-gnu-emacs/2011-04/msg00151.html
|
||||
;; fix that.
|
||||
(defun revert-buffer-keep-history (&optional IGNORE-AUTO NOCONFIRM PRESERVE-MODES)
|
||||
(interactive)
|
||||
|
||||
(setq tmp (point))
|
||||
;; tell Emacs the modtime is fine, so we can edit the buffer
|
||||
(clear-visited-file-modtime)
|
||||
|
||||
;; insert the current contents of the file on disk
|
||||
(widen)
|
||||
(delete-region (point-min) (point-max))
|
||||
(insert-file-contents (buffer-file-name))
|
||||
|
||||
;; mark the buffer as not modified
|
||||
(not-modified)
|
||||
(set-visited-file-modtime)
|
||||
(goto-char tmp)
|
||||
)
|
||||
|
||||
(setq revert-buffer-function 'revert-buffer-keep-history)
|
||||
|
||||
(use-package recentf
|
||||
:config (progn
|
||||
(recentf-mode 1)
|
||||
(setq recentf-max-saved-items 300)
|
||||
(setq recentf-max-menu-items 20)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package exec-path-from-shell
|
||||
:ensure
|
||||
:config (progn
|
||||
(exec-path-from-shell-initialize)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package password-store
|
||||
:config (progn
|
||||
)
|
||||
)
|
||||
|
||||
(use-package docker
|
||||
:ensure
|
||||
:config (progn
|
||||
(use-package docker-tramp
|
||||
:ensure
|
||||
:config (progn
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package glab
|
||||
:config (progn
|
||||
(defconst glab--domain ".lab.cluster.gsi.dit.upm.es")
|
||||
(defconst glab--root-endpoint "https://lab.cluster.gsi.dit.upm.es/api/v3")
|
||||
)
|
||||
)
|
||||
|
||||
(use-package highlight-indent-guides
|
||||
:ensure
|
||||
:config (progn
|
||||
(setq highlight-indent-guides-method 'character)
|
||||
(add-hook 'prog-mode-hook 'highlight-indent-guides-mode)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(add-hook 'prog-mode-hook 'hs-minor-mode)
|
||||
;;
|
||||
;; LATEX
|
||||
;;
|
||||
|
||||
(add-hook 'LaTeX-mode-hook (lambda ()
|
||||
(push
|
||||
'("latexmk" "latexmk -pdf %s" TeX-run-TeX nil t
|
||||
:help "Run latexmk on file")
|
||||
TeX-command-list)))
|
||||
(add-hook 'TeX-mode-hook '(lambda () (setq TeX-command-default "latexmk")))
|
||||
|
||||
;; ENDLATEX
|
||||
|
||||
(setq PREVSHELL (getenv "SHELL")) ;; Workaround for tramp
|
||||
(eval-after-load 'tramp '(setenv "SHELL" "/bin/bash"))
|
||||
(setq tramp-default-method "ssh")
|
||||
|
||||
;; Don't clover my folders
|
||||
(setq
|
||||
backup-by-copying t ; don't clobber symlinks
|
||||
delete-old-versions t
|
||||
kept-new-versions 6
|
||||
kept-old-versions 2
|
||||
version-control t) ; use versioned backups
|
||||
|
||||
(setq backup-directory-alist
|
||||
`((".*" . ,temporary-file-directory)))
|
||||
(setq auto-save-file-name-transforms
|
||||
`((".*" , temporary-file-directory t)))
|
||||
;; Prevent #file#.txt files
|
||||
(setq create-lockfiles nil)
|
||||
|
||||
;; Path
|
||||
(setenv "PATH" (concat (getenv "PATH") ":" (getenv "HOME") "/.bin" ":" (getenv "HOME") "/.local/bin"))
|
||||
(setq exec-path (append exec-path (list (concat (getenv "HOME") "/.bin") (concat (getenv "HOME") ".local/bin") "/usr/bin")))
|
||||
|
||||
;; Launch terminal
|
||||
|
||||
(defun open-terminal ()
|
||||
"Open a terminal in the current working directory."
|
||||
(interactive)
|
||||
(call-process (or (getenv "XTERMINAL") "xterm") nil 0 nil "-e" PREVSHELL))
|
||||
;; This does not work: (concat "echo -c 'cd " default-directory "'"))
|
||||
|
||||
(global-set-key (kbd "C-c t") 'open-terminal)
|
||||
|
||||
(provide '.init)
|
||||
;;; init.el ends here
|
419
emacs/.spacemacs
Normal file
419
emacs/.spacemacs
Normal file
@@ -0,0 +1,419 @@
|
||||
;; -*- mode: emacs-lisp -*-
|
||||
;; This file is loaded by Spacemacs at startup.
|
||||
;; It must be stored in your home directory.
|
||||
|
||||
(defun dotspacemacs/layers ()
|
||||
"Configuration Layers declaration.
|
||||
You should not put any user code in this function besides modifying the variable
|
||||
values."
|
||||
(setq-default
|
||||
;; Base distribution to use. This is a layer contained in the directory
|
||||
;; `+distribution'. For now available distributions are `spacemacs-base'
|
||||
;; or `spacemacs'. (default 'spacemacs)
|
||||
dotspacemacs-distribution 'spacemacs
|
||||
;; Lazy installation of layers (i.e. layers are installed only when a file
|
||||
;; with a supported type is opened). Possible values are `all', `unused'
|
||||
;; and `nil'. `unused' will lazy install only unused layers (i.e. layers
|
||||
;; not listed in variable `dotspacemacs-configuration-layers'), `all' will
|
||||
;; lazy install any layer that support lazy installation even the layers
|
||||
;; listed in `dotspacemacs-configuration-layers'. `nil' disable the lazy
|
||||
;; installation feature and you have to explicitly list a layer in the
|
||||
;; variable `dotspacemacs-configuration-layers' to install it.
|
||||
;; (default 'unused)
|
||||
dotspacemacs-enable-lazy-installation 'unused
|
||||
;; If non-nil then Spacemacs will ask for confirmation before installing
|
||||
;; a layer lazily. (default t)
|
||||
dotspacemacs-ask-for-lazy-installation t
|
||||
;; If non-nil layers with lazy install support are lazy installed.
|
||||
;; List of additional paths where to look for configuration layers.
|
||||
;; Paths must have a trailing slash (i.e. `~/.mycontribs/')
|
||||
dotspacemacs-configuration-layer-path '()
|
||||
;; List of configuration layers to load.
|
||||
dotspacemacs-configuration-layers
|
||||
'(
|
||||
typescript
|
||||
(auto-completion :variables
|
||||
auto-completion-return-key-behavior 'complete
|
||||
auto-completion-tab-key-behavior 'cycle
|
||||
auto-completion-complete-with-key-sequence nil
|
||||
auto-completion-complete-with-key-sequence-delay 0.1
|
||||
auto-completion-private-snippets-directory nil)
|
||||
go
|
||||
clojure
|
||||
nginx
|
||||
csv
|
||||
javascript
|
||||
yaml
|
||||
html
|
||||
python
|
||||
(go :variables
|
||||
gofmt-command "goimports"
|
||||
)
|
||||
;; ----------------------------------------------------------------
|
||||
;; Example of useful layers you may want to use right away.
|
||||
;; Uncomment some layer names and press <SPC f e R> (Vim style) or
|
||||
;; <M-m f e R> (Emacs style) to install them.
|
||||
;; ----------------------------------------------------------------
|
||||
helm
|
||||
(auto-completion :variables
|
||||
auto-completion-return-key-behavior 'complete
|
||||
auto-completion-tab-key-behavior 'cycle
|
||||
auto-completion-complete-with-key-sequence nil
|
||||
auto-completion-complete-with-key-sequence-delay 0.1
|
||||
auto-completion-private-snippets-directory nil)
|
||||
|
||||
;; better-defaults
|
||||
emacs-lisp
|
||||
git
|
||||
latex
|
||||
(markdown :variables
|
||||
markdown-command "pandoc"
|
||||
)
|
||||
(org :variables org-projectile-file (or (getenv "ORG_FILE") "~/TODO.org") )
|
||||
themes-megapack
|
||||
(shell :variables
|
||||
shell-default-height 30
|
||||
shell-default-position 'bottom)
|
||||
spell-checking
|
||||
syntax-checking
|
||||
version-control
|
||||
yaml
|
||||
)
|
||||
;; List of additional packages that will be installed without being
|
||||
;; wrapped in a layer. If you need some configuration for these
|
||||
;; packages, then consider creating a layer. You can also put the
|
||||
;; configuration in `dotspacemacs/user-config'.
|
||||
dotspacemacs-additional-packages '(
|
||||
ag
|
||||
)
|
||||
;; A list of packages that cannot be updated.
|
||||
dotspacemacs-frozen-packages '()
|
||||
;; A list of packages that will not be installed and loaded.
|
||||
dotspacemacs-excluded-packages '()
|
||||
;; Defines the behaviour of Spacemacs when installing packages.
|
||||
;; Possible values are `used-only', `used-but-keep-unused' and `all'.
|
||||
;; `used-only' installs only explicitly used packages and uninstall any
|
||||
;; unused packages as well as their unused dependencies.
|
||||
;; `used-but-keep-unused' installs only the used packages but won't uninstall
|
||||
;; them if they become unused. `all' installs *all* packages supported by
|
||||
;; Spacemacs and never uninstall them. (default is `used-only')
|
||||
dotspacemacs-install-packages 'used-only))
|
||||
|
||||
(defun dotspacemacs/init ()
|
||||
"Initialization function.
|
||||
This function is called at the very startup of Spacemacs initialization
|
||||
before layers configuration.
|
||||
You should not put any user code in there besides modifying the variable
|
||||
values."
|
||||
;; This setq-default sexp is an exhaustive list of all the supported
|
||||
;; spacemacs settings.
|
||||
(setq-default
|
||||
;; If non nil ELPA repositories are contacted via HTTPS whenever it's
|
||||
;; possible. Set it to nil if you have no way to use HTTPS in your
|
||||
;; environment, otherwise it is strongly recommended to let it set to t.
|
||||
;; This variable has no effect if Emacs is launched with the parameter
|
||||
;; `--insecure' which forces the value of this variable to nil.
|
||||
;; (default t)
|
||||
dotspacemacs-elpa-https t
|
||||
;; Maximum allowed time in seconds to contact an ELPA repository.
|
||||
dotspacemacs-elpa-timeout 5
|
||||
;; If non nil then spacemacs will check for updates at startup
|
||||
;; when the current branch is not `develop'. Note that checking for
|
||||
;; new versions works via git commands, thus it calls GitHub services
|
||||
;; whenever you start Emacs. (default nil)
|
||||
dotspacemacs-check-for-update nil
|
||||
;; If non-nil, a form that evaluates to a package directory. For example, to
|
||||
;; use different package directories for different Emacs versions, set this
|
||||
;; to `emacs-version'.
|
||||
dotspacemacs-elpa-subdirectory nil
|
||||
;; One of `vim', `emacs' or `hybrid'.
|
||||
;; `hybrid' is like `vim' except that `insert state' is replaced by the
|
||||
;; `hybrid state' with `emacs' key bindings. The value can also be a list
|
||||
;; with `:variables' keyword (similar to layers). Check the editing styles
|
||||
;; section of the documentation for details on available variables.
|
||||
;; (default 'vim)
|
||||
dotspacemacs-editing-style 'vim
|
||||
;; If non nil output loading progress in `*Messages*' buffer. (default nil)
|
||||
dotspacemacs-verbose-loading nil
|
||||
;; Specify the startup banner. Default value is `official', it displays
|
||||
;; the official spacemacs logo. An integer value is the index of text
|
||||
;; banner, `random' chooses a random text banner in `core/banners'
|
||||
;; directory. A string value must be a path to an image format supported
|
||||
;; by your Emacs build.
|
||||
;; If the value is nil then no banner is displayed. (default 'official)
|
||||
dotspacemacs-startup-banner 'official
|
||||
;; List of items to show in startup buffer or an association list of
|
||||
;; the form `(list-type . list-size)`. If nil then it is disabled.
|
||||
;; Possible values for list-type are:
|
||||
;; `recents' `bookmarks' `projects' `agenda' `todos'."
|
||||
;; List sizes may be nil, in which case
|
||||
;; `spacemacs-buffer-startup-lists-length' takes effect.
|
||||
dotspacemacs-startup-lists '((recents . 5)
|
||||
(projects . 7))
|
||||
;; True if the home buffer should respond to resize events.
|
||||
dotspacemacs-startup-buffer-responsive t
|
||||
;; Default major mode of the scratch buffer (default `text-mode')
|
||||
dotspacemacs-scratch-mode 'text-mode
|
||||
;; List of themes, the first of the list is loaded when spacemacs starts.
|
||||
;; Press <SPC> T n to cycle to the next theme in the list (works great
|
||||
;; with 2 themes variants, one dark and one light)
|
||||
dotspacemacs-themes '(
|
||||
leuven
|
||||
spacemacs-dark
|
||||
minimal-light
|
||||
tango-plus
|
||||
dichromacy
|
||||
ample
|
||||
sanityinc-tomorrow-night)
|
||||
;; If non nil the cursor color matches the state color in GUI Emacs.
|
||||
dotspacemacs-colorize-cursor-according-to-state t
|
||||
;; Default font, or prioritized list of fonts. `powerline-scale' allows to
|
||||
;; quickly tweak the mode-line size to make separators look not too crappy.
|
||||
dotspacemacs-default-font '("DejaVu Sans Mono"
|
||||
:size 14
|
||||
:weight normal
|
||||
:width normal :powerline-scale 1.5)
|
||||
;; The leader key
|
||||
dotspacemacs-leader-key "SPC"
|
||||
;; The key used for Emacs commands (M-x) (after pressing on the leader key).
|
||||
;; (default "SPC")
|
||||
dotspacemacs-emacs-command-key "SPC"
|
||||
;; The key used for Vim Ex commands (default ":")
|
||||
dotspacemacs-ex-command-key ":"
|
||||
;; The leader key accessible in `emacs state' and `insert state'
|
||||
;; (default "M-m")
|
||||
dotspacemacs-emacs-leader-key "M-m"
|
||||
;; Major mode leader key is a shortcut key which is the equivalent of
|
||||
;; pressing `<leader> m`. Set it to `nil` to disable it. (default ",")
|
||||
dotspacemacs-major-mode-leader-key ","
|
||||
;; Major mode leader key accessible in `emacs state' and `insert state'.
|
||||
;; (default "C-M-m")
|
||||
dotspacemacs-major-mode-emacs-leader-key "C-M-m"
|
||||
;; These variables control whether separate commands are bound in the GUI to
|
||||
;; the key pairs C-i, TAB and C-m, RET.
|
||||
;; Setting it to a non-nil value, allows for separate commands under <C-i>
|
||||
;; and TAB or <C-m> and RET.
|
||||
;; In the terminal, these pairs are generally indistinguishable, so this only
|
||||
;; works in the GUI. (default nil)
|
||||
dotspacemacs-distinguish-gui-tab nil
|
||||
;; If non nil `Y' is remapped to `y$' in Evil states. (default nil)
|
||||
dotspacemacs-remap-Y-to-y$ nil
|
||||
;; If non-nil, the shift mappings `<' and `>' retain visual state if used
|
||||
;; there. (default t)
|
||||
dotspacemacs-retain-visual-state-on-shift t
|
||||
;; If non-nil, J and K move lines up and down when in visual mode.
|
||||
;; (default nil)
|
||||
dotspacemacs-visual-line-move-text nil
|
||||
;; If non nil, inverse the meaning of `g' in `:substitute' Evil ex-command.
|
||||
;; (default nil)
|
||||
dotspacemacs-ex-substitute-global nil
|
||||
;; Name of the default layout (default "Default")
|
||||
dotspacemacs-default-layout-name "Default"
|
||||
;; If non nil the default layout name is displayed in the mode-line.
|
||||
;; (default nil)
|
||||
dotspacemacs-display-default-layout nil
|
||||
;; If non nil then the last auto saved layouts are resume automatically upon
|
||||
;; start. (default nil)
|
||||
dotspacemacs-auto-resume-layouts nil
|
||||
;; Size (in MB) above which spacemacs will prompt to open the large file
|
||||
;; literally to avoid performance issues. Opening a file literally means that
|
||||
;; no major mode or minor modes are active. (default is 1)
|
||||
dotspacemacs-large-file-size 1
|
||||
;; Location where to auto-save files. Possible values are `original' to
|
||||
;; auto-save the file in-place, `cache' to auto-save the file to another
|
||||
;; file stored in the cache directory and `nil' to disable auto-saving.
|
||||
;; (default 'cache)
|
||||
dotspacemacs-auto-save-file-location 'cache
|
||||
;; Maximum number of rollback slots to keep in the cache. (default 5)
|
||||
dotspacemacs-max-rollback-slots 5
|
||||
;; If non nil, `helm' will try to minimize the space it uses. (default nil)
|
||||
dotspacemacs-helm-resize nil
|
||||
;; if non nil, the helm header is hidden when there is only one source.
|
||||
;; (default nil)
|
||||
dotspacemacs-helm-no-header nil
|
||||
;; define the position to display `helm', options are `bottom', `top',
|
||||
;; `left', or `right'. (default 'bottom)
|
||||
dotspacemacs-helm-position 'bottom
|
||||
;; Controls fuzzy matching in helm. If set to `always', force fuzzy matching
|
||||
;; in all non-asynchronous sources. If set to `source', preserve individual
|
||||
;; source settings. Else, disable fuzzy matching in all sources.
|
||||
;; (default 'always)
|
||||
dotspacemacs-helm-use-fuzzy 'always
|
||||
;; If non nil the paste micro-state is enabled. When enabled pressing `p`
|
||||
;; several times cycle between the kill ring content. (default nil)
|
||||
dotspacemacs-enable-paste-transient-state nil
|
||||
;; Which-key delay in seconds. The which-key buffer is the popup listing
|
||||
;; the commands bound to the current keystroke sequence. (default 0.4)
|
||||
dotspacemacs-which-key-delay 0.4
|
||||
;; Which-key frame position. Possible values are `right', `bottom' and
|
||||
;; `right-then-bottom'. right-then-bottom tries to display the frame to the
|
||||
;; right; if there is insufficient space it displays it at the bottom.
|
||||
;; (default 'bottom)
|
||||
dotspacemacs-which-key-position 'bottom
|
||||
;; If non nil a progress bar is displayed when spacemacs is loading. This
|
||||
;; may increase the boot time on some systems and emacs builds, set it to
|
||||
;; nil to boost the loading time. (default t)
|
||||
dotspacemacs-loading-progress-bar t
|
||||
;; If non nil the frame is fullscreen when Emacs starts up. (default nil)
|
||||
;; (Emacs 24.4+ only)
|
||||
dotspacemacs-fullscreen-at-startup nil
|
||||
;; If non nil `spacemacs/toggle-fullscreen' will not use native fullscreen.
|
||||
;; Use to disable fullscreen animations in OSX. (default nil)
|
||||
dotspacemacs-fullscreen-use-non-native nil
|
||||
;; If non nil the frame is maximized when Emacs starts up.
|
||||
;; Takes effect only if `dotspacemacs-fullscreen-at-startup' is nil.
|
||||
;; (default nil) (Emacs 24.4+ only)
|
||||
dotspacemacs-maximized-at-startup nil
|
||||
;; A value from the range (0..100), in increasing opacity, which describes
|
||||
;; the transparency level of a frame when it's active or selected.
|
||||
;; Transparency can be toggled through `toggle-transparency'. (default 90)
|
||||
dotspacemacs-active-transparency 90
|
||||
;; A value from the range (0..100), in increasing opacity, which describes
|
||||
;; the transparency level of a frame when it's inactive or deselected.
|
||||
;; Transparency can be toggled through `toggle-transparency'. (default 90)
|
||||
dotspacemacs-inactive-transparency 90
|
||||
;; If non nil show the titles of transient states. (default t)
|
||||
dotspacemacs-show-transient-state-title t
|
||||
;; If non nil show the color guide hint for transient state keys. (default t)
|
||||
dotspacemacs-show-transient-state-color-guide t
|
||||
;; If non nil unicode symbols are displayed in the mode line. (default t)
|
||||
dotspacemacs-mode-line-unicode-symbols t
|
||||
;; If non nil smooth scrolling (native-scrolling) is enabled. Smooth
|
||||
;; scrolling overrides the default behavior of Emacs which recenters point
|
||||
;; when it reaches the top or bottom of the screen. (default t)
|
||||
dotspacemacs-smooth-scrolling t
|
||||
;; Control line numbers activation.
|
||||
;; If set to `t' or `relative' line numbers are turned on in all `prog-mode' and
|
||||
;; `text-mode' derivatives. If set to `relative', line numbers are relative.
|
||||
;; This variable can also be set to a property list for finer control:
|
||||
;; '(:relative nil
|
||||
;; :disabled-for-modes dired-mode
|
||||
;; doc-view-mode
|
||||
;; markdown-mode
|
||||
;; org-mode
|
||||
;; pdf-view-mode
|
||||
;; text-mode
|
||||
;; :size-limit-kb 1000)
|
||||
;; (default nil)
|
||||
dotspacemacs-line-numbers t
|
||||
;; Code folding method. Possible values are `evil' and `origami'.
|
||||
;; (default 'evil)
|
||||
dotspacemacs-folding-method 'evil
|
||||
;; If non-nil smartparens-strict-mode will be enabled in programming modes.
|
||||
;; (default nil)
|
||||
dotspacemacs-smartparens-strict-mode nil
|
||||
;; If non-nil pressing the closing parenthesis `)' key in insert mode passes
|
||||
;; over any automatically added closing parenthesis, bracket, quote, etc…
|
||||
;; This can be temporary disabled by pressing `C-q' before `)'. (default nil)
|
||||
dotspacemacs-smart-closing-parenthesis nil
|
||||
;; Select a scope to highlight delimiters. Possible values are `any',
|
||||
;; `current', `all' or `nil'. Default is `all' (highlight any scope and
|
||||
;; emphasis the current one). (default 'all)
|
||||
dotspacemacs-highlight-delimiters 'all
|
||||
;; If non nil, advise quit functions to keep server open when quitting.
|
||||
;; (default nil)
|
||||
dotspacemacs-persistent-server nil
|
||||
;; List of search tool executable names. Spacemacs uses the first installed
|
||||
;; tool of the list. Supported tools are `ag', `pt', `ack' and `grep'.
|
||||
;; (default '("ag" "pt" "ack" "grep"))
|
||||
dotspacemacs-search-tools '("ag" "pt" "ack" "grep")
|
||||
;; The default package repository used if no explicit repository has been
|
||||
;; specified with an installed package.
|
||||
;; Not used for now. (default nil)
|
||||
dotspacemacs-default-package-repository nil
|
||||
;; Delete whitespace while saving buffer. Possible values are `all'
|
||||
;; to aggressively delete empty line and long sequences of whitespace,
|
||||
;; `trailing' to delete only the whitespace at end of lines, `changed'to
|
||||
;; delete only whitespace for changed lines or `nil' to disable cleanup.
|
||||
;; (default nil)
|
||||
dotspacemacs-whitespace-cleanup nil
|
||||
latex-enable-auto-fill nil
|
||||
))
|
||||
|
||||
(defun dotspacemacs/user-init ()
|
||||
"Initialization function for user code.
|
||||
It is called immediately after `dotspacemacs/init', before layer configuration
|
||||
executes.
|
||||
This function is mostly useful for variables that need to be set
|
||||
before packages are loaded. If you are unsure, you should try in setting them in
|
||||
`dotspacemacs/user-config' first."
|
||||
)
|
||||
|
||||
(defun dotspacemacs/user-config ()
|
||||
"Configuration function for user code.
|
||||
This function is called at the very end of Spacemacs initialization after
|
||||
layers configuration.
|
||||
This is the place where most of your configurations should be done. Unless it is
|
||||
explicitly specified that a variable should be set before a package is loaded,
|
||||
you should place your code here."
|
||||
(with-eval-after-load 'helm
|
||||
(define-key helm-map (kbd "C-w") 'evil-delete-backward-word)
|
||||
)
|
||||
|
||||
(with-eval-after-load 'org-agenda
|
||||
(require 'org-projectile)
|
||||
(push (org-projectile:todo-files) org-agenda-files))
|
||||
|
||||
;; Launch terminal
|
||||
|
||||
(defun open-terminal ()
|
||||
"Open a terminal in the current working directory."
|
||||
(interactive)
|
||||
(call-process (or (getenv "XTERMINAL") "xterm") nil 0 nil))
|
||||
;; This does not work: (concat "echo -c 'cd " default-directory "'"))
|
||||
|
||||
(global-set-key (kbd "C-c t") 'open-terminal)
|
||||
|
||||
(setq browse-url-generic-program "qutebrowser"
|
||||
browse-url-browser-function 'browse-url-generic
|
||||
browse-url-generic-args '("-r" "preview" ":tab-only" "--target" "auto"))
|
||||
)
|
||||
|
||||
;; Do not write anything past this comment. This is where Emacs will
|
||||
;; auto-generate custom variable definitions.
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(ansi-color-faces-vector
|
||||
[default bold shadow italic underline bold bold-italic bold])
|
||||
'(beacon-color "#cc6666")
|
||||
'(custom-safe-themes
|
||||
(quote
|
||||
("c3d4af771cbe0501d5a865656802788a9a0ff9cf10a7df704ec8b8ef69017c68" "06f0b439b62164c6f8f84fdda32b62fb50b6d00e8b01c2208e55543a6337433a" "190a9882bef28d7e944aa610aa68fe1ee34ecea6127239178c7ac848754992df" "3e335d794ed3030fefd0dbd7ff2d3555e29481fe4bbb0106ea11c660d6001767" "cc0dbb53a10215b696d391a90de635ba1699072745bf653b53774706999208e3" "ed317c0a3387be628a48c4bbdb316b4fa645a414838149069210b66dd521733f" "938d8c186c4cb9ec4a8d8bc159285e0d0f07bad46edf20aa469a89d0d2a586ea" "fa2b58bb98b62c3b8cf3b6f02f058ef7827a8e497125de0254f56e373abee088" "bffa9739ce0752a37d9b1eee78fc00ba159748f50dc328af4be661484848e476" default)))
|
||||
'(evil-want-Y-yank-to-eol nil)
|
||||
'(fci-rule-color "#373b41" t)
|
||||
'(flycheck-color-mode-line-face-to-color (quote mode-line-buffer-id))
|
||||
'(frame-background-mode (quote dark))
|
||||
'(package-selected-packages
|
||||
(quote
|
||||
(tide typescript-mode org-projectile-helm dracula-theme darktooth-theme cyberpunk-theme color-theme-sanityinc-tomorrow sesman apropospriate-theme anti-zenburn-theme ghub helm-gitlab gitlab company-quickhelp ag white-sand-theme rebecca-theme org-mime exotica-theme inkpot-theme heroku-theme hemisu-theme hc-zenburn-theme gruvbox-theme gruber-darker-theme grandshell-theme gotham-theme gandalf-theme flatui-theme flatland-theme farmhouse-theme zenburn-theme zen-and-art-theme underwater-theme ujelly-theme twilight-theme twilight-bright-theme twilight-anti-bright-theme toxi-theme tao-theme tangotango-theme tango-plus-theme tango-2-theme sunny-day-theme sublime-themes subatomic256-theme subatomic-theme spacegray-theme soothe-theme solarized-theme soft-stone-theme soft-morning-theme soft-charcoal-theme smyx-theme seti-theme reverse-theme railscasts-theme purple-haze-theme professional-theme planet-theme phoenix-dark-pink-theme phoenix-dark-mono-theme organic-green-theme omtose-phellack-theme oldlace-theme occidental-theme obsidian-theme noctilux-theme naquadah-theme mustang-theme monokai-theme monochrome-theme molokai-theme moe-theme minimal-theme material-theme majapahit-theme madhat2r-theme lush-theme light-soap-theme jbeans-theme jazz-theme ir-black-theme clojure-snippets clj-refactor inflections edn paredit peg cider-eval-sexp-fu cider seq queue clojure-mode nginx-mode auctex-latexmk company-auctex auctex csv-mode web-beautify livid-mode skewer-mode simple-httpd json-mode json-snatcher json-reformat js2-refactor multiple-cursors js2-mode js-doc company-tern dash-functional tern coffee-mode yaml-mode helm-company helm-c-yasnippet fuzzy company-web web-completion-data company-statistics company-go company-anaconda company auto-yasnippet yasnippet ac-ispell auto-complete web-mode tagedit slim-mode scss-mode sass-mode pug-mode less-css-mode helm-css-scss haml-mode emmet-mode smeargle orgit magit-gitflow helm-gitignore gitignore-mode gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link evil-magit magit magit-popup xterm-color shell-pop org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-download multi-term mmm-mode markdown-toc markdown-mode htmlize gnuplot git-gutter-fringe+ git-gutter-fringe fringe-helper git-gutter+ git-commit with-editor git-gutter gh-md flyspell-correct-helm flyspell-correct flycheck-pos-tip pos-tip flycheck eshell-z eshell-prompt-extras esh-help diff-hl auto-dictionary yapfify pyvenv pytest pyenv-mode py-isort pip-requirements live-py-mode hy-mode helm-pydoc cython-mode anaconda-mode pythonic go-guru go-eldoc go-mode ws-butler winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline powerline restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox spinner org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint info+ indent-guide hydra hungry-delete hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation hide-comnt help-fns+ helm-themes helm-swoop helm-projectile helm-mode-manager helm-make projectile pkg-info epl helm-flx helm-descbinds helm-ag google-translate golden-ratio flx-ido flx fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-ediff evil-args evil-anzu anzu evil goto-chg undo-tree eval-sexp-fu highlight elisp-slime-nav dumb-jump f s diminish define-word column-enforce-mode clean-aindent-mode bind-map bind-key auto-highlight-symbol auto-compile packed dash aggressive-indent adaptive-wrap ace-window ace-link ace-jump-helm-line helm avy helm-core popup async)))
|
||||
'(vc-annotate-background nil)
|
||||
'(vc-annotate-color-map
|
||||
(quote
|
||||
((20 . "#cc6666")
|
||||
(40 . "#de935f")
|
||||
(60 . "#f0c674")
|
||||
(80 . "#b5bd68")
|
||||
(100 . "#8abeb7")
|
||||
(120 . "#81a2be")
|
||||
(140 . "#b294bb")
|
||||
(160 . "#cc6666")
|
||||
(180 . "#de935f")
|
||||
(200 . "#f0c674")
|
||||
(220 . "#b5bd68")
|
||||
(240 . "#8abeb7")
|
||||
(260 . "#81a2be")
|
||||
(280 . "#b294bb")
|
||||
(300 . "#cc6666")
|
||||
(320 . "#de935f")
|
||||
(340 . "#f0c674")
|
||||
(360 . "#b5bd68"))))
|
||||
'(vc-annotate-very-old-color nil))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(default ((t (:background nil)))))
|
@@ -16,7 +16,9 @@ lg1 = log --graph --all --format=format:'%C(yellow)%h%C(reset) - %C(green)(%ad)%
|
||||
lg2 = log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(bold white)— %an%C(reset)' --abbrev-commit
|
||||
lg = !"git lg1"
|
||||
[core]
|
||||
excludesfile = /home/jfernando/.gitignore_global
|
||||
|
||||
[include]
|
||||
path = ~/.gitconfig_secret
|
||||
excludesfile = ~/.gitignore_global
|
||||
[filter "lfs"]
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
process = git-lfs filter-process
|
||||
required = true
|
@@ -20,45 +20,62 @@ font xft:Deja Vu Sans 8
|
||||
floating_modifier $mod
|
||||
#/exec
|
||||
# start a terminal
|
||||
#bindsym $mod+Return exec i3-one-tmux
|
||||
bindsym $mod+Return [instance="tmux"] scratchpad show
|
||||
bindsym Control+Mod1+t exec urxvt
|
||||
#bindsym $mod+Return exec --no-startup-id i3-one-tmux
|
||||
bindsym $mod+Return [title="^scratch"] scratchpad show
|
||||
bindsym Control+Mod1+t exec --no-startup-id i3-sensible-terminal
|
||||
bindsym Control+Mod1+Shift+t exec --no-startup-id i3-sensible-terminal --title=scratch -e 'tmux attach'
|
||||
|
||||
# File manager
|
||||
bindsym Control+Mod1+f exec --no-startup-id i3-sensible-terminal --title=filemanager -e 'zsh -c ranger'
|
||||
|
||||
# start lock
|
||||
bindsym Control+Mod1+l exec i3-exit.sh lock
|
||||
bindsym Control+Mod1+l exec --no-startup-id i3-exit.sh lock
|
||||
|
||||
bindsym Control+Mod1+w exec i3-one-instance firefox
|
||||
bindsym Control+Mod1+g exec i3-one-instance gvim
|
||||
bindsym Control+Mod1+e exec myemacs
|
||||
bindsym $mod+o exec i3-winmenu.py
|
||||
bindsym Control+Mod1+f exec pcmanfm
|
||||
bindsym Control+Mod1+Shift+w exec --no-startup-id chromium || chromium-browser
|
||||
bindsym Control+Mod1+w exec --no-startup-id $BROWSER
|
||||
bindsym Control+Mod1+v exec --no-startup-id pavucontrol
|
||||
bindsym Control+Mod1+g exec --no-startup-id gvim
|
||||
bindsym Control+Mod1+e exec --no-startup-id myemacs -c
|
||||
bindsym $mod+Tab exec --no-startup-id winmenu.sh
|
||||
bindsym Mod1+Tab exec --no-startup-id winmenu.sh
|
||||
bindsym $mod+p [title="filemanager"] scratchpad show; [class="Nemo|Thunar"] scratchpad show
|
||||
bindsym $mod+period [instance="emacs" title="^(?!myagenda$)"] scratchpad show
|
||||
bindsym $mod+shift+comma exec --no-startup-id myemacs -nc --eval '(progn (find-file "~/Dropbox/Todo/org/rules.org") (org-agenda-list) (set-frame-name "myagenda"))'
|
||||
bindsym $mod+c exec myemacs -n -e '(make-capture-frame)'
|
||||
bindsym $mod+comma [title="^myagenda"] scratchpad show
|
||||
|
||||
# Spotify
|
||||
bindsym XF86AudioPlay exec spotify-remote.py -a playPause
|
||||
bindsym XF86AudioNext exec spotify-remote.py -a next
|
||||
bindsym XF86AudioPrev exec spotify-remote.py -a previous
|
||||
bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
|
||||
bindsym XF86AudioNext exec --no-startup-id playerctl next
|
||||
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
|
||||
|
||||
# Volume
|
||||
bindsym XF86AudioRaiseVolume exec volume-up.sh
|
||||
bindsym XF86AudioLowerVolume exec volume-down.sh
|
||||
bindsym XF86AudioMute exec volume-toggle-mute.sh
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id volume-up.sh
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id volume-down.sh
|
||||
bindsym XF86AudioMute exec --no-startup-id volume-toggle-mute.sh
|
||||
|
||||
# Brightness
|
||||
#bindsym XF86MonBrightnessUp exec xbacklight +5
|
||||
#bindsym XF86MonBrightnessDown exec xbacklight -5
|
||||
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set "5%+"
|
||||
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set "5%-"
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+q kill
|
||||
|
||||
# start dmenu (a program launcher)
|
||||
#bindsym Mod1+F2 exec dmenu_run
|
||||
bindsym Mod1+F2 exec dmenu_run -fn "-*-cure-medium-*-*-*-11-*-*-*-*-*-*-*" -nb "#101010" -nf "#5f5f5f" -sb "#191919" -sf "#b72f62" -b
|
||||
#bindsym $mod+Space exec --no-startup-id dmenu_run
|
||||
bindsym $mod+space exec --no-startup-id runmenu
|
||||
bindsym $mod+o exec --no-startup-id filemenu $HOME
|
||||
|
||||
#
|
||||
|
||||
# Arandr magic
|
||||
bindsym Mod1+F5 exec monitors single
|
||||
bindsym Mod1+F6 exec monitors dual
|
||||
bindsym Mod1+F7 exec monitors dual home
|
||||
bindsym Mod1+F8 exec i3-secondary-to-primary
|
||||
bindsym Mod1+F5 exec --no-startup-id monitors single
|
||||
bindsym Mod1+F6 exec --no-startup-id monitors single-hdmi
|
||||
bindsym Mod1+F7 exec --no-startup-id monitors dual-mirror
|
||||
bindsym Mod1+F8 exec --no-startup-id monitors dual-home
|
||||
bindsym Mod1+F9 exec --no-startup-id monitors dual
|
||||
bindsym Mod1+F10 exec --no-startup-id xrandr --auto
|
||||
bindsym Mod1+F11 exec --no-startup-id monitors # auto
|
||||
|
||||
# Move to displays
|
||||
bindsym $mod+Mod1+j move workspace to output down
|
||||
@@ -66,6 +83,12 @@ bindsym $mod+Mod1+k move workspace to output up
|
||||
bindsym $mod+Mod1+l move workspace to output right
|
||||
bindsym $mod+Mod1+h move workspace to output left
|
||||
|
||||
# Move windows in tiled mode
|
||||
bindsym $mod+Shift+H move left 100px
|
||||
bindsym $mod+Shift+J move down 100px
|
||||
bindsym $mod+Shift+K move up 100px
|
||||
bindsym $mod+Shift+L move right 100px
|
||||
|
||||
# change focus
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
@@ -79,11 +102,7 @@ bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+H move left
|
||||
bindsym $mod+Shift+J move down
|
||||
bindsym $mod+Shift+K move up
|
||||
bindsym $mod+Shift+L move right
|
||||
|
||||
bindsym $mod+m mode "move"
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
@@ -110,13 +129,13 @@ bindsym $mod+v layout splitv
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
bindsym $mod+space focus mode_toggle
|
||||
bindsym $mod+i focus mode_toggle
|
||||
|
||||
# Make the currently focused window a scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the first scratchpad window
|
||||
bindsym $mod+minus scratchpad show
|
||||
bindsym $mod+minus [instance="*"] scratchpad show
|
||||
|
||||
# focus the parent container
|
||||
bindsym $mod+u focus parent
|
||||
@@ -125,6 +144,7 @@ bindsym $mod+u focus parent
|
||||
bindsym $mod+d focus child
|
||||
|
||||
# switch to workspace
|
||||
|
||||
bindsym $mod+1 workspace 1: Term
|
||||
bindsym $mod+2 workspace 2: Web
|
||||
bindsym $mod+3 workspace 3: Edit
|
||||
@@ -155,10 +175,26 @@ bindsym $mod+Shift+C reload
|
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym $mod+Shift+R restart
|
||||
# exit i3 (logs you out of your X session)
|
||||
bindsym $mod+Shift+E exec i3-exit.sh logout
|
||||
bindsym $mod+Mod1+s exec i3-exit.sh suspend
|
||||
bindsym $mod+Shift+E exec --no-startup-id i3-exit.sh logout
|
||||
bindsym $mod+Mod1+s exec --no-startup-id i3-exit.sh suspend
|
||||
|
||||
bindsym $mod+Shift+p exec passmenu
|
||||
bindsym $mod+Shift+n exec netmenu
|
||||
|
||||
# move with finer grain
|
||||
mode "move" {
|
||||
bindsym H move left 100px
|
||||
bindsym J move down 100px
|
||||
bindsym K move up 100px
|
||||
bindsym L move right 100px
|
||||
bindsym Shift+H move left 10 px
|
||||
bindsym Shift+J move down 10px
|
||||
bindsym Shift+K move up 10 px
|
||||
bindsym Shift+L move right 10 px
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
mode "resize" {
|
||||
@@ -168,16 +204,15 @@ mode "resize" {
|
||||
# Pressing right will grow the window’s width.
|
||||
# Pressing up will shrink the window’s height.
|
||||
# Pressing down will grow the window’s height.
|
||||
bindsym h resize shrink width 10 px or 10 ppt
|
||||
bindsym j resize grow height 10 px or 10 ppt
|
||||
bindsym k resize shrink height 10 px or 10 ppt
|
||||
bindsym l resize grow width 10 px or 10 ppt
|
||||
bindsym H resize shrink width 100 px or 100 ppt
|
||||
bindsym J resize grow height 100 px or 100 ppt
|
||||
bindsym K resize shrink height 100 px or 100 ppt
|
||||
bindsym L resize grow width 100 px or 100 ppt
|
||||
|
||||
# same bindings, but for the arrow keys
|
||||
bindsym 113 resize shrink width 10 px or 10 ppt
|
||||
bindsym 116 resize grow height 10 px or 10 ppt
|
||||
bindsym 111 resize shrink height 10 px or 10 ppt
|
||||
bindsym 114 resize grow width 10 px or 10 ppt
|
||||
bindsym Shift+H resize shrink width 10 px or 10 ppt
|
||||
bindsym Shift+J resize grow height 10 px or 10 ppt
|
||||
bindsym Shift+K resize shrink height 10 px or 10 ppt
|
||||
bindsym Shift+L resize grow width 10 px or 10 ppt
|
||||
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
@@ -196,13 +231,15 @@ bindsym $mod+n exec i3-input -F 'rename workspace to %s' -P 'New name: '
|
||||
#}
|
||||
|
||||
bar {
|
||||
mode dock
|
||||
position top
|
||||
mode dock #hide
|
||||
position bottom
|
||||
font pango:DejaVu Sans 10
|
||||
workspace_buttons yes
|
||||
status_command ~/.i3/conky.sh
|
||||
# status_command ~/.config/i3/status.sh
|
||||
status_command i3blocks #i3status -c ~/.config/i3status/conf
|
||||
colors {
|
||||
background #101010
|
||||
statusline #101010
|
||||
statusline #ffffff
|
||||
focused_workspace #101010 #586e75 #fdf6e3
|
||||
active_workspace #101010 #101010 #cb4b16
|
||||
inactive_workspace #101010 #101010 #93a1a1
|
||||
@@ -210,27 +247,42 @@ bar {
|
||||
}
|
||||
}
|
||||
# class border backgr. text indicator
|
||||
client.focused #4c7899 #101010 #93a1a1 #2e9ef4
|
||||
client.focused #4c7899 #4c7899 fefef #93a1a1 #2e9ef4
|
||||
client.focused_inactive #4c7899 #101010 #93a1a1 #484e50
|
||||
client.unfocused #333333 #101010 #93a1a1 #292d2e
|
||||
client.unfocused #ffffff #101010 #93a1a1 #292d2e
|
||||
client.urgent #2f343a #101010 #93a1a1 #900000
|
||||
|
||||
default_border pixel 1
|
||||
# smart_borders on
|
||||
workspace_layout tabbed
|
||||
|
||||
for_window [title="^floatingwin"] floating enable;
|
||||
for_window [title="^capture"] floating enable;
|
||||
for_window [title="^myagenda"] move to scratchpad
|
||||
for_window [class="^Google-chrome$"] border none
|
||||
for_window [class="^Chromium"] border none
|
||||
for_window [class="^Pavucontrol"] floating enable
|
||||
assign [class="Google-chrome" window_role="browser"] 2: Web
|
||||
assign [class="Chromium" window_role="browser"] 2: Web
|
||||
for_window [class="^Firefox$"] border none
|
||||
for_window [class="^Polybar"] border none
|
||||
assign [class="Firefox" window_role="browser"] 2: Web
|
||||
for_window [class="Xfce4-notifyd"] floating enable; border none; focus mode_toggle
|
||||
for_window [class="^URxvt$"] border 1px
|
||||
for_window [title="^tmux$"] move to scratchpad;
|
||||
for_window [class="^Xfce4-notifyd$"] floating enable; border none; focus mode_toggle
|
||||
for_window [class="^termite"] border 1px
|
||||
for_window [class="^lxterminal"] border 1px
|
||||
for_window [class="^xfce4-terminal"] border 1px
|
||||
for_window [title="^scratch"] move to scratchpad
|
||||
assign [class="^Nemo|Thunar|Ranger"] 5: Files
|
||||
for_window [title="^filemanager$"] move to scratchpad;
|
||||
#KDE
|
||||
for_window [class="Plasma-desktop"] border none
|
||||
for_window [class="krunner"] border none
|
||||
for_window [class="Kmix"] floating enable;
|
||||
for_window [class="Plasmoidviewer"] floating enable;
|
||||
for_window [class="Klipper"] floating enable; border none
|
||||
for_window [class="Spotify"] move to workspace 6: Music
|
||||
#assign [class="^Gvim$"] 3: Edit
|
||||
#assign [class="^Evince$"] 4: Viewer
|
||||
assign [class="^Spotify$"] 6: Music
|
||||
assign [class="^Audacious$"] 6: Music
|
||||
assign [class="^Xchat$"] 7: Chat
|
||||
#for_window [class="Pcmanfm"] floating enable
|
||||
@@ -245,15 +297,8 @@ workspace "7: Chat" output eDP1
|
||||
workspace "8: Misc Big" output DP1
|
||||
workspace "9: Misc Small" output eDP1
|
||||
|
||||
exec --no-startup-id nm-applet
|
||||
exec --no-startup-id dropbox start
|
||||
exec --no-startup-id volti
|
||||
exec --no-startup-id clipit
|
||||
exec --no-startup-id syndaemon -i 0.5 -d
|
||||
exec --no-startup-id synapse -s
|
||||
exec xautolock -time 10 -corners "----" -locker 'i3lock -t -c 000000 -i ~/Pictures/Wallpapers/Game\ Over\ Hacker.png' &
|
||||
#exec --no-startup-id xautolock -corners '----' -time 10 -locker 'dm-tool lock' # lightdm
|
||||
exec urxvt -name tmux -e tmux attach
|
||||
#gaps inner 8
|
||||
#gaps outer 5
|
||||
|
||||
set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
|
||||
mode "$mode_system" {
|
||||
@@ -269,7 +314,22 @@ mode "$mode_system" {
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+Delete mode "$mode_system"
|
||||
exec --no-startup-id nitrogen --restore &
|
||||
bindsym $mod+Escape exec xfce4-session-logout
|
||||
#exec --no-startup-id xautolock -corners '----' -time 10 -locker 'dm-tool lock' # lightdm
|
||||
#exec xautolock -time 10 -corners "----" -locker 'i3lock -t -c 000000 -i ~/Pictures/Wallpapers/Game\ Over\ Hacker.png' &
|
||||
exec --no-startup-id i3-sensible-terminal --title=filemanager -e 'ranger'
|
||||
exec --no-startup-id nitrogen --restore
|
||||
exec --no-startup-id nm-applet
|
||||
exec --no-startup-id pasystray
|
||||
exec --no-startup-id syndaemon -i 0.5 -d
|
||||
exec --no-startup-id i3-sensible-terminal --title=scratch -e 'tmux attach'
|
||||
exec --no-startup-id i3-exit.sh autolock
|
||||
#exec --no-startup-id xfsettingsd --sm-client-disable &
|
||||
#exec --no-startup-id polybar.sh
|
||||
exec --no-startup-id autorotate.py
|
||||
exec --no-startup-id touchegg
|
||||
exec --no-startup-id parcellite
|
||||
exec --no-startup-id owncloud
|
||||
exec --no-startup-id udiskie --no-notify --tray --use-udisks2
|
||||
exec --no-startup-id xfce4-power-manager
|
||||
#exec --no-startup-id compton -b --config ~/.compton.conf
|
||||
#
|
||||
exec --no-startup-id compton -b --config ~/.compton.conf
|
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
echo "{\"version\":1}"
|
||||
echo "[[] ,"
|
||||
conky -c ~/.i3/conkyrc
|
||||
conky -c ~/.config/i3/conkyrc
|
@@ -1,18 +1,20 @@
|
||||
out_to_x no
|
||||
own_window no
|
||||
out_to_console yes
|
||||
background no
|
||||
max_text_width 0
|
||||
# Update interval in seconds
|
||||
update_interval 2.0
|
||||
total_run_times 0
|
||||
override_utf8_locale yes
|
||||
conky.config = {
|
||||
out_to_x=no,
|
||||
own_window=no,
|
||||
out_to_console=yes,
|
||||
background=no,
|
||||
max_text_width=0,
|
||||
--Update interval in seconds
|
||||
update_interval=2.0,
|
||||
total_run_times=0,
|
||||
override_utf8_locale=yes
|
||||
}
|
||||
|
||||
TEXT
|
||||
|
||||
# [{ "full_text" : "MPD" , "color" : "\#b58900" } ,
|
||||
# { "full_text" : "${if_mpd_playing}${mpd_smart 50} ${mpd_elapsed}/${mpd_length}${else}${mpd_status}${endif}" , "color" :"\#93a1a1" } ,
|
||||
[
|
||||
conky.text = [[
|
||||
{ "full_text" : "Phys" , "color" : "\#b58900" } ,
|
||||
{ "full_text" : "${execi 10 sensors | grep 'Phys' | cut -d" " -f 5}", "color" :"\#93a1a1" } ,
|
||||
{ "full_text" : "ACPI" , "color" : "\#b58900" } ,
|
||||
{ "full_text" : "${execi 10 sensors | grep 'temp1' | cut -d" " -f 9}", "color" :"\#93a1a1" } ,
|
||||
{ "full_text" : "HD" , "color" : "\#b58900" } ,
|
||||
{ "full_text" : "home: ${fs_free /home}/${fs_size /home} root: ${fs_free /}/${fs_size /}" , "color" :"\#93a1a1" } ,
|
||||
{ "full_text" : "Ram" , "color" : "\#b58900" } ,
|
||||
@@ -23,4 +25,5 @@ TEXT
|
||||
{ "full_text" : "${battery BAT0}" , "color" :
|
||||
${if_match ${battery_percent BAT0}<20}"\#b95670"${else}"\#5f5f5f"${endif} } ,
|
||||
{ "full_text" : "Date" , "color" : "\#b58900" } ,
|
||||
{ "full_text" : "${time %b %d %Y %I:%M%P}", "color" :"\#93a1a1" }] ,
|
||||
{ "full_text" : "${time %b %d %Y %I:%M%P}", "color" :"\#93a1a1" }
|
||||
]]
|
1
i3/.config/i3/i3blocks-contrib
Submodule
1
i3/.config/i3/i3blocks-contrib
Submodule
Submodule i3/.config/i3/i3blocks-contrib added at 343f881878
160
i3/.config/i3/i3blocks.conf
Normal file
160
i3/.config/i3/i3blocks.conf
Normal file
@@ -0,0 +1,160 @@
|
||||
# i3blocks config file
|
||||
#
|
||||
# Please see man i3blocks for a complete reference!
|
||||
# The man page is also hosted at http://vivien.github.io/i3blocks
|
||||
#
|
||||
# List of valid properties:
|
||||
#
|
||||
# align
|
||||
# color
|
||||
# command
|
||||
# full_text
|
||||
# instance
|
||||
# interval
|
||||
# label
|
||||
# min_width
|
||||
# name
|
||||
# separator
|
||||
# separator_block_width
|
||||
# short_text
|
||||
# signal
|
||||
# urgent
|
||||
|
||||
# Global properties
|
||||
#
|
||||
# The top properties below are applied to every block, but can be overridden.
|
||||
# Each block command defaults to the script name to avoid boilerplate.
|
||||
command=$SCRIPT_DIR/$BLOCK_NAME
|
||||
separator_block_width=15
|
||||
markup=pango
|
||||
color=#FFFFFF
|
||||
|
||||
# Volume indicator
|
||||
#
|
||||
# The first parameter sets the step (and units to display)
|
||||
# The second parameter overrides the mixer selection
|
||||
# See the script for details.
|
||||
#[volume 1 pulse]
|
||||
##label=VOL
|
||||
#label=♪
|
||||
#instance=Main
|
||||
##instance=PCM
|
||||
#interval=once
|
||||
#signal=10
|
||||
|
||||
# Temperature
|
||||
#
|
||||
# Support multiple chips, though lm-sensors.
|
||||
# The script may be called with -w and -c switches to specify thresholds,
|
||||
# see the script for details.
|
||||
[temperature temp1]
|
||||
label=TEMP
|
||||
interval=10
|
||||
|
||||
# Memory usage
|
||||
#
|
||||
# The type defaults to "mem" if the instance is not specified.
|
||||
[memory]
|
||||
label=MemFree
|
||||
separator=true
|
||||
interval=30
|
||||
instance=MemFree:
|
||||
|
||||
#[memory]
|
||||
#label=SWAP
|
||||
#instance=swap
|
||||
#separator=false
|
||||
#interval=30
|
||||
|
||||
# Disk usage
|
||||
#
|
||||
# The directory defaults to $HOME if the instance is not specified.
|
||||
# The script may be called with a optional argument to set the alert
|
||||
# (defaults to 10 for 10%).
|
||||
[disk 1]
|
||||
label=/home
|
||||
#instance=/mnt/data
|
||||
interval=30
|
||||
separator=false
|
||||
|
||||
[disk]
|
||||
label=/
|
||||
instance=/
|
||||
interval=30
|
||||
|
||||
# Network interface monitoring
|
||||
#
|
||||
# If the instance is not specified, use the interface used for default route.
|
||||
# The address can be forced to IPv4 or IPv6 with -4 or -6 switches.
|
||||
[iface]
|
||||
instance=wlp1s0
|
||||
interval=10
|
||||
separator=false
|
||||
|
||||
[wifi]
|
||||
instance=wlp2s0
|
||||
interval=10
|
||||
separator=false
|
||||
|
||||
[bandwidth]
|
||||
#instance=eth0
|
||||
interval=5
|
||||
|
||||
# CPU usage
|
||||
#
|
||||
# The script may be called with -w and -c switches to specify thresholds,
|
||||
# see the script for details.
|
||||
[cpu_usage]
|
||||
label=CPU
|
||||
interval=10
|
||||
min_width=CPU: 100.00%
|
||||
#separator=false
|
||||
|
||||
#[load_average]
|
||||
#interval=10
|
||||
|
||||
# Battery indicator
|
||||
#
|
||||
# The battery instance defaults to 0.
|
||||
[battery]
|
||||
#label=BAT
|
||||
label=⚡
|
||||
instance=1
|
||||
interval=30
|
||||
|
||||
# Date Time
|
||||
#
|
||||
[time]
|
||||
command=date '+%Y-%m-%d %H:%M:%S'
|
||||
interval=5
|
||||
|
||||
# Generic media player support
|
||||
#
|
||||
# This displays "ARTIST - SONG" if a music is playing.
|
||||
# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others.
|
||||
#[mediaplayer]
|
||||
#instance=spotify
|
||||
#interval=5
|
||||
#signal=10
|
||||
|
||||
# OpenVPN support
|
||||
#
|
||||
# Support multiple VPN, with colors.
|
||||
# [openvpn]
|
||||
# interval=20
|
||||
|
||||
# Key indicators
|
||||
#
|
||||
# Add the following bindings to i3 config file:
|
||||
#
|
||||
# bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks
|
||||
# bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks
|
||||
#[keyindicator]
|
||||
#instance=CAPS
|
||||
#interval=once
|
||||
#signal=11
|
||||
|
||||
#[keyindicator]
|
||||
#instance=NUM
|
||||
#interval=once
|
||||
#signal=11
|
89
i3/.config/i3/status.conf
Normal file
89
i3/.config/i3/status.conf
Normal file
@@ -0,0 +1,89 @@
|
||||
general {
|
||||
output_format = "dzen2"
|
||||
colors = true
|
||||
interval = 5
|
||||
}
|
||||
|
||||
order += "ipv6"
|
||||
order += "disk /"
|
||||
order += "run_watch DHCP"
|
||||
order += "run_watch VPNC"
|
||||
order += "path_exists VPN"
|
||||
order += "wireless wlan0"
|
||||
order += "ethernet eth0"
|
||||
order += "battery 0"
|
||||
order += "battery 1"
|
||||
# order += "cpu_temperature 0"
|
||||
order += "load"
|
||||
order += "tztime local"
|
||||
order += "tztime berlin"
|
||||
|
||||
wireless wlan0 {
|
||||
format_up = "W: (%quality at %essid, %bitrate) %ip"
|
||||
format_down = "W: down"
|
||||
}
|
||||
|
||||
ethernet eth0 {
|
||||
# if you use %speed, i3status requires the cap_net_admin capability
|
||||
format_up = "E: %ip (%speed) "
|
||||
format_down = "E: down"
|
||||
}
|
||||
|
||||
battery 0 {
|
||||
format = "%status %percentage %remaining %emptytime"
|
||||
format_down = "No battery"
|
||||
status_chr = "⚡ CHR"
|
||||
status_bat = "🔋 BAT"
|
||||
status_unk = "? UNK"
|
||||
status_full = "☻ FULL"
|
||||
path = "/sys/class/power_supply/BAT0/uevent"
|
||||
low_threshold = 10
|
||||
}
|
||||
|
||||
battery 1 {
|
||||
format = "%status %percentage %remaining %emptytime"
|
||||
format_down = "No battery"
|
||||
status_chr = "⚡ CHR"
|
||||
status_bat = "🔋 BAT"
|
||||
status_unk = "? UNK"
|
||||
status_full = "☻ FULL"
|
||||
path = "/sys/class/power_supply/BAT1/uevent"
|
||||
low_threshold = 10
|
||||
}
|
||||
|
||||
run_watch DHCP {
|
||||
pidfile = "/var/run/dhclient*.pid"
|
||||
}
|
||||
|
||||
run_watch VPNC {
|
||||
# file containing the PID of a vpnc process
|
||||
pidfile = "/var/run/vpnc/pid"
|
||||
}
|
||||
|
||||
path_exists VPN {
|
||||
# path exists when a VPN tunnel launched by nmcli/nm-applet is active
|
||||
path = "/proc/sys/net/ipv4/conf/tun0"
|
||||
}
|
||||
|
||||
tztime local {
|
||||
format = "%Y-%m-%d %H:%M:%S"
|
||||
}
|
||||
|
||||
tztime berlin {
|
||||
format = "%Y-%m-%d %H:%M:%S %Z"
|
||||
timezone = "Europe/Berlin"
|
||||
}
|
||||
|
||||
load {
|
||||
format = "%5min"
|
||||
}
|
||||
|
||||
# cpu_temperature 0 {
|
||||
# format = "T: %degrees °C"
|
||||
# path = "/sys/devices/platform/coretemp.0/temp1_input"
|
||||
# }
|
||||
|
||||
disk "/" {
|
||||
format = "%free"
|
||||
}
|
||||
|
6
i3/.config/i3/status.sh
Executable file
6
i3/.config/i3/status.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#1/bin/sh
|
||||
SCRIPT_DIR=/usr/lib/i3blocks
|
||||
if [ ! -d "$SCRIPT_DIR" ]; then
|
||||
SCRIPT_DIR=/usr/share/i3blocks
|
||||
fi
|
||||
CONTRIB_PATH=$HOME/.config/i3/i3blocks-contrib SCRIPT_DIR=$SCRIPT_DIR i3blocks -c $HOME/.config/i3/i3blocks.conf
|
74
i3/.config/i3status/conf
Normal file
74
i3/.config/i3status/conf
Normal file
@@ -0,0 +1,74 @@
|
||||
general {
|
||||
colors = true
|
||||
interval = 5
|
||||
}
|
||||
|
||||
order += "disk /"
|
||||
order += "disk /home"
|
||||
order += "path_exists VPN"
|
||||
order += "wireless _first_"
|
||||
order += "ethernet _first_"
|
||||
order += "battery 0"
|
||||
order += "battery 1"
|
||||
order += "cpu_temperature 0"
|
||||
order += "load"
|
||||
order += "tztime local"
|
||||
|
||||
wireless _first_ {
|
||||
format_up = "%essid %ip %quality %bitrate"
|
||||
format_down = "Wireless down"
|
||||
}
|
||||
|
||||
ethernet _first_ {
|
||||
# if you use %speed, i3status requires the cap_net_admin capability
|
||||
format_up = "E: %ip (%speed) "
|
||||
format_down = "E: down"
|
||||
}
|
||||
|
||||
battery 0 {
|
||||
format = "%status %percentage %remaining %emptytime"
|
||||
format_down = ""
|
||||
status_chr = "⚡ CHR"
|
||||
status_bat = "🔋 BAT"
|
||||
status_unk = "? UNK"
|
||||
status_chr = "⚡ FULL"
|
||||
path = "/sys/class/power_supply/BAT%d/uevent"
|
||||
low_threshold = 10
|
||||
}
|
||||
|
||||
battery 1 {
|
||||
format = "%status %percentage %remaining"
|
||||
format_down = ""
|
||||
status_chr = "⚡ CHR"
|
||||
status_bat = "🔋 BAT"
|
||||
status_unk = "? UNK"
|
||||
status_chr = "⚡ FULL"
|
||||
path = "/sys/class/power_supply/BAT%d/uevent"
|
||||
low_threshold = 10
|
||||
}
|
||||
|
||||
path_exists VPN {
|
||||
# path exists when a VPN tunnel launched by nmcli/nm-applet is active
|
||||
path = "/proc/sys/net/ipv4/conf/ppp0"
|
||||
}
|
||||
|
||||
tztime local {
|
||||
format = "%H:%M %d/%m/%Y"
|
||||
}
|
||||
|
||||
load {
|
||||
format = "%5min"
|
||||
}
|
||||
|
||||
#cpu_temperature 0 {
|
||||
# format = "T: %degrees °C"
|
||||
# path = "/sys/devices/platform/coretemp.0/temp1_input"
|
||||
#}
|
||||
|
||||
disk "/" {
|
||||
format = "%free / "
|
||||
}
|
||||
|
||||
disk "/home" {
|
||||
format = "%free /home "
|
||||
}
|
3
i3/.dmenurc
Normal file
3
i3/.dmenurc
Normal file
@@ -0,0 +1,3 @@
|
||||
DMENU_FONT='-*-*-medium-r-*-*-18-*-*-*-*-*-*-*'
|
||||
DMENU="dmenu -i -fn $DMENU_FONT -nb #1E2320 -nf #DBDBDB -sb #3f3f3f -sf #ffffff"
|
||||
|
62
lightdm/etc/lightdm/lightdm-gtk-greeter.conf
Normal file
62
lightdm/etc/lightdm/lightdm-gtk-greeter.conf
Normal file
@@ -0,0 +1,62 @@
|
||||
# LightDM GTK+ Configuration
|
||||
# Available configuration options listed below.
|
||||
#
|
||||
# Appearance:
|
||||
# theme-name = GTK+ theme to use
|
||||
# icon-theme-name = Icon theme to use
|
||||
# background = Background file to use, either an image path or a color (e.g. #772953)
|
||||
# user-background = false|true ("true" by default) Display user background (if available)
|
||||
# transition-duration = Length of time (in milliseconds) to transition between background images ("500" by default)
|
||||
# transition-type = ease-in-out|linear|none ("ease-in-out" by default)
|
||||
#
|
||||
# Fonts:
|
||||
# font-name = Font to use
|
||||
# xft-antialias = false|true Whether to antialias Xft fonts
|
||||
# xft-dpi = Resolution for Xft in dots per inch (e.g. 96)
|
||||
# xft-hintstyle = none|slight|medium|hintfull What degree of hinting to use
|
||||
# xft-rgba = none|rgb|bgr|vrgb|vbgr Type of subpixel antialiasing
|
||||
#
|
||||
# Login window:
|
||||
# active-monitor = Monitor to display greeter window (name or number). Use #cursor value to display greeter at monitor with cursor. Can be a semicolon separated list
|
||||
# position = x y ("50% 50%" by default) Login window position
|
||||
# default-user-image = Image used as default user icon, path or #icon-name
|
||||
# hide-user-image = false|true ("false" by default)
|
||||
#
|
||||
# Panel:
|
||||
# panel-position = top|bottom ("top" by default)
|
||||
# clock-format = strftime-format string, e.g. %H:%M
|
||||
# indicators = semi-colon ";" separated list of allowed indicator modules. Built-in indicators include "~a11y", "~language", "~session", "~power", "~clock", "~host", "~spacer". Unity indicators can be represented by short name (e.g. "sound", "power"), service file name, or absolute path
|
||||
#
|
||||
# Accessibility:
|
||||
# a11y-states = states of accessibility features: "name" - save state on exit, "-name" - disabled at start (default value for unlisted), "+name" - enabled at start. Allowed names: contrast, font, keyboard, reader.
|
||||
# keyboard = command to launch on-screen keyboard (e.g. "onboard")
|
||||
# keyboard-position = x y[;width height] ("50%,center -0;50% 25%" by default) Works only for "onboard"
|
||||
# reader = command to launch screen reader (e.g. "orca")
|
||||
#
|
||||
# Security:
|
||||
# allow-debugging = false|true ("false" by default)
|
||||
# screensaver-timeout = Timeout (in seconds) until the screen blanks when the greeter is called as lockscreen
|
||||
#
|
||||
# Template for per-monitor configuration:
|
||||
# [monitor: name]
|
||||
# background = overrides default value
|
||||
# user-background = overrides default value
|
||||
# laptop = false|true ("false" by default) Marks monitor as laptop display
|
||||
# transition-duration = overrides default value
|
||||
#
|
||||
[greeter]
|
||||
background=/etc/lightdm/wallpaper.jpg
|
||||
#user-background=
|
||||
#theme-name=
|
||||
#icon-theme-name=
|
||||
#font-name=
|
||||
#xft-antialias=
|
||||
#xft-dpi=
|
||||
#xft-hintstyle=
|
||||
#xft-rgba=
|
||||
#indicators=
|
||||
#clock-format=
|
||||
#keyboard=
|
||||
#reader=
|
||||
#position=
|
||||
#screensaver-timeout=
|
33
make.sh
33
make.sh
@@ -1,33 +0,0 @@
|
||||
#!/bin/bash
|
||||
############################
|
||||
# .make.sh
|
||||
# This script creates symlinks from the home directory to any desired dotfiles in ~/dotfiles
|
||||
############################
|
||||
|
||||
########## Variables
|
||||
|
||||
# change to the dotfiles directory
|
||||
cd `dirname $0`
|
||||
|
||||
########## Don't forget the submodules
|
||||
git submodule init
|
||||
git submodule update --recursive
|
||||
|
||||
olddir=~/dotfiles$(date +%Y-%m-%d_%H:%M:%S) # old dotfiles backup directory
|
||||
files=$(ls --ignore="not_dots" --ignore="README.md" --ignore="make.sh" --ignore="Docker" $PWD) # list of files/folders to symlink in homedir
|
||||
|
||||
##########
|
||||
|
||||
# create dotfiles_old in homedir
|
||||
echo "** Creating $olddir for backup: of any existing dotfiles in ~"
|
||||
mkdir -p $olddir
|
||||
echo "...done"
|
||||
|
||||
# move any existing dotfiles in homedir to dotfiles_old directory, then create symlinks
|
||||
echo "** Creating symlinks. Any existing dotfiles will be moved to: $olddir"
|
||||
for file in $files; do
|
||||
mv ~/.$file $olddir && echo "Backed up: ~/.$file"
|
||||
ln -s $PWD/$file ~/.$file
|
||||
done
|
||||
|
||||
rmdir $olddir 2>/dev/null && echo "Backup dir empty. Removed"
|
11
not_dots/50-synaptics.conf
Normal file
11
not_dots/50-synaptics.conf
Normal file
@@ -0,0 +1,11 @@
|
||||
Section "InputClass"
|
||||
Identifier "touchpad catchall"
|
||||
Driver "synaptics"
|
||||
MatchIsTouchpad "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
|
||||
Option "TapButton1" "1"
|
||||
Option "TapButton2" "3"
|
||||
Option "TapButton3" "2"
|
||||
EndSection
|
||||
|
25
not_dots/50-udiskie.rules
Normal file
25
not_dots/50-udiskie.rules
Normal file
@@ -0,0 +1,25 @@
|
||||
polkit.addRule(function(action, subject) {
|
||||
var YES = polkit.Result.YES;
|
||||
// NOTE: there must be a comma at the end of each line except for the last:
|
||||
var permission = {
|
||||
// required for udisks1:
|
||||
"org.freedesktop.udisks.filesystem-mount": YES,
|
||||
"org.freedesktop.udisks.luks-unlock": YES,
|
||||
"org.freedesktop.udisks.drive-eject": YES,
|
||||
"org.freedesktop.udisks.drive-detach": YES,
|
||||
// required for udisks2:
|
||||
"org.freedesktop.udisks2.filesystem-mount": YES,
|
||||
"org.freedesktop.udisks2.encrypted-unlock": YES,
|
||||
"org.freedesktop.udisks2.eject-media": YES,
|
||||
"org.freedesktop.udisks2.power-off-drive": YES,
|
||||
// required for udisks2 if using udiskie from another seat (e.g. systemd):
|
||||
"org.freedesktop.udisks2.filesystem-mount-other-seat": YES,
|
||||
"org.freedesktop.udisks2.filesystem-unmount-others": YES,
|
||||
"org.freedesktop.udisks2.encrypted-unlock-other-seat": YES,
|
||||
"org.freedesktop.udisks2.eject-media-other-seat": YES,
|
||||
"org.freedesktop.udisks2.power-off-drive-other-seat": YES
|
||||
};
|
||||
if (subject.isInGroup("storage")) {
|
||||
return permission[action.id];
|
||||
}
|
||||
});
|
@@ -1,73 +0,0 @@
|
||||
# Lines configured by zsh-newuser-install
|
||||
HISTFILE=~/.histfile
|
||||
HISTSIZE=1000
|
||||
SAVEHIST=1000
|
||||
setopt appendhistory autocd extendedglob nomatch notify share_history
|
||||
bindkey -v
|
||||
# End of lines configured by zsh-newuser-install
|
||||
# The following lines were added by compinstall
|
||||
zstyle :compinstall filename '/home/balkian/.zshrc'
|
||||
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
# End of lines added by compinstall
|
||||
|
||||
autoload -U colors
|
||||
colors
|
||||
setopt prompt_subst
|
||||
|
||||
local smiley="%B%(?,%{$fg[green]%}☠%{$reset_color%},%{$fg[red]%}☠%{$reset_color%})%b"
|
||||
PS0='${debian_chroot:+($debian_chroot)}%n@%M'
|
||||
|
||||
parse_git_branch()
|
||||
{
|
||||
git name-rev HEAD 2> /dev/null | sed 's#HEAD\ \(.*\)#(git::\1)#'
|
||||
}
|
||||
|
||||
if ( dircolors --help && ls --color ) &> /dev/null; then
|
||||
# For some reason, the unixs machines need me to use $HOME instead of ~
|
||||
# List files from highest priority to lowest. As soon as the loop finds one that works, it will exit.
|
||||
function precmd {
|
||||
PROMPT="$PS0:%~ %{$fg[green]%}%B$(parse_git_branch)%b%{$reset_color%}
|
||||
${smiley} ";
|
||||
RPROMPT="%T";
|
||||
}
|
||||
|
||||
for POSSIBLE_DIR_COLORS in "$HOME/.dir_colors" "/etc/DIR_COLORS"; do
|
||||
[[ -f "$POSSIBLE_DIR_COLORS" ]] && [[ -r "$POSSIBLE_DIR_COLORS" ]] && eval `dircolors -b "$POSSIBLE_DIR_COLORS"` && break
|
||||
done
|
||||
|
||||
alias ls="ls --color=auto"
|
||||
alias ll="ls --color=auto -l"
|
||||
alias grep='grep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
alias egrep='egrep --color=auto'
|
||||
else
|
||||
# No color, so put a slash at the end of directory names, etc. to differentiate.
|
||||
alias ll="ls -lF"
|
||||
fi
|
||||
## Completions
|
||||
#autoload -U compinit
|
||||
#compinit -C
|
||||
#
|
||||
### case-insensitive (all),partial-word and then substring completion
|
||||
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' \
|
||||
'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
|
||||
|
||||
bindkey -M vicmd 'r' history-incremental-search-backward
|
||||
|
||||
export PATH=$PATH:"/home/balkian/code/personal-scripts/"
|
||||
#export CDPATH=$CDPATH:"/media/Data/"
|
||||
|
||||
# TMUX
|
||||
# if [[ -z "$KONSOLE_DBUS_SERVICE" & `which tmux` ]]; then
|
||||
# if no session is started, start a new session
|
||||
if [[ -z "$KONSOLE_DBUS_SERVICE" && -n $(which tmux) ]]; then
|
||||
stty -ixon
|
||||
test -z ${TMUX} && tmux attach
|
||||
# when quitting tmux, try to attach
|
||||
if [[ -z ${TMUX} ]]; then
|
||||
exit;
|
||||
fi
|
||||
fi
|
||||
|
@@ -1,73 +0,0 @@
|
||||
# Lines configured by zsh-newuser-install
|
||||
HISTFILE=~/.histfile
|
||||
HISTSIZE=1000
|
||||
SAVEHIST=1000
|
||||
setopt appendhistory autocd extendedglob nomatch notify share_history
|
||||
bindkey -v
|
||||
# End of lines configured by zsh-newuser-install
|
||||
# The following lines were added by compinstall
|
||||
zstyle :compinstall filename '/home/balkian/.zshrc'
|
||||
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
# End of lines added by compinstall
|
||||
|
||||
autoload -U colors
|
||||
colors
|
||||
setopt prompt_subst
|
||||
|
||||
local smiley="%B%(?,%{$fg[green]%}☠%{$reset_color%},%{$fg[red]%}☠%{$reset_color%})%b"
|
||||
PS0='${debian_chroot:+($debian_chroot)}%n@%M'
|
||||
|
||||
parse_git_branch()
|
||||
{
|
||||
git name-rev HEAD 2> /dev/null | sed 's#HEAD\ \(.*\)#(git::\1)#'
|
||||
}
|
||||
|
||||
if ( dircolors --help && ls --color ) &> /dev/null; then
|
||||
# For some reason, the unixs machines need me to use $HOME instead of ~
|
||||
# List files from highest priority to lowest. As soon as the loop finds one that works, it will exit.
|
||||
function precmd {
|
||||
PROMPT="$PS0:%~ %{$fg[green]%}%B$(parse_git_branch)%b%{$reset_color%}
|
||||
${smiley} ";
|
||||
RPROMPT="%T";
|
||||
}
|
||||
|
||||
for POSSIBLE_DIR_COLORS in "$HOME/.dir_colors" "/etc/DIR_COLORS"; do
|
||||
[[ -f "$POSSIBLE_DIR_COLORS" ]] && [[ -r "$POSSIBLE_DIR_COLORS" ]] && eval `dircolors -b "$POSSIBLE_DIR_COLORS"` && break
|
||||
done
|
||||
|
||||
alias ls="ls --color=auto"
|
||||
alias ll="ls --color=auto -l"
|
||||
alias grep='grep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
alias egrep='egrep --color=auto'
|
||||
else
|
||||
# No color, so put a slash at the end of directory names, etc. to differentiate.
|
||||
alias ll="ls -lF"
|
||||
fi
|
||||
## Completions
|
||||
#autoload -U compinit
|
||||
#compinit -C
|
||||
#
|
||||
### case-insensitive (all),partial-word and then substring completion
|
||||
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' \
|
||||
'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
|
||||
|
||||
bindkey -M vicmd 'r' history-incremental-search-backward
|
||||
|
||||
export PATH=$PATH:"/home/balkian/code/personal-scripts/"
|
||||
#export CDPATH=$CDPATH:"/media/Data/"
|
||||
|
||||
# TMUX
|
||||
# if [[ -z "$KONSOLE_DBUS_SERVICE" & `which tmux` ]]; then
|
||||
# if no session is started, start a new session
|
||||
if [[ -z "$KONSOLE_DBUS_SERVICE" && -n $(which tmux) ]]; then
|
||||
stty -ixon
|
||||
test -z ${TMUX} && tmux attach
|
||||
# when quitting tmux, try to attach
|
||||
if [[ -z ${TMUX} ]]; then
|
||||
exit;
|
||||
fi
|
||||
fi
|
||||
|
Submodule oh-my-zsh deleted from 5663d3a1fe
137
pythonrc.py
137
pythonrc.py
@@ -1,137 +0,0 @@
|
||||
"""
|
||||
This file is executed when the Python interactive shell is started if
|
||||
$PYTHONSTARTUP is in your environment and points to this file. It's just
|
||||
regular Python commands, so do what you will. Your ~/.inputrc file can greatly
|
||||
complement this file.
|
||||
|
||||
"""
|
||||
import os
|
||||
|
||||
try:
|
||||
import readline
|
||||
import rlcompleter
|
||||
import atexit
|
||||
except ImportError:
|
||||
print("You need readline, rlcompleter, and atexit")
|
||||
|
||||
readline.parse_and_bind("tab: complete")
|
||||
#readline.parse_and_bind ("bind ^I rl_complete")
|
||||
|
||||
class Completer(object):
|
||||
def __init__(self):
|
||||
# Enable a History
|
||||
self.HISTFILE=os.path.expanduser("%s/.pyhistory" % os.environ["HOME"])
|
||||
|
||||
# Read the existing history if there is one
|
||||
if os.path.exists(self.HISTFILE):
|
||||
readline.read_history_file(self.HISTFILE)
|
||||
|
||||
# Set maximum number of items that will be written to the history file
|
||||
readline.set_history_length(300)
|
||||
atexit.register(self.savehist)
|
||||
|
||||
def savehist(self):
|
||||
import readline
|
||||
readline.write_history_file(self.HISTFILE)
|
||||
|
||||
|
||||
c = Completer()
|
||||
|
||||
WELCOME=''
|
||||
# Color Support
|
||||
class TermColors(dict):
|
||||
"""Gives easy access to ANSI color codes. Attempts to fall back to no color
|
||||
for certain TERM values. (Mostly stolen from IPython.)"""
|
||||
|
||||
COLOR_TEMPLATES = (
|
||||
("Black" , "0;30"),
|
||||
("Red" , "0;31"),
|
||||
("Green" , "0;32"),
|
||||
("Brown" , "0;33"),
|
||||
("Blue" , "0;34"),
|
||||
("Purple" , "0;35"),
|
||||
("Cyan" , "0;36"),
|
||||
("LightGray" , "0;37"),
|
||||
("DarkGray" , "1;30"), ("LightRed" , "1;31"),
|
||||
("LightGreen" , "1;32"),
|
||||
("Yellow" , "1;33"),
|
||||
("LightBlue" , "1;34"),
|
||||
("LightPurple" , "1;35"),
|
||||
("LightCyan" , "1;36"),
|
||||
("White" , "1;37"),
|
||||
("Normal" , "0"),
|
||||
)
|
||||
|
||||
NoColor = ''
|
||||
_base = '\001\033[%sm\002'
|
||||
|
||||
def __init__(self):
|
||||
if os.environ.get('TERM') in ('xterm-color', 'xterm-256color', 'linux',
|
||||
'screen', 'screen-256color', 'screen-bce'):
|
||||
self.update(dict([(k, self._base % v) for k,v in self.COLOR_TEMPLATES]))
|
||||
else:
|
||||
self.update(dict([(k, self.NoColor) for k,v in self.COLOR_TEMPLATES]))
|
||||
_c = TermColors()
|
||||
|
||||
|
||||
|
||||
import sys
|
||||
# Enable Color Prompts
|
||||
sys.ps1 = '%s>>> %s' % (_c['Green'], _c['Normal'])
|
||||
sys.ps2 = '%s... %s' % (_c['Red'], _c['Normal'])
|
||||
|
||||
# Enable Pretty Printing for stdout
|
||||
def my_displayhook(value):
|
||||
if value is not None:
|
||||
try:
|
||||
import __builtin__
|
||||
__builtin__._ = value
|
||||
except ImportError:
|
||||
__builtins__._ = value
|
||||
|
||||
import pprint
|
||||
pprint.pprint(value)
|
||||
del pprint
|
||||
|
||||
sys.displayhook = my_displayhook
|
||||
|
||||
EDITOR = os.environ.get('EDITOR', 'vim')
|
||||
EDIT_CMD = '\e'
|
||||
|
||||
from tempfile import mkstemp
|
||||
from code import InteractiveConsole
|
||||
|
||||
class EditableBufferInteractiveConsole(InteractiveConsole):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.last_buffer = [] # This holds the last executed statement
|
||||
InteractiveConsole.__init__(self, *args, **kwargs)
|
||||
|
||||
def runsource(self, source, *args):
|
||||
self.last_buffer = [ source.encode('latin-1') ]
|
||||
return InteractiveConsole.runsource(self, source, *args)
|
||||
|
||||
def raw_input(self, *args):
|
||||
line = InteractiveConsole.raw_input(self, *args)
|
||||
if line == EDIT_CMD:
|
||||
fd, tmpfl = mkstemp('.py')
|
||||
os.write(fd, b'\n'.join(self.last_buffer))
|
||||
os.close(fd)
|
||||
os.system('%s %s' % (EDITOR, tmpfl))
|
||||
line = open(tmpfl).read()
|
||||
os.unlink(tmpfl)
|
||||
tmpfl = ''
|
||||
lines = line.split( '\n' )
|
||||
for i in range(len(lines) - 1): self.push( lines[i] )
|
||||
line = lines[-1]
|
||||
return line
|
||||
|
||||
# clean up namespace
|
||||
del sys
|
||||
|
||||
if __name__ == "__main__":
|
||||
c = EditableBufferInteractiveConsole(locals=locals())
|
||||
c.interact(banner=WELCOME)
|
||||
|
||||
# Exit the Python shell on exiting the InteractiveConsole
|
||||
import sys
|
||||
sys.exit()
|
2
ranger/.config/ranger/.gitignore
vendored
Normal file
2
ranger/.config/ranger/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
history
|
||||
tagged
|
12
ranger/.config/ranger/bookmarks
Normal file
12
ranger/.config/ranger/bookmarks
Normal file
@@ -0,0 +1,12 @@
|
||||
j:/home/j/Downloads
|
||||
d:/home/j/Downloads
|
||||
g:/home/j/git/balkian
|
||||
F:/home/j
|
||||
f:/home/j
|
||||
m:/home/j/Downloads
|
||||
o:/home/j/Downloads
|
||||
':/home/j/Clases/CORE/2019
|
||||
G:/home/j/GSI
|
||||
p:/home/j/Doctorado/Papers
|
||||
s:/home/j/Doctorado/Papers/SocialContext
|
||||
D:/home/j/Doctorado
|
61
ranger/.config/ranger/commands.py
Normal file
61
ranger/.config/ranger/commands.py
Normal file
@@ -0,0 +1,61 @@
|
||||
# This is a sample commands.py. You can add your own commands here.
|
||||
#
|
||||
# Please refer to commands_full.py for all the default commands and a complete
|
||||
# documentation. Do NOT add them all here, or you may end up with defunct
|
||||
# commands when upgrading ranger.
|
||||
|
||||
# You always need to import ranger.api.commands here to get the Command class:
|
||||
from ranger.api.commands import *
|
||||
|
||||
# A simple command for demonstration purposes follows.
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# You can import any python module as needed.
|
||||
import os
|
||||
|
||||
# Any class that is a subclass of "Command" will be integrated into ranger as a
|
||||
# command. Try typing ":my_edit<ENTER>" in ranger!
|
||||
|
||||
|
||||
class my_edit(Command):
|
||||
# The so-called doc-string of the class will be visible in the built-in
|
||||
# help that is accessible by typing "?c" inside ranger.
|
||||
""":my_edit <filename>
|
||||
|
||||
A sample command for demonstration purposes that opens a file in an editor.
|
||||
"""
|
||||
|
||||
# The execute method is called when you run this command in ranger.
|
||||
def execute(self):
|
||||
# self.arg(1) is the first (space-separated) argument to the function.
|
||||
# This way you can write ":my_edit somefilename<ENTER>".
|
||||
if self.arg(1):
|
||||
# self.rest(1) contains self.arg(1) and everything that follows
|
||||
target_filename = self.rest(1)
|
||||
else:
|
||||
# self.fm is a ranger.core.filemanager.FileManager object and gives
|
||||
# you access to internals of ranger.
|
||||
# self.fm.thisfile is a ranger.container.file.File object and is a
|
||||
# reference to the currently selected file.
|
||||
target_filename = self.fm.thisfile.path
|
||||
|
||||
# This is a generic function to print text in ranger.
|
||||
self.fm.notify("Let's edit the file " + target_filename + "!")
|
||||
|
||||
# Using bad=True in fm.notify allows you to print error messages:
|
||||
if not os.path.exists(target_filename):
|
||||
self.fm.notify("The given file does not exist!", bad=True)
|
||||
return
|
||||
|
||||
# This executes a function from ranger.core.acitons, a module with a
|
||||
# variety of subroutines that can help you construct commands.
|
||||
# Check out the source, or run "pydoc ranger.core.actions" for a list.
|
||||
self.fm.edit_file(target_filename)
|
||||
|
||||
# The tab method is called when you press tab, and should return a list of
|
||||
# suggestions that the user will tab through.
|
||||
# tabnum is 1 for <TAB> and -1 for <S-TAB> by default
|
||||
def tab(self, tabnum):
|
||||
# This is a generic tab-completion function that iterates through the
|
||||
# content of the current directory.
|
||||
return self._tab_directory_content()
|
1486
ranger/.config/ranger/commands_full.py
Normal file
1486
ranger/.config/ranger/commands_full.py
Normal file
File diff suppressed because it is too large
Load Diff
623
ranger/.config/ranger/rc.conf
Normal file
623
ranger/.config/ranger/rc.conf
Normal file
@@ -0,0 +1,623 @@
|
||||
# ===================================================================
|
||||
# This file contains the default startup commands for ranger.
|
||||
# To change them, it is recommended to create the file
|
||||
# ~/.config/ranger/rc.conf and add your custom commands there.
|
||||
#
|
||||
# If you copy this whole file there, you may want to set the environment
|
||||
# variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice.
|
||||
#
|
||||
# The purpose of this file is mainly to define keybindings and settings.
|
||||
# For running more complex python code, please create a plugin in "plugins/" or
|
||||
# a command in "commands.py".
|
||||
#
|
||||
# Each line is a command that will be run before the user interface
|
||||
# is initialized. As a result, you can not use commands which rely
|
||||
# on the UI such as :delete or :mark.
|
||||
# ===================================================================
|
||||
|
||||
# ===================================================================
|
||||
# == Options
|
||||
# ===================================================================
|
||||
|
||||
# Which viewmode should be used? Possible values are:
|
||||
# miller: Use miller columns which show multiple levels of the hierarchy
|
||||
# multipane: Midnight-commander like multipane view showing all tabs next
|
||||
# to each other
|
||||
set viewmode miller
|
||||
#set viewmode multipane
|
||||
|
||||
# How many columns are there, and what are their relative widths?
|
||||
set column_ratios 1,3,4
|
||||
|
||||
# Which files should be hidden? (regular expression)
|
||||
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
|
||||
|
||||
# Show hidden files? You can toggle this by typing 'zh'
|
||||
set show_hidden false
|
||||
|
||||
# Ask for a confirmation when running the "delete" command?
|
||||
# Valid values are "always", "never", "multiple" (default)
|
||||
# With "multiple", ranger will ask only if you delete multiple files at once.
|
||||
set confirm_on_delete multiple
|
||||
|
||||
# Which script is used to generate file previews?
|
||||
# ranger ships with scope.sh, a script that calls external programs (see
|
||||
# README.md for dependencies) to preview images, archives, etc.
|
||||
set preview_script ~/.config/ranger/scope.sh
|
||||
|
||||
# Use the external preview script or display simple plain text or image previews?
|
||||
set use_preview_script true
|
||||
|
||||
# Automatically count files in the directory, even before entering them?
|
||||
set automatically_count_files true
|
||||
|
||||
# Open all images in this directory when running certain image viewers
|
||||
# like feh or sxiv? You can still open selected files by marking them.
|
||||
set open_all_images true
|
||||
|
||||
# Be aware of version control systems and display information.
|
||||
set vcs_aware true
|
||||
|
||||
# State of the three backends git, hg, bzr. The possible states are
|
||||
# disabled, local (only show local info), enabled (show local and remote
|
||||
# information).
|
||||
set vcs_backend_git enabled
|
||||
set vcs_backend_hg disabled
|
||||
set vcs_backend_bzr disabled
|
||||
|
||||
# Use one of the supported image preview protocols
|
||||
set preview_images true
|
||||
|
||||
# Set the preview image method. Supported methods:
|
||||
#
|
||||
# * w3m (default):
|
||||
# Preview images in full color with the external command "w3mimgpreview"?
|
||||
# This requires the console web browser "w3m" and a supported terminal.
|
||||
# It has been successfully tested with "xterm" and "urxvt" without tmux.
|
||||
#
|
||||
# * iterm2:
|
||||
# Preview images in full color using iTerm2 image previews
|
||||
# (http://iterm2.com/images.html). This requires using iTerm2 compiled
|
||||
# with image preview support.
|
||||
#
|
||||
# * urxvt:
|
||||
# Preview images in full color using urxvt image backgrounds. This
|
||||
# requires using urxvt compiled with pixbuf support.
|
||||
#
|
||||
# * urxvt-full:
|
||||
# The same as urxvt but utilizing not only the preview pane but the
|
||||
# whole terminal window.
|
||||
set preview_images_method w3m
|
||||
|
||||
# Use a unicode "..." character to mark cut-off filenames?
|
||||
set unicode_ellipsis false
|
||||
|
||||
# Show dotfiles in the bookmark preview box?
|
||||
set show_hidden_bookmarks true
|
||||
|
||||
# Which colorscheme to use? These colorschemes are available by default:
|
||||
# default, jungle, snow, solarized
|
||||
set colorscheme default
|
||||
|
||||
# Preview files on the rightmost column?
|
||||
# And collapse (shrink) the last column if there is nothing to preview?
|
||||
set preview_files true
|
||||
set preview_directories true
|
||||
set collapse_preview true
|
||||
|
||||
# Save the console history on exit?
|
||||
set save_console_history true
|
||||
|
||||
# Draw the status bar on top of the browser window (default: bottom)
|
||||
set status_bar_on_top false
|
||||
|
||||
# Draw a progress bar in the status bar which displays the average state of all
|
||||
# currently running tasks which support progress bars?
|
||||
set draw_progress_bar_in_status_bar true
|
||||
|
||||
# Draw borders around columns?
|
||||
set draw_borders true
|
||||
|
||||
# Display the directory name in tabs?
|
||||
set dirname_in_tabs true
|
||||
|
||||
# Enable the mouse support?
|
||||
set mouse_enabled true
|
||||
|
||||
# Display the file size in the main column or status bar?
|
||||
set display_size_in_main_column true
|
||||
set display_size_in_status_bar true
|
||||
|
||||
# Display files tags in all columns or only in main column?
|
||||
set display_tags_in_all_columns true
|
||||
|
||||
# Set a title for the window?
|
||||
set update_title false
|
||||
|
||||
# Set the title to "ranger" in the tmux program?
|
||||
set update_tmux_title false
|
||||
|
||||
# Shorten the title if it gets long? The number defines how many
|
||||
# directories are displayed at once, 0 turns off this feature.
|
||||
set shorten_title 3
|
||||
|
||||
# Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
|
||||
set tilde_in_titlebar false
|
||||
|
||||
# How many directory-changes or console-commands should be kept in history?
|
||||
set max_history_size 20
|
||||
set max_console_history_size 50
|
||||
|
||||
# Try to keep so much space between the top/bottom border when scrolling:
|
||||
set scroll_offset 8
|
||||
|
||||
# Flush the input after each key hit? (Noticeable when ranger lags)
|
||||
set flushinput true
|
||||
|
||||
# Padding on the right when there's no preview?
|
||||
# This allows you to click into the space to run the file.
|
||||
set padding_right true
|
||||
|
||||
# Save bookmarks (used with mX and `X) instantly?
|
||||
# This helps to synchronize bookmarks between multiple ranger
|
||||
# instances but leads to *slight* performance loss.
|
||||
# When false, bookmarks are saved when ranger is exited.
|
||||
set autosave_bookmarks true
|
||||
set save_backtick_bookmark false
|
||||
|
||||
# You can display the "real" cumulative size of directories by using the
|
||||
# command :get_cumulative_size or typing "dc". The size is expensive to
|
||||
# calculate and will not be updated automatically. You can choose
|
||||
# to update it automatically though by turning on this option:
|
||||
set autoupdate_cumulative_size false
|
||||
|
||||
# Turning this on makes sense for screen readers:
|
||||
set show_cursor false
|
||||
|
||||
# One of: size, natural, basename, atime, ctime, mtime, type, random
|
||||
set sort natural
|
||||
|
||||
# Additional sorting options
|
||||
set sort_reverse false
|
||||
set sort_case_insensitive true
|
||||
set sort_directories_first true
|
||||
set sort_unicode false
|
||||
|
||||
# Enable this if key combinations with the Alt Key don't work for you.
|
||||
# (Especially on xterm)
|
||||
set xterm_alt_key false
|
||||
|
||||
# Whether to include bookmarks in cd command
|
||||
set cd_bookmarks true
|
||||
|
||||
# Avoid previewing files larger than this size, in bytes. Use a value of 0 to
|
||||
# disable this feature.
|
||||
set preview_max_size 10000000
|
||||
|
||||
# Add the highlighted file to the path in the titlebar
|
||||
set show_selection_in_titlebar true
|
||||
|
||||
# The delay that ranger idly waits for user input, in milliseconds, with a
|
||||
# resolution of 100ms. Lower delay reduces lag between directory updates but
|
||||
# increases CPU load.
|
||||
set idle_delay 2000
|
||||
|
||||
# When the metadata manager module looks for metadata, should it only look for
|
||||
# a ".metadata.json" file in the current directory, or do a deep search and
|
||||
# check all directories above the current one as well?
|
||||
set metadata_deep_search false
|
||||
|
||||
# Clear all existing filters when leaving a directory
|
||||
set clear_filters_on_dir_change false
|
||||
|
||||
# Disable displaying line numbers in main column
|
||||
set line_numbers false
|
||||
|
||||
# ===================================================================
|
||||
# == Local Options
|
||||
# ===================================================================
|
||||
# You can set local options that only affect a single directory.
|
||||
|
||||
# Examples:
|
||||
# setlocal path=~/downloads sort mtime
|
||||
|
||||
# ===================================================================
|
||||
# == Command Aliases in the Console
|
||||
# ===================================================================
|
||||
|
||||
alias e edit
|
||||
alias q quit
|
||||
alias q! quitall
|
||||
alias qa quitall
|
||||
alias qall quitall
|
||||
alias setl setlocal
|
||||
|
||||
alias filter scout -prt
|
||||
alias find scout -feit
|
||||
alias mark scout -mr
|
||||
alias unmark scout -Mr
|
||||
alias search scout -rs
|
||||
alias search_inc scout -rts
|
||||
alias travel scout -aefiklst
|
||||
|
||||
# ===================================================================
|
||||
# == Define keys for the browser
|
||||
# ===================================================================
|
||||
|
||||
# Basic
|
||||
unmap Q
|
||||
#quit!
|
||||
unmap q
|
||||
#quit
|
||||
copymap q ZZ ZQ
|
||||
|
||||
map R reload_cwd
|
||||
map <C-r> reset
|
||||
map <C-l> redraw_window
|
||||
map <C-c> abort
|
||||
map <esc> change_mode normal
|
||||
map ~ set viewmode!
|
||||
|
||||
map i display_file
|
||||
map ? help
|
||||
map W display_log
|
||||
map w taskview_open
|
||||
map S shell $SHELL
|
||||
|
||||
map : console
|
||||
map ; console
|
||||
map ! console shell%space
|
||||
map @ console -p6 shell %%s
|
||||
map # console shell -p%space
|
||||
map s console shell%space
|
||||
map r chain draw_possible_programs; console open_with%%space
|
||||
map f console find%space
|
||||
map cd console cd%space
|
||||
|
||||
# Change the line mode
|
||||
map Mf linemode filename
|
||||
map Mi linemode fileinfo
|
||||
map Mm linemode mtime
|
||||
map Mp linemode permissions
|
||||
map Ms linemode sizemtime
|
||||
map Mt linemode metatitle
|
||||
|
||||
# Tagging / Marking
|
||||
map t tag_toggle
|
||||
map ut tag_remove
|
||||
map "<any> tag_toggle tag=%any
|
||||
map <Space> mark_files toggle=True
|
||||
map v mark_files all=True toggle=True
|
||||
map uv mark_files all=True val=False
|
||||
map V toggle_visual_mode
|
||||
map uV toggle_visual_mode reverse=True
|
||||
|
||||
# For the nostalgics: Midnight Commander bindings
|
||||
map <F1> help
|
||||
map <F3> display_file
|
||||
map <F4> edit
|
||||
map <F5> copy
|
||||
map <F6> cut
|
||||
map <F7> console mkdir%space
|
||||
map <F8> console delete
|
||||
map <F10> exit
|
||||
|
||||
# In case you work on a keyboard with dvorak layout
|
||||
map <UP> move up=1
|
||||
map <DOWN> move down=1
|
||||
map <LEFT> move left=1
|
||||
map <RIGHT> move right=1
|
||||
map <HOME> move to=0
|
||||
map <END> move to=-1
|
||||
map <PAGEDOWN> move down=1 pages=True
|
||||
map <PAGEUP> move up=1 pages=True
|
||||
map <CR> move right=1
|
||||
map <DELETE> console delete
|
||||
map <INSERT> console touch%space
|
||||
|
||||
# VIM-like
|
||||
copymap <UP> k
|
||||
copymap <DOWN> j
|
||||
copymap <LEFT> h
|
||||
copymap <RIGHT> l
|
||||
copymap <HOME> gg
|
||||
copymap <END> G
|
||||
copymap <PAGEDOWN> <C-F>
|
||||
copymap <PAGEUP> <C-B>
|
||||
|
||||
map J move down=0.5 pages=True
|
||||
map K move up=0.5 pages=True
|
||||
copymap J <C-D>
|
||||
copymap K <C-U>
|
||||
|
||||
# Jumping around
|
||||
map H history_go -1
|
||||
map L history_go 1
|
||||
map ] move_parent 1
|
||||
map [ move_parent -1
|
||||
map } traverse
|
||||
|
||||
map gh cd ~
|
||||
map ge cd /etc
|
||||
map gu cd /usr
|
||||
map gd cd /dev
|
||||
map gl cd -r .
|
||||
map gL cd -r %f
|
||||
map go cd /opt
|
||||
map gv cd /var
|
||||
map gm cd /media
|
||||
map gM cd /mnt
|
||||
map gs cd /srv
|
||||
map gr cd /
|
||||
map gR eval fm.cd(ranger.RANGERDIR)
|
||||
map g/ cd /
|
||||
map g? cd /usr/share/doc/ranger
|
||||
|
||||
# External Programs
|
||||
map E edit
|
||||
map du shell -p du --max-depth=1 -h --apparent-size
|
||||
map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
|
||||
map yp shell -f echo -n %d/%f | xsel -i; xsel -o | xsel -i -b
|
||||
map yd shell -f echo -n %d | xsel -i; xsel -o | xsel -i -b
|
||||
map yn shell -f echo -n %f | xsel -i; xsel -o | xsel -i -b
|
||||
|
||||
# Filesystem Operations
|
||||
map = chmod
|
||||
|
||||
map cw console rename%space
|
||||
map a rename_append
|
||||
map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
|
||||
map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
|
||||
|
||||
map pp paste
|
||||
map po paste overwrite=True
|
||||
map pP paste append=True
|
||||
map pO paste overwrite=True append=True
|
||||
map pl paste_symlink relative=False
|
||||
map pL paste_symlink relative=True
|
||||
map phl paste_hardlink
|
||||
map pht paste_hardlinked_subtree
|
||||
|
||||
map dD console delete
|
||||
|
||||
map dd cut
|
||||
map ud uncut
|
||||
map da cut mode=add
|
||||
map dr cut mode=remove
|
||||
map dt cut mode=toggle
|
||||
|
||||
map yy copy
|
||||
map uy uncut
|
||||
map ya copy mode=add
|
||||
map yr copy mode=remove
|
||||
map yt copy mode=toggle
|
||||
|
||||
# Temporary workarounds
|
||||
map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
|
||||
map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
|
||||
map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
|
||||
map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
|
||||
map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
|
||||
map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
|
||||
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
|
||||
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
|
||||
|
||||
# Searching
|
||||
map / console search%space
|
||||
map n search_next
|
||||
map N search_next forward=False
|
||||
map ct search_next order=tag
|
||||
map cs search_next order=size
|
||||
map ci search_next order=mimetype
|
||||
map cc search_next order=ctime
|
||||
map cm search_next order=mtime
|
||||
map ca search_next order=atime
|
||||
|
||||
|
||||
map <C-t> terminal
|
||||
# Tabs
|
||||
map <C-n> tab_new ~
|
||||
map <C-w> tab_close
|
||||
map <TAB> tab_move 1
|
||||
map <S-TAB> tab_move -1
|
||||
map <A-Right> tab_move 1
|
||||
map <A-Left> tab_move -1
|
||||
map gt tab_move 1
|
||||
map gT tab_move -1
|
||||
map gn tab_new ~
|
||||
map gc tab_close
|
||||
map uq tab_restore
|
||||
map <a-1> tab_open 1
|
||||
map <a-2> tab_open 2
|
||||
map <a-3> tab_open 3
|
||||
map <a-4> tab_open 4
|
||||
map <a-5> tab_open 5
|
||||
map <a-6> tab_open 6
|
||||
map <a-7> tab_open 7
|
||||
map <a-8> tab_open 8
|
||||
map <a-9> tab_open 9
|
||||
|
||||
# Sorting
|
||||
map or set sort_reverse!
|
||||
map oz set sort=random
|
||||
map os chain set sort=size; set sort_reverse=False
|
||||
map ob chain set sort=basename; set sort_reverse=False
|
||||
map on chain set sort=natural; set sort_reverse=False
|
||||
map om chain set sort=mtime; set sort_reverse=False
|
||||
map oc chain set sort=ctime; set sort_reverse=False
|
||||
map oa chain set sort=atime; set sort_reverse=False
|
||||
map ot chain set sort=type; set sort_reverse=False
|
||||
map oe chain set sort=extension; set sort_reverse=False
|
||||
|
||||
map oS chain set sort=size; set sort_reverse=True
|
||||
map oB chain set sort=basename; set sort_reverse=True
|
||||
map oN chain set sort=natural; set sort_reverse=True
|
||||
map oM chain set sort=mtime; set sort_reverse=True
|
||||
map oC chain set sort=ctime; set sort_reverse=True
|
||||
map oA chain set sort=atime; set sort_reverse=True
|
||||
map oT chain set sort=type; set sort_reverse=True
|
||||
map oE chain set sort=extension; set sort_reverse=True
|
||||
|
||||
map dc get_cumulative_size
|
||||
map dC chain mark_files all=True val=True; get_cumulative_size; chain mark_files all=True val=False
|
||||
|
||||
# Settings
|
||||
map zc set collapse_preview!
|
||||
map zd set sort_directories_first!
|
||||
map zh set show_hidden!
|
||||
map <C-h> set show_hidden!
|
||||
map zI set flushinput!
|
||||
map zi set preview_images!
|
||||
map zm set mouse_enabled!
|
||||
map zp set preview_files!
|
||||
map zP set preview_directories!
|
||||
map zs set sort_case_insensitive!
|
||||
map zu set autoupdate_cumulative_size!
|
||||
map zv set use_preview_script!
|
||||
map zf console filter%space
|
||||
|
||||
# Bookmarks
|
||||
map `<any> enter_bookmark %any
|
||||
map '<any> enter_bookmark %any
|
||||
map m<any> set_bookmark %any
|
||||
map um<any> unset_bookmark %any
|
||||
|
||||
map m<bg> draw_bookmarks
|
||||
copymap m<bg> um<bg> `<bg> '<bg>
|
||||
|
||||
# Generate all the chmod bindings with some python help:
|
||||
eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
|
||||
|
||||
eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
|
||||
|
||||
# ===================================================================
|
||||
# == Define keys for the console
|
||||
# ===================================================================
|
||||
# Note: Unmapped keys are passed directly to the console.
|
||||
|
||||
# Basic
|
||||
cmap <tab> eval fm.ui.console.tab()
|
||||
cmap <s-tab> eval fm.ui.console.tab(-1)
|
||||
cmap <ESC> eval fm.ui.console.close()
|
||||
cmap <CR> eval fm.ui.console.execute()
|
||||
cmap <C-l> redraw_window
|
||||
|
||||
copycmap <ESC> <C-c>
|
||||
copycmap <CR> <C-j>
|
||||
|
||||
# Move around
|
||||
cmap <up> eval fm.ui.console.history_move(-1)
|
||||
cmap <down> eval fm.ui.console.history_move(1)
|
||||
cmap <left> eval fm.ui.console.move(left=1)
|
||||
cmap <right> eval fm.ui.console.move(right=1)
|
||||
cmap <home> eval fm.ui.console.move(right=0, absolute=True)
|
||||
cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
|
||||
cmap <a-left> eval fm.ui.console.move_word(left=1)
|
||||
cmap <a-right> eval fm.ui.console.move_word(right=1)
|
||||
|
||||
# Line Editing
|
||||
cmap <backspace> eval fm.ui.console.delete(-1)
|
||||
cmap <delete> eval fm.ui.console.delete(0)
|
||||
cmap <C-w> eval fm.ui.console.delete_word()
|
||||
cmap <A-d> eval fm.ui.console.delete_word(backward=False)
|
||||
cmap <C-k> eval fm.ui.console.delete_rest(1)
|
||||
cmap <C-u> eval fm.ui.console.delete_rest(-1)
|
||||
cmap <C-y> eval fm.ui.console.paste()
|
||||
|
||||
# And of course the emacs way
|
||||
copycmap <up> <C-p>
|
||||
copycmap <down> <C-n>
|
||||
copycmap <left> <C-b>
|
||||
copycmap <right> <C-f>
|
||||
copycmap <home> <C-a>
|
||||
copycmap <end> <C-e>
|
||||
copycmap <delete> <C-d>
|
||||
copycmap <backspace> <C-h>
|
||||
|
||||
# Note: There are multiple ways to express backspaces. <backspace> (code 263)
|
||||
# and <backspace2> (code 127). To be sure, use both.
|
||||
copycmap <backspace> <backspace2>
|
||||
|
||||
# This special expression allows typing in numerals:
|
||||
cmap <allow_quantifiers> false
|
||||
|
||||
# ===================================================================
|
||||
# == Pager Keybindings
|
||||
# ===================================================================
|
||||
|
||||
# Movement
|
||||
pmap <down> pager_move down=1
|
||||
pmap <up> pager_move up=1
|
||||
pmap <left> pager_move left=4
|
||||
pmap <right> pager_move right=4
|
||||
pmap <home> pager_move to=0
|
||||
pmap <end> pager_move to=-1
|
||||
pmap <pagedown> pager_move down=1.0 pages=True
|
||||
pmap <pageup> pager_move up=1.0 pages=True
|
||||
pmap <C-d> pager_move down=0.5 pages=True
|
||||
pmap <C-u> pager_move up=0.5 pages=True
|
||||
|
||||
copypmap <UP> k <C-p>
|
||||
copypmap <DOWN> j <C-n> <CR>
|
||||
copypmap <LEFT> h
|
||||
copypmap <RIGHT> l
|
||||
copypmap <HOME> g
|
||||
copypmap <END> G
|
||||
copypmap <C-d> d
|
||||
copypmap <C-u> u
|
||||
copypmap <PAGEDOWN> n f <C-F> <Space>
|
||||
copypmap <PAGEUP> p b <C-B>
|
||||
|
||||
# Basic
|
||||
pmap <C-l> redraw_window
|
||||
pmap <ESC> pager_close
|
||||
copypmap <ESC> q Q i <F3>
|
||||
pmap E edit_file
|
||||
|
||||
# ===================================================================
|
||||
# == Taskview Keybindings
|
||||
# ===================================================================
|
||||
|
||||
# Movement
|
||||
tmap <up> taskview_move up=1
|
||||
tmap <down> taskview_move down=1
|
||||
tmap <home> taskview_move to=0
|
||||
tmap <end> taskview_move to=-1
|
||||
tmap <pagedown> taskview_move down=1.0 pages=True
|
||||
tmap <pageup> taskview_move up=1.0 pages=True
|
||||
tmap <C-d> taskview_move down=0.5 pages=True
|
||||
tmap <C-u> taskview_move up=0.5 pages=True
|
||||
|
||||
copytmap <UP> k <C-p>
|
||||
copytmap <DOWN> j <C-n> <CR>
|
||||
copytmap <HOME> g
|
||||
copytmap <END> G
|
||||
copytmap <C-u> u
|
||||
copytmap <PAGEDOWN> n f <C-F> <Space>
|
||||
copytmap <PAGEUP> p b <C-B>
|
||||
|
||||
# Changing priority and deleting tasks
|
||||
tmap J eval -q fm.ui.taskview.task_move(-1)
|
||||
tmap K eval -q fm.ui.taskview.task_move(0)
|
||||
tmap dd eval -q fm.ui.taskview.task_remove()
|
||||
tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
|
||||
tmap <pageup> eval -q fm.ui.taskview.task_move(0)
|
||||
tmap <delete> eval -q fm.ui.taskview.task_remove()
|
||||
|
||||
# Basic
|
||||
tmap <C-l> redraw_window
|
||||
tmap <ESC> taskview_close
|
||||
copytmap <ESC> q Q w <C-c>
|
||||
|
||||
# RSYNC
|
||||
#sync buffer'd files into curr dir :links only
|
||||
map ps shell -f rsync -rult %c %d
|
||||
|
211
ranger/.config/ranger/rifle.conf
Normal file
211
ranger/.config/ranger/rifle.conf
Normal file
@@ -0,0 +1,211 @@
|
||||
# vim: ft=cfg
|
||||
#
|
||||
# This is the configuration file of "rifle", ranger's file executor/opener.
|
||||
# Each line consists of conditions and a command. For each line the conditions
|
||||
# are checked and if they are met, the respective command is run.
|
||||
#
|
||||
# Syntax:
|
||||
# <condition1> , <condition2> , ... = command
|
||||
#
|
||||
# The command can contain these environment variables:
|
||||
# $1-$9 | The n-th selected file
|
||||
# $@ | All selected files
|
||||
#
|
||||
# If you use the special command "ask", rifle will ask you what program to run.
|
||||
#
|
||||
# Prefixing a condition with "!" will negate its result.
|
||||
# These conditions are currently supported:
|
||||
# match <regexp> | The regexp matches $1
|
||||
# ext <regexp> | The regexp matches the extension of $1
|
||||
# mime <regexp> | The regexp matches the mime type of $1
|
||||
# name <regexp> | The regexp matches the basename of $1
|
||||
# path <regexp> | The regexp matches the absolute path of $1
|
||||
# has <program> | The program is installed (i.e. located in $PATH)
|
||||
# env <variable> | The environment variable "variable" is non-empty
|
||||
# file | $1 is a file
|
||||
# directory | $1 is a directory
|
||||
# number <n> | change the number of this command to n
|
||||
# terminal | stdin, stderr and stdout are connected to a terminal
|
||||
# X | $DISPLAY is not empty (i.e. Xorg runs)
|
||||
#
|
||||
# There are also pseudo-conditions which have a "side effect":
|
||||
# flag <flags> | Change how the program is run. See below.
|
||||
# label <label> | Assign a label or name to the command so it can
|
||||
# | be started with :open_with <label> in ranger
|
||||
# | or `rifle -p <label>` in the standalone executable.
|
||||
# else | Always true.
|
||||
#
|
||||
# Flags are single characters which slightly transform the command:
|
||||
# f | Fork the program, make it run in the background.
|
||||
# | New command = setsid $command >& /dev/null &
|
||||
# r | Execute the command with root permissions
|
||||
# | New command = sudo $command
|
||||
# t | Run the program in a new terminal. If $TERMCMD is not defined,
|
||||
# | rifle will attempt to extract it from $TERM.
|
||||
# | New command = $TERMCMD -e $command
|
||||
# Note: The "New command" serves only as an illustration, the exact
|
||||
# implementation may differ.
|
||||
# Note: When using rifle in ranger, there is an additional flag "c" for
|
||||
# only running the current file even if you have marked multiple files.
|
||||
|
||||
#-------------------------------------------
|
||||
# Websites
|
||||
#-------------------------------------------
|
||||
# Rarely installed browsers get higher priority; It is assumed that if you
|
||||
# install a rare browser, you probably use it. Firefox/konqueror/w3m on the
|
||||
# other hand are often only installed as fallback browsers.
|
||||
ext x?html?, has surf, X, flag f = surf -- file://"$1"
|
||||
ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@"
|
||||
ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@"
|
||||
ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
|
||||
ext x?html?, has dwb, X, flag f = dwb -- "$@"
|
||||
ext x?html?, has jumanji, X, flag f = jumanji -- "$@"
|
||||
ext x?html?, has luakit, X, flag f = luakit -- "$@"
|
||||
ext x?html?, has uzbl, X, flag f = uzbl -- "$@"
|
||||
ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@"
|
||||
ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@"
|
||||
ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@"
|
||||
ext x?html?, has midori, X, flag f = midori -- "$@"
|
||||
ext x?html?, has chromium, X, flag f = chromium -- "$@"
|
||||
ext x?html?, has opera, X, flag f = opera -- "$@"
|
||||
ext x?html?, has firefox, X, flag f = firefox -- "$@"
|
||||
ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@"
|
||||
ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@"
|
||||
ext x?html?, has epiphany, X, flag f = epiphany -- "$@"
|
||||
ext x?html?, has konqueror, X, flag f = konqueror -- "$@"
|
||||
ext x?html?, has elinks, terminal = elinks "$@"
|
||||
ext x?html?, has links2, terminal = links2 "$@"
|
||||
ext x?html?, has links, terminal = links "$@"
|
||||
ext x?html?, has lynx, terminal = lynx -- "$@"
|
||||
ext x?html?, has w3m, terminal = w3m "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Misc
|
||||
#-------------------------------------------
|
||||
# Define the "editor" for text files as first action
|
||||
mime ^text, label editor = myemacs "-nc" -- "$@"
|
||||
mime ^text, label pager = "$PAGER" -- "$@"
|
||||
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = myemacs "-nc" -- "$@"
|
||||
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
||||
|
||||
ext 1 = man "$1"
|
||||
ext s[wmf]c, has zsnes, X = zsnes "$1"
|
||||
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
|
||||
ext nes, has fceux, X = fceux "$1"
|
||||
ext exe = wine "$1"
|
||||
name ^[mM]akefile$ = make
|
||||
|
||||
#--------------------------------------------
|
||||
# Code
|
||||
#-------------------------------------------
|
||||
ext py = python -- "$1"
|
||||
ext pl = perl -- "$1"
|
||||
ext rb = ruby -- "$1"
|
||||
ext js = node -- "$1"
|
||||
ext sh = sh -- "$1"
|
||||
ext php = php -- "$1"
|
||||
|
||||
#--------------------------------------------
|
||||
# Audio without X
|
||||
#-------------------------------------------
|
||||
mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
|
||||
mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@"
|
||||
mime ^audio|ogg$, terminal, has mplayer = mplayer -- "$@"
|
||||
ext midi?, terminal, has wildmidi = wildmidi -- "$@"
|
||||
|
||||
#--------------------------------------------
|
||||
# Video/Audio with a GUI
|
||||
#-------------------------------------------
|
||||
mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@"
|
||||
mime ^video|audio, has smplayer, X, flag f = smplayer "$@"
|
||||
mime ^video, has mpv, X, flag f = mpv -- "$@"
|
||||
mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
|
||||
mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@"
|
||||
mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@"
|
||||
mime ^video, has mplayer, X, flag f = mplayer -- "$@"
|
||||
mime ^video, has mplayer, X, flag f = mplayer -fs -- "$@"
|
||||
mime ^video|audio, has vlc, X, flag f = vlc -- "$@"
|
||||
mime ^video|audio, has totem, X, flag f = totem -- "$@"
|
||||
mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@"
|
||||
|
||||
#--------------------------------------------
|
||||
# Video without X:
|
||||
#-------------------------------------------
|
||||
mime ^video, terminal, !X, has mpv = mpv -- "$@"
|
||||
mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
|
||||
mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Documents
|
||||
#-------------------------------------------
|
||||
ext pdf, has llpp, X, flag f = llpp "$@"
|
||||
ext pdf, has zathura, X, flag f = zathura -- "$@"
|
||||
ext pdf, has mupdf, X, flag f = mupdf "$@"
|
||||
ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
|
||||
ext pdf, has apvlv, X, flag f = apvlv -- "$@"
|
||||
ext pdf, has xpdf, X, flag f = xpdf -- "$@"
|
||||
ext pdf, has evince, X, flag f = evince -- "$@"
|
||||
ext pdf, has atril, X, flag f = atril -- "$@"
|
||||
ext pdf, has okular, X, flag f = okular -- "$@"
|
||||
ext pdf, has epdfview, X, flag f = epdfview -- "$@"
|
||||
ext pdf, has qpdfview, X, flag f = qpdfview "$@"
|
||||
|
||||
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
|
||||
|
||||
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
|
||||
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
|
||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
|
||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
|
||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
|
||||
|
||||
ext djvu, has zathura,X, flag f = zathura -- "$@"
|
||||
ext djvu, has evince, X, flag f = evince -- "$@"
|
||||
ext djvu, has atril, X, flag f = atril -- "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Image Viewing:
|
||||
#-------------------------------------------
|
||||
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
|
||||
mime ^image/svg, has display, X, flag f = display -- "$@"
|
||||
|
||||
mime ^image, has pqiv, X, flag f = pqiv -- "$@"
|
||||
mime ^image, has sxiv, X, flag f = sxiv -- "$@"
|
||||
mime ^image, has feh, X, flag f = feh -- "$@"
|
||||
mime ^image, has mirage, X, flag f = mirage -- "$@"
|
||||
mime ^image, has ristretto, X, flag f = ristretto "$@"
|
||||
mime ^image, has eog, X, flag f = eog -- "$@"
|
||||
mime ^image, has eom, X, flag f = eom -- "$@"
|
||||
mime ^image, has gimp, X, flag f = gimp -- "$@"
|
||||
ext xcf, X, flag f = gimp -- "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Archives
|
||||
#-------------------------------------------
|
||||
|
||||
# avoid password prompt by providing empty password
|
||||
ext 7z, has 7z = 7z -p l "$@" | "$PAGER"
|
||||
# This requires atool
|
||||
ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has als = als -- "$@" | "$PAGER"
|
||||
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has als = als -- "$@" | "$PAGER"
|
||||
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has aunpack = aunpack -- "$@"
|
||||
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has aunpack = aunpack -- "$@"
|
||||
|
||||
# Fallback:
|
||||
ext tar|gz, has tar = tar vvtf "$@" | "$PAGER"
|
||||
ext tar|gz, has tar = tar vvxf "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Misc
|
||||
#-------------------------------------------
|
||||
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
|
||||
label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
|
||||
label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
|
||||
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
|
||||
|
||||
# Define the editor for non-text files + pager as last action
|
||||
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
|
||||
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = myemacs "-nc" -- "$@"
|
||||
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
||||
|
||||
# The very last action, so that it's never triggered accidentally, is to execute a program:
|
||||
mime application/x-executable = "$1"
|
121
ranger/.config/ranger/scope.sh
Executable file
121
ranger/.config/ranger/scope.sh
Executable file
@@ -0,0 +1,121 @@
|
||||
#!/usr/bin/env sh
|
||||
# ranger supports enhanced previews. If the option "use_preview_script"
|
||||
# is set to True and this file exists, this script will be called and its
|
||||
# output is displayed in ranger. ANSI color codes are supported.
|
||||
|
||||
# NOTES: This script is considered a configuration file. If you upgrade
|
||||
# ranger, it will be left untouched. (You must update it yourself.)
|
||||
# Also, ranger disables STDIN here, so interactive scripts won't work properly
|
||||
|
||||
# Meanings of exit codes:
|
||||
# code | meaning | action of ranger
|
||||
# -----+------------+-------------------------------------------
|
||||
# 0 | success | success. display stdout as preview
|
||||
# 1 | no preview | failure. display no preview at all
|
||||
# 2 | plain text | display the plain content of the file
|
||||
# 3 | fix width | success. Don't reload when width changes
|
||||
# 4 | fix height | success. Don't reload when height changes
|
||||
# 5 | fix both | success. Don't ever reload
|
||||
# 6 | image | success. display the image $cached points to as an image preview
|
||||
# 7 | image | success. display the file directly as an image
|
||||
|
||||
# Meaningful aliases for arguments:
|
||||
path="$1" # Full path of the selected file
|
||||
width="$2" # Width of the preview pane (number of fitting characters)
|
||||
height="$3" # Height of the preview pane (number of fitting characters)
|
||||
cached="$4" # Path that should be used to cache image previews
|
||||
preview_images="$5" # "True" if image previews are enabled, "False" otherwise.
|
||||
|
||||
maxln=200 # Stop after $maxln lines. Can be used like ls | head -n $maxln
|
||||
|
||||
# Find out something about the file:
|
||||
mimetype=$(file --mime-type -Lb "$path")
|
||||
extension=$(/bin/echo "${path##*.}" | awk '{print tolower($0)}')
|
||||
|
||||
# Functions:
|
||||
# runs a command and saves its output into $output. Useful if you need
|
||||
# the return value AND want to use the output in a pipe
|
||||
try() { output=$(eval '"$@"'); }
|
||||
|
||||
# writes the output of the previously used "try" command
|
||||
dump() { /bin/echo "$output"; }
|
||||
|
||||
# a common post-processing function used after most commands
|
||||
trim() { head -n "$maxln"; }
|
||||
|
||||
# wraps highlight to treat exit code 141 (killed by SIGPIPE) as success
|
||||
safepipe() { "$@"; test $? = 0 -o $? = 141; }
|
||||
|
||||
# Image previews, if enabled in ranger.
|
||||
if [ "$preview_images" = "True" ]; then
|
||||
case "$mimetype" in
|
||||
# Image previews for SVG files, disabled by default.
|
||||
###image/svg+xml)
|
||||
### convert "$path" "$cached" && exit 6 || exit 1;;
|
||||
# Image previews for image files. w3mimgdisplay will be called for all
|
||||
# image files (unless overriden as above), but might fail for
|
||||
# unsupported types.
|
||||
image/*)
|
||||
exit 7;;
|
||||
# Image preview for video, disabled by default.:
|
||||
video/*)
|
||||
ffmpegthumbnailer -i "$path" -o "$cached" -s 0 && exit 6 || exit 1;;
|
||||
esac
|
||||
fi
|
||||
|
||||
case "$extension" in
|
||||
# Archive extensions:
|
||||
a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
|
||||
rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
|
||||
try als "$path" && { dump | trim; exit 0; }
|
||||
try acat "$path" && { dump | trim; exit 3; }
|
||||
try bsdtar -lf "$path" && { dump | trim; exit 0; }
|
||||
exit 1;;
|
||||
rar)
|
||||
# avoid password prompt by providing empty password
|
||||
try unrar -p- lt "$path" && { dump | trim; exit 0; } || exit 1;;
|
||||
7z)
|
||||
# avoid password prompt by providing empty password
|
||||
try 7z -p l "$path" && { dump | trim; exit 0; } || exit 1;;
|
||||
# PDF documents:
|
||||
pdf)
|
||||
try pdftotext -l 10 -nopgbrk -q "$path" - && \
|
||||
{ dump | trim | fmt -s -w $width; exit 0; } || exit 1;;
|
||||
# BitTorrent Files
|
||||
torrent)
|
||||
try transmission-show "$path" && { dump | trim; exit 5; } || exit 1;;
|
||||
# ODT Files
|
||||
odt|ods|odp|sxw)
|
||||
try odt2txt "$path" && { dump | trim; exit 5; } || exit 1;;
|
||||
# HTML Pages:
|
||||
htm|html|xhtml)
|
||||
try w3m -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }
|
||||
try lynx -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }
|
||||
try elinks -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }
|
||||
;; # fall back to highlight/cat if the text browsers fail
|
||||
esac
|
||||
|
||||
case "$mimetype" in
|
||||
# Syntax highlight for text files:
|
||||
text/* | */xml)
|
||||
if [ "$(tput colors)" -ge 256 ]; then
|
||||
pygmentize_format=terminal256
|
||||
highlight_format=xterm256
|
||||
else
|
||||
pygmentize_format=terminal
|
||||
highlight_format=ansi
|
||||
fi
|
||||
try safepipe highlight --out-format=${highlight_format} "$path" && { dump | trim; exit 5; }
|
||||
try safepipe pygmentize -f ${pygmentize_format} "$path" && { dump | trim; exit 5; }
|
||||
exit 2;;
|
||||
# Ascii-previews of images:
|
||||
image/*)
|
||||
img2txt --gamma=0.6 --width="$width" "$path" && exit 4 || exit 1;;
|
||||
# Display information about media files:
|
||||
video/* | audio/*)
|
||||
exiftool "$path" && exit 5
|
||||
# Use sed to remove spaces so the output fits into the narrow window
|
||||
try mediainfo "$path" && { dump | trim | sed 's/ \+:/: /;'; exit 5; } || exit 1;;
|
||||
esac
|
||||
|
||||
exit 1
|
2
screenlayouts/.screenlayout/dual-home.sh
Normal file
2
screenlayouts/.screenlayout/dual-home.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
xrandr --output DP1 --off --output VIRTUAL1 --off --output eDP1 --mode 1920x1080 --pos 0x1080 --rotate normal --output HDMI1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output VGA1 --off
|
2
screenlayouts/.screenlayout/dual-mirror.sh
Normal file
2
screenlayouts/.screenlayout/dual-mirror.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
xrandr --output DP1 --off --output VIRTUAL1 --off --output eDP1 --mode 1920x1080 --rotate normal --output HDMI1 --primary --mode 1920x1080 --same-as eDP1 --output VGA1 --off
|
2
screenlayouts/.screenlayout/dual-wide.sh
Executable file
2
screenlayouts/.screenlayout/dual-wide.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
xrandr --output VIRTUAL1 --off --output eDP-1 --mode 1920x1080 --pos 328x1080 --rotate normal --output DP-1 --primary --mode 2560x1080 --pos 0x0 --rotate normal --output HDMI-2 --off --output HDMI-1 --off --output DP-2 --off
|
3
screenlayouts/.screenlayout/dual.sh
Normal file
3
screenlayouts/.screenlayout/dual.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
xrandr --output VIRTUAL1 --off --output DP1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output HDMI1 --off --output eDP1 --mode 1920x1080 --pos 1920x0 --rotate normal --output VGA1 --off
|
||||
xrandr --output "DVI-1-0" --off
|
2
screenlayouts/.screenlayout/hdmi.sh
Normal file
2
screenlayouts/.screenlayout/hdmi.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
xrandr --output eDP1 --off --output DVI-1 --off --output DP1 --off --output HDMI1 --mode 1920x1080 --pos 0x0 --rotate normal --output VGA1 --off
|
2
screenlayouts/.screenlayout/select.sh
Normal file
2
screenlayouts/.screenlayout/select.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
arandr
|
2
screenlayouts/.screenlayout/single.sh
Normal file
2
screenlayouts/.screenlayout/single.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
xrandr --output HDMI1 --off --output DVI-1 --off --output DP-1 --off --output eDP-1 --mode 1920x1080 --pos 0x0 --rotate normal --output VGA1 --off
|
2
screenlayouts/.screenlayout/threescreens.sh
Executable file
2
screenlayouts/.screenlayout/threescreens.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
xrandr --output VIRTUAL1 --off --output eDP1 --primary --mode 1920x1080 --pos 1080x1080 --rotate normal --output DP1 --off --output HDMI2 --off --output HDMI1 --mode 1920x1080 --pos 0x0 --rotate left --output DP2 --mode 2560x1080 --pos 1080x0 --rotate normal
|
93
scripts/.bin/autorotate.py
Executable file
93
scripts/.bin/autorotate.py
Executable file
@@ -0,0 +1,93 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from time import sleep
|
||||
from os import path as op
|
||||
import sys
|
||||
from subprocess import check_call, check_output
|
||||
from glob import glob
|
||||
|
||||
|
||||
def bdopen(fname):
|
||||
return open(op.join(basedir, fname))
|
||||
|
||||
|
||||
def read(fname):
|
||||
return bdopen(fname).read()
|
||||
|
||||
|
||||
for basedir in glob('/sys/bus/iio/devices/iio:device*'):
|
||||
if 'accel' in read('name'):
|
||||
break
|
||||
else:
|
||||
sys.stderr.write("Can't find an accellerator device!\n")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def update_devices():
|
||||
devices = check_output(['xinput', '--list', '--name-only']).splitlines()
|
||||
|
||||
touchscreen_names = ['touchscreen', 'wacom', 'pen']
|
||||
touchscreens = [i for i in devices if any(j in i.lower() for j in touchscreen_names)]
|
||||
|
||||
touchpad_names = ['touchpad', 'trackpoint']
|
||||
touchpads = [i for i in devices if any(j in i.lower() for j in touchpad_names)]
|
||||
|
||||
return touchscreens, touchpads
|
||||
|
||||
disable_touchpads = False
|
||||
scale = float(read('in_accel_scale'))
|
||||
g = 7.0 # (m^2 / s) sensibility, gravity trigger
|
||||
|
||||
STATES = [
|
||||
{'rot': 'normal', 'coord': '1 0 0 0 1 0 0 0 1', 'touchpad': 'enable',
|
||||
'check': lambda x, y: y <= -g},
|
||||
{'rot': 'inverted', 'coord': '-1 0 1 0 -1 1 0 0 1', 'touchpad': 'disable',
|
||||
'check': lambda x, y: y >= g},
|
||||
{'rot': 'left', 'coord': '0 -1 1 1 0 0 0 0 1', 'touchpad': 'disable',
|
||||
'check': lambda x, y: x >= g},
|
||||
{'rot': 'right', 'coord': '0 1 0 -1 0 1 0 0 1', 'touchpad': 'disable',
|
||||
'check': lambda x, y: x <= -g},
|
||||
]
|
||||
|
||||
|
||||
def rotate(state):
|
||||
s = STATES[state]
|
||||
check_call(['xrandr', '-o', s['rot']])
|
||||
touchscreens, touchpads = update_devices()
|
||||
for dev in touchscreens if disable_touchpads else (touchscreens + touchpads):
|
||||
check_call([
|
||||
'xinput', 'set-prop', dev,
|
||||
'Coordinate Transformation Matrix',
|
||||
] + s['coord'].split())
|
||||
if disable_touchpads:
|
||||
for dev in touchpads:
|
||||
check_call(['xinput', s['touchpad'], dev])
|
||||
|
||||
|
||||
def read_accel(fp):
|
||||
fp.seek(0)
|
||||
return float(fp.read()) * scale
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
accel_x = bdopen('in_accel_x_raw')
|
||||
accel_y = bdopen('in_accel_y_raw')
|
||||
|
||||
current_state = None
|
||||
|
||||
while True:
|
||||
x = read_accel(accel_x)
|
||||
y = read_accel(accel_y)
|
||||
for i in range(4):
|
||||
if i == current_state:
|
||||
continue
|
||||
if STATES[i]['check'](x, y):
|
||||
current_state = i
|
||||
try:
|
||||
rotate(i)
|
||||
except Exception as ex:
|
||||
print('Error rotating: {}'.format(ex))
|
||||
break
|
||||
sleep(1)
|
||||
|
21
scripts/.bin/compose-run
Executable file
21
scripts/.bin/compose-run
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
CWD=$PWD
|
||||
if [ -z "$CONTAINER" ];
|
||||
then
|
||||
CONTAINER=main
|
||||
fi
|
||||
|
||||
while [ -e "$PWD" -a "$PWD" != "/" ]
|
||||
do
|
||||
if [ -e "$PWD/docker-compose.yml" ]; then
|
||||
docker-compose run --rm main $*
|
||||
exit $?
|
||||
else
|
||||
cd `dirname $PWD`
|
||||
fi
|
||||
done
|
||||
|
||||
cd $CWD
|
||||
|
||||
eval $*
|
4
scripts/.bin/copybib
Executable file
4
scripts/.bin/copybib
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
cat ~/Exported\ Items.bib | sed -n 's/@.*{\(.*\),/\\cite{\1}/p' | xclip -selection clipboard
|
||||
sleep 1
|
||||
cat ~/Exported\ Items.bib | xclip -selection clipboard
|
14
scripts/.bin/deshake-video.sh
Executable file
14
scripts/.bin/deshake-video.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
# Encode a video in DVD quality (-crf 23) and use the video stabilization/deshaking plugin
|
||||
# https://ffmpeg.org/ffmpeg-filters.html#toc-vidstabdetect-1
|
||||
for VIDEO in "$@";
|
||||
do
|
||||
DEST=converted/$VIDEO
|
||||
if [ -f $DEST ]; then
|
||||
echo "File $VIDEO already converted"
|
||||
continue
|
||||
fi
|
||||
mkdir -p converted
|
||||
ffmpeg -i "$VIDEO" -vf vidstabdetect -f null -
|
||||
ffmpeg -i "$VIDEO" -vf vidstabtransform=smoothing=30:input="transforms.trf" -crf 23 "$DEST"
|
||||
done
|
32
scripts/.bin/filemenu
Executable file
32
scripts/.bin/filemenu
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ "$#" -le 0 ]; then
|
||||
echo "Usage: $0 <FOLDER>"
|
||||
exit 1
|
||||
else
|
||||
input="$@"
|
||||
fi
|
||||
|
||||
echo "Input: "$input
|
||||
|
||||
if [ -f "$input" ]; then
|
||||
xdg-open "$input"
|
||||
exit $?
|
||||
else
|
||||
if [ -d "$input" ]; then
|
||||
echo "This is a folder" $input
|
||||
else
|
||||
>&2 echo 'Invalid argument:"'$input'"'
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if command -v rofi >/dev/null 2>&1;
|
||||
then
|
||||
launcher="rofi -dmenu -i -mesg '""$input""'"
|
||||
else
|
||||
launcher="dmenu -fn "-*-cure-medium-*-*-*-11-*-*-*-*-*-*-*" -nb "#101010" -nf "#5f5f5f" -sb "#191
|
||||
fi
|
||||
|
||||
# find "$input" -maxdepth 1 ! -path "$input" -print | sh -c "$launcher" | xargs $0
|
||||
ls -t1 "$input" | sh -c "$launcher" | xargs -I '{}' $0 "$input/{}"
|
14
scripts/.bin/find-blob.sh
Executable file
14
scripts/.bin/find-blob.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
obj_name="$1"
|
||||
shift
|
||||
git ls-files --stage \
|
||||
| if grep -q "$obj_name"; then
|
||||
echo Found in staging area. Run git ls-files --stage to see.
|
||||
fi
|
||||
|
||||
git log "$@" --pretty=format:'%T %h %s' \
|
||||
| while read tree commit subject ; do
|
||||
if git ls-tree -r $tree | grep -q "$obj_name" ; then
|
||||
echo $commit "$subject"
|
||||
fi
|
||||
done
|
20
scripts/.bin/gitback
Executable file
20
scripts/.bin/gitback
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
if [[ "$#" -lt 1 ]]; then
|
||||
echo -e "Usage: $0 <date>"
|
||||
echo -e ""
|
||||
echo -e "\t<date> accepts the same formats as the date -d command"
|
||||
echo -e ""
|
||||
echo -e "Examples:"
|
||||
echo -e "\t$0 -2hour"
|
||||
echo -e "\t$0 -3day"
|
||||
echo -e "\t$0 -2hour25min"
|
||||
echo -e "\t$0 'today 3pm'"
|
||||
echo -e "\t$0 'today 3pm'"
|
||||
exit
|
||||
fi
|
||||
|
||||
WHEN=$(date -d $1) || exit
|
||||
shift
|
||||
|
||||
|
||||
GIT_AUTHOR_DATE="$WHEN" GIT_COMMITTER_DATE="$WHEN" git commit --amend --no-edit --date="$WHEN"
|
@@ -1,6 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
case "$1" in
|
||||
locknow)
|
||||
scrot /tmp/screen.png
|
||||
convert /tmp/screen.png -scale 10% -scale 1000% /tmp/screen.png
|
||||
i3lock -e -i /tmp/screen.png
|
||||
;;
|
||||
autolock)
|
||||
xautolock -time 10 -corners "----" -locker "$0 locknow"
|
||||
;;
|
||||
lock)
|
||||
xautolock -locknow
|
||||
;;
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
4
scripts/.bin/mapinputs.sh
Executable file
4
scripts/.bin/mapinputs.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
xinput map-to-output "ELAN9038:00 04F3:261A Pen eraser" eDP-1 # Eraser
|
||||
xinput map-to-output "ELAN9038:00 04F3:261A Pen stylus" eDP-1 # Stylus
|
||||
xinput map-to-output "ELAN9038:00 04F3:261A Touchscreen" eDP-1 # Touch
|
14
scripts/.bin/monitors
Executable file
14
scripts/.bin/monitors
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
if [ "$#" -lt 1 ]; then
|
||||
ls -1 ~/.screenlayout | rofi -dmenu | xargs -I '{}' sh "$HOME/.screenlayout/{}" || exit
|
||||
else
|
||||
sh $HOME/.screenlayout/$1.sh
|
||||
fi
|
||||
|
||||
if pgrep -u $UID -x polybar >/dev/null; then
|
||||
sh /home/j/.bin/polybar.sh;
|
||||
fi
|
||||
|
||||
if [ `command -v nitrogen` ]; then
|
||||
nitrogen --restore
|
||||
fi
|
@@ -1,2 +1,2 @@
|
||||
#!/bin/sh
|
||||
emacsclient --alternate-editor="" -s "$HOME/.emacs.d/HIGHLANDER" -c "$@"
|
||||
emacsclient --alternate-editor="" -s "$HOME/.emacs.d/HIGHLANDER" "$@"
|
2
scripts/.bin/myfloatingemacs
Executable file
2
scripts/.bin/myfloatingemacs
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
myemacs -nc -frame-parameters='(quote (name . "floatingwin"))' "$@"
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user