diff options
-rw-r--r-- | .Xmodmap | 5 | ||||
-rw-r--r-- | .config/htop/htoprc | 26 | ||||
-rw-r--r-- | .config/i3/config | 184 | ||||
-rw-r--r-- | .config/terminator/config | 49 | ||||
-rw-r--r-- | .dotFileSetup.sh | 36 | ||||
-rw-r--r-- | .emacs | 116 | ||||
-rw-r--r-- | .tmux.conf | 80 | ||||
-rw-r--r-- | README.md | 57 | ||||
-rw-r--r-- | README.org | 13 | ||||
-rw-r--r-- | dwm/.Xmodmap | 5 | ||||
-rwxr-xr-x | dwm/.dwmSession.sh (renamed from .dwmSession.sh) | 0 | ||||
-rw-r--r-- | dwm/.xinitrc (renamed from .xinitrc) | 4 | ||||
-rw-r--r-- | dwm/.zprofile (renamed from .zprofile) | 0 | ||||
-rwxr-xr-x | dwm/lc (renamed from lc) | 8 | ||||
-rw-r--r-- | emacs/.emacs | 152 | ||||
-rw-r--r-- | setup.sh | 8 | ||||
-rw-r--r-- | vim/.config/nvim/init.vim (renamed from .config/nvim/init.vim) | 0 | ||||
-rw-r--r-- | vim/.vimrc (renamed from .vimrc) | 7 | ||||
-rw-r--r-- | zsh/.zshrc (renamed from .zshrc) | 0 |
19 files changed, 195 insertions, 555 deletions
diff --git a/.Xmodmap b/.Xmodmap deleted file mode 100644 index 2e08c6e..0000000 --- a/.Xmodmap +++ /dev/null @@ -1,5 +0,0 @@ -clear lock -clear control -keycode 66 = Control_L -add control = Control_L Control_R - diff --git a/.config/htop/htoprc b/.config/htop/htoprc deleted file mode 100644 index f4728fd..0000000 --- a/.config/htop/htoprc +++ /dev/null @@ -1,26 +0,0 @@ -# Beware! This file is rewritten by htop when settings are changed in the interface. -# The parser is also very primitive, and not human-friendly. -fields=0 6 48 17 18 38 39 40 2 46 47 49 1 -sort_key=46 -sort_direction=1 -hide_threads=0 -hide_kernel_threads=1 -hide_userland_threads=0 -shadow_other_users=0 -show_thread_names=0 -show_program_path=1 -highlight_base_name=0 -highlight_megabytes=1 -highlight_threads=1 -tree_view=0 -header_margin=1 -detailed_cpu_time=0 -cpu_count_from_zero=0 -update_process_names=0 -account_guest_in_cpu_meter=0 -color_scheme=5 -delay=15 -left_meters=CPU AllCPUs Blank Memory Swap -left_meter_modes=1 1 2 1 1 -right_meters=Clock Tasks LoadAverage Uptime Hostname Battery -right_meter_modes=2 2 2 2 2 2 diff --git a/.config/i3/config b/.config/i3/config deleted file mode 100644 index a909ccd..0000000 --- a/.config/i3/config +++ /dev/null @@ -1,184 +0,0 @@ -# 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). -# -# Program specific floating -for_window [class="keepassxc"] floating enable - -# Gaps settings -gaps inner 15 -smart_gaps on - -for_window [class=".*"] border pixel 3 -hide_edge_borders both - -# i3 config file (v4) -# -# Please see https://i3wm.org/docs/userguide.html for a complete reference! - -set $mod Mod1 - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. -font pango:monospace 8 - -# 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 - -# 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. - -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -# start a terminal -bindsym $mod+Shift+t exec i3-sensible-terminal - -# kill focused window -bindsym $mod+Shift+q kill - -# start dmenu (a program launcher) -bindsym $mod+d exec dmenu_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 - -# alternatively, you can use the cursor keys: -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# change focus -bindsym $mod+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l 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 - -# alternatively, you can use the cursor keys: -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - -# split in horizontal orientation -bindsym $mod+Shift+v split h - -# split in vertical orientation -bindsym $mod+v split v - -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle - -# change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# toggle tiling / floating -bindsym $mod+Shift+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+space focus mode_toggle - -# focus the parent container -bindsym $mod+a focus parent - -# focus the child container -#bindsym $mod+d focus child - -# Define names for default workspaces for which we configure key bindings later on. -# We use variables to avoid repeating the names in multiple places. -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+Shift+1 move container to workspace $ws1 -bindsym $mod+Shift+2 move container to workspace $ws2 -bindsym $mod+Shift+3 move container to workspace $ws3 -bindsym $mod+Shift+4 move container to workspace $ws4 -bindsym $mod+Shift+5 move container to workspace $ws5 -bindsym $mod+Shift+6 move container to workspace $ws6 -bindsym $mod+Shift+7 move container to workspace $ws7 -bindsym $mod+Shift+8 move container to workspace $ws8 -bindsym $mod+Shift+9 move container to workspace $ws9 -bindsym $mod+Shift+0 move container to workspace $ws10 - -# 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) -mode "resizeMove" { -# These bindings trigger as soon as you enter the resize mode -# same bindings, but for the arrow keys - bindsym Left resize shrink width 10 px or 10 ppt - bindsym Down resize grow height 10 px or 10 ppt - bindsym Up resize shrink height 10 px or 10 ppt - bindsym Right resize grow width 10 px or 10 ppt - -# 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 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 - -#MOve - bindsym Shift+h move left - bindsym Shift+j move down - bindsym Shift+k move up - bindsym Shift+l move right - -# back to normal: Enter or Escape or $mod+r - bindsym Return mode "default" - bindsym Escape mode "default" - bindsym $mod+r mode "default" -} - - - -bindsym $mod+r mode "resizeMove" - -#Auto execute -exec feh --bg-scale /home/julian/Billeder/wallpaper.png diff --git a/.config/terminator/config b/.config/terminator/config deleted file mode 100644 index db2d360..0000000 --- a/.config/terminator/config +++ /dev/null @@ -1,49 +0,0 @@ -[global_config] - focus = system - inactive_color_offset = 1.0 - suppress_multiple_term_dialog = True - title_transmit_bg_color = "#d30102" -[keybindings] -[layouts] - [[default]] - [[[child1]]] - parent = window0 - type = Terminal - [[[window0]]] - parent = "" - type = Window -[plugins] -[profiles] - [[default]] - background_darkness = 0.93 - background_type = transparent - cursor_color = "#ffffff" - font = Ubuntu Mono 11 - foreground_color = "#ffffff" - palette = "#000000:#cc0000:#4e9a06:#c4a000:#3465a4:#75507b:#06989a:#d3d7cf:#555753:#ef2929:#8ae234:#fce94f:#729fcf:#ad7fa8:#34e2e2:#eeeeec" - scrollback_infinite = True - scrollbar_position = hidden - show_titlebar = False - urgent_bell = True - use_system_font = False - [[Tomorddrow Night Eighties]] - background_color = "#2d2d2d" - cursor_color = "#cccccc" - foreground_color = "#cccccc" - palette = "#000000:#f2777a:#99cc99:#ffcc66:#6699cc:#cc99cc:#66cccc:#ffffff:#000000:#f2777a:#99cc99:#ffcc66:#6699cc:#cc99cc:#66cccc:#ffffff" - [[defaultold]] - cursor_color = "#7c6f64" - font = Hack 10 - foreground_color = "#ffffff" - palette = "#000000:#cc0000:#4e9a06:#c4a000:#3465a4:#75507b:#06989a:#d3d7cf:#555753:#ef2929:#8ae234:#fce94f:#729fcf:#ad7fa8:#34e2e2:#eeeeec" - scrollback_infinite = True - [[gruvbox-dark]] - background_color = "#282828" - cursor_color = "#7c6f64" - foreground_color = "#ebdbb2" - palette = "#181818:#cc241d:#98971a:#d79921:#458588:#b16286:#689d6a:#ebdbb2:#928374:#fb4934:#b8bb26:#fabd2f:#83a598:#d3869b:#8ec07c:#ebdbb2" - [[gruvbox-light]] - background_color = "#eee8d5" - cursor_color = "#002b36" - foreground_color = "#002b36" - palette = "#073642:#dc322f:#859900:#b58900:#268bd2:#d33682:#2aa198:#eee8d5:#002b36:#cb4b16:#586e75:#657b83:#839496:#6c71c4:#93a1a1:#fdf6e3" diff --git a/.dotFileSetup.sh b/.dotFileSetup.sh deleted file mode 100644 index 6987a1c..0000000 --- a/.dotFileSetup.sh +++ /dev/null @@ -1,36 +0,0 @@ -sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" - -# install -cd fonts -./install.sh -# clean-up a bit -cd .. -rm -rf fonts - -mkdir /home/julian/.oh-my-zsh/custom/themes - -wget https://raw.githubusercontent.com/caiogondim/bullet-train-oh-my-zsh-theme/master/bullet-train.zsh-theme -O /home/julian/.oh-my-zsh/custom/themes/bullet-train.zsh-theme - -cd ~/.oh-my-zsh/custom/plugins -git clone git://github.com/zsh-users/zsh-syntax-highlighting.git - -alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME' -echo ".cfg" >> .gitignore -git clone --bare 'https://github.com/jbjjbjjbj/newDotFiles' $HOME/.cfg -config config --local status.showUntrackedFiles no -config checkout -f - -git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim - -mkdir Software -cd Software - -git clone https://github.com/jbjjbjjbj/Custom-dwm6.1.git -cd Custom-dwm6.1 -sudo make install -cd .. - -git clone https://github.com/jbjjbjjbj/Custom-st.git -cd Custom-st -sudo make install -cd @@ -1,116 +0,0 @@ - -(add-to-list 'load-path "~/.emacs.d/load") -(require 'package) ;; You might already have this line -(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos)) - (not (gnutls-available-p)))) - (url (concat (if no-ssl "http" "https") "://melpa.org/packages/"))) - (add-to-list 'package-archives (cons "melpa" url) t)) -(when (< emacs-major-version 24) - ;; For important compatibility libraries like cl-lib - (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/"))) -(add-to-list 'package-archives - '("melpa" . "http://melpa.milkbox.net/packages/") t) -(package-initialize) ;; You might already have this line -(add-to-list 'package-archives - '("melpa-stable" . "https://stable.melpa.org/packages/") t) -(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t) - -(ac-config-default) - -(setq c-default-style "k&r" - c-basic-offset 4) -(setq evil-want-integration nil) ;; This is optional since it's already set to t by default. -(setq evil-want-keybinding nil) -(evil-collection-init) - -(add-to-list 'auto-mode-alist '("\\.ino\\'" . c++-mode)) - -(require 'evil) -(evil-mode 1) - - -(require 'evil-surround) -(global-evil-surround-mode 1) - -(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. - '(package-selected-packages - (quote - (evil-collection notmuch company-c-headers org jedi evil-surround buffer-move auto-complete))) - ) -(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. - ) - -(add-hook 'python-mode-hook 'jedi:setup) -(setq jedi:complete-on-dot t) ; optional - -;; Auto-complete (AC) -(require 'auto-complete) - -(require 'auto-complete-config) -(ac-config-default) - -(require 'company) -(add-hook 'global-init-hook 'global-company-mode) -(add-to-list 'company-backends 'company-c-headers) - -; -;(require 'mu4e) -;(setq mu4e-maildir "~/Mail/mailbox") -;(setq mu4e-drafts-folder "/Drafts") -;(setq mu4e-sent-folder "/Sent") -;(setq mu4e-trash-folder "/Trash") -;(setq mu4e-refile-folder "/Archive") -; -;(setq mu4e-get-mail-command "offlineimap") -;;; shortcuts -;(setq mu4e-maildir-shortcuts - ;'( ("/INBOX" . ?i) - ;("/Archive" . ?a))) -; -;;; something about ourselves -;(setq - ;user-mail-address "julian@jtle.dk" - ;user-full-name "Julian T" - ;) -; -;;; show images -;(setq mu4e-show-images t) -; -;;; use imagemagick, if available -;(when (fboundp 'imagemagick-register-types) - ;(imagemagick-register-types)) -; -;;; convert html emails properly -;;; Possible options: -;;; - html2text -utf8 -width 72 -;;; - textutil -stdin -format html -convert txt -stdout -;;; - html2markdown | grep -v ' _place_holder;' (Requires html2text pypi) -;;; - w3m -dump -cols 80 -T text/html -;;; - view in browser (provided below) -;(setq mu4e-html2text-command "html2text") -; -;;; add option to view html message in a browser -;;; `aV` in view to activate -;(add-to-list 'mu4e-view-actions - ;'("ViewInBrowser" . mu4e-action-view-in-browser) t) -; -;;; fetch mail every 10 mins -;(setq mu4e-update-interval 600) -; -; -;(setf initial-buffer-choice (lambda () (mu4e))) -; -;(setq message-send-mail-function 'smtpmail-send-it) -; -;(setq smtpmail-default-smtp-server "smtp.mailbox.org" - ;smtpmail-smtp-server "smtp.mailbox.org" - ;smtpmail-smtp-service 465) -; diff --git a/.tmux.conf b/.tmux.conf deleted file mode 100644 index f376f6c..0000000 --- a/.tmux.conf +++ /dev/null @@ -1,80 +0,0 @@ -set -g default-terminal "screen-256color" - -# Bind Ctrl+a -unbind C-b -set -g prefix C-a -bind C-a send-prefix - -set -g history-limit 20000 - -# for nested tmux sessions -bind-key a send-prefix - -# Rather than constraining window size to the maximum size of any client -# connected to the *session*, constrain window size to the maximum size of any -setw -g aggressive-resize on - -# make window/pane index start with 1 -set -g base-index 1 -setw -g pane-base-index 1 - -# Bindings -# Stop the stupid delay -set -sg escape-time 0 - -# reload config file -bind r source-file ~/.tmux.conf \; display "Config Reloaded!" - -# pane movement shortcuts -bind h select-pane -L -bind j select-pane -D -bind k select-pane -U -bind l select-pane -R - -# Hmm what does -r mean, i took most of it from https://github.com/nicknisi/dotfiles -# Resize pane shortcuts -bind -r H resize-pane -L 10 -bind -r J resize-pane -D 10 -bind -r K resize-pane -U 10 -bind -r L resize-pane -R 10 - -# enable mouse support for switching panes/windows -setw -g mouse on - -# vim -set-window-option -g mode-keys vi -bind-key -T copy-mode-vi 'v' send -X begin-selection -bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel - -# buffer -bind Space choose-buffer - -# split panes using | and - -bind | split-window -h -bind - split-window -v -unbind '"' -unbind % - -# NIcer status bar - -set -g status-fg white -set -g status-bg default - -# Empty the bar -set -g status-left '' - -# Set Date time -set -g status-right '#[fg=colour233,bg=gray,bold] %d/%m #[fg=colour233,bg=white,bold] %H:%M:%S ' -set -g status-right-length 50 -set -g status-left-length 20 - -setw -g window-status-current-fg red -setw -g window-status-current-bg blue -setw -g window-status-current-attr bold -setw -g window-status-current-format ' #I#[fg=colour249]:#[fg=colour255]#W#[fg=colour249]#F ' - -setw -g window-status-fg colour9 -setw -g window-status-bg colour18 -setw -g window-status-attr none -setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F ' - diff --git a/README.md b/README.md deleted file mode 100644 index 0287d39..0000000 --- a/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# newDotFiles - -This is where i keep my dotfiles and scripts. - -## Dotfile management - -I use [this](https://developer.atlassian.com/blog/2016/02/best-way-to-store-dotfiles-git-bare-repo/) method of managing dotfiles - -If the link above is broken, here is a short summary. - -The method comes from this [thread](https://news.ycombinator.com/item?id=11070797). The idea is to transform your home folder into a git repository, and then add the files you edited. - -### First time setup - -Make a new bare github repository - -Initialize git - -`git init --bare $HOME/.cfg` - -Add the easy to use alias - -`alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'` - -Set git option - -`config config --local status.showUntrackedFiles no` - -This is important, because othervise git vil print every file in your home directory. - -Remember to add `alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'` to your shellrc - -Now commands like `config add`, `config commit`, `config push` and `config pull` can be used to manage and sync you config files to github. - -### Add to new computer - -Configure the alias - -`alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'` - -Make gitignore -`echo ".cfg" >> .gitignore` - -Clone repository -`git clone --bare 'https://github.com/jbjjbjjbj/newDotFiles' $HOME/.cfg` - -Set git option - -`config config --local status.showUntrackedFiles no` - -Checkout -`config checkout` - -Backup or delete files that conflict this command and then run `config checkout` again - -And turn off the tracking -`config config --local status.showUntrackedFiles no` diff --git a/README.org b/README.org new file mode 100644 index 0000000..8711e87 --- /dev/null +++ b/README.org @@ -0,0 +1,13 @@ +* newDotFiles + + This is where i keep my dotfiles and scripts. + +** Dotfile management + + I use [[https://www.gnu.org/software/stow/][GNU Stow]] for dot file management. This splits the dotfiles into multiple modules, + for example can zsh be installed without installing dwm. + + To install a package or module one can run. + + : stow emacs + diff --git a/dwm/.Xmodmap b/dwm/.Xmodmap new file mode 100644 index 0000000..08cf429 --- /dev/null +++ b/dwm/.Xmodmap @@ -0,0 +1,5 @@ +clear lock +clear control +keycode 66 = Control_R +add control = Control_R Control_L + diff --git a/.dwmSession.sh b/dwm/.dwmSession.sh index 2c427b8..2c427b8 100755 --- a/.dwmSession.sh +++ b/dwm/.dwmSession.sh @@ -1,13 +1,15 @@ setxkbmap -layout us -variant altgr-intl -xcape -e "Control_L=Escape" feh --bg-fill /home/julian/Pictures/up1.* export _JAVA_AWT_WM_NONREPARENTING=1 export TERM=st +dbus-update-activation-environment --systemd DISPLAY + eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets) export SSH_AUTH_SOCK xmodmap .Xmodmap +xcape -e "Control_R=Escape" nm-applet & xscreensaver & diff --git a/.zprofile b/dwm/.zprofile index b78f84a..b78f84a 100644 --- a/.zprofile +++ b/dwm/.zprofile @@ -1,9 +1,10 @@ #!/bin/bash -Menu="Program Info System" +Menu="Program Info System File" System="update poweroff syspend set-keyboard" Info="battery" Program="cups-website vim emacs htop" +Commonfiles=".vimrc .zshrc" All="$System $Info $Program" handle_stuff() { @@ -24,6 +25,9 @@ handle_stuff() { if [ "$1" = "Program" ]; then ./lc $(echo $Program | tr " " "\n" | dmenu -i -p Launch) fi + if [ "$1" = "File" ]; then + st -e nvim $(echo $Commonfiles | tr " " "\n" | dmenu -i -p Launch) + fi # System info if [ "$1" = "-b" ] || [ "$1" = "battery" ]; then @@ -47,6 +51,8 @@ handle_stuff() { poweroff fi +# Mics + # Launch if [ "$1" = "-v" ] || [ "$1" = "vim" ]; then st -e nvim diff --git a/emacs/.emacs b/emacs/.emacs new file mode 100644 index 0000000..a40c786 --- /dev/null +++ b/emacs/.emacs @@ -0,0 +1,152 @@ + +(require 'package) +(setq package-enable-at-startup nil) + +(add-to-list 'load-path "~/.emacs.d/load") +(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/")) +(add-to-list 'package-archives + '("melpa" . "http://melpa.milkbox.net/packages/") t) +(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t) + +(package-initialize ) + +(eval-when-compile + (require 'use-package)) + +(use-package auto-package-update + :ensure t + :config + (setq auto-package-update-delete-old-versions t)) + +;; +;; Evil mode +;; +(defun save-and-quit () + "Save the document and exit buffer" + (interactive) + (save-buffer (current-buffer)) + (kill-this-buffer)) + + ; TODO find out what this is +(setq evil-want-integration nil) +(setq evil-want-keybinding nil) + +(use-package evil + :ensure t + :init + (setq evil-want-C-u-scroll t) + :config + (evil-ex-define-cmd "b[utterfly]" 'bufferfly) + (evil-ex-define-cmd "q[uit]" 'kill-this-buffer) + (evil-ex-define-cmd "wq" 'save-and-quit) + (evil-ex-define-cmd "describe-function" 'describe-function) + (evil-mode 1)) + +(use-package evil-collection + :config + (evil-collection-init)) + +(use-package org-evil + :ensure t + ) + +(use-package evil-surround + :ensure t + :config + (global-evil-surround-mode 1)) + +(use-package nlinum-relative + :ensure + :config + ;; something else you want + (nlinum-relative-setup-evil) + (add-hook 'prog-mode-hook 'nlinum-relative-mode)) + +(use-package evil-magit + :ensure t) + +;; +;; General config +;; + +(setq initial-buffer-choice nil) +(setq org-support-shift-select t) + +(setq c-default-style "k&r" + c-basic-offset 4) + + +(add-to-list 'auto-mode-alist '("\\.ino\\'" . c++-mode)) + + +(add-hook 'python-mode-hook 'jedi:setup) +(setq jedi:complete-on-dot t) ; optional + +(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. + '(company-c-headers-path-user + (quote + ("." "~/Documents/aausat6/software/lib/libcsp/include" "~/Documents/aausat6/software/stm32f/libopencm3/include" "~/Documents/aausat6/software/lib/libfreertosv10/Source/include"))) + '(custom-enabled-themes (quote (tango-dark))) + '(package-selected-packages + (quote + (company-ycmd ycmd company-c-headers evil-magit magit company auto-complete-config auto-complete evil-collection evil use-package)))) +(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. + ) + +(defun show-file-name () + "Show the current filename" + (interactive) + (message (buffer-file-name)) ) + +(defun goto-startup-screen () + "Show the startup screen" + (interactive) + (display-startup-screen) ) + +(setq org-directory "~/Syncthing/OrgNotes") +(setq org-default-notes-file (concat org-directory "/notes.org")) + +(use-package magit + :ensure t ) + +;; +;; Auto-complete (AC) +;; +(use-package auto-complete + :ensure t + :config + (ac-config-default) +) +(require 'auto-complete-config) + +(use-package company-c-headers + :ensure t + ) +(use-package company + :ensure t) + +(add-hook 'global-init-hook 'global-company-mode) + +(add-to-list 'company-backends 'company-c-headers) + +;; +;; Keybindings +;; + +;; Leader Keybinding +(defvar leader-map (make-sparse-keymap) + "Keymap for evil leader key") + +(define-key evil-normal-state-map (kbd "SPC") leader-map) + +(define-key leader-map "b" 'switch-to-buffer) +(define-key leader-map "t" 'term) +(define-key leader-map "o" 'org-capture) diff --git a/setup.sh b/setup.sh new file mode 100644 index 0000000..7470d40 --- /dev/null +++ b/setup.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# Install oh-my-zsh +sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" + +rm -rf ../.zshrc + +stow zsh diff --git a/.config/nvim/init.vim b/vim/.config/nvim/init.vim index f182e5b..f182e5b 100644 --- a/.config/nvim/init.vim +++ b/vim/.config/nvim/init.vim @@ -1,6 +1,8 @@ set nocompatible " be iMproved, required filetype plugin on +set shellslash + " Plugins " set the runtime path to include Vundle and initialize @@ -25,6 +27,7 @@ filetype plugin on Plugin 'racer-rust/vim-racer' Plugin 'davidhalter/jedi-vim' Plugin 'junegunn/goyo.vim' + Plugin 'vim-latex/vim-latex' " Color theme Plugin 'agude/vim-eldar' @@ -57,6 +60,10 @@ set shiftwidth=4 set softtabstop=4 set noexpandtab +let g:tex_flavor='latex' + + +set inccommand=split " Required for operations modifying multiple buffers like rename. set hidden |