mirror of https://github.com/jcmdln/gein
29 changed files with 1698 additions and 13 deletions
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
# /etc/Xresources |
||||
|
||||
Xcursor.theme: breeze |
||||
Xcursor.size: 16 |
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
# /etc/bash/bashrc |
||||
|
||||
[ -e /etc/profile ] && source /etc/profile |
||||
|
||||
shopt -s checkwinsize |
||||
shopt -s no_empty_cmd_completion |
||||
shopt -s histappend |
||||
|
||||
unset sh |
@ -0,0 +1,508 @@
@@ -0,0 +1,508 @@
|
||||
;; /etc/emacs/default.el |
||||
|
||||
;; When Emacs is opened we should first adjust the appearance to what we |
||||
;; desire so that while configurations are being parsed we do not see the |
||||
;; default theme. We will disable various tool bars before they |
||||
;; initialize, then set the theme and font appearance. |
||||
|
||||
(when (fboundp 'menu-bar-mode) (menu-bar-mode -1)) |
||||
(when (fboundp 'scroll-bar-mode) (scroll-bar-mode -1)) |
||||
(when (fboundp 'tool-bar-mode) (tool-bar-mode -1)) |
||||
|
||||
(load-theme 'tango-dark) |
||||
|
||||
(set-face-attribute |
||||
'default nil |
||||
:family "Monospace" :weight 'normal |
||||
:width 'normal :height 96) |
||||
|
||||
|
||||
;; In this section we will set some ideal default behaviors such as |
||||
;; inhibiting any unwanted initial buffers, forcing utf-8 encoding, |
||||
;; showing column numbers in the mode line, enabling the visual-bell |
||||
;; which disables the audible bell, and moving custom configuration |
||||
;; to another file as to not append this to the bottom of this file. |
||||
|
||||
(setq |
||||
;; Misc |
||||
initial-scratch-message nil |
||||
inhibit-splash-screen t |
||||
inhibit-startup-buffer-menu t |
||||
custom-file "~/.emacs.d/custom.el" |
||||
|
||||
;; Encoding |
||||
prefer-coding-system 'utf-8 |
||||
set-default-coding-systems 'utf-8 |
||||
set-language-environment "UTF-8" |
||||
set-locale-environment "en_US.UTF-8") |
||||
|
||||
|
||||
;; Whenever possible, we should not load custom configurations until |
||||
;; after Emacs has finished initializing. This section relies on the |
||||
;; 'after-init-hook' to accomplish this. |
||||
|
||||
(add-hook |
||||
'after-init-hook |
||||
(lambda() |
||||
(add-hook 'before-save-hook 'delete-trailing-whitespace) |
||||
|
||||
(add-hook 'lisp-mode-hook |
||||
(lambda() |
||||
(add-hook 'before-save-hook |
||||
(lambda() (untabify (point-min)(point-max)))) |
||||
(linum-mode))) |
||||
|
||||
(add-hook 'prog-mode-hook |
||||
(lambda() |
||||
(linum-mode))) |
||||
|
||||
(add-hook 'text-mode-hook |
||||
(lambda() |
||||
(add-hook 'before-save-hook |
||||
(lambda() (untabify (point-min)(point-max)))) |
||||
(linum-mode))) |
||||
|
||||
(add-hook 'c-mode-hook |
||||
(lambda() |
||||
(add-to-list 'auto-mode-alist '("\\.h\\'" . c-mode)) |
||||
(setq indent-tabs-mode 1))) |
||||
|
||||
(add-hook 'c++-mode-hook |
||||
(lambda() |
||||
(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode)) |
||||
(setq indent-tabs-mode 1))) |
||||
|
||||
(add-hook 'python-mode-hook |
||||
(lambda() |
||||
(add-hook 'before-save-hook |
||||
(lambda() (untabify (point-min)(point-max)))) |
||||
(linum-mode))) |
||||
|
||||
(setq |
||||
;; Cut/Paste |
||||
require-final-newline t |
||||
save-interprogram-paste-before-kill t |
||||
select-enable-primary nil |
||||
|
||||
;; Display |
||||
column-number-mode t |
||||
visible-bell t |
||||
|
||||
;; Indentation |
||||
c-basic-offset 4 |
||||
cperl-indent-level 4 |
||||
js-indent-level 4 |
||||
tab-width 4 |
||||
indent-tabs-mode nil |
||||
|
||||
;; Mouse |
||||
mouse-wheel-follow-mouse 't |
||||
mouse-wheel-progressive-speed nil |
||||
mouse-wheel-scroll-amount '(3 ((shift) . 3)) |
||||
mouse-yank-at-point t |
||||
|
||||
;; Scrolling |
||||
auto-window-vscroll nil |
||||
scroll-conservatively 101 |
||||
scroll-down-aggressively 0.0 |
||||
scroll-margin 0 |
||||
scroll-preserve-screen-position 1 |
||||
scroll-step 1 |
||||
scroll-up-aggressively 0.0) |
||||
|
||||
;; Shorter y/n prompts |
||||
(fset 'yes-or-no-p 'y-or-n-p) |
||||
|
||||
;; Globally enable word-wrap |
||||
(global-visual-line-mode t) |
||||
|
||||
;; Highlight matching parenthesis |
||||
(show-paren-mode t) |
||||
|
||||
;; Enable mouse support in terminal |
||||
(xterm-mouse-mode t) |
||||
|
||||
;; Environment Variables |
||||
(setenv "EDITOR" "emacsclient") |
||||
(setenv "GIT_EDITOR" "emacsclient") |
||||
(setenv "GOPATH" (getenv "GOPATH")) |
||||
(setenv "MANPATH" (getenv "MANPATH")) |
||||
(setenv "PATH" (getenv "PATH")) |
||||
(setenv "PROMPT_COMMAND" "") |
||||
(setenv "SHELL" (getenv "SHELL")) |
||||
(setenv "TERM" (getenv "TERM")) |
||||
|
||||
;; Buffers |
||||
(global-set-key (kbd "C-x x") 'kill-buffer-and-window) |
||||
(global-set-key (kbd "<C-tab>") 'next-buffer) |
||||
(global-set-key (kbd "<C-iso-lefttab>") 'previous-buffer) |
||||
(global-set-key (kbd "M--") (lambda() (interactive) |
||||
(split-window-vertically) |
||||
(other-window 1 nil) |
||||
(switch-to-next-buffer))) |
||||
(global-set-key (kbd "M-=") (lambda() (interactive) |
||||
(split-window-horizontally) |
||||
(other-window 1 nil) |
||||
(switch-to-next-buffer))) |
||||
|
||||
;; Comment or uncomment the highlighted region |
||||
(global-set-key (kbd "C-c c") 'comment-or-uncomment-region) |
||||
|
||||
;; Mouse |
||||
(global-set-key (kbd "<mouse-4>") (lambda() (interactive) |
||||
(scroll-down 3))) |
||||
(global-set-key (kbd "<mouse-5>") (lambda() (interactive) |
||||
(scroll-up 3))) |
||||
|
||||
;; Movement |
||||
(global-set-key (kbd "<M-down>") 'windmove-down) |
||||
(global-set-key (kbd "<M-left>") 'windmove-left) |
||||
(global-set-key (kbd "<M-right>") 'windmove-right) |
||||
(global-set-key (kbd "<M-up>") 'windmove-up) |
||||
(global-set-key (kbd "C-c <down>") 'windmove-down) |
||||
(global-set-key (kbd "C-c <left>") 'windmove-left) |
||||
(global-set-key (kbd "C-c <right>") 'windmove-right) |
||||
(global-set-key (kbd "C-c <up>") 'windmove-up) |
||||
|
||||
;; Autoload custom file |
||||
(if (file-exists-p custom-file) |
||||
(load custom-file) |
||||
(write-region "" nil custom-file)))) |
||||
|
||||
|
||||
;; Package management in Emacs has a few hiccups and this section is |
||||
;; meant to mitigate them. We will set the repositories to use and the |
||||
;; order in which to use them so that we are using stable packages |
||||
;; whenever possible. Additionally, we will install use-package if it is |
||||
;; not already present and set 'ensure' on all future use-package |
||||
;; declarations. |
||||
|
||||
(require 'package) |
||||
(setq package-user-dir "~/.emacs.d/pkg/" |
||||
package-archives |
||||
'(("GNU ELPA" . "http://elpa.gnu.org/packages/") |
||||
("MELPA Stable" . "https://stable.melpa.org/packages/") |
||||
("MELPA" . "https://melpa.org/packages/")) |
||||
package-archive-priorities |
||||
'(("MELPA Stable" . 3) |
||||
("GNU ELPA" . 2) |
||||
("MELPA" . 1))) |
||||
(package-initialize) |
||||
|
||||
(unless (package-installed-p 'use-package) |
||||
(package-refresh-contents) |
||||
(package-install 'use-package)) |
||||
|
||||
(require 'use-package) |
||||
(setq use-package-always-ensure t) |
||||
|
||||
|
||||
;; This section contains use-package definitions for any package that |
||||
;; currently ships with Emacs. If the package does not exist such as |
||||
;; with older versions, they will be installed. Extra consideration has |
||||
;; been taken to only apply settings when a package is used as to reduce |
||||
;; the time needed to initialize Emacs. |
||||
|
||||
(use-package async |
||||
:config (async-bytecomp-package-mode '(all))) |
||||
|
||||
(use-package auto-compile |
||||
:config |
||||
(auto-compile-on-load-mode) |
||||
(auto-compile-on-save-mode)) |
||||
|
||||
(use-package auto-dictionary) |
||||
|
||||
(use-package eshell |
||||
:config |
||||
(setq eshell-cmpl-cycle-completions nil |
||||
eshell-error-if-no-glob t |
||||
eshell-hist-ignoredups t |
||||
eshell-history-size 4096 |
||||
eshell-prefer-lisp-functions t |
||||
eshell-save-history-on-exit t |
||||
eshell-scroll-to-bottom-on-input nil |
||||
eshell-scroll-to-bottom-on-output nil |
||||
eshell-scroll-show-maximum-output nil |
||||
|
||||
eshell-visual-commands |
||||
'("alsamixer" "htop" "top" "nano" "vi" "vim" "less" "ssh" "tail" |
||||
"watch") |
||||
|
||||
eshell-prompt-regexp "^[^#$\n]*[#$] " |
||||
|
||||
eshell-prompt-function |
||||
(lambda nil |
||||
(concat |
||||
"[" (user-login-name) "@" (system-name) " " |
||||
(if (string= (eshell/pwd) (getenv "HOME")) |
||||
"~" (eshell/basename (eshell/pwd))) |
||||
"]" |
||||
(if (= (user-uid) 0) "# " "$ ")))) |
||||
|
||||
(defun eshell/clear() |
||||
(interactive) |
||||
(recenter 0)) |
||||
|
||||
(defun eshell-new() |
||||
"Open a new instance of eshell." |
||||
(interactive) |
||||
(eshell 'N))) |
||||
|
||||
(use-package eww |
||||
:config |
||||
(setq browse-url-browser-function 'eww-browse-url |
||||
shr-blocked-images "") |
||||
|
||||
(defun eww-toggle-images() |
||||
"Toggle blocking images in eww." |
||||
(interactive) |
||||
(if (bound-and-true-p shr-blocked-images) |
||||
(setq shr-blocked-images nil) |
||||
(setq shr-blocked-images "")) |
||||
(eww-reload)) |
||||
|
||||
(defun eww-new() |
||||
"Open a new instance of eww." |
||||
(interactive) |
||||
(let ((url (read-from-minibuffer "Enter URL or keywords: "))) |
||||
(switch-to-buffer (generate-new-buffer "*eww*")) |
||||
(eww-mode) |
||||
(eww url)))) |
||||
|
||||
(use-package gnus |
||||
:config |
||||
(gnus-add-configuration |
||||
'(article |
||||
(horizontal 1.0 |
||||
(vertical 25 (group 1.0)) |
||||
(vertical 1.0 |
||||
(summary 0.25 point) |
||||
(article 1.0))))) |
||||
(gnus-add-configuration |
||||
'(summary |
||||
(horizontal 1.0 |
||||
(vertical 25 (group 1.0)) |
||||
(vertical 1.0 (summary 1.0 point)))))) |
||||
|
||||
(use-package ibuffer |
||||
:bind ("C-x C-b" . ibuffer) |
||||
:config |
||||
(add-hook 'ibuffer-hook |
||||
(lambda() |
||||
(ibuffer-do-sort-by-alphabetic) |
||||
(ibuffer-do-sort-by-major-mode) |
||||
(ibuffer-auto-mode t)))) |
||||
|
||||
(use-package scratch |
||||
:config |
||||
(defun scratch-new() |
||||
"Open a new scratch buffer." |
||||
(interactive) |
||||
(switch-to-buffer (generate-new-buffer "*scratch*")) |
||||
(lisp-mode))) |
||||
|
||||
(use-package server |
||||
:bind ("C-x C-c" . server-stop) |
||||
:config (unless (server-running-p)(server-start)) |
||||
|
||||
(defun server-kill() |
||||
"Delete current Emacs server, then kill Emacs" |
||||
(interactive) |
||||
(if (y-or-n-p "Kill Emacs without saving? ") |
||||
(kill-emacs))) |
||||
|
||||
(defun server-stop() |
||||
"Prompt to save buffers, then kill Emacs." |
||||
(interactive) |
||||
(if (y-or-n-p "Quit Emacs? ") |
||||
(save-buffers-kill-emacs))) |
||||
|
||||
(defun server-update() |
||||
"Refresh package contents, then update all packages." |
||||
(interactive) |
||||
(package-initialize) |
||||
(unless package-archive-contents |
||||
(package-refresh-contents)) |
||||
(package-utils-upgrade-all))) |
||||
|
||||
(use-package xclip |
||||
:config (xclip-mode 1)) |
||||
|
||||
|
||||
;; This section defines additional packages which typically do not ship |
||||
;; with emacs that will be installed and configured when issued. |
||||
|
||||
(use-package circe |
||||
:config |
||||
(if (file-exists-p "~/.emacs.d/circe.el") |
||||
(load-file "~/.emacs.d/circe.el")) |
||||
|
||||
(setq circe-default-part-message "" |
||||
circe-default-quit-message "" |
||||
circe-format-server-topic "*** Topic change by {userhost}: {topic-diff}" |
||||
circe-reduce-lurker-spam t |
||||
circe-use-cycle-completion t |
||||
lui-fill-type nil |
||||
lui-flyspell-alist '((".*" "american")) |
||||
lui-flyspell-p t |
||||
lui-time-stamp-format "%H:%M:%S" |
||||
lui-time-stamp-position 'left-margin) |
||||
|
||||
(require 'circe-chanop) |
||||
(enable-circe-color-nicks) |
||||
|
||||
(defun my-circe-set-margin() (setq left-margin-width 9)) |
||||
(setf (cdr (assoc 'continuation fringe-indicator-alist)) nil) |
||||
|
||||
(defun my-lui-setup() |
||||
(setq fringes-outside-margins t |
||||
left-margin-width 9 |
||||
word-wrap t |
||||
wrap-prefix "")) |
||||
|
||||
(defun my-circe-prompt() |
||||
(lui-set-prompt |
||||
(concat (propertize |
||||
(concat (buffer-name) ">") |
||||
'face 'circe-prompt-face) " "))) |
||||
|
||||
(defun my-circe-message-option-chanserv (nick user host command args) |
||||
(when (and (string= "ChanServ" nick) |
||||
(string-match "^\\[#.+?\\]" (cadr args))) |
||||
'((dont-display . t)))) |
||||
|
||||
(add-hook 'circe-chat-mode-hook 'my-circe-prompt) |
||||
(add-hook 'circe-message-option-functions 'my-circe-message-option-chanserv) |
||||
(add-hook 'lui-mode-hook (lambda() (my-lui-setup) (my-circe-set-margin)))) |
||||
|
||||
(use-package cmake-ide |
||||
:config (cmake-ide-setup)) |
||||
|
||||
(use-package company |
||||
:config |
||||
(add-hook 'prog-mode-hook 'company-mode) |
||||
(add-hook 'text-mode-hook 'company-mode)) |
||||
|
||||
(use-package company-irony |
||||
:config (add-to-list 'company-backends 'company-irony)) |
||||
|
||||
(use-package company-irony-c-headers |
||||
:config |
||||
(add-to-list 'company-backends |
||||
'(company-irony-c-headers company-irony))) |
||||
|
||||
(use-package counsel |
||||
:bind (("<f1> f" . counsel-describe-function) |
||||
("<f1> l" . counsel-find-library) |
||||
("<f1> v" . counsel-describe-variable) |
||||
("<f2> i" . counsel-info-lookup-symbol) |
||||
("<f2> u" . counsel-unicode-char) |
||||
("C-S-o" . counsel-rhythmbox) |
||||
("C-c g" . counsel-git) |
||||
("C-c j" . counsel-git-grep) |
||||
("C-c l" . counsel-ag) |
||||
("C-r" . counsel-minibuffer-history) |
||||
("C-x C-f" . counsel-find-file) |
||||
("C-x l" . counsel-locate) |
||||
("M-x" . counsel-M-x))) |
||||
|
||||
(use-package diff-hl |
||||
:config |
||||
(add-hook 'prog-mode-hook 'diff-hl-mode) |
||||
(add-hook 'text-mode-hook 'diff-hl-mode)) |
||||
|
||||
(use-package elfeed |
||||
:bind ("C-x w" . elfeed) |
||||
:config |
||||
(setq elfeed-search-filter "@1-week-ago +unread " |
||||
url-queue-timeout 30) |
||||
|
||||
(if (file-exists-p "~/.emacs.d/elfeed.el") |
||||
(load-file "~/.emacs.d/elfeed.el"))) |
||||
|
||||
(use-package eww-lnum |
||||
:config |
||||
(define-key eww-mode-map "f" 'eww-lnum-follow) |
||||
(define-key eww-mode-map "F" 'eww-lnum-universal)) |
||||
|
||||
(use-package flycheck |
||||
:config (add-hook 'prog-mode-hook 'flycheck-mode)) |
||||
|
||||
(use-package flymake) |
||||
|
||||
(use-package flyspell |
||||
:config |
||||
(add-hook 'flyspell-mode-hook (auto-dictionary-mode 1)) |
||||
(add-hook 'markdown-mode-hook 'flyspell-mode) |
||||
(add-hook 'prog-mode-hook 'flyspell-prog-mode) |
||||
(add-hook 'text-mode-hook 'flyspell-mode)) |
||||
|
||||
(use-package go-mode |
||||
:config |
||||
(add-hook 'before-save-hook 'gofmt-before-save) |
||||
(add-hook 'go-mode-hook |
||||
(lambda() |
||||
(setq tab-width 4 |
||||
indent-tabs-mode 1)))) |
||||
|
||||
(use-package highlight-indent-guides |
||||
:config |
||||
(add-hook 'prog-mode-hook 'highlight-indent-guides-mode) |
||||
|
||||
(setq highlight-indent-guides-method 'character)) |
||||
|
||||
(use-package irony |
||||
:config |
||||
(add-hook 'c++-mode-hook 'irony-mode) |
||||
(add-hook 'c-mode-hook 'irony-mode) |
||||
(add-hook 'objc-mode-hook 'irony-mode) |
||||
(add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options) |
||||
(define-key irony-mode-map [remap completion-at-point] 'counsel-irony) |
||||
(define-key irony-mode-map [remap complete-symbol] 'counsel-irony) |
||||
|
||||
(setq irony-additional-clang-options '("-std=c++14"))) |
||||
|
||||
(use-package ivy |
||||
:bind (("C-c C-r" . ivy-resume) |
||||
("<f6>" . ivy-resume)) |
||||
:config |
||||
(ivy-mode 1) |
||||
(setq ivy-use-virtual-buffers t |
||||
enable-recursive-minibuffers t)) |
||||
|
||||
(use-package magit) |
||||
|
||||
(use-package no-littering |
||||
:config |
||||
(setq auto-save-file-name-transforms |
||||
`((".*" ,(no-littering-expand-var-file-name "auto-save/") t)))) |
||||
|
||||
(use-package nov |
||||
:config (add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode))) |
||||
|
||||
(use-package pdf-tools) |
||||
|
||||
(use-package rainbow-delimiters |
||||
:config |
||||
(add-hook 'markdown-mode-hook 'rainbow-delimiters-mode) |
||||
(add-hook 'prog-mode-hook 'rainbow-delimiters-mode) |
||||
(add-hook 'text-mode-hook 'rainbow-delimiters-mode)) |
||||
|
||||
(use-package ranger) |
||||
|
||||
(use-package smartparens |
||||
:config |
||||
(add-hook 'markdown-mode-hook 'smartparens-mode) |
||||
(add-hook 'prog-mode-hook 'smartparens-mode) |
||||
(add-hook 'text-mode-hook 'smartparens-mode) |
||||
|
||||
(setq sp-highlight-pair-overlay nil |
||||
sp-highlight-wrap-overlay nil |
||||
sp-highlight-wrap-tag-overlay nil)) |
||||
|
||||
(use-package swiper |
||||
:bind ("C-s" . swiper)) |
||||
|
||||
(use-package undo-tree |
||||
:config (global-undo-tree-mode)) |
@ -0,0 +1,222 @@
@@ -0,0 +1,222 @@
|
||||
# /etc/i3/config |
||||
|
||||
### Startup ###################################### |
||||
|
||||
## Disable DPMS |
||||
exec --no-startup-id xset s off -dpms |
||||
|
||||
## i3wm modifier key |
||||
set $mod Mod4 |
||||
|
||||
## Applications |
||||
bindsym $mod+d exec --no-startup-id dmenu_run |
||||
bindsym $mod+Return exec st |
||||
|
||||
|
||||
### Appearance ################################### |
||||
|
||||
## Font |
||||
font pango:Noto Mono Regular 9.5 |
||||
|
||||
## Taskbar |
||||
bar { |
||||
position top |
||||
status_command i3status |
||||
|
||||
colors { |
||||
background #333333 |
||||
statusline #eeeeee |
||||
separator #eeeeee |
||||
|
||||
focused_workspace #eeeeee #00894e |
||||
active_workspace #eeeeee #777777 |
||||
inactive_workspace #eeeeee #333333 |
||||
urgent_workspace #eeeeee #b22222 |
||||
} |
||||
} |
||||
|
||||
## Colors |
||||
exec --no-startup-id xsetroot -solid '#333333' |
||||
client.background #333333 |
||||
client.focused #00894e #00894e #eeeeee #30f277 #00894e |
||||
client.focused_inactive #333333 #333333 #eeeeee #888888 #333333 |
||||
client.placeholder #333333 #333333 #eeeeee #333333 #333333 |
||||
client.unfocused #333333 #333333 #888888 #888888 #333333 |
||||
client.urgent #b22222 #b22222 #eeeeee #ff5454 #b22222 |
||||
|
||||
|
||||
### System ####################################### |
||||
|
||||
## Reload |
||||
set $Config Reload i3 config (r), Live restart of i3 (Shift+r) |
||||
bindsym $mod+Shift+r mode "$Config" |
||||
mode "$Config" { |
||||
bindsym r reload |
||||
bindsym Shift+r restart |
||||
|
||||
bindsym Escape mode "default" |
||||
} |
||||
|
||||
## i3lock |
||||
set $Locker xset s 10 dpms 10 && i3lock -c 333333 -n && xset s off -dpms |
||||
|
||||
## Menu |
||||
set $System Lock (l), Logout (e), Reboot (r), Shutdown (s) |
||||
bindsym $mod+Home mode "$System" |
||||
mode "$System" { |
||||
bindsym l exec --no-startup-id $Locker, mode "default" |
||||
bindsym e exec --no-startup-id i3-msg exit, mode "default" |
||||
bindsym r exec --no-startup-id reboot, mode "default" |
||||
bindsym s exec --no-startup-id poweroff -i, mode "default" |
||||
|
||||
bindsym Escape mode "default" |
||||
} |
||||
|
||||
|
||||
### Display ###################################### |
||||
|
||||
## Auto-enable/disable displays when connected |
||||
# exec --no-startup-id \ |
||||
# while :; do \ |
||||
# Displays=$(xrandr | grep 'connected' | awk '{print $1}');\ |
||||
# for display in $Displays; do \ |
||||
# if [ $(xrandr | grep $display | awk '{print $2}') == "connected" ]; then \ |
||||
# xrandr --output $display --auto; \ |
||||
# fi; \ |
||||
# done; \ |
||||
# sleep 10; \ |
||||
# done |
||||
|
||||
|
||||
#### Keybinds #################################### |
||||
|
||||
## Window splitting |
||||
bindsym $mod+h split h |
||||
bindsym $mod+v split v |
||||
|
||||
## Fullscreen focused container |
||||
bindsym $mod+f fullscreen toggle |
||||
|
||||
## Kill focused window |
||||
bindsym $mod+Shift+q kill |
||||
|
||||
## Cycle frame layout |
||||
bindsym $mod+s layout stacking |
||||
bindsym $mod+w layout tabbed |
||||
bindsym $mod+e layout toggle split |
||||
|
||||
## Change focus |
||||
bindsym $mod+j focus left |
||||
bindsym $mod+k focus down |
||||
bindsym $mod+l focus up |
||||
bindsym $mod+semicolon focus right |
||||
bindsym $mod+Left focus left |
||||
bindsym $mod+Down focus down |
||||
bindsym $mod+Up focus up |
||||
bindsym $mod+Right focus right |
||||
|
||||
## Move focused window |
||||
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+Left move left |
||||
bindsym $mod+Shift+Down move down |
||||
bindsym $mod+Shift+Up move up |
||||
bindsym $mod+Shift+Right move right |
||||
|
||||
## Switch to workspace |
||||
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 |
||||
|
||||
## 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 |
||||
|
||||
## Focus the parent container |
||||
bindsym $mod+a focus parent |
||||
|
||||
## Drag floating windows with Mouse+$mod |
||||
floating_modifier $mod |
||||
|
||||
## Toggle floating on focused frame |
||||
bindsym $mod+Shift+space floating toggle |
||||
|
||||
## Change focus between tiling / floating windows |
||||
bindsym $mod+space focus mode_toggle |
||||
|
||||
## Floating rules |
||||
for_window [window_role="pop-up"] floating enable |
||||
|
||||
## Resize |
||||
bindsym $mod+r mode "resize" |
||||
mode "resize" { |
||||
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 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 |
||||
|
||||
bindsym Escape mode "default" |
||||
} |
||||
|
||||
|
||||
#### Multimedia ################################## |
||||
|
||||
## Screenshot (scrot) |
||||
bindsym Print exec --no-startup-id \ |
||||
scrot $HOME/Pictures/`date +%Y-%m-%d_%H:%M:%S`.png |
||||
bindsym $mod+Print exec --no-startup-id \ |
||||
scrot -u $HOME/Pictures/`date +%Y-%m-%d_%H:%M:%S`.png |
||||
bindsym Shift+Print --release exec --no-startup-id \ |
||||
scrot -s $HOME/Pictures/`date +%Y-%m-%d_%H:%M:%S`.png |
||||
|
||||
## Audio (Alsa) |
||||
# bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master 5+ |
||||
# bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master 5- |
||||
# bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle |
||||
|
||||
## Audio (PulseAudio) |
||||
# bindsym XF86AudioRaiseVolume exec --no-startup-id \ |
||||
# pactl set-sink-volume @DEFAULT_SINK@ +5% |
||||
# bindsym XF86AudioLowerVolume exec --no-startup-id \ |
||||
# pactl set-sink-volume @DEFAULT_SINK@ -5% |
||||
# bindsym XF86AudioMute exec --no-startup-id \ |
||||
# pactl set-sink-mute @DEFAULT_SINK@ toggle |
||||
# bindsym XF86AudioPlay exec --no-startup-id pactl play-pause |
||||
# bindsym XF86AudioPause exec --no-startup-id pactl pause |
||||
# bindsym XF86AudioNext exec --no-startup-id pactl next |
||||
# bindsym XF86AudioPrev exec --no-startup-id pactl previous |
||||
|
||||
## Audio (Sndio) |
||||
# bindsym XF86AudioRaiseVolume exec --no-startup-id mixerctl |
||||
# bindsym XF86AudioLowerVolume exec --no-startup-id mixerctl |
||||
# bindsym XF86AudioMute \ |
||||
# exec --no-startup-id mixerctl -t outputs.master.mute |
||||
|
||||
## Brightness (brightnessctl) |
||||
# bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set 5%+ |
||||
# bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%- |
||||
|
||||
## Brightness (xbacklight) |
||||
# bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 15 |
||||
# bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 15 |
@ -0,0 +1,47 @@
@@ -0,0 +1,47 @@
|
||||
# /etc/i3status.conf |
||||
|
||||
general { |
||||
colors = true |
||||
interval = 5 |
||||
} |
||||
|
||||
order += "ipv6" |
||||
order += "wireless _first_" |
||||
order += "ethernet _first_" |
||||
order += "volume master" |
||||
#order += "disk /" |
||||
order += "battery all" |
||||
order += "load" |
||||
order += "tztime local" |
||||
|
||||
wireless _first_ { |
||||
format_up = "W: (%quality at %essid) %ip" |
||||
format_down = "W: down" |
||||
} |
||||
|
||||
ethernet _first_ { |
||||
format_up = "E: %ip (%speed)" |
||||
format_down = "E: down" |
||||
} |
||||
|
||||
volume master { |
||||
format = "๐: %volume" |
||||
format_muted = "๐: %volume" |
||||
device = "default" |
||||
} |
||||
|
||||
disk "/" { |
||||
format = "%avail" |
||||
} |
||||
|
||||
battery all { |
||||
format = "%status %percentage %remaining" |
||||
} |
||||
|
||||
tztime local { |
||||
format = "%Y-%m-%d %H:%M:%S" |
||||
} |
||||
|
||||
load { |
||||
format = "%1min" |
||||
} |
@ -0,0 +1,19 @@
@@ -0,0 +1,19 @@
|
||||
# /etc/portage/make.conf |
||||
|
||||
# System |
||||
CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" |
||||
INPUT_DEVICES="libinput" |
||||
L10N="en-US" |
||||
LINGUAS="en_US" |
||||
VIDEO_CARDS="Video_Cards" |
||||
|
||||
# Portage |
||||
GENTOO_MIRRORS="http://distfiles.gentoo.org" |
||||
PORTDIR="/usr/portage" |
||||
DISTDIR="$PORTDIR/distfiles" |
||||
PKGDIR="$PORTDIR/packages" |
||||
|
||||
# Compilation |
||||
MAKEOPTS="Make_Opts" |
||||
CFLAGS="-O3 -march=native -pipe" |
||||
CXXFLAGS="$CFLAGS" |
@ -0,0 +1,20 @@
@@ -0,0 +1,20 @@
|
||||
# /etc/portage/package.accept_keywords |
||||
|
||||
## General |
||||
app-editors/emacs |
||||
dev-lang/go |
||||
dev-util/bcc |
||||
lxqt-base/* |
||||
media-gfx/lximage-qt |
||||
sys-devel/binutils |
||||
sys-devel/gcc |
||||
sys-kernel/gentoo-sources |
||||
sys-kernel/linux-headers |
||||
x11-misc/obconf-qt |
||||
x11-misc/pcmanfm-qt |
||||
|
||||
## amd64 |
||||
app-emulation/wine-mono ~amd64 |
||||
app-emulation/wine-staging ~amd64 |
||||
net-misc/cmst ~amd64 |
||||
sys-firmware/nvidia-firmware ~amd64 |
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
# /etc/portage/package.license |
||||
|
||||
app-emulation/virtualbox-bin PUEL |
||||
www-client/google-chrome google-chrome |
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
# /etc/portage/package.use/default |
||||
|
||||
*/* -aqua -avahi -bindist -cairo -doc -games -gnome-keyring -gtk -gtk2 -handbook -introspection -kdesu -kwallet -llvm -multilib -offensive -qt4 -sslv3 -static -static-libs -systemd -tls-heartbeat -wayland |
||||
|
||||
## Base |
||||
*/* deblob gnutls minimal threads unicode |
||||
|
||||
## Minimal |
||||
*/* dbus bzip2 zlib |
||||
|
||||
## Desktop |
||||
# */* alsa bluetooth pulseaudio |
||||
# */* ffmpeg gif imagemagick jpeg jpeg2k motif png svg tiff xpm |
||||
# */* X egl gles openal opengl sdl sdl2 vaapi vdpau xft |
@ -0,0 +1,124 @@
@@ -0,0 +1,124 @@
|
||||
# /etc/portage/package.use/multilib |
||||
|
||||
# app-accessibility/at-spi2-atk abi_x86_32 |
||||
# app-accessibility/at-spi2-core abi_x86_32 |
||||
# app-arch/bzip2 abi_x86_32 |
||||
# app-emulation/wine-gecko abi_x86_32 |
||||
# dev-db/sqlite abi_x86_32 |
||||
# dev-libs/atk abi_x86_32 |
||||
# dev-libs/expat abi_x86_32 |
||||
# dev-libs/glib abi_x86_32 |
||||
# dev-libs/gmp abi_x86_32 |
||||
# dev-libs/icu abi_x86_32 |
||||
# dev-libs/libcroco abi_x86_32 |
||||
# dev-libs/libffi abi_x86_32 |
||||
# dev-libs/libgcrypt abi_x86_32 |
||||
# dev-libs/libgpg-error abi_x86_32 |
||||
# dev-libs/libpcre abi_x86_32 |
||||
# dev-libs/libpthread-stubs abi_x86_32 |
||||
# dev-libs/libtasn1 abi_x86_32 |
||||
# dev-libs/libunistring abi_x86_32 |
||||
# dev-libs/libxml2 abi_x86_32 |
||||
# dev-libs/libxslt abi_x86_32 |
||||
# dev-libs/lzo abi_x86_32 |
||||
# dev-libs/nettle abi_x86_32 |
||||
# dev-libs/nspr abi_x86_32 |
||||
# dev-libs/nss abi_x86_32 |
||||
# dev-libs/openssl abi_x86_32 |
||||
# dev-libs/wayland abi_x86_32 |
||||
# dev-util/pkgconfig abi_x86_32 |
||||
# gnome-base/librsvg abi_x86_32 |
||||
# media-gfx/graphite2 abi_x86_32 |
||||
# media-libs/alsa-lib abi_x86_32 |
||||
# media-libs/fontconfig abi_x86_32 |
||||
# media-libs/freeglut abi_x86_32 |
||||
# media-libs/freetype abi_x86_32 |
||||
# media-libs/glu abi_x86_32 |
||||
# media-libs/harfbuzz abi_x86_32 |
||||
# media-libs/jasper abi_x86_32 |
||||
# media-libs/lcms abi_x86_32 |
||||
# media-libs/libjpeg-turbo abi_x86_32 |
||||
# media-libs/libpng abi_x86_32 |
||||
# media-libs/libsndfile abi_x86_32 |
||||
# media-libs/libtxc_dxtn abi_x86_32 |
||||
# media-libs/mesa abi_x86_32 |
||||
# media-libs/openal abi_x86_32 |
||||
# media-libs/tiff abi_x86_32 |
||||
# media-plugins/alsa-plugins abi_x86_32 |
||||
# media-sound/pulseaudio abi_x86_32 |
||||
# net-dns/libidn2 abi_x86_32 |
||||
# net-libs/gnutls abi_x86_32 |
||||
# net-libs/libasyncns abi_x86_32 |
||||
# net-misc/curl abi_x86_32 |
||||
# sys-apps/attr abi_x86_32 |
||||
# sys-apps/dbus abi_x86_32 |
||||
# sys-apps/tcp-wrappers abi_x86_32 |
||||
# sys-apps/util-linux abi_x86_32 |
||||
# sys-devel/gettext abi_x86_32 |
||||
# sys-fs/eudev abi_x86_32 |
||||
# sys-fs/udev abi_x86_32 |
||||
# sys-libs/binutils-libs abi_x86_32 |
||||
# sys-libs/gpm abi_x86_32 |
||||
# sys-libs/libcap abi_x86_32 |
||||
# sys-libs/ncurses abi_x86_32 |
||||
# sys-libs/readline abi_x86_32 |
||||
# sys-libs/zlib abi_x86_32 |
||||
# virtual/glu abi_x86_32 |
||||
# virtual/jpeg abi_x86_32 |
||||
# virtual/libffi abi_x86_32 |
||||
# virtual/libiconv abi_x86_32 |
||||
# virtual/libintl abi_x86_32 |
||||
# virtual/libudev abi_x86_32 x32 |
||||
# virtual/opengl abi_x86_32 |
||||
# virtual/pkgconfig abi_x86_32 |
||||
# x11-libs/cairo abi_x86_32 |
||||
# x11-libs/gdk-pixbuf abi_x86_32 |
||||
# x11-libs/libICE abi_x86_32 |
||||
# x11-libs/libSM abi_x86_32 |
||||
# x11-libs/libX11 abi_x86_32 |
||||
# x11-libs/libXScrnSaver abi_x86_32 |
||||
# x11-libs/libXau abi_x86_32 |
||||
# x11-libs/libXcomposite abi_x86_32 |
||||
# x11-libs/libXcursor abi_x86_32 |
||||
# x11-libs/libXdamage abi_x86_32 |
||||
# x11-libs/libXdmcp abi_x86_32 |
||||
# x11-libs/libXext abi_x86_32 |
||||
# x11-libs/libXfixes abi_x86_32 |
||||
# x11-libs/libXft abi_x86_32 |
||||
# x11-libs/libXi abi_x86_32 |
||||
# x11-libs/libXinerama abi_x86_32 |
||||
# x11-libs/libXmu abi_x86_32 |
||||
# x11-libs/libXrandr abi_x86_32 |
||||
# x11-libs/libXrender abi_x86_32 |
||||
# x11-libs/libXt abi_x86_32 |
||||
# x11-libs/libXtst abi_x86_32 |
||||
# x11-libs/libXxf86vm abi_x86_32 |
||||
# x11-libs/libdrm abi_x86_32 |
||||
# x11-libs/libpciaccess abi_x86_32 |
||||
# x11-libs/libva abi_x86_32 |
||||
# x11-libs/libva-intel-driver abi_x86_32 |
||||
# x11-libs/libvdpau abi_x86_32 |
||||
# x11-libs/libxcb abi_x86_32 |
||||
# x11-libs/libxshmfence abi_x86_32 |
||||
# x11-libs/pango abi_x86_32 |
||||
# x11-libs/pixman abi_x86_32 |
||||
# x11-proto/compositeproto abi_x86_32 |
||||
# x11-proto/damageproto abi_x86_32 |
||||
# x11-proto/dri2proto abi_x86_32 |
||||
# x11-proto/dri3proto abi_x86_32 |
||||
# x11-proto/fixesproto abi_x86_32 |
||||
# x11-proto/glproto abi_x86_32 |
||||
# x11-proto/inputproto abi_x86_32 |
||||
# x11-proto/kbproto abi_x86_32 |
||||
# x11-proto/presentproto abi_x86_32 |
||||
# x11-proto/randrproto abi_x86_32 |
||||
# x11-proto/recordproto abi_x86_32 |
||||
# x11-proto/renderproto abi_x86_32 |
||||
# x11-proto/scrnsaverproto abi_x86_32 |
||||
# x11-proto/xcb-proto abi_x86_32 |
||||
# x11-proto/xextproto abi_x86_32 |
||||
# x11-proto/xf86bigfontproto abi_x86_32 |
||||
# x11-proto/xf86driproto abi_x86_32 |
||||
# x11-proto/xf86vidmodeproto abi_x86_32 |
||||
# x11-proto/xineramaproto abi_x86_32 |
||||
# x11-proto/xproto abi_x86_32 |
@ -0,0 +1,76 @@
@@ -0,0 +1,76 @@
|
||||
# /etc/portage/package.use/packages |
||||
|
||||
app-admin/sudo -gcrypt -openssl sendmail |
||||
app-arch/zip -bzip2 |
||||
app-editors/emacs -athena acl dynamic-loading gtk3 gzip-el inotify libxml2 sound ssl xwidgets |
||||
app-editors/vim -X -minimal -perl -python -racket -tcl |
||||
app-emulation/qemu usb |
||||
app-laptop/laptop-mode-tools acpi |
||||
app-misc/screenfetch -X |
||||
app-office/libreoffice collada gltf gstreamer gtk mysql pdfimport postgres |
||||
app-text/ghostscript-gpl cups |
||||
app-text/poppler -qt5 |
||||
app-text/xmlto text |
||||
dev-games/ogre examples ois |
||||
dev-games/openscenegraph truetype |
||||
dev-lang/python:2.7 sqlite |
||||
dev-libs/libpcre pcre16 |
||||
dev-libs/libxml2 icu python |
||||
dev-qt/qtcore icu |
||||
dev-qt/qtmultimedia gstreamer qml |
||||
dev-qt/qtnetwork connman |
||||
dev-util/cmake -ncurses -qt5 |
||||
dev-util/geany gtk3 vte |
||||
dev-vcs/git -gpg |
||||
kde-frameworks/kidletime xscreensaver |
||||
kde-plasma/kde-cli-tools -X |
||||
kde-plasma/kwin multimedia |
||||
kde-plasma/systemsettings gtk |
||||
lxqt-base/lxqt-meta -oxygen about admin filemanager icons lximage powermanagement sddm |
||||
lxqt-base/lxqt-panel clock colorpicker cpuload desktopswitch kbindicator mainmenu mount quicklaunch sensors showdesktop statusnotifier sysstat taskbar tray volume |
||||
mail-client/thunderbird lightning system-cairo system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite |
||||
media-fonts/noto -cjk |
||||
media-gfx/blender boost bullet collada colorio cuda cuda cycles dds elbeem game-engine jemalloc openimageio opensubdiv player sndfile valgrind |
||||
media-gfx/feh curl exif cinerma xinerama |
||||
media-gfx/gimp smp |
||||
media-gfx/imagemagick corefonts cxx djvu fontconfig fpx fttw hdri jbig lcms lzma openexr raw opencl truetype webp wmf xml |
||||
media-gfx/inkscape latex |
||||
media-gfx/pstoedit plotutils |
||||
media-libs/harfbuzz icu |
||||
media-libs/libpng apng |
||||
media-libs/mesa -vaapi gles2 |
||||
media-libs/phonon -vlc gstreamer |
||||
media-plugins/gst-plugins-meta ogg vorbis |
||||
media-sound/cmus aac alsa flac libsamplerate mad mp4 opus oss vorbis wavpack |
||||
media-video/ffmpeg aac amr blueray cdio encode gme hevc libass mp3 network ogg openh264 openssl opus rtmp theora vorbis vpx wavpack x264 x265 xvid |
||||
media-video/mpv libass libmpv |
||||
net-misc/connman bluetooth ethernet iptables openvpn wifi |
||||
net-misc/openssh -X |
||||
net-vpn/openvpn lz4 lzo plugins |
||||
net-wireless/wpa_supplicant -qt5 |
||||
sys-apps/openrc -netifrc |
||||
sys-auth/consolekit policykit |
||||
sys-auth/pambase consolekit |
||||
sys-devel/gcc cxx nls nplt |
||||
sys-devel/llvm clang |
||||
sys-libs/libcxx libcxxabi |
||||
sys-libs/zlib minizip |
||||
www-client/chromium hangouts proprietary-codecs system-ffmpeg system-icu system-libvpx |
||||
www-client/w3m -X |
||||
www-plugins/adobe-flash ppapi |
||||
x11-base/xorg-drivers libinput |
||||
x11-base/xorg-server -minimal |
||||
x11-drivers/nvidia-drivers x86_video_abi multilib |
||||
x11-drivers/xf86-video-amdgpu glamor |
||||
x11-drivers/xf86-video-ati glamor |
||||
x11-drivers/xf86-video-intel dri3 sna |
||||
x11-drivers/xf86-video-virtualbox dri |
||||
x11-libs/cairo xcb |
||||
x11-libs/libfm vala |
||||
x11-libs/libva -egl |
||||
x11-libs/libxcb xkb |
||||
x11-misc/dmenu xinerama |
||||
x11-misc/i3status filecaps |
||||
x11-misc/sddm consolekit |
||||
x11-terms/gnome-terminal -gnome-shell -nautilus |
||||
x11-terms/rxvt-unicode 256-color blink fading-colors font-styles mousewheel perl pixbuf unicode3 |
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
# /etc/portage/repos.conf/gentoo.conf |
||||
|
||||
[DEFAULT] |
||||
main-repo = gentoo |
||||
|
||||
[gentoo] |
||||
location = /usr/portage |
||||
sync-type = git |
||||
sync-uri = https://github.com/gentoo/gentoo.git |
||||
auto-sync = yes |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
# gein-base |
||||
|
||||
app-admin/sudo |
||||
app-editors/vim |
||||
app-misc/tmux |
||||
app-text/aspell |
||||
dev-vcs/git |
||||
media-fonts/noto |
||||
media-libs/alsa-lib |
||||
media-sound/alsa-utils |
||||
net-misc/dhcpcd |
||||
sys-apps/mlocate |
||||
sys-apps/pciutils |
||||
sys-boot/grub:2 |
||||
sys-kernel/gentoo-sources |
||||
sys-kernel/linux-firmware |
||||
sys-process/htop |
||||
virtual/cron |
||||
x11-apps/xset |
||||
x11-apps/xsetroot |
||||
x11-misc/xclip |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
# gein-i3wm |
||||
|
||||
x11-misc/arandr |
||||
x11-misc/dmenu |
||||
x11-misc/i3lock |
||||
x11-misc/i3status |
||||
x11-wm/i3 |
||||
x11-terms/st |
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
# gein-laptop |
||||
|
||||
app-laptop/laptop-mode-tools |
||||
sys-power/acpilight |
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
# gein-lxqt |
||||
|
||||
kde-frameworks/breeze-icons |
||||
kde-plasma/breeze |
||||
kde-plasma/breeze-grub |
||||
kde-plasma/breeze-gtk |
||||
kde-plasma/kwin |
||||
kde-plasma/sddm-kcm |
||||
lxde-base/lxappearance |
||||
lxqt-base/lxqt-meta |
||||
net-misc/cmst |
@ -0,0 +1,36 @@
@@ -0,0 +1,36 @@
|
||||
# gein-steam |
||||
|
||||
dev-libs/glib:2 |
||||
dev-libs/libgcrypt |
||||
dev-libs/nspr |
||||
dev-libs/nss |
||||
gnome-base/gconf |
||||
media-libs/alsa-lib |
||||
media-libs/fontconfig |
||||
media-libs/freetype:2 |
||||
media-libs/libjpeg-turbo |
||||
media-libs/libogg |
||||
media-libs/libpng:1.2 |
||||
media-libs/libsdl |
||||
media-libs/libtheora |
||||
media-libs/libtxc_dxtn |
||||
media-libs/libvorbis |
||||
media-libs/openal |
||||
net-misc/curl |
||||
net-print/cups |
||||
sys-apps/dbus |
||||
virtual/libusb:1 |
||||
virtual/opengl |
||||
x11-libs/cairo |
||||
x11-libs/gdk-pixbuf |
||||
x11-libs/gtk+:2 |
||||
x11-libs/libX11 |
||||
x11-libs/libXScrnSaver |
||||
x11-libs/libXext |
||||
x11-libs/libXfixes |
||||
x11-libs/libXi |
||||
x11-libs/libXrandr |
||||
x11-libs/libXrender |
||||
x11-libs/pango |
||||
x11-libs/pixman |
||||
x11-misc/xdg-user-dirs |
@ -0,0 +1,105 @@
@@ -0,0 +1,105 @@
|
||||
# /etc/profile |
||||
|
||||
# Check for an interactive shell and set umask accordingly. Currently the |
||||
# threshold for system-reserved uid/guid's is 200 though you may check |
||||
# '/usr/share/doc/setup/uidgid' to confirm this is valid. |
||||
|
||||
case $- in |
||||
*i*) INTERACTIVE="true" ;; |
||||
|
||||
*) |
||||
if [ "$UID" -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then |
||||
# Mask current process as a daemon |
||||
umask 002 |
||||
else |
||||
# Mask current process as an initscript |
||||
umask 022 |
||||
fi |
||||
|
||||
return |
||||
esac |
||||
|
||||
# Gentoo has '/etc/profile.env' which needs to be read. Here we will |
||||
# check if it exists and source it if found. |
||||
|
||||
[ -e /etc/profile.env ] && |
||||
. /etc/profile.env |
||||
|
||||
|
||||
# OpenBSD allows setting a custom URL for pkgsrc. This section confirms |
||||
# that 'pkg_add' is an available command |
||||
|
||||
[ -e "$(command -v pkg_add)" ] && |
||||
PKG_PATH="https://mirror.leaseweb.com/openbsd" && |
||||
PKG_PATH="$PKG_PATH/snapshots/packages/amd64/" && |
||||
export PKG_PATH |
||||
|
||||
|
||||
# Setting PS1 correctly depending on the current shell can be important |
||||
# for users of non-standard shells. Here we will attempt to accommodate |
||||
# other shells if currently in use, and default to standard shell |
||||
# semantics. |
||||
|
||||
if [ -e "$BASH_VERSION" ]; then |
||||
PS1="[\u@\h \W]\$ " |
||||
elif [ -e "$ZSH_VERSION" ]; then |
||||
PS1="[%n@%M %d]$ " |
||||
else |
||||
PS1="[\u@\h \W]\$ " |
||||
fi |
||||
|
||||
|
||||
# This section defines all PATH and MANPATH locations and is mean to be a |
||||
# somewhat exhaustive list for compatibility across various systems. It |
||||
# may look quite upsetting but it works for our purposes. |
||||
|
||||
PATH="/usr/local/sbin/:/usr/local/bin:/usr/sbin:/usr/bin:/opt/bin" |
||||
PATH="$PATH:/sbin:/bin:$HOME/.local/bin:$HOME/.bin:$HOME/bin" |
||||
|
||||
[ -d /usr/X11R6/bin ] && |
||||
PATH="$PATH:/usr/X11R6/bin" |
||||
|
||||
MANPATH="/usr/man:/usr/share/man:/usr/local/man:/usr/local/share/man" |
||||
MANPATH="$MANPATH:$HOME/.local/man:$HOME/.local/share/man" |
||||
|
||||
|
||||
# This section defines our exports, including the PATH, MANPATH and PS1 |
||||
# that we defined in previous sections. |
||||
|
||||
export EDITOR="emacs -nw" |
||||
export LANG="en_US.UTF-8" |
||||
export MANPATH |
||||
export PAGER="less" |
||||
export PATH |
||||
export PROMPT_COMMAND="history -a" |
||||
export PS1 |
||||
export SSH_KEY_PATH="$HOME/.ssh/rsa_id" |
||||
|
||||
|
||||
# This section will find and source all files in '/etc/profile.d' that |
||||
# end in '.sh'. This is a mechanism to allow the use of multiple files |
||||
# that will comprise environment settings or other configurations. |
||||
|
||||
for sh in /etc/profile.d/*.sh; do |
||||
[ -r "$sh" ] && |
||||
. "$sh" |
||||
done |
||||
|
||||
|
||||
# A $USER may want to maintain local shell configuration files. The |
||||
# following section attempts to source '$HOME/.profile' along with all |
||||
# files within '$HOME/profile.d' that end in '.sh' similarly to the above |
||||
# section. |
||||
|
||||
if [ -d "$HOME"/.profile.d ]; then |
||||
for sh in $HOME/.profile.d/*.sh; do |
||||
[ -r "$sh" ] && |
||||
. "$sh" |
||||
done |
||||
fi |
||||
|
||||
|
||||
# Keeping things clean in our shell environment is rather important. Here |
||||
# we will unset any variables that are no longer needed. |
||||
|
||||
unset sh |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
# /etc/profile.d/alias.sh |
||||
|
||||
alias df="df -h" |
||||
alias ls="ls -hSF" |
||||
alias mkdir="mkdir -p" |
||||
alias mv="mv -vi" |
||||
alias rm="rm -vi" |
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
# /etc/profile.d/defaults.sh |
||||
|
||||
## User Directories |
||||
if [ "$(whoami)" != 'root' ]; then |
||||
Folders="Documents Downloads Music Pictures Projects Videos" |
||||
|
||||
for Folder in $Folders; do |
||||
[ -d "$HOME"/"$Folder" ] || |
||||
mkdir "$HOME"/"$Folder" |
||||
done |
||||
|
||||
unset Folders |
||||
fi |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
# /etc/profile.d/golang.sh |
||||
|
||||
GOPATH="$HOME/.go:$HOME/Projects" |
||||
GOBIN="$GOPATH/bin" |
||||
GODOC="$GOPATH/doc" |
||||
|
||||
export GOPATH GOBIN GODOC |
||||
export PATH="$PATH:$GOBIN" |
@ -0,0 +1,66 @@
@@ -0,0 +1,66 @@
|
||||
# /etc/profile.d/gein.sh |
||||
|
||||
gpkg() { |
||||
if [ $EUID -ne 0 ]; then |
||||
if [ -e $(command -v sudo) ]; then |
||||
SU="sudo" |
||||
else |
||||
SU="su -c" |
||||
fi |
||||
fi |
||||
|
||||
case $1 in |
||||
-S|sync) |
||||
echo "gpkg: syncing Portage..." |
||||
$SU emerge -q --sync && |
||||
echo "gpkg: Portage sync completed" |
||||
;; |
||||
|
||||
-i|install) |
||||
$SU emerge -av --quiet-build ${@:2} |
||||
;; |
||||
|
||||
-r|--remove) |
||||
$SU emerge -avc --quiet-build ${@:2} |
||||
;; |
||||
|
||||
-p|--purge) |
||||
$SU gpkg -r $(qlist -CI ${@:2}) |
||||
;; |
||||
|
||||
-c|--clean) |
||||
$SU emerge -av --depclean --quiet-build |
||||
;; |
||||
|
||||
-u|--update) |
||||
case $2 in |
||||
-w|--world) |
||||
$SU emerge -avuDU --keep-going --with-bdeps=y \ |
||||
--quiet-build @world |
||||
;; |
||||
|
||||
-s|--system) |
||||
$SU emerge -avuDN --quiet-build @system |
||||
;; |
||||
|
||||
*) |
||||
echo "gpkg: update: Available options:" |
||||
echo " -w, --world Update world packages" |
||||
echo " -s, --system Update system packages" |
||||
;; |
||||
esac |
||||
;; |
||||
|
||||
*) |
||||
echo "gpkg: Available options:" |
||||
echo " -S, --sync Sync Portage" |
||||
echo " -i, --install Install a package" |
||||
echo " -r, --remove Safely remove a package" |
||||
echo " -p, --purge Purge package and dependencies" |
||||
echo " -c, --clean Remove unneeded packages" |
||||
echo " -u, --update Update packages" |
||||
echo " -w, --world Update world packages" |
||||
echo " -s, --system Update system packages" |
||||
;; |
||||
esac |
||||
} |
@ -0,0 +1,38 @@
@@ -0,0 +1,38 @@
|
||||
# /etc/profile.d/kbuild.sh |
||||
|
||||
kbuild() { |
||||
CWD="$(pwd)" |
||||
|
||||
if [ $EUID -ne 0 ]; then |
||||
if [ -e $(command -v sudo) ]; then |
||||
SU="sudo" |
||||
else |
||||
SU="su -c" |
||||
fi |
||||
fi |
||||
|
||||
KMake="make -s -j$(grep -c ^processor /proc/cpuinfo)" |
||||
|
||||
eselect kernel list |
||||
TargetProfile="" |
||||
while [ -z "$TargetProfile" ]; do |
||||
read -ep "Which profile?: " TargetProfile |
||||
done |
||||
|
||||
if [ -n "$TargetProfile" ]; then |
||||
$SU eselect kernel set "$TargetProfile" && |
||||
cd /usr/src/linux && |
||||
$SU make menuconfig && |
||||
$SU $KMake && |
||||
$SU $KMake modules && |
||||
$SU $KMake install && |
||||
$SU $KMake modules install && |
||||
$SU grub-mkconfig -o /boot/grub/grub.cfg && |
||||
$SU emerge -av --quiet-build @module-rebuild |
||||
fi |
||||
|
||||
$SU make clean |
||||
unset KMake |
||||
|
||||
cd $CWD |
||||
} |
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
# /etc/profile.d/racket.sh |
||||
|
||||
RKTPATH="/usr/racket:/usr/local/racket" |
||||
RKTPATH="$RKTPATH:$HOME/racket:$HOME/.racket:$HOME/.local/racket" |
||||
|
||||
RKTBIN="/usr/racket/bin:/usr/local/racket/bin" |
||||
RKTBIN="$RKTBIN:$HOME/racket/bin:$HOME/.racket/bin:$HOME/.local/racket/bin" |
||||
|
||||
RKTMAN="/usr/racket/man:/usr/local/racket/man" |
||||
RKTMAN="$RKTMAN:$HOME/racket/man:$HOME/.racket/man:$HOME/.local/racket/man" |
||||
|
||||
export PATH="$PATH:$RKTBIN" |
||||
export MANPATH="$MANPATH:$RKTMAN" |
||||
|
||||
unset RKTPATH RKTBIN RKTMAN |
@ -0,0 +1,61 @@
@@ -0,0 +1,61 @@
|
||||
# /etc/tmux.conf |
||||
|
||||
### General ###################################### |
||||
|
||||
## Force reload of config file |
||||
unbind r |
||||
bind r source-file ~/.tmux.conf |
||||
|
||||
## Terminal |
||||
set-option -g xterm-keys on |
||||
set -g default-terminal "tmux-256color" |
||||
|
||||
## Keybind preference |
||||
setw -g mode-keys vi |
||||
set-option -g status-keys vi |
||||
set -g mouse on |
||||
|
||||
## Display |
||||
set -s escape-time 0 |
||||
set-option -g repeat-time 0 |
||||
set -g base-index 1 |
||||
setw -g pane-base-index 1 |
||||
|
||||
## Activate inner-most session (when nesting tmux) to send commands |
||||
bind a send-prefix |
||||
|
||||
## History |
||||
set -g history-limit 8192 |
||||
|
||||
|
||||
### Keybinds ##################################### |
||||
|
||||
## Return to previous window when prefix is pressed twice |
||||
bind C-a last-window |
||||
bind C-b last-window |
||||
|
||||
## Window cycle/swap |
||||
bind e previous-window |
||||
bind f next-window |
||||
bind E swap-window -t -1 |
||||
bind F swap-window -t +1 |
||||
bind -n M-[ previous-window |
||||
bind -n M-] next-window |
||||
|
||||
## Moving between panes |
||||
bind h select-pane -L |
||||
bind j select-pane -D |
||||
bind k select-pane -U |
||||
bind l select-pane -R |
||||
bind -n M-h select-pane -L |
||||
bind -n M-l select-pane -R |
||||
bind -n M-k select-pane -U |
||||
bind -n M-j select-pane -D |
||||
|
||||
## Easy split pane commands |
||||
unbind '"' |
||||
unbind % |
||||
bind = split-window -h |
||||
bind - split-window -v |
||||
bind -n M-= split-window -h |
||||
bind -n M-- split-window -v |
@ -0,0 +1,171 @@
@@ -0,0 +1,171 @@
|
||||
" /etc/vimrc |
||||
|
||||
""" Vim-Plug ==================================== |
||||
|
||||
if empty(glob('~/.vim/autoload/plug.vim')) |
||||
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs |
||||
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |
||||
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC |
||||
endif |
||||
|
||||
call plug#begin('~/.vim/plugged') " Minimalist Vim Plugin Manager |
||||
|
||||
|
||||
""" Settings ==================================== |
||||
|
||||
Plug 'tpope/vim-sensible' " Sensible Defaults |
||||
|
||||
set t_BE= " Disable bracketed paste |
||||
set nocompatible " be iMproved, required |
||||
set nobackup " |
||||
set noswapfile " |
||||
set termencoding=utf-8 " UTF8 as default encoding |
||||
set encoding=utf-8 " ... |
||||
set scrolloff=100 |
||||
|
||||
|
||||
""" Input ======================================= |
||||
|
||||
set mouse=a " Enable mouse support |
||||
set clipboard=unnamedplus " Share X11 clipboard |
||||
let mapleader = ',' |
||||
|
||||
" |
||||
nnoremap <C-h> <C-w>h |
||||
nnoremap <C-j> <C-w>j |
||||
nnoremap <C-k> <C-w>k |
||||
nnoremap <C-l> <C-w>l |
||||
|
||||
" Fold Mappings |
||||
inoremap <leader>z <C-O>za |
||||
nnoremap <leader>z za |
||||
onoremap <leader>z <C-C>za |
||||
vnoremap <leader>z zf |
||||
|
||||
" Use <leader>/ to clear search highlight |
||||
nmap <silent> <leader>/ :nohlsearch<CR> |
||||
|
||||
" |
||||
set pastetoggle=<F2> |
||||
set listchars=tab:\|.,trail:.,extends:#,nbsp:. |
||||
|
||||
" Write target file as sudo using 'tee' buffer |
||||
function SudoWrite() |
||||
w !sudo tee % |
||||
endfunction |
||||
|
||||
|
||||
""" Display ===================================== |
||||
|
||||
Plug 'vim-airline/vim-airline' |
||||
Plug 'vim-airline/vim-airline-themes' |
||||
let g:airline#extensions#tabline#enabled = 1 |
||||
|
||||
Plug 'edkolev/tmuxline.vim' |
||||
let g:tmuxline_powerline_separators = 0 |
||||
|
||||
if has('gui_running') |
||||
colorscheme slate |
||||
set guifont=Noto\ Mono\ Regular\ 10 |
||||
set background=dark |
||||
set guioptions-=m "remove menu bar |
||||
set guioptions-=T "remove toolbar |
||||
set guioptions-=r "remove right-hand scroll bar |
||||
set guioptions-=L "remove left-hand scroll bar |
||||
endif |
||||
|
||||
|
||||
""" Utilities =================================== |
||||
|
||||
Plug 'spolu/dwm.vim' " Tiled Window Management |
||||
Plug 'Shougo/vimfiler.vim' " Powerful file explorer |
||||
Plug 'tpope/vim-eunuch' " Helpers for UNIX |
||||
Plug 'tpope/vim-dispatch' " Async Build/Test |
||||
Plug 'benmills/vimux' " tmux Integration |
||||
|
||||
Plug 'mileszs/ack.vim' " Enhanced Grepping within Vim |
||||
if executable('ag') |
||||
let g:ackprg = 'ag --vimgrep' |
||||
endif |
||||
|
||||
Plug 'ctrlpvim/ctrlp.vim' " Fuzzy file/buffer/mru/tag/etc finder |
||||
let g:ctrlp_map = '<c-p>' |
||||
let g:ctrlp_cmd = 'CtrlP' |
||||
let g:ctrlp_custom_ignore = { |
||||
\ 'dir': '\v[\/]\.(git|hg|svn)$', |
||||
\ 'file': '\v\.(exe|so|dll)$', |
||||
\ 'link': 'some_bad_symbolic_links', |
||||
\ } |
||||
let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard'] |
||||
|
||||
Plug 'universal-ctags/ctags' " ctags implementation |
||||
Plug 'majutsushi/tagbar' " Displays tags in a window |
||||
nmap <F8> :TagbarToggle<CR> |
||||
|
||||
Plug 'francoiscabrol/ranger.vim' |
||||
|
||||
|
||||
""" Languages =================================== |
||||
|
||||
Plug 'sheerun/vim-polyglot' " Language Support |
||||
|
||||
Plug 'scrooloose/syntastic' " Syntax checking hacks for vim |
||||
nmap <leader>c :SyntasticCheck<CR> |
||||
set statusline+=%#warningmsg# |
||||
set statusline+=%{SyntasticStatuslineFlag()} |
||||
set statusline+=%* |
||||
let g:syntastic_always_populate_loc_list = 1 |
||||
let g:syntastic_auto_loc_list = 1 |
||||
let g:syntastic_check_on_open = 1 |
||||
let g:syntastic_check_on_wq = 0 |
||||
let g:syntastic_error_symbol="S>" |
||||
let g:syntastic_style_error_symbol="E>" |
||||
let g:syntastic_warning_symbol="W>" |
||||
let g:syntastic_style_warning_symbol="W>" |
||||
|
||||
Plug 'fatih/vim-go' " Go development plugin for Vim |
||||
let g:go_auto_type_info = 1 |
||||
let g:go_highlight_functions = 1 |
||||
let g:go_highlight_methods = 1 |
||||
let g:go_highlight_structs = 1 |
||||
let g:go_highlight_interfaces = 1 |
||||
let g:go_highlight_operators = 1 |
||||
let g:go_highlight_build_constraints = 1 |
||||
let g:go_highlight_extra_types = 1 |
||||
|
||||
|
||||
""" Editor ====================================== |
||||
|
||||
set tabstop=4 " Tabs are 4 columns |
||||
set shiftwidth=4 " ... |
||||
set softtabstop=4 " ... |
||||
set expandtab " Change tabs to spaces |
||||
|
||||
set list " Show whitespace |
||||
set number " Show line numbers |
||||
set wrap linebreak nolist |
||||
autocmd BufWritePre * %s/\s\+$//e " Delete trailing whitespace on save |
||||
|
||||
Plug 'tpope/vim-sleuth' " Heuristically set buffer options |
||||
Plug 'nathanaelkane/vim-indent-guides' " Visaully display indent level |
||||
|
||||
Plug 'junegunn/vim-easy-align' " Easier text alignment |
||||
xmap ga <Plug>(EasyAlign) |
||||
nmap ga <Plug>(EasyAlign) |
||||
|
||||
Plug 'ervandew/supertab' " Vim insert mode completions with Tab |
||||
Plug 'tpope/vim-surround' " Quoting/Parenthesizing made simple |
||||
Plug 'junegunn/limelight.vim' " Hyperfocus-writing in Vim |
||||
|
||||
|
||||
""" Version Control System ====================== |
||||
|
||||
Plug 'airblade/vim-gitgutter' " Show git diff in the gutter |
||||
nmap <Leader>ha <Plug>GitGutterStageHunk |
||||
nmap <Leader>hr <Plug>GitGutterUndoHunk |
||||
|
||||
Plug 'tpope/vim-fugitive' " Git wrapper |
||||
Plug 'tpope/vim-git' |