diff --git a/i3/config b/i3/config index fc5f010..05dec82 100644 --- a/i3/config +++ b/i3/config @@ -1,30 +1,29 @@ -# This file has been auto-generated by i3-config-wizard(1). -# It will not be overwritten, so edit it as you like. -# -# Should you change your keyboard layout some time, delete -# this file and re-run i3-config-wizard(1). -# - # i3 config file (v4) -# # Please see http://i3wm.org/docs/userguide.html for a complete reference! +# Set mod key (Mod1=, Mod4=) set $mod Mod4 +# set default desktop layout (default is tiling) +# workspace_layout tabbed + +# Configure border style +new_window pixel 1 +new_float normal + +# Hide borders +hide_edge_borders none + +# change borders +bindsym $mod+u border none +bindsym $mod+y border pixel 1 +bindsym $mod+n border normal + # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. -# This font is widely installed, provides lots of unicode glyphs, right-to-left -# text rendering and scalability on retina/hidpi displays (thanks to pango). -# font pango:DejaVu Sans Mono 8 -font pango:System San Francisco Display 8 -# Before i3 v4.8, we used to recommend this one as the default: -# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 -# The font above is very space-efficient, that is, it looks good, sharp and -# clear in small sizes. However, its unicode glyph coverage is limited, the old -# X core fonts rendering does not support right-to-left and this being a bitmap -# font, it doesn’t scale on retina/hidpi displays. +font xft:Noto Sans 16 -# Use Mouse+$mod to drag floating windows to their wanted position +# Use Mouse+$mod to drag floating windows floating_modifier $mod # start a terminal @@ -33,18 +32,51 @@ bindsym $mod+Return exec gnome-terminal # kill focused window bindsym $mod+Shift+q kill -# start dmenu (a program launcher) -bindsym $mod+d exec rofi -show run -# There also is the (new) i3-dmenu-desktop which only displays applications -# shipping a .desktop file. It is a wrapper around dmenu, so you need that -# installed. -# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop +# start program launcher +bindsym $mod+d exec --no-startup-id rofi -show run + +# launch categorized menu +bindsym $mod+z exec --no-startup-id morc_menu + +################################################################################################ +## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ## +################################################################################################ + +exec --no-startup-id volumeicon +bindsym $mod+Ctrl+m exec terminal -e 'alsamixer' +#exec --no-startup-id pulseaudio +#exec --no-startup-id pa-applet +#bindsym $mod+Ctrl+m exec pavucontrol + +################################################################################################ + +# Screen brightness controls +# bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'" +# bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'" + +# Start Applications +bindsym $mod+Ctrl+b exec terminal -e 'bmenu' +bindsym $mod+F2 exec google-chrome-stable +bindsym $mod+F3 exec pcmanfm +# bindsym $mod+F3 exec ranger +bindsym $mod+Shift+F3 exec gksu pcmanfm +bindsym $mod+F5 exec terminal -e 'mocp' +bindsym $mod+t exec --no-startup-id pkill compton +bindsym $mod+Ctrl+t exec --no-startup-id compton -b +bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'" +bindsym Print exec --no-startup-id i3-scrot +bindsym $mod+Print --release exec --no-startup-id i3-scrot -w +bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s +bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf +bindsym $mod+Ctrl+x --release exec --no-startup-id xkill + +# focus_follows_mouse no # change focus bindsym $mod+j focus left bindsym $mod+k focus down bindsym $mod+l focus up -bindsym $mod+semicolon focus right +bindsym $mod+odiaeresis focus right # alternatively, you can use the cursor keys: bindsym $mod+Left focus left @@ -56,7 +88,7 @@ bindsym $mod+Right focus right bindsym $mod+Shift+j move left bindsym $mod+Shift+k move down bindsym $mod+Shift+l move up -bindsym $mod+Shift+semicolon move right +bindsym $mod+Shift+odiaeresis move right # alternatively, you can use the cursor keys: bindsym $mod+Shift+Left move left @@ -64,14 +96,18 @@ bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right -# split in horizontal orientation -bindsym $mod+h split h +# workspace back and forth (with/without active container) +workspace_auto_back_and_forth yes +bindsym $mod+b workspace back_and_forth +bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth -# split in vertical orientation -bindsym $mod+v split v +# split orientation +bindsym $mod+h split h;exec notify-send 'tile horizontally' +bindsym $mod+v split v;exec notify-send 'tile vertically' +bindsym $mod+q split toggle -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen +# toggle fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle # change container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking @@ -84,67 +120,152 @@ bindsym $mod+Shift+space floating toggle # change focus between tiling / floating windows bindsym $mod+space focus mode_toggle +# toggle sticky +bindsym $mod+Shift+s sticky toggle + # focus the parent container bindsym $mod+a focus parent -# focus the child container -#bindsym $mod+d focus child +# move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad -# switch to workspace 1-10 -bindsym $mod+1 workspace 1 -bindsym $mod+2 workspace 2 -bindsym $mod+3 workspace 3 -bindsym $mod+4 workspace 4 -bindsym $mod+5 workspace 5 -bindsym $mod+6 workspace 6 -bindsym $mod+7 workspace 7 -bindsym $mod+8 workspace 8 -bindsym $mod+9 workspace 9 -bindsym $mod+0 workspace 10 +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+minus scratchpad show -# switch to workspace 11-20 -bindsym Mod1+1 workspace 11 -bindsym Mod1+2 workspace 12 -bindsym Mod1+3 workspace 13 -bindsym Mod1+4 workspace 14 -bindsym Mod1+5 workspace 15 -bindsym Mod1+6 workspace 16 -bindsym Mod1+7 workspace 17 -bindsym Mod1+8 workspace 18 -bindsym Mod1+9 workspace 19 -bindsym Mod1+0 workspace 20 +#navigate workspaces next / previous +bindsym $mod+Ctrl+Right workspace next +bindsym $mod+Ctrl+Left workspace prev -# move focused container to workspace -bindsym $mod+Shift+1 move container to workspace 1 -bindsym $mod+Shift+2 move container to workspace 2 -bindsym $mod+Shift+3 move container to workspace 3 -bindsym $mod+Shift+4 move container to workspace 4 -bindsym $mod+Shift+5 move container to workspace 5 -bindsym $mod+Shift+6 move container to workspace 6 -bindsym $mod+Shift+7 move container to workspace 7 -bindsym $mod+Shift+8 move container to workspace 8 -bindsym $mod+Shift+9 move container to workspace 9 -bindsym $mod+Shift+0 move container to workspace 10 +# Workspace names +# to display names or symbols instead of plain workspace numbers you can use +# something like: set $ws1 1:mail +# set $ws2 2: +set $ws1 1 +set $ws2 2 +set $ws3 3 +set $ws4 4 +set $ws5 5 +set $ws6 6 +set $ws7 7 +set $ws8 8 +set $ws9 9 +set $ws10 10 + +# switch to workspace +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 +bindsym $mod+7 workspace $ws7 +bindsym $mod+8 workspace $ws8 +bindsym $mod+9 workspace $ws9 +bindsym $mod+0 workspace $ws10 + +# Move focused container to workspace +bindsym $mod+Ctrl+1 move container to workspace $ws1 +bindsym $mod+Ctrl+2 move container to workspace $ws2 +bindsym $mod+Ctrl+3 move container to workspace $ws3 +bindsym $mod+Ctrl+4 move container to workspace $ws4 +bindsym $mod+Ctrl+5 move container to workspace $ws5 +bindsym $mod+Ctrl+6 move container to workspace $ws6 +bindsym $mod+Ctrl+7 move container to workspace $ws7 +bindsym $mod+Ctrl+8 move container to workspace $ws8 +bindsym $mod+Ctrl+9 move container to workspace $ws9 +bindsym $mod+Ctrl+0 move container to workspace $ws10 + +# Move to workspace with focused container +bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 +bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9 +bindsym $mod+Shift+0 move container to workspace $ws10; workspace $ws10 + +# Move the current workspace to the next output +# (effectively toggles when you only have two outputs) +bindsym $mod+x move workspace to output right + +# Open applications on specific workspaces +# assign [class="Thunderbird"] $ws1 +# assign [class="Pale moon"] $ws2 +# assign [class="Pcmanfm"] $ws3 +# assign [class="Skype"] $ws5 + +# Open specific applications in floating mode +for_window [title="alsamixer"] floating enable border pixel 1 +for_window [class="Calamares"] floating enable border normal +for_window [class="Clipgrab"] floating enable +for_window [title="File Transfer*"] floating enable +for_window [class="Galculator"] floating enable border pixel 1 +for_window [class="GParted"] floating enable border normal +for_window [title="i3_help"] floating enable sticky enable border normal +for_window [class="Lightdm-gtk-greeter-settings"] floating enable +for_window [class="Lxappearance"] floating enable sticky enable border normal +for_window [class="Manjaro-hello"] floating enable +for_window [class="Manjaro Settings Manager"] floating enable border normal +for_window [title="MuseScore: Play Panel"] floating enable +for_window [class="Nitrogen"] floating enable sticky enable border normal +for_window [class="Oblogout"] fullscreen enable +for_window [class="octopi"] floating enable +for_window [class="Pamac-manager"] floating enable +for_window [class="Pavucontrol"] floating enable +for_window [class="qt5ct"] floating enable sticky enable border normal +for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal +for_window [class="(?i)System-config-printer.py"] floating enable border normal +for_window [class="Skype"] floating enable border normal +for_window [class="Thus"] floating enable border normal +for_window [class="Timeset-gui"] floating enable border normal +for_window [class="(?i)virtualbox"] floating enable border normal +for_window [class="Xfburn"] floating enable + +# switch to workspace with urgent window automatically +for_window [urgent=latest] focus # reload the configuration file 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-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" -# resize window (you can also use the mouse for that) +# Set shut down, restart and locking features +bindsym $mod+Shift+p mode "$mode_system" +set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown +mode "$mode_system" { + bindsym l exec --no-startup-id i3exit lock, mode "default" + bindsym s exec --no-startup-id i3exit suspend, mode "default" + bindsym u exec --no-startup-id i3exit switch_user, mode "default" + bindsym e exec --no-startup-id i3exit logout, mode "default" + bindsym h exec --no-startup-id i3exit hibernate, mode "default" + bindsym r exec --no-startup-id i3exit reboot, mode "default" + bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" + + # exit system mode: "Enter" or "Escape" + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# Resize window (you can also use the mouse for that) +bindsym $mod+r mode "resize" mode "resize" { # These bindings trigger as soon as you enter the resize mode - # Pressing left will shrink the window’s width. # 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 j resize shrink width 10 px or 10 ppt - bindsym k resize grow height 10 px or 10 ppt - bindsym l resize shrink height 10 px or 10 ppt - bindsym semicolon resize grow width 10 px or 10 ppt + bindsym j resize shrink width 5 px or 5 ppt + bindsym k resize grow height 5 px or 5 ppt + bindsym l resize shrink height 5 px or 5 ppt + bindsym odiaeresis resize grow width 5 px or 5 ppt # same bindings, but for the arrow keys bindsym Left resize shrink width 10 px or 10 ppt @@ -152,66 +273,123 @@ mode "resize" { bindsym Up resize shrink height 10 px or 10 ppt bindsym Right resize grow width 10 px or 10 ppt - # back to normal: Enter or Escape + # exit resize mode: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } -bindsym $mod+r mode "resize" +# Lock screen +bindsym Mod1+Ctrl+l exec --no-startup-id blurlock -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) +# Autostart applications +exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 +exec --no-startup-id nitrogen --restore; sleep 1; compton -b +#exec --no-startup-id manjaro-hello +exec --no-startup-id nm-applet +exec --no-startup-id xfce4-power-manager +exec --no-startup-id pamac-tray +exec --no-startup-id clipit +# exec --no-startup-id blueman +# exec_always --no-startup-id sbxkb +exec --no-startup-id start_conky_maia +# exec --no-startup-id start_conky_green +exec --no-startup-id xautolock -time 10 -locker blurlock +exec_always --no-startup-id fix_xcursor + +# Start i3bar to display a workspace bar (plus the system information i3status if available) bar { - status_command i3status + status_command i3status + position bottom + +## please set your primary output first. Example: 'xrandr --output eDP1 --primary' +# tray_output primary +# tray_output eDP1 + + bindsym button4 nop + bindsym button5 nop + font xft:Noto Sans 10.5 + strip_workspace_numbers yes + + colors { +# background $transparent + background #2B2C2B + statusline #F9FAF9 + separator #454947 + +# border backgr. text + focused_workspace #F9FAF9 #16A085 #2B2C2B + active_workspace #595B5B #353836 #FDF6E3 + inactive_workspace #595B5B #353836 #EEE8D5 + urgent_workspace #16A085 #FDF6E3 #E5201D + } } -# ALSA Mixer based -#bindsym XF86AudioRaiseVolume exec amixer -q set Master 2%+ unmute -#bindsym XF86AudioLowerVolume exec amixer -q set Master 2%- unmute -#bindsym XF86AudioMute exec amixer -q set Master toggle +# hide/unhide i3status bar +bindsym $mod+m bar mode toggle -# Pulseaudio based -bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +5% -bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -5% -bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle +# Theme colors +# class border backgr. text indic. child_border +client.focused #808280 #808280 #80FFF9 #FDF6E3 +client.focused_inactive #434745 #434745 #16A085 #454948 +client.unfocused #434745 #434745 #16A085 #454948 +client.urgent #CB4B16 #FDF6E3 #16A085 #268BD2 +client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c -# Sreen brightness controls -bindsym XF86MonBrightnessUp exec xbacklight -inc 10 # increase screen brightness -bindsym XF86MonBrightnessDown exec xbacklight -dec 10 # decrease screen brightness +client.background #2B2C2B -# Media player controls -bindsym XF86AudioPlay exec playerctl play -bindsym XF86AudioPause exec playerctl pause -bindsym XF86AudioNext exec playerctl next -bindsym XF86AudioPrev exec playerctl previous +############################# +### settings for i3-gaps: ### +############################# -# screen locker (first move to "safe" workspace without any chat app) -bindsym Control+Mod1+l exec i3-msg workspace 1 && i3lock -c 111111 -d -i ${HOME}/Pictures/matrixcode.png +# Set inner/outer gaps +gaps inner 10 +gaps outer -4 -exec --no-startup-id feh --bg-fill ${HOME}/Pictures/archlinux-simplyblack.png -exec --no-startup-id /usr/bin/xrdb ${HOME}/.Xresources -exec --no-startup-id /usr/bin/urxvtd -q -f -o +# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size. +# gaps inner|outer current|all set|plus|minus +# gaps inner all set 10 +# gaps outer all plus 5 -# Move the current workspace to the next output -# (effectively toggles when you only have two outputs) -bindsym $mod+x move workspace to output right +# Smart gaps (gaps used if only more than one container on the workspace) +smart_gaps on -set $Locker i3lock && sleep 1 +# Smart borders (draw borders around container only if it is not the only container on this workspace) +# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0) +smart_borders on -set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown -mode "$mode_system" { - bindsym l exec --no-startup-id $Locker, mode "default" - bindsym e exec --no-startup-id i3-msg exit, mode "default" - bindsym s exec --no-startup-id $Locker && shutdown -h now, mode "default" - bindsym h exec --no-startup-id $Locker && systemctl hibernate, mode "default" - bindsym r exec --no-startup-id systemctl reboot, mode "default" - bindsym Shift+s exec --no-startup-id systemctl poweroff -i, mode "default" +# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces. +set $mode_gaps Gaps: (o) outer, (i) inner +set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) +set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) +bindsym $mod+Shift+g mode "$mode_gaps" - # back to normal: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" +mode "$mode_gaps" { + bindsym o mode "$mode_gaps_outer" + bindsym i mode "$mode_gaps_inner" + bindsym Return mode "default" + bindsym Escape mode "default" } +mode "$mode_gaps_inner" { + bindsym plus gaps inner current plus 5 + bindsym minus gaps inner current minus 5 + bindsym 0 gaps inner current set 0 -bindsym $mod+Shift+p mode "$mode_system" + bindsym Shift+plus gaps inner all plus 5 + bindsym Shift+minus gaps inner all minus 5 + bindsym Shift+0 gaps inner all set 0 -exec_always compton -f + bindsym Return mode "default" + bindsym Escape mode "default" +} +mode "$mode_gaps_outer" { + bindsym plus gaps outer current plus 5 + bindsym minus gaps outer current minus 5 + bindsym 0 gaps outer current set 0 + + bindsym Shift+plus gaps outer all plus 5 + bindsym Shift+minus gaps outer all minus 5 + bindsym Shift+0 gaps outer all set 0 + + bindsym Return mode "default" + bindsym Escape mode "default" +} diff --git a/nvim/init.vim b/nvim/init.vim index e094c0b..45d748c 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -5,8 +5,11 @@ call plug#begin('~/.config/nvim/plugged') Plug 'benekastah/neomake' " Automatically match brackets as you type Plug 'Raimondi/delimitMate' +" Tab completion +Plug 'ervandew/supertab' " Haskell Plug 'neovimhaskell/haskell-vim', { 'for': [ 'haskell', 'cabal' ] } +Plug 'alx741/vim-hindent' " Lisp Plug 'vim-scripts/paredit.vim', { 'for': [ 'scheme', 'lisp', 'commonlisp' ] } " LaTeX Editing @@ -22,8 +25,8 @@ Plug 'thirtythreeforty/lessspace.vim' Plug 'bling/vim-airline' Plug 'airblade/vim-gitgutter' " Manage Project sessions -Plug 'xolox/vim-session' -Plug 'xolox/vim-misc' +Plug 'tpope/vim-obsession' +Plug 'dhruvasagar/vim-prosession' " Explore filesystem Plug 'scrooloose/nerdtree' " Tags @@ -32,18 +35,19 @@ Plug 'universal-ctags/ctags' Plug 'scrooloose/nerdcommenter' " Theme Plug 'sickill/vim-monokai' -" Gtags -Plug 'vim-scripts/gtags.vim' - -Plug 'unblevable/quick-scope' -Plug 'justinmk/vim-sneak' -Plug 'wellle/targets.vim' -Plug 'kana/vim-submode' | Plug 'jocap/jumpinline.vim' +" Auto Completion with Deoplete +Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } +" Autocomplete for Python +Plug 'zchee/deoplete-jedi' +" Autocomplete for Rust +Plug 'sebastianmarkow/deoplete-rust' +Plug 'rust-lang/rust.vim' " Initialize plugin system call plug#end() syntax on +filetype plugin indent on " Don't mess up undo history let g:jedi#show_call_signatures = "0" @@ -116,13 +120,6 @@ nnoremap b :CtrlPBuffer nnoremap f :CtrlPMRUFiles " Open NerdTree nnoremap n :NERDTree -" Gtags -nnoremap ] :Gtags -nnoremap \ :Gtags -r -nnoremap c :cclose -nnoremap k :cp -nnoremap j :cn -nnoremap l :cl " Manage splits set splitbelow @@ -135,18 +132,11 @@ colorscheme monokai " Key Bindings to help with terminal mode :tnoremap -:tnoremap h -:tnoremap j -:tnoremap k -:tnoremap l -:inoremap h -:inoremap j -:inoremap k -:inoremap l -:nnoremap h -:nnoremap j -:nnoremap k -:nnoremap l +" Key bindings to move between window splits +nnoremap h +nnoremap j +nnoremap k +nnoremap l " Disable Arrow Keys inoremap @@ -159,6 +149,7 @@ noremap noremap " For Haskell +let g:haskell_indent_disable = 1 " to disabled indentation let g:haskell_enable_quantification = 1 " to enable highlighting of `forall` let g:haskell_enable_recursivedo = 1 " to enable highlighting of `mdo` and `rec` let g:haskell_enable_arrowsyntax = 1 " to enable highlighting of `proc` @@ -166,16 +157,17 @@ let g:haskell_enable_pattern_synonyms = 1 " to enable highlighting of `pattern` let g:haskell_enable_typeroles = 1 " to enable highlighting of type roles let g:haskell_enable_static_pointers = 1 " to enable highlighting of `static` let g:haskell_backpack = 1 " to enable highlighting of backpack keywords -let g:haskell_indent_if = 3 -let g:haskell_indent_case = 2 -let g:haskell_indent_let = 4 -let g:haskell_indent_where = 6 -let g:haskell_indent_before_where = 2 -let g:haskell_indent_after_bare_where = 2 -let g:haskell_indent_do = 3 -let g:haskell_indent_in = 1 -let g:haskell_indent_guard = 2 -let g:cabal_indent_section = 2 +let g:hindent_on_save = 1 +let g:hindent_indent_size = 4 +let g:hindent_line_length = 80 + +" For Rust +let g:deoplete#sources#rust#racer_binary='/home/sanchayan/.cargo/bin/racer' +let g:deoplete#sources#rust#rust_source_path='/home/sanchayan/GitSources/rust/src' + +" Use deoplete. +let g:deoplete#enable_at_startup = 1 +let g:deoplete#enable_smart_case = 1 let g:airline#extensions#tabline#enabled = 2 let g:airline#extensions#tabline#fnamemod = ':t' diff --git a/spacemacs b/spacemacs index 0dade4c..4bd8d1d 100644 --- a/spacemacs +++ b/spacemacs @@ -17,29 +17,34 @@ values." ;; List of configuration layers to load. If it is the symbol `all' instead ;; of a list then all discovered layers will be installed. dotspacemacs-configuration-layers - '( + '(yaml shell-scripts - python asm ;; ---------------------------------------------------------------- ;; Example of useful layers you may want to use right away. ;; Uncomment some layer names and press (Vim style) or ;; (Emacs style) to install them. ;; ---------------------------------------------------------------- - ;; auto-completion + auto-completion ;; better-defaults emacs-lisp git markdown - ;; (shell :variables - ;; shell-default-height 30 - ;; shell-default-position 'bottom) + (shell :variables + shell-default-height 30 + shell-default-position 'bottom + shell-default-shell 'eshell + shell-enable-smart-eshell t) ;; spell-checking ;; syntax-checking ;; version-control - c-c++ - rust haskell + rust + scheme + clojure + emacs-lisp + c-c++ + python gtags latex ) @@ -206,6 +211,8 @@ user code." This function is called at the very end of Spacemacs initialization after layers configuration. You are free to put any user code." + (intero-global-mode 1) + (require 'helm-bookmark) (xterm-mouse-mode -1) (setq-default tab-width 8 indent-tabs-mode t) (global-set-key (kbd "TAB") 'self-insert-command) @@ -215,12 +222,11 @@ layers configuration. You are free to put any user code." (windmove-default-keybindings) (setq windmove-wrap-around t) - (setq TeX-view-program-selection '((output-pdf "Okular"))) + (setq TeX-view-program-selection '((output-pdf "Evince"))) (setq TeX-source-correlate-mode t) (setq TeX-source-correlate-start-server t) (setq TeX-source-correlate-method 'synctex) - (setq TeX-view-program-list - '(("Okular" "okular --unique %o#src:%n%b"))) + (setq TeX-engine 'xetex) (require 'desktop) @@ -289,12 +295,6 @@ layers configuration. You are free to put any user code." (directory-files my-desktop-session-dir)) nil nil nil my-desktop-session-name-hist default))) - (defun on-frame-open (frame) - (if (not (display-graphic-p frame)) - (set-face-background 'default "unspecified-bg" frame))) - (on-frame-open (selected-frame)) - (add-hook 'after-make-frame-functions 'on-frame-open) - (define-key global-map "\M-[1~" 'beginning-of-line) (define-key global-map [select] 'end-of-line)