commit
ae76f32489
@ -0,0 +1,41 @@
|
||||
# Created by https://www.gitignore.io/api/vim,linux
|
||||
# Edit at https://www.gitignore.io/?templates=vim,linux
|
||||
|
||||
### Linux ###
|
||||
*~
|
||||
|
||||
# temporary files which can be created if a process still has a handle open of a deleted file
|
||||
.fuse_hidden*
|
||||
|
||||
# KDE directory preferences
|
||||
.directory
|
||||
|
||||
# Linux trash folder which might appear on any partition or disk
|
||||
.Trash-*
|
||||
|
||||
# .nfs files are created when an open file is removed but is still being accessed
|
||||
.nfs*
|
||||
|
||||
### Vim ###
|
||||
# Swap
|
||||
[._]*.s[a-v][a-z]
|
||||
[._]*.sw[a-p]
|
||||
[._]s[a-rt-v][a-z]
|
||||
[._]ss[a-gi-z]
|
||||
[._]sw[a-p]
|
||||
|
||||
# Session
|
||||
Session.vim
|
||||
|
||||
# Temporary
|
||||
.netrwhist
|
||||
# Auto-generated tag files
|
||||
tags
|
||||
# Persistent undo
|
||||
[._]*.un~
|
||||
|
||||
# End of https://www.gitignore.io/api/vim,linux
|
||||
|
||||
out
|
||||
.out.backup
|
||||
.checksums
|
@ -0,0 +1,8 @@
|
||||
name = "Base"
|
||||
|
||||
[custom]
|
||||
gtk_theme = "Materia-dark-compact"
|
||||
icon_theme = "Papirus-Dark"
|
||||
cursor_theme = "capitaine-cursors"
|
||||
terminal_padding = 8
|
||||
window_gap = 8
|
@ -0,0 +1,28 @@
|
||||
name = "Base with emoji themed Polybar"
|
||||
extends = "base"
|
||||
|
||||
[custom.polybar]
|
||||
modules_left = "i3"
|
||||
modules_center = ""
|
||||
modules_right = "eth wifi cpu memory volume batteryemoji time date xkeyboard"
|
||||
text_offset = "2"
|
||||
icon_font_scale ="8"
|
||||
antialias = "true"
|
||||
bottom = "false"
|
||||
height = "32"
|
||||
i3_label = "%icon%"
|
||||
wifi_dev = "wlp3s0"
|
||||
wifi_icon = "📡"
|
||||
eth_dev = "enp2s0"
|
||||
eth_icon = "🔌"
|
||||
cpu_icon = "💻"
|
||||
ram_icon = "🧠"
|
||||
date_icon = "📅"
|
||||
time_icon = "🕖"
|
||||
volume_icon = "🔊"
|
||||
mute_icon = "🔈"
|
||||
layout_icon = "⌨️"
|
||||
charging_icon = "🔋⬆️"
|
||||
full_charge_icon = "🔋"
|
||||
discharging_icon = "🔋⬇️"
|
||||
|
@ -0,0 +1,44 @@
|
||||
name = "base"
|
||||
|
||||
[colors.terminal]
|
||||
bg = "#000000"
|
||||
fg = "#ffffff"
|
||||
|
||||
color0 = "#080808"
|
||||
color1 = "#B21818"
|
||||
color2 = "#18B218"
|
||||
color3 = "#B26818"
|
||||
color4 = "#1818B2"
|
||||
color5 = "#B218B2"
|
||||
color6 = "#18B2B2"
|
||||
color7 = "#B2B2B2"
|
||||
color8 = "#686868"
|
||||
color9 = "#FF5454"
|
||||
color10 = "#54FF54"
|
||||
color11 = "#FFFF54"
|
||||
color12 = "#5454FF"
|
||||
color13 = "#FF54FF"
|
||||
color14 = "#54FFFF"
|
||||
color15 = "#FFFFFF"
|
||||
|
||||
[colors.base16]
|
||||
base00 = "#181818"
|
||||
base01 = "#282828"
|
||||
base02 = "#383838"
|
||||
base03 = "#585858"
|
||||
base04 = "#b8b8b8"
|
||||
base05 = "#d8d8d8"
|
||||
base06 = "#e8e8e8"
|
||||
base07 = "#f8f8f8"
|
||||
base08 = "#ab4642"
|
||||
base09 = "#dc9656"
|
||||
base0A = "#f7ca88"
|
||||
base0B = "#a1b56c"
|
||||
base0C = "#86c1b9"
|
||||
base0D = "#7cafc2"
|
||||
base0E = "#ba8baf"
|
||||
base0F = "#a16946"
|
||||
|
||||
[custom]
|
||||
vim_colorscheme = "vim.cmd('colorscheme base16-default-dark')"
|
||||
emacs_colorscheme = "doom-one"
|
@ -0,0 +1,45 @@
|
||||
name = "Dracula"
|
||||
extends = "base"
|
||||
|
||||
[colors.terminal]
|
||||
bg = "#282A36"
|
||||
fg = "#E6E6E6"
|
||||
|
||||
color0 = "#000000"
|
||||
color1 = "#FF5555"
|
||||
color2 = "#50FA7B"
|
||||
color3 = "#F1FA8C"
|
||||
color4 = "#BD93F9"
|
||||
color5 = "#FF79C6"
|
||||
color6 = "#8BE9FD"
|
||||
color7 = "#BFBFBF"
|
||||
color8 = "#4D4D4D"
|
||||
color9 = "#FF6E67"
|
||||
color10 = "#5AF78E"
|
||||
color11 = "#F4F99D"
|
||||
color12 = "#CAA9FA"
|
||||
color13 = "#FF92D0"
|
||||
color14 = "#9AEDFE"
|
||||
color15 = "#E6E6E6"
|
||||
|
||||
[colors.base16]
|
||||
base00 = "#282936"
|
||||
base01 = "#3a3c4e"
|
||||
base02 = "#4d4f68"
|
||||
base03 = "#626483"
|
||||
base04 = "#62d6e8"
|
||||
base05 = "#e9e9f4"
|
||||
base06 = "#f1f2f8"
|
||||
base07 = "#f7f7fb"
|
||||
base08 = "#ea51b2"
|
||||
base09 = "#b45bcf"
|
||||
base0A = "#ebff87"
|
||||
base0B = "#00f769"
|
||||
base0C = "#a1efe4"
|
||||
base0D = "#62d6e8"
|
||||
base0E = "#b45bcf"
|
||||
base0F = "#00f769"
|
||||
|
||||
[custom]
|
||||
vim_colorscheme = "vim.cmd('colorscheme base16-dracula')"
|
||||
emacs_colorscheme = "doom-dracula"
|
@ -0,0 +1,46 @@
|
||||
name = "OneDark"
|
||||
extends = "base"
|
||||
|
||||
[colors.terminal]
|
||||
bg = "#282C34"
|
||||
fg = "#ABB2BF"
|
||||
|
||||
color0 = "#5C6370"
|
||||
color1 = "#E06C75"
|
||||
color2 = "#98C379"
|
||||
color3 = "#E5C07B"
|
||||
color4 = "#61AFEF"
|
||||
color5 = "#C678DD"
|
||||
color6 = "#56B6C2"
|
||||
color7 = "#ABB2BF"
|
||||
color8 = "#4C566A"
|
||||
color9 = "#BE5046"
|
||||
color10 = "#98C379"
|
||||
color11 = "#D19A66"
|
||||
color12 = "#61AFEF"
|
||||
color13 = "#C678DD"
|
||||
color14 = "#56B6C2"
|
||||
color15 = "#3E4452"
|
||||
|
||||
[colors.base16]
|
||||
base00 = "#282c34"
|
||||
base01 = "#353b45"
|
||||
base02 = "#3e4451"
|
||||
base03 = "#545862"
|
||||
base04 = "#565c64"
|
||||
base05 = "#abb2bf"
|
||||
base06 = "#b6bdca"
|
||||
base07 = "#c8ccd4"
|
||||
base08 = "#e06c75"
|
||||
base09 = "#d19a66"
|
||||
base0A = "#e5c07b"
|
||||
base0B = "#98c379"
|
||||
base0C = "#56b6c2"
|
||||
base0D = "#61afef"
|
||||
base0E = "#c678dd"
|
||||
base0F = "#be5046"
|
||||
|
||||
[custom]
|
||||
# vim_colorscheme = "vim.cmd('colorscheme base16-onedark')"
|
||||
vim_colorscheme = "require('colorbuddy').colorscheme('onebuddy')"
|
||||
emacs_colorscheme = "doom-one"
|
@ -0,0 +1,57 @@
|
||||
env:
|
||||
TERM: xterm-256color
|
||||
|
||||
window:
|
||||
padding:
|
||||
x: {{appearance.terminal_padding}}
|
||||
y: {{appearance.terminal_padding}}
|
||||
|
||||
font:
|
||||
normal:
|
||||
family: {{typography.mono.font}}
|
||||
style: {{typography.mono.weight}}
|
||||
|
||||
bold:
|
||||
family: {{typography.mono.font}}
|
||||
style: {{typography.mono.bold}}
|
||||
|
||||
italic:
|
||||
family: {{typography.mono.font}}
|
||||
style: {{typography.mono.italic}}
|
||||
|
||||
bold_italic:
|
||||
family: {{typography.mono.font}}
|
||||
style: {{typography.mono.bold_italic}}
|
||||
|
||||
size: {{typography.mono.size}}
|
||||
|
||||
colors:
|
||||
primary:
|
||||
background: '{{colors.bg}}'
|
||||
foreground: '{{colors.fg}}'
|
||||
|
||||
cursor:
|
||||
text: '{{colors.bg}}'
|
||||
cursor: '{{colors.fg}}'
|
||||
|
||||
normal:
|
||||
black: '{{colors.bg}}'
|
||||
red: '{{colors.red}}'
|
||||
green: '{{colors.green}}'
|
||||
yellow: '{{colors.yellow}}'
|
||||
blue: '{{colors.blue}}'
|
||||
magenta: '{{colors.magenta}}'
|
||||
cyan: '{{colors.cyan}}'
|
||||
white: '{{colors.fg}}'
|
||||
|
||||
bright:
|
||||
black: '{{colors.comment}}'
|
||||
red: '{{colors.red}}'
|
||||
green: '{{colors.green}}'
|
||||
yellow: '{{colors.yellow}}'
|
||||
blue: '{{colors.blue}}'
|
||||
magenta: '{{colors.magenta}}'
|
||||
cyan: '{{colors.cyan}}'
|
||||
white: '{{colors.lighter_fg}}'
|
||||
|
||||
live_reload_config: true
|
@ -0,0 +1,160 @@
|
||||
# If not running interactively, don't do anything
|
||||
[[ $- != *i* ]] && return
|
||||
|
||||
# Enable bash_completion
|
||||
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
||||
. /usr/share/bash-completion/bash_completion
|
||||
fi
|
||||
|
||||
# Enable vi mode
|
||||
set -o vi
|
||||
|
||||
|
||||
# Sensible Bash - An attempt at saner Bash defaults
|
||||
# Maintainer: mrzool <http://mrzool.cc>
|
||||
# Repository: https://github.com/mrzool/bash-sensible
|
||||
# Version: 0.2.2
|
||||
|
||||
## GENERAL OPTIONS ##
|
||||
|
||||
# Prevent file overwrite on stdout redirection
|
||||
# Use `>|` to force redirection to an existing file
|
||||
set -o noclobber
|
||||
|
||||
# Update window size after every command
|
||||
shopt -s checkwinsize
|
||||
|
||||
# Automatically trim long paths in the prompt (requires Bash 4.x)
|
||||
PROMPT_DIRTRIM=2
|
||||
|
||||
# Enable history expansion with space
|
||||
# E.g. typing !!<space> will replace the !! with your last command
|
||||
bind Space:magic-space
|
||||
|
||||
# Turn on recursive globbing (enables ** to recurse all directories)
|
||||
shopt -s globstar 2> /dev/null
|
||||
|
||||
# Case-insensitive globbing (used in pathname expansion)
|
||||
shopt -s nocaseglob;
|
||||
|
||||
## SMARTER TAB-COMPLETION (Readline bindings) ##
|
||||
|
||||
# Perform file completion in a case insensitive fashion
|
||||
bind "set completion-ignore-case on"
|
||||
|
||||
# Treat hyphens and underscores as equivalent
|
||||
bind "set completion-map-case on"
|
||||
|
||||
# Display matches for ambiguous patterns at first tab press
|
||||
bind "set show-all-if-ambiguous on"
|
||||
|
||||
# Immediately add a trailing slash when autocompleting symlinks to directories
|
||||
bind "set mark-symlinked-directories on"
|
||||
|
||||
## SANE HISTORY DEFAULTS ##
|
||||
|
||||
# Append to the history file, don't overwrite it
|
||||
shopt -s histappend
|
||||
|
||||
# Save multi-line commands as one command
|
||||
shopt -s cmdhist
|
||||
|
||||
# Record each line as it gets issued
|
||||
PROMPT_COMMAND='history -a'
|
||||
|
||||
# Huge history. Doesn't appear to slow things down, so why not?
|
||||
HISTSIZE=500000
|
||||
HISTFILESIZE=100000
|
||||
|
||||
# Avoid duplicate entries
|
||||
HISTCONTROL="erasedups:ignoreboth"
|
||||
|
||||
# Don't record some commands
|
||||
export HISTIGNORE="&:[ ]*:exit:ls:bg:fg:history:clear"
|
||||
|
||||
# Use standard ISO 8601 timestamp
|
||||
# %F equivalent to %Y-%m-%d
|
||||
# %T equivalent to %H:%M:%S (24-hours format)
|
||||
HISTTIMEFORMAT='%F %T '
|
||||
|
||||
# Enable incremental history search with up/down arrows (also Readline goodness)
|
||||
# Learn more about this here: http://codeinthehole.com/writing/the-most-important-command-line-tip-incremental-history-searching-with-inputrc/
|
||||
bind '"\e[A": history-search-backward'
|
||||
bind '"\e[B": history-search-forward'
|
||||
bind '"\e[C": forward-char'
|
||||
bind '"\e[D": backward-char'
|
||||
|
||||
## BETTER DIRECTORY NAVIGATION ##
|
||||
|
||||
# Prepend cd to directory names automatically
|
||||
shopt -s autocd 2> /dev/null
|
||||
# Correct spelling errors during tab-completion
|
||||
shopt -s dirspell 2> /dev/null
|
||||
# Correct spelling errors in arguments supplied to cd
|
||||
shopt -s cdspell 2> /dev/null
|
||||
|
||||
# This defines where cd looks for targets
|
||||
# Add the directories you want to have fast access to, separated by colon
|
||||
# Ex: CDPATH=".:~:~/projects" will look for targets in the current working directory, in home and in the ~/projects folder
|
||||
CDPATH="."
|
||||
|
||||
# This allows you to bookmark your favorite places across the file system
|
||||
# Define a variable containing a path and you will be able to cd into it regardless of the directory you're in
|
||||
shopt -s cdable_vars
|
||||
|
||||
# Prompt
|
||||
|
||||
# get current branch in git repo
|
||||
function parse_git_branch() {
|
||||
BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
|
||||
if [ ! "${BRANCH}" == "" ]
|
||||
then
|
||||
STAT=`parse_git_dirty`
|
||||
echo "[${BRANCH}${STAT}]"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
# get current status of git repo
|
||||
function parse_git_dirty {
|
||||
status=`git status 2>&1 | tee`
|
||||
dirty=`echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?"`
|
||||
untracked=`echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?"`
|
||||
ahead=`echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?"`
|
||||
newfile=`echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?"`
|
||||
renamed=`echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?"`
|
||||
deleted=`echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?"`
|
||||
bits=''
|
||||
if [ "${renamed}" == "0" ]; then
|
||||
bits=">${bits}"
|
||||
fi
|
||||
if [ "${ahead}" == "0" ]; then
|
||||
bits="*${bits}"
|
||||
fi
|
||||
if [ "${newfile}" == "0" ]; then
|
||||
bits="+${bits}"
|
||||
fi
|
||||
if [ "${untracked}" == "0" ]; then
|
||||
bits="?${bits}"
|
||||
fi
|
||||
if [ "${deleted}" == "0" ]; then
|
||||
bits="x${bits}"
|
||||
fi
|
||||
if [ "${dirty}" == "0" ]; then
|
||||
bits="!${bits}"
|
||||
fi
|
||||
if [ ! "${bits}" == "" ]; then
|
||||
echo " ${bits}"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
export PS1="\[\e[95m\]\u\[\e[m\]@\[\e[96m\]\h\[\e[m\]:\w \[\e[92m\]\`parse_git_branch\`\[\e[m\] \[\e[91m\]\\$\[\e[m\] "
|
||||
|
||||
# Load environment
|
||||
[ -f "$HOME/.aliasrc" ] && source "$HOME/.envrc"
|
||||
|
||||
# load Aliases
|
||||
[ -f "$HOME/.aliasrc" ] && source "$HOME/.aliasrc"
|
@ -0,0 +1,59 @@
|
||||
# vim: ft=cfg
|
||||
[global]
|
||||
monitor = 0
|
||||
follow = none
|
||||
geometry = "300x5-24+52"
|
||||
indicate_hidden = yes
|
||||
shrink = no
|
||||
transparency = 0
|
||||
notification_height = 0
|
||||
separator_height = 0
|
||||
padding = 8
|
||||
horizontal_padding = 8
|
||||
frame_width = 3
|
||||
sort = yes
|
||||
idle_threshold = 120
|
||||
font = {{typography.mono.font}} {{typography.mono.weight}} {{typography.mono.size}}
|
||||
line_height = 0
|
||||
markup = full
|
||||
format = "%s\n%b"
|
||||
alignment = center
|
||||
show_age_threshold = 60
|
||||
word_wrap = yes
|
||||
ignore_newline = no
|
||||
stack_duplicates = true
|
||||
hide_duplicate_count = false
|
||||
show_indicators = no
|
||||
icon_position = off
|
||||
max_icon_size = 32
|
||||
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||
sticky_history = yes
|
||||
history_length = 20
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
browser = /usr/bin/chromium
|
||||
always_run_script = true
|
||||
title = Dunst
|
||||
class = Dunst
|
||||
startup_notification = false
|
||||
force_xinerama = false
|
||||
|
||||
[experimental]
|
||||
per_monitor_dpi = false
|
||||
|
||||
[urgency_low]
|
||||
background = "{{colors.bg}}"
|
||||
foreground = "{{colors.fg}}"
|
||||
frame_color = "{{colors.blue}}"
|
||||
timeout = 4
|
||||
|
||||
[urgency_normal]
|
||||
background = "{{colors.bg}}"
|
||||
foreground = "{{colors.fg}}"
|
||||
frame_color = "{{colors.green}}"
|
||||
timeout = 8
|
||||
|
||||
[urgency_critical]
|
||||
background = "{{colors.red}}"
|
||||
foreground = "{{colors.fg}}"
|
||||
frame_color = "{{colors.red}}"
|
||||
timeout = 0
|
@ -0,0 +1,194 @@
|
||||
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
|
||||
|
||||
;; Place your private configuration here! Remember, you do not need to run 'doom
|
||||
;; sync' after modifying this file!
|
||||
|
||||
|
||||
;; Some functionality uses this to identify you, e.g. GPG configuration, email
|
||||
;; clients, file templates and snippets.
|
||||
(setq user-full-name "Ian Mancini"
|
||||
user-mail-address "ianmethyst@gmail.com")
|
||||
|
||||
;; Doom exposes five (optional) variables for controlling fonts in Doom. Here
|
||||
;; are the three important ones:
|
||||
;;
|
||||
;; + `doom-font'
|
||||
;; + `doom-variable-pitch-font'
|
||||
;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for
|
||||
;; presentations or streaming.
|
||||
;;
|
||||
;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd
|
||||
;; font string. You generally only need these two:
|
||||
(setq doom-font (font-spec :family "{{typography.mono.font}}" :size {{typography.mono.size}}))
|
||||
;; doom-variable-pitch-font (font-spec :family "sans" :size 13))
|
||||
|
||||
;; There are two ways to load a theme. Both assume the theme is installed and
|
||||
;; available. You can either set `doom-theme' or manually load a theme with the
|
||||
;; `load-theme' function. This is the default:
|
||||
(setq doom-theme '{{colors.emacs_colorscheme}})
|
||||
(setq doom-themes-treemacs-theme "doom-colors")
|
||||
|
||||
;; If you use `org' and don't want your org files in the default location below,
|
||||
;; change `org-directory'. It must be set before org loads!
|
||||
(setq org-directory "~/.org/")
|
||||
|
||||
;; This determines the style of line numbers in effect. If set to `nil', line
|
||||
;; numbers are disabled. For relative line numbers, set this to `relative'.
|
||||
(setq display-line-numbers-type t)
|
||||
|
||||
|
||||
;; Here are some additional functions/macros that could help you configure Doom:
|
||||
;;
|
||||
;; - `load!' for loading external *.el files relative to this one
|
||||
;; - `use-package!' for configuring packages
|
||||
;; - `after!' for running code after a package has loaded
|
||||
;; - `add-load-path!' for adding directories to the `load-path', relative to
|
||||
;; this file. Emacs searches the `load-path' when you load packages with
|
||||
;; `require' or `use-package'.
|
||||
;; - `map!' for binding new keys
|
||||
;;
|
||||
;; To get information about any of these functions/macros, move the cursor over
|
||||
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
|
||||
;; This will open documentation for it, including demos of how they are used.
|
||||
;;
|
||||
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
||||
;; they are implemented.
|
||||
|
||||
|
||||
(use-package! org)
|
||||
(use-package! org-clock)
|
||||
|
||||
(after! org
|
||||
(setq org-modules '(ol-w3m ol-bbdb ol-bibtex ol-docview ol-gnus ol-info ol-irc ol-mhe ol-rmail ol-eww ol-bibtex))
|
||||
(setq org-latex-pdf-process (list "latexmk -shell-escape -bibtex -f -pdf %f"))
|
||||
(add-hook 'org-mode-hook 'visual-line-mode)
|
||||
(add-hook 'org-mode-hook '(lambda () (setq fill-column 80)))
|
||||
(add-hook 'org-mode-hook 'turn-on-auto-fill)
|
||||
(setq org-ellipsis " ... "
|
||||
org-bullets-bullet-list '("⁖")
|
||||
org-todo-keywords '((sequence "TODO(t)" "NEXT(n)" "WIP(i)" "INACTIVE(x)" "WAITING(w)" "|" "DONE(d)" "CANCELLED(c)"))
|
||||
org-todo-keyword-faces
|
||||
'(("TODO" :inherit +org-todo-onhold :weight normal :underline t)
|
||||
("NEXT" :inherit +org-todo-onhold :weight normal :underline t)
|
||||
("WIP" :inherit org-todo :weight normal :underline t)
|
||||
("WAITING" :inherit +org-todo-active :weight normal :underline t)
|
||||
("INACTIVE" :inherit +org-todo-active :weight normal :underline t)
|
||||
("DONE" :inherit +org-todo-project :weight normal :underline t)
|
||||
("CANCELLED" :inherit org-priority :weight normal :underline t))
|
||||
)
|
||||
(setq org-log-done 'time)
|
||||
(setq org-agenda-files (apply 'append
|
||||
(mapcar
|
||||
(lambda (directory)
|
||||
(directory-files-recursively
|
||||
directory org-agenda-file-regexp))
|
||||
'("~/.org/work/" "~/.org/projects/" "~/.org/learning/" "~/.org/calendars" "~/.org/conferences/"))))
|
||||
)
|
||||
|
||||
(use-package! org-fancy-priorities
|
||||
:after org
|
||||
:ensure t
|
||||
:hook
|
||||
(org-mode . org-fancy-priorities-mode)
|
||||
:config
|
||||
(setq org-fancy-priorities-list '("▴" "▸" "▾")))
|
||||
|
||||
(use-package! org-bullets
|
||||
:after org
|
||||
:config
|
||||
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
|
||||
|
||||
(use-package! org-ref
|
||||
:after org
|
||||
:config
|
||||
(setq bibtex-completion-pdf-field 'file)
|
||||
(defun my/org-ref-open-pdf-at-point ()
|
||||
"Open the pdf for bibtex key under point if it exists."
|
||||
(interactive)
|
||||
(let* ((results (org-ref-get-bibtex-key-and-file))
|
||||
(key (car results))
|
||||
(pdf-file (car (bibtex-completion-find-pdf key))))
|
||||
(if (file-exists-p pdf-file)
|
||||
(find-file pdf-file) ; original in org-ref-help,
|
||||
; opens external viewer (org-open-file pdf-file)
|
||||
(message "No PDF found for %s" key))))
|
||||
(setq org-ref-open-pdf-function 'find-file)
|
||||
|
||||
(setq bibtex-file "~/.org/biblio.bib"
|
||||
bibtex-completion-bibliography bibtex-file
|
||||
reftex-default-bibliography bibtex-file
|
||||
org-ref-default-bibliography (list bibtex-file)
|
||||
org-ref-completion-library 'org-ref-ivy-cite
|
||||
org-ref-bibliography-notes "~/.org/biblio-notes.org"
|
||||
org-ref-pdf-directory "~/.org/biblio-pdfs/")
|
||||
)
|
||||
|
||||
(use-package! org-roam
|
||||
:after org
|
||||
:config
|
||||
(setq org-roam-db-location "/home/ianmethyst/.local/share/emacs/org-roam.db"))
|
||||
|
||||
|
||||
(setq deft-directory "~/.org"
|
||||
deft-recursive t)
|
||||
|
||||
(setq undo-limit 100000000 ; Raise undo-limit to 100mb
|
||||
evil-want-fine-undo nil) ; By default while in insert all changes are one big blob. Be more granular
|
||||
|
||||
(setq-default delete-by-moving-to-trash t) ; Delete files to trash
|
||||
|
||||
(defvar holiday-custom-holidays nil
|
||||
"Custom holidays")
|
||||
|
||||
(setq holiday-custom-holidays
|
||||
'((holiday-fixed 1 1 "Año nuevo")
|
||||
(holiday-fixed 2 14 "San Valentín")
|
||||
(holiday-fixed 3 24 "Día Nacional de la Memoria por la Verdad y la Justicia")
|
||||
(holiday-fixed 4 1 "April Fools")
|
||||
(holiday-fixed 4 2 "Día del Veterano y de los Caídos en la Guerra de Malvinas")
|
||||
(holiday-fixed 5 1 "Día de lx trabajadorx")
|
||||
(holiday-fixed 5 25 "Día de la Revolución de Mayo")
|
||||
(holiday-fixed 6 17 "Paso a la Inmortalidad del General Martín Miguel de Güemes")
|
||||
(holiday-fixed 6 20 "Paso a la Inmortalidad del General Manuel Belgrano")
|
||||
(holiday-fixed 7 9 "Día de la Independencia")
|
||||
(holiday-fixed 8 17 "Paso a la Inmortalidad del General José de San Martín")
|
||||
(holiday-fixed 9 11 "Día de lx Maestrx")
|
||||
(holiday-fixed 9 21 "Día de lx Estudiante")
|
||||
(holiday-fixed 10 12 "Día del Respeto a la Diversidad Cultural")
|
||||
(holiday-fixed 10 31 "Halloween")
|
||||
(holiday-fixed 11 20 "Día de la Soberanía Nacional")
|
||||
(holiday-fixed 12 8 "Día de la Inmaculada Concepción de María")
|
||||
(holiday-fixed 12 25 "Navidad")))
|
||||
|
||||
(setq calendar-holidays holiday-custom-holidays)
|
||||
|
||||
|
||||
(use-package! org-caldav
|
||||
:after org
|
||||
:config
|
||||
(setq org-caldav-url "https://nextcloud.trov.ar/remote.php/dav/calendars/ianmethyst/"
|
||||
org-caldav-calendar-id "contact_birthdays"
|
||||
inbox-file (concat org-directory "calendars/nextcloud-caldav.org")
|
||||
org-caldav-files (list inbox-file)
|
||||
org-caldav-inbox inbox-file
|
||||
org-icalendar-timezone "America/Buenos_Aires"
|
||||
org-caldav-sync-direction 'cal->org)
|
||||
|
||||
(defun fix-birthdays-timestamps ()
|
||||
"Fix birthdays fetched from nextcloud with org-caldav not being repeating events."
|
||||
(let (birthdays-buffer find-replace)
|
||||
;; FIXME: This assumes the file exists
|
||||
(setq birthdays-buffer (find-file-other-window (concat org-directory "calendars/nextcloud-caldav.org")))
|
||||
;; NOTE: Remove repeating timestamps in case this function was executed previously
|
||||
(setq find-replace (lambda (patt newtext)
|
||||
(goto-char (point-min)) ;; In case buffer is open
|
||||
(while (search-forward-regexp patt nil t)
|
||||
(replace-match newtext nil t))))
|
||||
(funcall #'find-replace "\\s-+\\+1y>" ">")
|
||||
(funcall #'find-replace ">" " +1y>")
|
||||
(save-buffer)))
|
||||
|
||||
(advice-add
|
||||
'org-caldav-sync
|
||||
:after
|
||||
#'fix-birthdays-timestamps))
|
@ -0,0 +1,188 @@
|
||||
;;; init.el -*- lexical-binding: t; -*-
|
||||
|
||||
;; This file controls what Doom modules are enabled and what order they load
|
||||
;; in. Remember to run 'doom sync' after modifying it!
|
||||
|
||||
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
||||
;; documentation. There you'll find a "Module Index" link where you'll find
|
||||
;; a comprehensive list of Doom's modules and what flags they support.
|
||||
|
||||
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
||||
;; flags as well (those symbols that start with a plus).
|
||||
;;
|
||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||
;; directory (for easy access to its source code).
|
||||
|
||||
(doom! :input
|
||||
;;chinese
|
||||
;;japanese
|
||||
;;layout ; auie,ctsrnm is the superior home row
|
||||
|
||||
:completion
|
||||
(company +childframe) ; the ultimate code completion backend
|
||||
;;helm ; the *other* search engine for love and life
|
||||
;;ido ; the other *other* search engine...
|
||||
(ivy +fuzzy +prescient) ; a search engine for love and life
|
||||
|
||||
:ui
|
||||
deft ; notational velocity for Emacs
|
||||
doom ; what makes DOOM look the way it does
|
||||
doom-dashboard ; a nifty splash screen for Emacs
|
||||
doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||
;;(emoji +unicode) ; 🙂
|
||||
fill-column ; a `fill-column' indicator
|
||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||
;;hydra
|
||||
;;indent-guides ; highlighted indent columns
|
||||
ligatures ; ligatures and symbols to make your code pretty again
|
||||
;;minimap ; show a map of the code on the side
|
||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
||||
nav-flash ; blink cursor line after big motions
|
||||
;;neotree ; a project drawer, like NERDTree for vim
|
||||
ophints ; highlight the region an operation acts on
|
||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
||||
;;tabs ; a tab bar for Emacs
|
||||
treemacs ; a project drawer, like neotree but cooler
|
||||
;;unicode ; extended unicode support for various languages
|
||||
vc-gutter ; vcs diff in the fringe
|
||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||
;;window-select ; visually switch windows
|
||||
workspaces ; tab emulation, persistence & separate workspaces
|
||||
zen ; distraction-free coding or writing
|
||||
|
||||
:editor
|
||||
(evil +everywhere); come to the dark side, we have cookies
|
||||
file-templates ; auto-snippets for empty files
|
||||
fold ; (nigh) universal code folding
|
||||
;;(format +onsave) ; automated prettiness
|
||||
;;god ; run Emacs commands without modifier keys
|
||||
;;lispy ; vim for lisp, for people who don't like vim
|
||||
;;multiple-cursors ; editing in many places at once
|
||||
;;objed ; text object editing for the innocent
|
||||
;;parinfer ; turn lisp into python, sort of
|
||||
;;rotate-text ; cycle region at point between text candidates
|
||||
snippets ; my elves. They type so I don't have to
|
||||
;;word-wrap ; soft wrapping with language-aware indent
|
||||
|
||||
:emacs
|
||||
dired ; making dired pretty [functional]
|
||||
electric ; smarter, keyword-based electric-indent
|
||||
;;ibuffer ; interactive buffer management
|
||||
undo ; persistent, smarter undo for your inevitable mistakes
|
||||
vc ; version-control and Emacs, sitting in a tree
|
||||
|
||||
:term
|
||||
eshell ; the elisp shell that works everywhere
|
||||
;;shell ; simple shell REPL for Emacs
|
||||
;;term ; basic terminal emulator for Emacs
|
||||
vterm ; the best terminal emulation in Emacs
|
||||
|
||||
:checkers
|
||||
syntax ; tasing you for every semicolon you forget
|
||||
(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
;;grammar ; tasing grammar mistake every you make
|
||||
|
||||
:tools
|
||||
;;ansible
|
||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
||||
;;direnv
|
||||
;;docker
|
||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||
;;ein ; tame Jupyter notebooks with emacs
|
||||
(eval +overlay) ; run code, run (also, repls)
|
||||
;;gist ; interacting with github gists
|
||||
lookup ; navigate your code and its documentation
|
||||
;;lsp
|
||||
magit ; a git porcelain for Emacs
|
||||
;;make ; run make tasks from Emacs
|
||||
pass ; password manager for nerds
|
||||
pdf ; pdf enhancements
|
||||
;;prodigy ; FIXME managing external services & code builders
|
||||
rgb ; creating color strings
|
||||
;;taskrunner ; taskrunner for all your projects
|
||||
;;terraform ; infrastructure as code
|
||||
;;tmux ; an API for interacting with tmux
|
||||
;;upload ; map local to remote projects via ssh/ftp
|
||||
|
||||
:os
|
||||
(:if IS-MAC macos) ; improve compatibility with macOS
|
||||
tty ; improve the terminal Emacs experience
|
||||
|
||||
:lang
|
||||
;;agda ; types of types of types of types...
|
||||
;;beancount ; mind the GAAP
|
||||
;;cc ; C > C++ == 1
|
||||
;;clojure ; java with a lisp
|
||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;coq ; proofs-as-programs
|
||||
;;crystal ; ruby at the speed of c
|
||||
;;csharp ; unity, .NET, and mono shenanigans
|
||||
;;data ; config/data formats
|
||||
;;(dart +flutter) ; paint ui and not much else
|
||||
;;elixir ; erlang done right
|
||||
;;elm ; care for a cup of TEA?
|
||||
emacs-lisp ; drown in parentheses
|
||||
;;erlang ; an elegant language for a more civilized age
|
||||
;;ess ; emacs speaks statistics
|
||||
;;factor
|
||||
;;faust ; dsp, but you get to keep your soul
|
||||
;;fsharp ; ML stands for Microsoft's Language
|
||||
;;fstar ; (dependent) types and (monadic) effects and Z3
|
||||
;;gdscript ; the language you waited for
|
||||
;;(go +lsp) ; the hipster dialect
|
||||
;;(haskell +dante) ; a language that's lazier than I am
|
||||
;;hy ; readability of scheme w/ speed of python
|
||||
;;idris ; a language you can depend on
|
||||
;;json ; At least it ain't XML
|
||||
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
|
||||
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
|
||||
;;julia ; a better, faster MATLAB
|
||||
;;kotlin ; a better, slicker Java(Script)
|
||||
;;latex ; writing papers in Emacs has never been so fun
|
||||
;;lean ; for folks with too much to prove
|
||||
;;ledger ; be audit you can be
|
||||
;;lua ; one-based indices? one-based indices
|
||||
markdown ; writing docs for people to ignore
|
||||
;;nim ; python + lisp at the speed of c
|
||||
;;nix ; I hereby declare "nix geht mehr!"
|
||||
;;ocaml ; an objective camel
|
||||
(org +dragndrop +roam) ; organize your plain life in plain text
|
||||
;;php ; perl's insecure younger brother
|
||||
;;plantuml ; diagrams for confusing people more
|
||||
;;purescript ; javascript, but functional
|
||||
;;python ; beautiful is better than ugly
|
||||
;;qt ; the 'cutest' gui framework ever
|
||||
;;racket ; a DSL for DSLs
|
||||
;;raku ; the artist formerly known as perl6
|
||||
;;rest ; Emacs as a REST client
|
||||
;;rst ; ReST in peace
|
||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||
;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;scala ; java, but good
|
||||
;;(scheme +guile) ; a fully conniving family of lisps
|
||||
;;sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||
;;sml
|
||||
;;solidity ; do you need a blockchain? No.
|
||||
;;swift ; who asked for emoji variables?
|
||||
;;terra ; Earth and Moon in alignment for performance.
|
||||
;;web ; the tubes
|
||||
;;yaml ; JSON, but readable
|
||||
;;zig ; C, but simpler
|
||||
|
||||
:email
|
||||
(mu4e +gmail)
|
||||
;;notmuch
|
||||
;;(wanderlust +gmail)
|
||||
|
||||
:app
|
||||
calendar
|
||||
;;emms
|
||||
;;everywhere ; *leave* Emacs!? You must be joking
|
||||
;;irc ; how neckbeards socialize
|
||||
;;(rss +org) ; emacs as an RSS reader
|
||||
;;twitter ; twitter client https://twitter.com/vnought
|
||||
|
||||
:config
|
||||
;;literate
|
||||
(default +bindings +smartparens))
|
@ -0,0 +1,69 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; $DOOMDIR/packages.el
|
||||
|
||||
;; To install a package with Doom you must declare them here and run 'doom sync'
|
||||
;; on the command line, then restart Emacs for the changes to take effect -- or
|
||||
;; use 'M-x doom/reload'.
|
||||
|
||||
|
||||
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
|
||||
;(package! some-package)
|
||||
|
||||
;; To install a package directly from a remote git repo, you must specify a
|
||||
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
|
||||
;; https://github.com/raxod502/straight.el#the-recipe-format
|
||||
;(package! another-package
|
||||
; :recipe (:host github :repo "username/repo"))
|
||||
|
||||
;; If the package you are trying to install does not contain a PACKAGENAME.el
|
||||
;; file, or is located in a subdirectory of the repo, you'll need to specify
|
||||
;; `:files' in the `:recipe':
|
||||
;(package! this-package
|
||||
; :recipe (:host github :repo "username/repo"
|
||||
; :files ("some-file.el" "src/lisp/*.el")))
|
||||
|
||||
;; If you'd like to disable a package included with Doom, you can do so here
|
||||
;; with the `:disable' property:
|
||||
;(package! builtin-package :disable t)
|
||||
|
||||
;; You can override the recipe of a built in package without having to specify
|
||||
;; all the properties for `:recipe'. These will inherit the rest of its recipe
|
||||
;; from Doom or MELPA/ELPA/Emacsmirror:
|
||||
;(package! builtin-package :recipe (:nonrecursive t))
|
||||
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
|
||||
|
||||
;; Specify a `:branch' to install a package from a particular branch or tag.
|
||||
;; This is required for some packages whose default branch isn't 'master' (which
|
||||
;; our package manager can't deal with; see raxod502/straight.el#279)
|
||||
;(package! builtin-package :recipe (:branch "develop"))
|
||||
|
||||
;; Use `:pin' to specify a particular commit to install.
|
||||
;(package! builtin-package :pin "1a2b3c4d5e")
|
||||
|
||||
|
||||
;; Doom's packages are pinned to a specific commit and updated from release to
|
||||
;; release. The `unpin!' macro allows you to unpin single packages...
|
||||
;(unpin! pinned-package)
|
||||
;; ...or multiple packages
|
||||
;(unpin! pinned-package another-pinned-package)
|
||||
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
||||
;(unpin! t)
|
||||
|
||||
;;; Code:
|
||||
|
||||
(package! org-bullets)
|
||||
(package! ob-typescript)
|
||||
(package! org-fancy-priorities)
|
||||
(package! org-ref)
|
||||
(package! org-caldav)
|
||||
(package! org-roam-server)
|
||||
|
||||
(package! nyan-mode)
|
||||
|
||||
;; (package! org-roam-bibtex
|
||||
;; :recipe (:host github :repo "org-roam/org-roam-bibtex"))
|
||||
;; (unpin! bibtex-completion helm-bibtex ivy-bibtex)
|
||||
|
||||
;; (package! mixed-pitch)
|
||||
;; (package! telega)
|
||||
;; (package! elcord)
|
@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Neovim
|
||||
command -v vim >/dev/null && alias vi="vi" vim="vim" vimdiff="vimdiff"
|
||||
command -v nvim >/dev/null && alias vi="nvim" vim="nvim" vimdiff="nvim -d"
|
||||
|
||||
# Verbose
|
||||
alias \
|
||||
rm="rm -v" \
|
||||
mkdir="mkdir -pv" \
|
||||
dmesg="dmesg --ctime" \
|
||||
sudo='sudo ' # https://wiki.archlinux.org/index.php/Sudo#Passing_aliases
|
||||
|
||||
# Color
|
||||
alias \
|
||||
grep="grep -i --color=auto" \
|
||||
Grep="grep --color=auto" \
|
||||
diff="diff --color=auto"
|
||||
|
||||
# Xorg
|
||||
alias startx="startx ~/.xinitrc"
|
||||
|
||||
# Improved coreutils
|
||||
alias \
|
||||
ls="ls -hN --group-directories-first --color=auto" \
|
||||
ll="ls -lahN --group-directories-first --color=auto" \
|
||||
cat="bat" \
|
||||
top="gotop"\
|
||||
cp="advcp -pi" \
|
||||
mv="advmv -gi"
|
||||
|
||||
# ls="ls-icons -hN --group-directories-first --color=auto" \
|
||||
# ll="ls-icons -lahN --group-directories-first --color=auto" \
|
||||
|
||||
|
||||
# Other software
|
||||
alias \
|
||||
nnn='n' \
|
||||
N='sudo -E nnn -daH '
|
@ -0,0 +1,51 @@
|
||||
#!/bin/sh
|
||||
|
||||
# env
|
||||
export EDITOR="nvim"
|
||||
export TERMINAL="kitty"
|
||||
export VISUAL="kitty $EDITOR"
|
||||
export BROWSER="chromium"
|
||||
|
||||
# bin
|
||||
export PATH=/home/ianmethyst/.emacs.d/bin:/home/ianmethyst/.bin:/home/ianmethyst/.local/bin:$PATH
|
||||
|
||||
# Enable colors
|
||||
eval "`dircolors -b`"
|
||||
|
||||
# Add some colour to LESS/MAN pages
|
||||
export LESSOPEN="| /usr/bin/source-highlight-esc.sh %s"
|
||||
export LESS='-R'
|
||||
|
||||
export LESS_TERMCAP_mb=$'\E[01;31m'
|
||||
export LESS_TERMCAP_md=$'\E[01;33m'
|
||||
export LESS_TERMCAP_me=$'\E[0m'
|
||||
export LESS_TERMCAP_se=$'\E[0m'
|
||||
export LESS_TERMCAP_so=$'\E[01;42;30m'
|
||||
export LESS_TERMCAP_ue=$'\E[0m'
|
||||
export LESS_TERMCAP_us=$'\E[01;36m'
|
||||
|
||||
# fzf
|
||||
export FZF_DEFAULT_COMMAND='rg --hidden --ignore .git -g ""'
|
||||
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
|
||||
|
||||
# fnm
|
||||
export PATH=/home/ianmethyst/.fnm:$PATH
|
||||
eval "`fnm env --multi`"
|
||||
|
||||
# Python
|
||||
|
||||
# pip
|
||||
export PIP_REQUIRE_VIRTUALENV=false
|
||||
export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache
|
||||
export PYTHON_KEYRING_BACKEND=keyring.backends.SecretService.Keyring
|
||||
|
||||
# pyenv
|
||||
export PYENV_ROOT="$HOME/.pyenv"
|
||||
export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)"; fi
|
||||
|
||||
# pipenv
|
||||
export PIPENV_VENV_IN_PROJECT=1
|
||||
export PIPENV_SKIP_LOCK=true
|
||||
export PIPENV_PYTHON=$PYENV_ROOT/shims/python
|
||||
eval "$(pipenv --completion)"
|
@ -0,0 +1,4 @@
|
||||
XDG_DATA_HOME DEFAULT=@{HOME}/.local/share
|
||||
XDG_CONFIG_HOME DEFAULT=@{HOME}/.config
|
||||
XDG_CACHE_HOME DEFAULT=@{HOME}/.cache
|
||||
XDG_CURRENT_DESKTOP DEFAULT=XFCE
|
@ -0,0 +1,38 @@
|
||||
menu_parent Left
|
||||
menu_child Right
|
||||
menu_down Down
|
||||
menu_up Up
|
||||
|
||||
scroll_left h
|
||||
scroll_right l
|
||||
scroll_up k
|
||||
scroll_down j
|
||||
|
||||
scroll_left_page C-h
|
||||
scroll_right_page C-l
|
||||
scroll_up_page C-k
|
||||
scroll_down_page C-j
|
||||
|
||||
toggle_aliasing A
|
||||
toggle_filenames d
|
||||
toggle_pointer o
|
||||
toggle_fullscreen f
|
||||
|
||||
zoom_in plus
|
||||
zoom_out minus
|
||||
|
||||
next_img greater
|
||||
prev_img less
|
||||
reload_image r
|
||||
size_to_image w
|
||||
next_dir bracketright
|
||||
prev_dir bracketleft
|
||||
orient_3 parenright
|
||||
orient_1 parenleft
|
||||
flip underscore
|
||||
mirror bar
|
||||
remove Delete
|
||||
zoom_fit s
|
||||
zoom_default a
|
||||
|
||||
close q Q
|
@ -0,0 +1,34 @@
|
||||
<?xml version='1.0'?>
|
||||
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
|
||||
<fontconfig>
|
||||
<!-- Emoji -->
|
||||
<match target="pattern">
|
||||
<edit mode="prepend_first" name="family">
|
||||
<string>Icons</string>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="pattern">
|
||||
<edit mode="prepend_first" name="family">
|
||||
<string>{{typography.emoji.font}}</string>
|
||||
</edit>
|
||||
</match>
|
||||
<!-- Default fonts -->
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>{{typography.sans.font}}</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>{{typography.serif.font}}</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>{{typography.mono.font}}</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
@ -0,0 +1,352 @@
|
||||
###########
|
||||
# General #
|
||||
###########
|
||||
|
||||
# Using Super instead of alt
|
||||
set $mod Mod4
|
||||
|
||||
# Font
|
||||
font pango: {{typography.mono.font}} {{typography.mono.weight}} {{typography.mono.size}}
|
||||
|
||||
# Titles
|
||||
for_window [class="^.*"] title_format " %title"
|
||||
|
||||
##############
|
||||
# Workspaces #
|
||||
##############
|
||||
|
||||
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"
|
||||
|
||||
##########
|
||||
# Colors #
|
||||
##########
|
||||
|
||||
set $background {{colors.bg}}
|
||||
set $foreground {{colors.fg}}
|
||||
|
||||
set $green {{colors.green}}
|
||||
set $red {{colors.red}}
|
||||
|
||||
# BORDER BACKGROUND TEXT INDICATOR
|
||||
client.focused $green $green $background $green
|
||||
client.unfocused $background $background $foreground $background
|
||||
client.focused_inactive $background $background $foreground $background
|
||||
client.urgent $red $red $foreground $red
|
||||
|
||||
################
|
||||
# Key Bindings #
|
||||
################
|
||||
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec i3-sensible-terminal
|
||||
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# Start dmenu
|
||||
# bindsym $mod+d exec dmenu_run
|
||||
# bindsym $mod+Shift+d exec "dmenu_run -h 24 -x 12 -y 10 -w 1342 -fn 'Iosevka Nerd Font Mono-11' -nb '$background' -sb '$green' -nf '$foreground' -sf '$background'"
|
||||
|
||||
# Change focus
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
# Toggle Split in vertical/horizontal orientation
|
||||
bindsym $mod+v split toggle
|
||||
|
||||
# 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
|
||||
|
||||
# Toggle sticky
|
||||
bindsym $mod+o sticky 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
|
||||
|
||||
# Reload the configuration file
|
||||
# bindsym $mod+Shift+c reload
|
||||
|
||||
# Restart i3 inplace (preserves your layout/session, can be used to upgrde i3)
|
||||
bindsym $mod+Shift+r restart
|
||||
|
||||
# Lock
|
||||
bindsym $mod+shift+x exec betterlockscreen -l dim
|
||||
|
||||
# Program shortcuts
|
||||
|
||||
# Scrot
|
||||
bindsym --release Print exec $HOME/.bin/scrot-screen
|
||||
bindsym --release Shift+Print exec $HOME/.bin/maim-area
|
||||
bindsym --release $mod+Shift+Print exec $HOME/.bin/slop-ffmpeg-area
|
||||
|
||||
# pcmanfm
|
||||
# bindsym $mod+p exec --no-startup-id pcmanfm -n
|
||||
|
||||
# Chromium
|
||||
bindsym $mod+c exec --no-startup-id chromium
|
||||
|
||||
# Rofi
|
||||
bindsym $mod+d exec --no-startup-id rofi -show run
|
||||
bindsym $mod+Shift+w exec --no-startup-id rofi -show window
|
||||
bindsym $mod+Shift+s exec --no-startup-id rofi -show ssh
|
||||
bindsym $mod+Shift+e exec --no-startup-id rofimoji
|
||||
bindsym $mod+Shift+p exec --no-startup-id ~/.bin/rofi-passmenu
|
||||
bindsym $mod+p exec --no-startup-id ~/.bin/rofi-xrandr
|
||||
bindsym $mod+Shift+c exec --no-startup-id ~/.bin/rofi-project
|
||||
|
||||
# dunst
|
||||
bindsym $mod+Shift+d exec --no-startup-id dunstctl set-paused toggle
|
||||
bindsym $mod+Control+grave exec --no-startup-id dunstctl history-pop
|
||||
bindsym $mod+grave exec --no-startup-id dunstctl close
|
||||
|
||||
##############
|
||||
# Workspaces #
|
||||
##############
|
||||
|
||||
# Allow workspaces back and forth
|
||||
workspace_auto_back_and_forth yes
|
||||
|
||||
# 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
|
||||
bindsym $mod+Tab workspace back_and_forth
|
||||
|
||||
# Move workspace one monitor to the right
|
||||
bindsym $mod+Shift+Tab move workspace to output right
|
||||
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||
|
||||
# Assign clients to workspaces
|
||||
assign [class="^Nautilus$"] → $ws1
|
||||
assign [class="^pcmanfm$"] → $ws1
|
||||
assign [class="^Pcmanfm$"] → $ws1
|
||||
assign [class="^Thunar$"] → $ws1
|
||||
|
||||
assign [class="^Firefox$"] → $ws2
|
||||
assign [class="^Chromium$" window_role="^browser$"] → $ws2
|
||||
for_window [class="^Chromium$" window_role="^pop-up$"] floating enable
|
||||
|
||||
assign [class="^atom$"] → $ws3
|
||||
assign [class="^Atom$"] → $ws3
|
||||
assign [class="^sun-awt-X11-XFramePeer$"] → $ws3
|
||||
assign [class="^Processing$"] → $ws3
|
||||
for_window [title="^Welcome to Processing"] floating enable
|
||||
assign [class="^processing-app-Base$"] → $ws3
|
||||
for_window [title="^Java$"] floating enable
|
||||
for_window [title="^Java$"] move position center
|
||||
|
||||
assign [class="^discord$"] → $ws4
|
||||
assign [class="^telegram-desktop$"] → $ws4
|
||||
assign [class="^TelegramDesktop$"] → $ws4
|
||||
|
||||
assign [class="^cura$"] → $ws6
|
||||
assign [class="^inkscape$"] → $ws6
|
||||
assign [class="^Inkscape$"] → $ws6
|
||||
assign [class="^Darktable$"] → $ws6
|
||||
assign [class="^darktable$"] → $ws6
|
||||
assign [class="^gimp$"] → $ws6
|
||||
assign [class="^Gimp$"] → $ws6
|
||||
assign [class="^krita$"] → $ws6
|
||||
assign [class="^Blender$"] → $ws6
|
||||
assign [title="^LibreOffice$"] → $ws6
|
||||
assign [class="^libreoffice$"] → $ws6
|
||||
assign [class="^libreoffice-startcenter$"] → $ws6
|
||||
assign [class="^libreoffice-writer$"] → $ws6
|
||||
|
||||
assign [class="^Steam$"] → $ws9
|
||||
assign [title="^Steam$"] → $ws9
|
||||
for_window [class="^Unity$"] floating enable
|
||||
for_window [title="^Unity - Unity"] floating disable
|
||||
for_window [class="^Steam$"] floating enable
|
||||
for_window [class="^Steam$" title="^Steam$"] floating disable
|
||||
|
||||
for_window [class="^pavucontrol$"] floating enable
|
||||
for_window [class="^Pavucontrol$"] floating enable
|
||||
for_window [class="^arandr$"] floating enable
|
||||
for_window [class="^Arandr$"] floating enable
|
||||
|
||||
#############
|
||||
# Autostart #
|
||||
#############
|
||||
|
||||
exec_always $HOME/.bin/bg-feh $HOME/Pictures/wallpapers
|
||||
exec_always xmodmap ~/.Xmodmap
|
||||
exec_always $HOME/.bin/set-keymap
|
||||
exec_always --no-startup-id $HOME/.bin/launch-dunst
|
||||
|
||||
#exec_always compton --config $HOME/.config/compton/compton.conf
|
||||
#exec_always $HOME/.bin/conky
|
||||
|
||||
exec xautolock -time 15 -locker "betterlockscreen -l dim" -corners 0-00
|
||||
|
||||
exec pcmanfm -d
|
||||
exec discord
|
||||
exec telegram-desktop
|
||||
exec steam
|
||||
exec nm-applet
|
||||
exec blueman-applet
|
||||
exec pasystray
|
||||
exec redshift-gtk
|
||||
exec cbatticon BAT0 -l 25 -r 10
|
||||
# exec clipit
|
||||
|
||||
#########
|
||||
# Modes #
|
||||
#########
|
||||
|
||||
# Resize window (you can also use the mouse for that)
|
||||
set $mode_resize resize
|
||||
bindsym $mod+r mode "$mode_resize"
|
||||
mode "$mode_resize" {
|
||||
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
|
||||
|
||||
# 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
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
# System Menu
|
||||
set $sysmenu "[p]oweroff re[b]oot [h]ibernate [s]uspend [l]ogout"
|
||||
bindsym $mod+Delete mode $sysmenu
|
||||
|
||||
mode $sysmenu {
|
||||
bindsym r restart
|
||||
bindsym l exit
|
||||
bindsym p exec shutdown -P now
|
||||
bindsym b exec shutdown -r now
|
||||
bindsym s exec systemctl suspend
|
||||
bindsym h exec systemctl hibernate
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
|
||||
#######
|
||||
# Bar #
|
||||
#######
|
||||
|
||||
#bar {
|
||||
# status_command $HOME/.bin/launch-polybar
|
||||
#
|
||||
#}
|
||||
|
||||
exec_always --no-startup-id $HOME/.bin/launch-polybar
|
||||
|
||||
###################
|
||||
# Multimedia Keys #
|
||||
###################
|
||||
|
||||
# Volume
|
||||
|
||||
# PulseAudio
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id $HOME/.bin/manage_volume -i 2 -n
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id $HOME/.bin/manage_volume -d 2 -n
|
||||
bindsym XF86AudioMute exec --no-startup-id $HOME/.bin/manage_volume -t -n
|
||||
|
||||
# ALSA
|
||||
#bindsym XF86AudioRaiseVolume exec --no-startup-id amixer -D pulse sset Master '2%+'
|
||||
#bindsym XF86AudioLowerVolume exec --no-startup-id amixer -D pulse sset Master '2%-'
|
||||
#bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle
|
||||
|
||||
# MPC
|
||||
bindsym XF86AudioPrev exec mpc prev
|
||||
bindsym XF86AudioNext exec mpc next
|
||||
bindsym XF86AudioPlay exec mpc toggle
|
||||
bindsym XF86AudioStop exec mpc stop
|
||||
|
||||
# Sreen brightness controls
|
||||
#bindsym XF86MonBrightnessUp exec xbacklight +2
|
||||
#bindsym XF86MonBrightnessDown exec xbacklight -2
|
||||
|
||||
bindsym XF86Display exec arandr
|
||||
bindsym XF86TouchpadToggle exec pavucontrol
|
||||
|
||||
###########
|
||||
# i3-Gaps #
|
||||
###########
|
||||
|
||||
# Borders
|
||||
for_window [class="^.*"] border pixel 3
|
||||
for_window [class="^Chromium$" window_role="^browser$"] border pixel 0
|
||||
|
||||
# Set inner/outer gaps
|
||||
gaps inner 0
|
||||
gaps outer 0
|
||||
|
||||
# Smart gaps (gaps used if only more than one container on the workspace)
|
||||
# smart_gaps on
|
||||
|
||||
# Smart borders (draw borders around container only if it is not the only container on this workspace)
|
||||
smart_borders on
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1 @@
|
||||
plugin/
|
@ -0,0 +1,18 @@
|
||||
vim.g.python3_host_prog = '/usr/bin/python'
|
||||
vim.g.mapleader = ' '
|
||||
|
||||
local fn = vim.fn
|
||||
local execute = vim.api.nvim_command
|
||||
|
||||
-- Setup packer
|
||||
local install_path = fn.stdpath('data')..'/site/pack/packer/opt/packer.nvim'
|
||||
if fn.empty(fn.glob(install_path)) > 0 then
|
||||
execute('!git clone https://github.com/wbthomason/packer.nvim '..install_path)
|
||||
end
|
||||
vim.cmd [[packadd packer.nvim]]
|
||||
|
||||
vim.cmd 'autocmd BufWritePost plugins/init.lua PackerCompile' -- Auto compile when there are changes in plugins.lua
|
||||
|
||||
-- Source settings
|
||||
require('plugins')
|
||||
require('settings')
|
@ -0,0 +1,4 @@
|
||||
local utils = require('utils')
|
||||
|
||||
utils.opt('o', 'termguicolors', true)
|
||||
{{colors.vim_colorscheme}}
|
@ -0,0 +1,2 @@
|
||||
local utils = require('utils')
|
||||
utils.map('n', '<C-l>', '<cmd>noh<CR>') -- Clear highlights
|
@ -0,0 +1,33 @@
|
||||
local prettier = function()
|
||||
return {
|
||||
exe = "prettier",
|
||||
args = {"--stdin-filepath", vim.api.nvim_buf_get_name(0), '--single-quote', '--no-semi'},
|
||||
stdin = true
|
||||
}
|
||||
end
|
||||
|
||||
local black = function()
|
||||
return {
|
||||
exe = "black",
|
||||
args = {"-q", "--stdin-filename", vim.api.nvim_buf_get_name(0), "-"},
|
||||
stdin = true
|
||||
}
|
||||
end
|
||||
|
||||
require('formatter').setup({
|
||||
logging = false,
|
||||
filetype = {
|
||||
javascript = {prettier},
|
||||
javascriptreact = {prettier},
|
||||
typescript = {prettier},
|
||||
typescriptreact = {prettier},
|
||||
python = {black}
|
||||
}
|
||||
})
|
||||
|
||||
vim.api.nvim_exec([[
|
||||
augroup FormatAutogroup
|
||||
autocmd!
|
||||
autocmd BufWritePost *.js,*.ts,*.jsx,*.tsx,*.py FormatWrite
|
||||
augroup END
|
||||
]], true)
|
@ -0,0 +1,18 @@
|
||||
local utils = require("utils")
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
utils.map('n', '<leader><space>', '<cmd>lua require("fzf-lua").files()<CR>', opts)
|
||||
utils.map('n', '<leader>/', '<cmd>lua require("fzf-lua").live_grep()<CR>', opts)
|
||||
utils.map('n', '<leader>,', '<cmd>lua require("fzf-lua").buffers()<CR>', opts)
|
||||
utils.map('n', '<leader>bb', '<cmd>lua require("fzf-lua").buffers()<CR>', opts)
|
||||
utils.map('n', '<leader>hh', '<cmd>lua require("fzf-lua").help_tags()<CR>', opts)
|
||||
utils.map('n', '<leader>hm', '<cmd>lua require("fzf-lua").man_pages()<CR>', opts)
|
||||
utils.map('n', '<leader>fp', '<cmd>lua require("fzf-lua").files({ cwd = "~/.config/nvim/" })<CR>', opts)
|
||||
|
||||
require'fzf-lua'.setup {
|
||||
fzf_layout = 'default',
|
||||
grep = {
|
||||
rg_opts = "--hidden --column --line-number --no-heading " ..
|
||||
"--color=always --smart-case -g '!{.git,node_modules}/*'",
|
||||
}
|
||||
}
|
@ -0,0 +1 @@
|
||||
require('gitsigns').setup()
|
@ -0,0 +1 @@
|
||||
require('hardline').setup {}
|
@ -0,0 +1,6 @@
|
||||
local utils = require('utils')
|
||||
|
||||
utils.map('n', '<leader>i', ':IndentBlanklineToggle<CR>', {noremap = true, silent = true})
|
||||
|
||||
vim.g.indent_blankline_use_treesitter = true
|
||||
vim.g.indent_blankline_filetype_exclude = {'help','dashboard','dashpreview','coc-explorer','startify','vista','sagahover', 'lspinfo'}
|
@ -0,0 +1,149 @@
|
||||
---@diagnostic disable: undefined-global
|
||||
|
||||
return require('packer').startup(function()
|
||||
use {'wbthomason/packer.nvim', opt = true}
|
||||
|
||||
use {'ibhagwan/fzf-lua',
|
||||
requires = {
|
||||
'vijaymarupudi/nvim-fzf',
|
||||
'kyazdani42/nvim-web-devicons' -- optional for icons
|
||||
},
|
||||
config = [[require('plugins.fzf-lua')]]
|
||||
}
|
||||
|
||||
use {
|
||||
'kevinhwang91/rnvimr',
|
||||
config = [[require('plugins.rnvimr')]]
|
||||
}
|
||||
|
||||
-- File explorer
|
||||
use {
|
||||
'kyazdani42/nvim-tree.lua',
|
||||
config = [[require('plugins.nvim-tree')]]
|
||||
}
|
||||
|
||||
-- LSP config
|
||||
use {
|
||||
'neovim/nvim-lspconfig',
|
||||
config = [[require('plugins.lsp')]]
|
||||
}
|
||||
|
||||
-- Langugage specific LSP plugins
|
||||
use { 'tjdevries/nlua.nvim' }
|
||||
|
||||
-- Additional LSP plugins
|
||||
use {
|
||||
'glepnir/lspsaga.nvim',
|
||||
config = [[require('plugins.lspsaga-nvim')]]
|
||||
}
|
||||
|
||||
use { 'folke/lsp-colors.nvim' }
|
||||
|
||||
-- Outline (LSP)
|
||||
-- use { 'simrat39/symbols-outline.nvim' }
|
||||
use { 'stevearc/aerial.nvim' }
|
||||
|
||||
-- Diagnostics
|
||||
use {
|
||||
'folke/trouble.nvim',
|
||||
config = [[require('plugins.trouble-nvim')]]
|
||||
}
|
||||
|
||||
-- Tree-sitter
|
||||
use {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
run = ':TSUpdate',
|
||||
config = [[require('plugins.nvim-treesitter')]]
|
||||
}
|
||||
|
||||
-- Formatting
|
||||
use {
|
||||
'mhartington/formatter.nvim',
|
||||
config = [[require('plugins.formatter-nvim')]]
|
||||
}
|
||||
use {
|
||||
'davinche/whitespace-vim',
|
||||
config = [[require('plugins.whitespace-vim')]]
|
||||
}
|
||||
|
||||
-- Completion
|
||||
use {
|
||||
'hrsh7th/nvim-compe',
|
||||
config = [[require('plugins.nvim-compe')]]
|
||||
}
|
||||
|
||||
-- Snippets
|
||||
use { 'hrsh7th/vim-vsnip' }
|
||||
use { 'hrsh7th/vim-vsnip-integ' }
|
||||
|
||||
-- Terminal
|
||||
use {
|
||||
"akinsho/nvim-toggleterm.lua",
|
||||
config = [[require('plugins.nvim-toggleterm')]]
|
||||
}
|
||||
|
||||
-- Git
|
||||
use {
|
||||
'lewis6991/gitsigns.nvim',
|
||||
requires = { 'nvim-lua/plenary.nvim' },
|
||||
config = [[require('plugins.gitsigns-nvim')]]
|
||||
}
|
||||
use { 'tpope/vim-fugitive' }
|
||||
use {
|
||||
'kdheepak/lazygit.nvim',
|
||||
config = [[require('plugins.lazygit-nvim')]]
|
||||
}
|
||||
|
||||
-- Indent lines
|
||||
use {
|
||||
'lukas-reineke/indent-blankline.nvim',
|
||||
config = [[require('plugins.indent-blankline-nvim')]]
|
||||
}
|
||||
|
||||
-- Handy stuff
|
||||
use { 'ygm2/rooter.nvim' }
|
||||
use { 'dhruvasagar/vim-table-mode' }
|
||||
use { 'tpope/vim-eunuch' }
|
||||
|
||||
-- Statusline
|
||||
-- use {
|
||||
-- 'ojroques/nvim-hardline',
|
||||
-- config = [[require('plugins.hardline')]]
|
||||
-- }
|
||||
|
||||
use {
|
||||
'hoob3rt/lualine.nvim',
|
||||
requires = {'kyazdani42/nvim-web-devicons', opt = true},
|
||||
config = [[require('plugins.lualine')]]
|
||||
}
|
||||
|
||||
-- Syntax plugins
|
||||
use { 'euclidianAce/BetterLua.vim' }
|
||||
|
||||
-- Color highlighting
|
||||
use { 'norcalli/nvim-colorizer.lua' }
|
||||
|
||||
-- Colorschemes
|
||||
use {
|
||||
'Th3Whit3Wolf/onebuddy',
|
||||
requires = { {'tjdevries/colorbuddy.vim'} }
|
||||
}
|
||||
use { 'RRethy/nvim-base16' }
|
||||
use { 'NTBBloodbath/doom-one.nvim' }
|
||||
|
||||
-- Cursorline
|
||||
use { 'xiyaowong/nvim-cursorword' }
|
||||
-- use { 'yamatsum/nvim-cursorline' }
|
||||
|
||||
use {
|
||||
'kyazdani42/nvim-web-devicons',
|
||||
config = [[require('plugins.nvim-web-devicons')]]
|
||||
}
|
||||
|
||||
-- Python
|
||||
use {
|
||||
'petobens/poet-v',
|
||||
config = [[require('plugins.poet-v')]]
|
||||
}
|
||||
end)
|
||||
|
@ -0,0 +1,8 @@
|
||||
local utils = require('utils')
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
utils.map('n', '<leader>gg', '<cmd>LazyGit<CR>', opts)
|
||||
utils.map('n', '<leader>gc', '<cmd>LazyGitConfig<CR>', opts)
|
||||
|
||||
vim.g.lazygit_floating_window_use_plenary = 1
|
||||
vim.g.lazygit_use_neovim_remote = 1
|
@ -0,0 +1,155 @@
|
||||
local lsp = require("lspconfig")
|
||||
local aerial = require("aerial")
|
||||
|
||||
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
|
||||
vim.lsp.diagnostic.on_publish_diagnostics, {
|
||||
signs = true,
|
||||
virtual_text = true,
|
||||
underline = true
|
||||
})
|
||||
|
||||
local noremap = function(lhs, rhs, mode)
|
||||
mode = mode or 'n'
|
||||
local opts = { noremap=true, silent=true }
|
||||
vim.api.nvim_buf_set_keymap(0, mode, lhs, rhs, opts)
|
||||
end
|
||||
|
||||
local set_lsp_config = function(client, bufnr)
|
||||
print("LSP started");
|
||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
aerial.on_attach(client)
|
||||
|
||||
local mappings = {
|
||||
v = {
|
||||
['<leader>ca'] = '<cmd><C-U>Lspsaga range_code_action<CR'
|
||||
},
|
||||
n = {
|
||||
['gD'] = '<cmd>lua vim.lsp.buf.declaration()<CR>',
|
||||
['gd'] = '<cmd>lua vim.lsp.buf.definition()<CR>',
|
||||
['gi'] = '<cmd>lua vim.lsp.buf.implementation()<CR>',
|
||||
['<silent>gh'] = '<cmd>Lspsaga lsp_finder',
|
||||
['gh'] = '<cmd>Lspsaga lsp_finder<CR>',
|
||||
['<leader>ca'] = '<cmd>Lspsaga code_action<CR>',
|
||||
['K'] = '<cmd>Lspsaga hover_doc<CR>',
|
||||
['gs'] = '<cmd>Lspsaga signature_help<CR>',
|
||||
['gr'] = '<cmd>Lspsaga rename<CR>',
|
||||
['<leader>cd'] = '<cmd>Lspsaga preview_definition<CR>',
|
||||
['<leader>cX'] = '<cmd>Lspsaga show_line_diagnostics<CR>',
|
||||
['[e'] = '<cmd>Lspsaga diagnostic_jump_next<CR>',
|
||||
[']e'] = '<cmd>Lspsaga diagnostic_jump_prev<CR>',
|
||||
['<leader>co'] = '<cmd>AerialToggle!<CR>',
|
||||
['[['] = '<cmd>AerialPrevUp<CR>',
|
||||
[']]'] = '<cmd>AerialNext<CR>',
|
||||
}
|
||||
}
|
||||
|
||||
for mapping_type, map_table in pairs(mappings) do
|
||||
for lhs, rhs in pairs(map_table) do
|
||||
noremap(lhs, rhs, mapping_type)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- Lua
|
||||
require('nlua.lsp.nvim').setup(lsp, {
|
||||
on_attach = set_lsp_config,
|
||||
})
|
||||
|
||||
-- Typescript
|
||||
lsp.tsserver.setup {
|
||||
on_attach = function(client, bufnr)
|
||||
client.resolved_capabilities.document_formatting = false
|
||||
set_lsp_config(client, bufnr)
|
||||
end
|
||||
}
|
||||
|
||||
-- Python
|
||||
|
||||
lsp.pyright.setup{
|
||||
on_attach = set_lsp_config
|
||||
}
|
||||
|
||||
|
||||
-- lsp.pyls.setup{
|
||||
-- on_attach = set_lsp_config,
|
||||
-- settings = {
|
||||
-- pyls = {
|
||||
-- plugins = {
|
||||
-- jedi_completion = {enabled = false},
|
||||
-- jedi_definition = {enabled = false},
|
||||
-- yapf = {enabled = false},
|
||||
-- rope_completion = {enabled = false},
|
||||
-- pylint = {enabled = false},
|
||||
-- pyflakes = {enabled = false},
|
||||
-- pydocstyle = {enabled = false},
|
||||
-- preload = {enabled = false},
|
||||
-- mccabe = {enabled = false},
|
||||
-- jedi_symbols = {enabled = false},
|
||||
-- jedi_references = {enabled = false},
|
||||
-- }}}}
|
||||
|
||||
-- EFM
|
||||
|
||||
-- local function eslint_config_exists()
|
||||
-- local eslintrc = vim.fn.glob(".eslintrc*", 0, 1)
|
||||
--
|
||||
-- if not vim.tbl_isempty(eslintrc) then
|
||||
-- return true
|
||||
-- end
|
||||
--
|
||||
-- if vim.fn.filereadable("package.json") then
|
||||
-- if vim.fn.json_decode(vim.fn.readfile("package.json"))["eslintConfig"] then
|
||||
-- return true
|
||||
-- end
|
||||
-- end
|
||||
--
|
||||
-- return false
|
||||
-- end
|
||||
|
||||
|
||||
local eslint = {
|
||||
lintCommand = "eslint_d -f unix --stdin --stdin-filename ${INPUT}",
|
||||
lintStdin = true,
|
||||
lintFormats = {"%f:%l:%c: %m"},
|
||||
lintIgnoreExitCode = true,
|
||||
formatCommand = "eslint_d --fix-to-stdout --stdin --stdin-filename=${INPUT}",
|
||||
formatStdin = true
|
||||
}
|
||||
|
||||
local flake8 = {
|
||||
lintCommand = 'flake8 --stdin-display-name ${INPUT} -',
|
||||
lintStdin = true,
|
||||
lintFormats = {"%f:%l:%c: %m"}
|
||||
}
|
||||
|
||||
local isort = {
|
||||
formatCommand = "isort --profile black -",
|
||||
formatStdin = true,
|
||||
}
|
||||
|
||||
lsp.efm.setup {
|
||||
init_options = {
|
||||
documentFormatting = true
|
||||
},
|
||||
filetypes = {"javascript", "typescript", "javascriptreact", "typescriptreact", "python" },
|
||||
on_attach = function(client, bufnr)
|
||||
set_lsp_config(client, bufnr)
|
||||
end,
|
||||
root_dir = function()
|
||||
-- if not eslint_config_exists() then
|
||||
-- return nil
|
||||
-- end
|
||||
return vim.fn.getcwd()
|
||||
end,
|
||||
settings = {
|
||||
rootMarkers = {".eslintrc", ".eslintrc.js", ".git/", "pyproject.toml" },
|
||||
languages = {
|
||||
javascript = {eslint},
|
||||
javascriptreact = {eslint},
|
||||
typescript = {eslint},
|
||||
typescriptreact = {eslint},
|
||||
python = {flake8, isort}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
local saga = require('lspsaga')
|
||||
saga.init_lsp_saga()
|
@ -0,0 +1,78 @@
|
||||
local utils = require('utils')
|
||||
|
||||
utils.opt('o', 'completeopt', 'menuone,noselect')
|
||||
|
||||
require'compe'.setup {
|
||||
enabled = true;
|
||||
autocomplete = true;
|
||||
debug = false;
|
||||
min_length = 1;
|
||||
preselect = 'enable';
|
||||
throttle_time = 80;
|
||||
source_timeout = 200;
|
||||
incomplete_delay = 400;
|
||||
max_abbr_width = 100;
|
||||
max_kind_width = 100;
|
||||
max_menu_width = 100;
|
||||
documentation = true;
|
||||
|
||||
source = {
|
||||
path = true;
|
||||
buffer = true;
|
||||
calc = true;
|
||||
nvim_lsp = true;
|
||||
nvim_lua = true;
|
||||
vsnip = false;
|
||||
ultisnips = false;
|
||||
};
|
||||
}
|
||||
|
||||
local map_options = { silent = true, expr = true, noremap = true }
|
||||
utils.map('i', '<C-Space>', "compe#complete()", map_options)
|
||||
utils.map('i', '<CR>', "compe#confirm('<CR>')", map_options)
|
||||
utils.map('i', '<C-e>', "compe#close('<C-e')", map_options)
|
||||
utils.map('i', '<C-f>', "compe#scroll({ 'delta': +4 })", map_options)
|
||||
utils.map('i', '<C-d>', "compe#scroll({ 'delta': -4 })", map_options)
|
||||
|
||||
local t = function(str)
|
||||
return vim.api.nvim_replace_termcodes(str, true, true, true)
|
||||
end
|
||||
|
||||
local check_back_space = function()
|
||||
local col = vim.fn.col('.') - 1
|
||||
if col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
-- Use (s-)tab to:
|
||||
--- move to prev/next item in completion menuone
|
||||
--- jump to prev/next snippet's placeholder
|
||||
_G.tab_complete = function()
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
return t "<C-n>"
|
||||
elseif vim.fn.call("vsnip#available", {1}) == 1 then
|
||||
return t "<Plug>(vsnip-expand-or-jump)"
|
||||
elseif check_back_space() then
|
||||
return t "<Tab>"
|
||||
else
|
||||
return vim.fn['compe#complete']()
|
||||
end
|
||||
end
|
||||
_G.s_tab_complete = function()
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
return t "<C-p>"
|
||||
elseif vim.fn.call("vsnip#jumpable", {-1}) == 1 then
|
||||
return t "<Plug>(vsnip-jump-prev)"
|
||||
else
|
||||
-- If <S-Tab> is not working in your terminal, change it to <C-h>
|
||||
return t "<S-Tab>"
|
||||
end
|
||||
end
|
||||
|
||||
vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete()", {expr = true})
|
||||
vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete()", {expr = true})
|
||||
vim.api.nvim_set_keymap("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
|
||||
vim.api.nvim_set_keymap("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
|
@ -0,0 +1,3 @@
|
||||
local icons = require "nvim-nonicons"
|
||||
|
||||
icons.get("file")
|
@ -0,0 +1,13 @@
|
||||
require("toggleterm").setup{
|
||||
open_mapping = [[<a-`>]],
|
||||
hide_numbers = true,
|
||||
shade_terminals = true,
|
||||
shading_factor = 1,
|
||||
start_in_insert = true,
|
||||
direction = 'float',
|
||||
close_on_exit = false,
|
||||
float_opts = {
|
||||
winblend = 0,
|
||||
border = 'single',
|
||||
}
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
local utils = require('utils')
|
||||
utils.map('n', '<leader>op', '<cmd>NvimTreeToggle<CR>')
|
||||
|
||||
vim.g.nvim_tree_special_files = {}
|
||||
vim.g.nvim_tree_git_hl = 1
|
||||
vim.g.nvim_tree_follow = 1
|
||||
vim.g.nvim_tree_show_icons = {
|
||||
git = 0,
|
||||
folders = 1,
|
||||
files = 1,
|
||||
folder_arrows = 1,
|
||||
}
|
||||
|
||||
|
||||
vim.g.nvim_tree_icons = {
|
||||
default = '',
|
||||
git = {
|
||||
unstaged = '',
|
||||
staged = '',
|
||||
unmerged = '',
|
||||
renamed = '',
|
||||
untracked = '',
|
||||
deleted = '',
|
||||
ignored = ""
|
||||
},
|
||||
}
|
||||
|
||||
vim.api.nvim_exec(
|
||||
[[
|
||||
au BufEnter,BufWinEnter,WinEnter,CmdwinEnter * if bufname('%') == "NvimTree" | set laststatus=0 | else | set laststatus=2 | endif
|
||||
]],
|
||||
false
|
||||
)
|
@ -0,0 +1,25 @@
|
||||
local utils = require('utils')
|
||||
local tsconf = require'nvim-treesitter.configs'
|
||||
|
||||
if not tsconf then
|
||||
vim.cmd [[ echom 'Cannot load `nvim-treesitter.configs`' ]]
|
||||
return
|
||||
end
|
||||
|
||||
utils.opt('w', 'foldmethod', 'expr')
|
||||
utils.opt('w', 'foldexpr', 'nvim_treesitter#foldexpr()')
|
||||
|
||||
tsconf.setup {
|
||||
ensure_installed = "maintained",
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
incremental_selection = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
init_selection = "gnn",
|
||||
node_incremental = "grn",
|
||||
scope_incremental = "grc",
|
||||
node_decremental = "grm"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
require'nvim-web-devicons'.setup {
|
||||
default = true;
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
vim.g.poetv_executables = { 'poetry' }
|
||||
vim.g.poetv_auto_activate = 0
|
||||
vim.g.poetv_set_environment = 1
|
||||
|
||||
function _G.ResetPyright()
|
||||
local clients = vim.lsp.get_active_clients()
|
||||
for _, client in pairs(clients) do
|
||||
if client.name == 'pyright' then
|
||||
vim.lsp.reset(client.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
vim.api.nvim_exec([[
|
||||
augroup poetv_autocmd
|
||||
au!
|
||||
au WinEnter,BufWinEnter *.py silent |
|
||||
if &previewwindow != 1 && expand('%:p') !~# "/\\.git/"
|
||||
call poetv#activate() | v:lua.ResetPyright() |
|
||||
endif
|
||||
augroup END
|
||||
]], true)
|
||||
|
||||
return { ResetPyright = _G.ResetPyright }
|
@ -0,0 +1,7 @@
|
||||
local utils = require("utils")
|
||||
|
||||
utils.map('n', '<leader>.', '<cmd>RnvimrToggle<CR>')
|
||||
|
||||
vim.g.rnvimr_enable_ex = 0
|
||||
vim.g.rnvimr_enable_picker = 1
|
||||
vim.g.rnvimr_enable_bw = 1
|
@ -0,0 +1,30 @@
|
||||
local utils = require("utils")
|
||||
local actions = require("telescope.actions")
|
||||
|
||||
require("telescope").setup {
|
||||
defaults = {
|
||||
mappings = {
|
||||
i = {
|
||||
["<esc>"] = actions.close
|
||||
}
|
||||
}
|
||||
},
|
||||
pickers = {
|
||||
file_browser = {
|
||||
hidden = true
|
||||
},
|
||||
find_files = {
|
||||
find_command={'rg','--ignore','--hidden','--files'}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
local opts = { noremap = true, silent = true }
|
||||
utils.map('n', '<leader><space>', '<cmd>Telescope find_files<CR>', opts)
|
||||
utils.map('n', '<leader>.', '<cmd>Telescope file_browser<CR>', opts)
|
||||
utils.map('n', '<leader>/', '<cmd>Telescope live_grep<CR>', opts)
|
||||
utils.map('n', '<leader>,', '<cmd>Telescope buffers<CR>', opts)
|
||||
utils.map('n', '<leader>bb', '<cmd>Telescope buffers<CR>', opts)
|
||||
utils.map('n', '<leader>hh', '<cmd>Telescope help_tags<CR>', opts)
|
||||
utils.map('n', '<leader>hm', '<cmd>Telescope man_pages<CR>', opts)
|
||||
utils.map('n', '<leader>fp', [[<cmd>lua require('telescope.builtin').find_files{ cwd = '~/.config/nvim/' }<CR>]], opts)
|
@ -0,0 +1,2 @@
|
||||
vim.g.highlight_whitespace = 1
|
||||
vim.g.strip_whitespace_on_save = 1
|
@ -0,0 +1,8 @@
|
||||
local utils = require('utils')
|
||||
|
||||
utils.map('n', '<leader>cxx', '<cmd>TroubleToggle<CR>')
|
||||
utils.map('n', '<leader>cxw', '<cmd>TroubleToggle lsp_workspace_diagnostics<CR>')
|
||||
utils.map('n', '<leader>cxd', '<cmd>TroubleToggle lsp_document_diagnostics<CR>')
|
||||
utils.map('n', '<leader>cxq', '<cmd>TroubleToggle quickfix<CR>')
|
||||
utils.map('n', '<leader>cxl', '<cmd>TroubleToggle loclist<CR>')
|
||||
utils.map('n', '<leader>cr', '<cmd>TroubleToggle lsp_references<CR>')
|
@ -0,0 +1 @@
|
||||
vim.g.vimwiki_list = { { path = '~/.wiki' } }
|
@ -0,0 +1,2 @@
|
||||
vim.g.highlight_whitespace = 0
|
||||
vim.g.strip_whitespace_on_save = 1
|
@ -0,0 +1,34 @@
|
||||
local utils = require('utils')
|
||||
|
||||
local cmd = vim.cmd
|
||||
local indent = 4
|
||||
|
||||
cmd 'syntax enable'
|
||||
cmd 'filetype plugin indent on'
|
||||
utils.opt('b', 'expandtab', true)
|
||||
utils.opt('b', 'shiftwidth', indent)
|
||||
utils.opt('b', 'smartindent', false)
|
||||
utils.opt('b', 'autoindent', true)
|
||||
utils.opt('b', 'tabstop', indent)
|
||||
utils.opt('o', 'hidden', true)
|
||||
utils.opt('w', 'wrap', true)
|
||||
utils.opt('o', 'ignorecase', true)
|
||||
utils.opt('o', 'scrolloff', 10)
|
||||
utils.opt('o', 'shiftround', true)
|
||||
utils.opt('o', 'smartcase', true)
|
||||
utils.opt('o', 'splitbelow', true)
|
||||
utils.opt('o', 'splitright', true)
|
||||
utils.opt('o', 'wildmode', 'list:longest')
|
||||
utils.opt('w', 'number', true)
|
||||
utils.opt('w', 'relativenumber', true)
|
||||
utils.opt('w', 'foldlevel', 99)
|
||||
utils.opt('w', 'cursorline', true)
|
||||
utils.opt('o', 'clipboard','unnamed,unnamedplus')
|
||||
utils.opt('o', 'lazyredraw', true)
|
||||
utils.opt('b', 'undofile', true)
|
||||
|
||||
-- Highlight on yank
|
||||
vim.cmd 'au TextYankPost * lua vim.highlight.on_yank {on_visual = false}'
|
||||
|
||||
require('keybindings')
|
||||
require('colorscheme')
|
@ -0,0 +1,15 @@
|
||||
local utils = { }
|
||||
|
||||
local scopes = {o = vim.o, b = vim.bo, w = vim.wo}
|
||||
|
||||
function utils.opt(scope, key, value)
|
||||
scopes[scope][key] = value
|
||||
if scope ~= 'o' then scopes['o'][key] = value end
|
||||
end
|
||||
|
||||
function utils.map(mode, lhs, rhs, opts)
|
||||
opts = opts or { noremap = true }
|
||||
vim.api.nvim_set_keymap(mode, lhs, rhs, opts)
|
||||
end
|
||||
|
||||
return utils
|
@ -0,0 +1,270 @@
|
||||
[colors]
|
||||
background = {{colors.bg}}
|
||||
background-alt = {{colors.comment}}
|
||||
foreground = {{colors.fg}}
|
||||
red = {{colors.red}}
|
||||
green = {{colors.green}}
|
||||
yellow = {{colors.yellow}}
|
||||
blue= {{colors.blue}}
|
||||
purple = {{colors.magenta}}
|
||||
cyan = {{colors.cyan}}
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
||||
|
||||
[bar/bar]
|
||||
enable-ipc = true
|
||||
;monitor = ${env:MONITOR:eDP-1}
|
||||
width = 100%
|
||||
height = {{appearance.polybar.height}}
|
||||
fixed-center = true
|
||||
bottom = {{appearance.polybar.bottom}}
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
padding-left = 1
|
||||
padding-right = 1
|
||||
border-bottom-size = 0
|
||||
border-top-size = 0
|
||||
|
||||
font-0 = {{typography.mono.font}}:style={{typography.mono.weight}}:size={{typography.mono.size}}:{{appearance.polybar.antialias}};{{appearance.polybar.text_offset}}
|
||||
font-1 = {{typography.emoji.font}}:size={{typography.emoji.size}}:scale={{appearance.polybar.icon_font_scale}}:{{appearance.polybar.antialias}};{{appearance.polybar.text_offset}}
|
||||
|
||||
modules-left = {{appearance.polybar.modules_left}}
|
||||
modules-center = {{appearance.polybar.modules_center}}
|
||||
modules-right = {{appearance.polybar.modules_right}}
|
||||
tray-position =
|
||||
tray-background = ${colors.background-alt}
|
||||
tray-padding = 2
|
||||
tray-maxsize = 18
|
||||
tray-detached = true
|
||||
tray-offset-x = -4
|
||||
|
||||
[module/empty]
|
||||
type = custom/script
|
||||
|
||||
[module/rofi]
|
||||
type = custom/script
|
||||
exec = echo " "
|
||||
|
||||
format-background = ${colors.blue}
|
||||
format-foreground = ${colors.foreground}
|
||||
format-padding = 1
|
||||
|
||||
click-left = rofi -show run
|
||||
click-right = rofi -show window
|
||||
|
||||
[module/window]
|
||||
type = internal/xwindow
|
||||
label = %title%
|
||||
label-maxlen = 50
|
||||
label-foreground = ${colors.foreground}
|
||||
label-margin = 1
|
||||
label-padding = 1
|
||||
|
||||
[module/i3]
|
||||
type = internal/i3
|
||||
index-sort = true
|
||||
pin-workspaces = false
|
||||
enable-scroll = true
|
||||
wrapping-scroll = true
|
||||
|
||||
format = <label-state> <label-mode>
|
||||
|
||||
label-mode = %mode%
|
||||
label-mode-padding = 1
|
||||
label-mode-margin = 1
|
||||
label-mode-background = ${colors.yellow}
|
||||
label-mode-foreground = ${colors.background}
|
||||
|
||||
label-focused = {{appearance.polybar.i3_label}}
|
||||
label-focused-padding = 1
|
||||
label-focused-foreground = ${colors.green}
|
||||
|
||||
label-unfocused = {{appearance.polybar.i3_label}}
|
||||
label-unfocused-padding= 1
|
||||
label-unfocused-foreground = ${colors.background-alt}
|
||||
|
||||
label-urgent = {{appearance.polybar.i3_label}}
|
||||
label-urgent-padding= 1
|
||||
label-urgent-foreground = ${colors.red}
|
||||
|
||||
label-visible = {{appearance.polybar.i3_label}}
|
||||
label-visible-padding= 1
|
||||
label-visible-foreground = ${colors.purple}
|
||||
|
||||
ws-icon-0 = 1;home
|
||||
ws-icon-1 = 2;web
|
||||
ws-icon-2 = 3;vim
|
||||
ws-icon-3 = 4;chat
|
||||
ws-icon-4 = 5;music
|
||||
ws-icon-5 = 6;design
|
||||
ws-icon-6 = 7;seven
|
||||
ws-icon-7 = 8;eight
|
||||
ws-icon-8 = 9;games
|
||||
ws-icon-9 = 10;random
|
||||
ws-icon-default = ?
|
||||
|
||||
[module/wifi]
|
||||
type = internal/network
|
||||
interface = {{appearance.polybar.wifi_dev}}
|
||||
interval = 3.0
|
||||
|
||||
format-connected = <label-connected>
|
||||
label-connected = "{{appearance.polybar.wifi_icon}} %essid% (%local_ip%)"
|
||||
label-connected-padding = 1
|
||||
label-connected-margin = 0
|
||||
label-connected-foreground = ${colors.green}
|
||||
|
||||
format-disconnected = <label-disconnected>
|
||||
label-disconnected = ""
|
||||
label-disconnected-padding = 0
|
||||
label-disconnected-foreground = ${colors.background}
|
||||
|
||||
[module/eth]
|
||||
type = internal/network
|
||||
interface = {{appearance.polybar.eth_dev}}
|
||||
interval = 3.0
|
||||
|
||||
format-connected = <label-connected>
|
||||
label-connected = "{{appearance.polybar.eth_icon}} %local_ip%"
|
||||
label-connected-padding = 1
|
||||
label-connected-margin = 0
|
||||
label-connected-foreground = ${colors.green}
|
||||
|
||||
format-disconnected = <label-disconnected>
|
||||
label-disconnected = ""
|
||||
label-disconnected-padding = 0
|
||||
label-disconnected-foreground = ${colors.background}
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
label = {{appearance.polybar.cpu_icon}} %percentage%%
|
||||
label-foreground = ${colors.cyan}
|
||||
label-padding= 1
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
label= {{appearance.polybar.ram_icon}} %percentage_used%%
|
||||
label-foreground = ${colors.blue}
|
||||
label-padding = 1
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
label = "{{appearance.polybar.date_icon}} %date%"
|
||||
date = %m/%d
|
||||
time = %H:%M
|
||||
interval = 5
|
||||
|
||||
label-padding = 1
|
||||
label-foreground = ${colors.background-alt}
|
||||
|
||||
[module/time]
|
||||
type = internal/date
|
||||
label = "{{appearance.polybar.time_icon}} %time%"
|
||||
date = %m/%d
|
||||
time = %H:%M
|
||||
interval = 5
|
||||
|
||||
label-padding = 1
|
||||
label-foreground = ${colors.foreground}
|
||||
|
||||
[module/volume]
|
||||
type = internal/pulseaudio
|
||||
|
||||
format-volume = <label-volume>
|
||||
label-volume = "{{appearance.polybar.volume_icon}} %percentage%%"
|
||||
label-volume-foreground = ${colors.green}
|
||||
label-volume-padding = 1
|
||||
|
||||
label-muted = {{appearance.polybar.mute_icon}} %percentage%%
|
||||
label-muted-foreground = ${colors.red}
|
||||
label-muted-padding = 1
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
full-at = 100
|
||||
time-format = %H:%M
|
||||
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
label-charging = %percentage%%
|
||||
format-charging-foreground = ${colors.green}
|
||||
format-charging-padding = 1
|
||||
|
||||
format-full = "<label-full>"
|
||||
label-full = " %percentage%% "
|
||||
format-full-foreground= ${colors.green}
|
||||
format-full-padding = 1
|
||||
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
label-discharging = "%percentage%%"
|
||||
format-discharging-foreground = ${colors.yellow}
|
||||
format-discharging-padding = 1
|
||||
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-2 =
|
||||
animation-charging-framerate = 800
|
||||
|
||||
[module/batteryemoji]
|
||||
type = internal/battery
|
||||
full-at = 100
|
||||
time-format = %H:%M
|
||||
|
||||
format-charging = <label-charging>
|
||||
label-charging = {{appearance.polybar.charging_icon}} %percentage%%
|
||||
format-charging-foreground = ${colors.green}
|
||||
format-charging-padding = 1
|
||||
|
||||
format-full = "<label-full>"
|
||||
label-full = "{{appearance.polybar.full_charge_icon}} %percentage%% "
|
||||
format-full-foreground= ${colors.green}
|
||||
format-full-padding = 1
|
||||
|
||||
format-discharging = <label-discharging>
|
||||
label-discharging = "{{appearance.polybar.discharging_icon}} %percentage%%"
|
||||
format-discharging-foreground = ${colors.yellow}
|
||||
format-discharging-padding = 1
|
||||
|
||||
[module/mpd]
|
||||
type = internal/mpd
|
||||
|
||||
format-online = <label-song> <label-time>
|
||||
format-online-spacing = 0
|
||||
format-online-padding = 2
|
||||
format-online-margin = 1
|
||||
format-online-background = ${colors.background}
|
||||
|
||||
format-offline = <label-offline>
|
||||
format-offline-foreground = ${colors.background-alt}
|
||||
format-offline-background = ${colors.background}
|
||||
format-offline-padding = 2
|
||||
format-offline-margin = 1
|
||||
|
||||
label-offline = "mpd is off"
|
||||
format-paused-foreground = ${colors.background-alt}
|
||||
|
||||
label-song-maxlen = 50
|
||||
label-song-ellipsis = true
|
||||
|
||||
label-time-foreground = ${colors.background-alt}
|
||||
|
||||
[module/xkeyboard]
|
||||
type = internal/xkeyboard
|
||||
|
||||
blacklist-0 = num lock
|
||||
;label-layout = " %layout%"
|
||||
label-layout = {{appearance.polybar.layout_icon}} %layout%
|
||||
label-layout-foreground = ${colors.purple}
|
||||
label-layout-padding = 1
|
||||
|
||||
label-indicator-foreground = ${colors.red}
|
||||
|
||||
; vim:ft=dosini
|
@ -0,0 +1,104 @@
|
||||
chooser.files.native=true
|
||||
console.auto_clear=true
|
||||
console.font.size={{typography.mono.size}}
|
||||
console.lines=1
|
||||
console.scrollback.chars=40000
|
||||
console.scrollback.lines=500
|
||||
contribution.backup.on_install=true
|
||||
contribution.backup.on_remove=true
|
||||
editor.caret.blink=true
|
||||
editor.caret.block=false
|
||||
editor.completion.auto_close=false
|
||||
editor.font.family={{typography.mono.font}} {{typography.mono.weight}}
|
||||
editor.font.size={{typography.mono.size}}
|
||||
editor.indent=true
|
||||
editor.input_method_support=false
|
||||
editor.keys.alternative_cut_copy_paste=true
|
||||
editor.keys.home_and_end_travel_far=false
|
||||
editor.keys.home_and_end_travel_smart=true
|
||||
editor.keys.shift_backspace_is_delete=false
|
||||
editor.laf=javax.swing.plaf.nimbus.NimbusLookAndFeel
|
||||
editor.smooth=true
|
||||
editor.tabs.expand=true
|
||||
editor.tabs.size=2
|
||||
editor.token.comment1.style={{colors.blue}},plain
|
||||
editor.token.comment2.style={{colors.comment}},plain
|
||||
editor.token.function1.style={{colors.blue}},plain
|
||||
editor.token.function2.style={{colors.blue}},plain
|
||||
editor.token.function3.style={{colors.green}},plain
|
||||
editor.token.function4.style={{colors.blue}},bold
|
||||
editor.token.invalid.style={{colors.red}},bold
|
||||
editor.token.keyword1.style={{colors.cyan}},plain
|
||||
editor.token.keyword2.style={{colors.cyan}},plain
|
||||
editor.token.keyword3.style={{colors.green}},plain
|
||||
editor.token.keyword4.style={{colors.magenta}},plain
|
||||
editor.token.keyword5.style={{colors.yellow}},plain
|
||||
editor.token.keyword6.style={{colors.cyan}},plain
|
||||
editor.token.label.style={{colors.green}},bold
|
||||
editor.token.literal1.style={{colors.magenta}},plain
|
||||
editor.token.literal2.style={{colors.green}},plain
|
||||
editor.token.operator.style={{colors.blue}},plain
|
||||
editor.untitled.prefix=sketch_
|
||||
editor.untitled.suffix=yyMMdd
|
||||
editor.watcher=true
|
||||
editor.watcher.debug=false
|
||||
editor.watcher.window=1500
|
||||
editor.window.height.default=720
|
||||
editor.window.height.min=480
|
||||
editor.window.width.default=700
|
||||
editor.window.width.min=400
|
||||
editor.zoom=100%
|
||||
editor.zoom.auto=true
|
||||
examples.processing.app.ui.ExamplesFrame.visible=null/Contributed Libraries/Open Kinect for Processing/Kinect_v1:null/Contributed Libraries:null/Libraries:null:null/Contributed Libraries/Open Kinect for Processing
|
||||
export.application.embed_java=true
|
||||
export.application.fullscreen=false
|
||||
export.application.stop=true
|
||||
export.delete_target_folder=true
|
||||
instance_server.key=0.6702974505479351
|
||||
instance_server.port=44097
|
||||
last.sketch.count=0
|
||||
last.sketch.restore=true
|
||||
launcher=xdg-open
|
||||
mode.last=processing.mode.java.JavaMode
|
||||
pdex.autoSave.autoSaveByDefault=true
|
||||
pdex.autoSave.autoSaveEnabled=false
|
||||
pdex.autoSave.promptDisplay=true
|
||||
pdex.autoSaveInterval=5
|
||||
pdex.completion=true
|
||||
pdex.completion.trigger=false
|
||||
pdex.dbgOutput=false
|
||||
pdex.errorCheckEnabled=true
|
||||
pdex.inspectMode.hotkey=true
|
||||
pdex.suggest.imports=true
|
||||
pdex.warningsEnabled=true
|
||||
pdex.writeErrorLogs=false
|
||||
platform.auto_file_type_associations=true
|
||||
preproc.color_datatype=true
|
||||
preproc.enhanced_casting=true
|
||||
preproc.output_parse_tree=false
|
||||
preproc.save_build_files=false
|
||||
preproc.substitute_floats=true
|
||||
preproc.web_colors=true
|
||||
proxy.http.host=
|
||||
proxy.http.port=
|
||||
proxy.https.host=
|
||||
proxy.https.port=
|
||||
proxy.socks.host=
|
||||
proxy.socks.port=
|
||||
proxy.system=true
|
||||
recent.count=10
|
||||
run.display=1
|
||||
run.options=
|
||||
run.options.memory=false
|
||||
run.options.memory.initial=64
|
||||
run.options.memory.maximum=256
|
||||
run.present.bgcolor={{colors.bg}}
|
||||
run.present.stop.color={{colors.bg}}
|
||||
run.window.bgcolor={{colors.bg}}
|
||||
search.format=https://duckduckgo.com/?q=%s
|
||||
sketchbook.path.three=/home/ianmethyst/Sandbox/processing
|
||||
update.check=true
|
||||
update.id=-183846065481687493
|
||||
update.last=1588352566738
|
||||
welcome.seen=true
|
||||
welcome.show=false
|
@ -0,0 +1,172 @@
|
||||
# STATUS
|
||||
# Status messages (1 file added to sketch, errors, etc)
|
||||
status.notice.fgcolor = {{colors.fg}}
|
||||
status.notice.bgcolor = {{colors.bg}}
|
||||
status.error.fgcolor = {{colors.fg}}
|
||||
status.error.bgcolor = {{colors.red}}
|
||||
status.warning.bgcolor = {{colors.yellow}}
|
||||
status.warning.fgcolor = {{colors.bg}}
|
||||
status.url.fgcolor = {{colors.dark_fg}}
|
||||
status.font = {{typography.mono.font}}{{typography.mono.weight}},plain,{{typography.mono.size}}
|
||||
# For the clipboard icon, needs to be a little larger on macOS
|
||||
status.emoji.font = {{typography.emoji.font}},plain,{{typography.emoji.size}}
|
||||
status.emoji.font.macosx = Dialog,plain,22
|
||||
|
||||
# HEADER TABS
|
||||
# Settings for the tab area at the top.
|
||||
header.text.font = {{typography.mono.font}}{{typography.mono.weight}},plain,{{typography.mono.size}}
|
||||
header.text.selected.color = {{colors.bg}}
|
||||
header.text.unselected.color = {{colors.dark_fg}}
|
||||
header.tab.arrow.color = {{colors.fg}}
|
||||
header.gradient.top = {{colors.bg}}
|
||||
header.gradient.bottom = {{colors.bg}}
|
||||
header.tab.selected.color = {{colors.green}}
|
||||
header.tab.unselected.color = {{colors.light_bg}}
|
||||
header.tab.modified.color = {{colors.yellow}}
|
||||
|
||||
# FOOTER TABS
|
||||
footer.text.font = {{typography.mono.font}}{{typography.mono.weight}},plain,{{typography.mono.size}}
|
||||
footer.text.selected.color = {{colors.fg}}
|
||||
footer.text.unselected.color = {{colors.dark_fg}}
|
||||
footer.tab.arrow.color = {{colors.fg}}
|
||||
footer.gradient.top = {{colors.light_bg}}
|
||||
footer.gradient.bottom = {{colors.light_bg}}
|
||||
footer.tab.selected.color = {{colors.bg}}
|
||||
footer.tab.unselected.color = {{colors.light_bg}}
|
||||
# updates orange
|
||||
footer.updates.color = {{colors.orange}}
|
||||
|
||||
# CONSOLE
|
||||
# The font is handled by preferences, so its size/etc are modifiable.
|
||||
console.color = {{colors.bg}}
|
||||
console.output.color = {{colors.fg}}
|
||||
# text color for errors printed in the console
|
||||
console.error.color = {{colors.red}}
|
||||
|
||||
# TOOLBAR BUTTONS
|
||||
buttons.bgcolor = {{colors.bg}}
|
||||
|
||||
# for the debug and mode buttons
|
||||
#reversed.gradient.top = {{colors.bg}}
|
||||
#reversed.gradient.bottom = {{colors.bg}}
|
||||
|
||||
## size of divider between editing area and the console
|
||||
#divider.size = 0
|
||||
## the larger divider on windows is ugly with the little arrows
|
||||
## this makes it large enough to see (mouse changes) and use,
|
||||
## but keeps it from being annoyingly obtrusive
|
||||
#divider.size.windows = 2
|
||||
|
||||
divider.height = 0
|
||||
divider.color = {{colors.light_bg}}
|
||||
divider.dot.diameter = 3
|
||||
divider.dot.color = {{colors.dark_fg}}
|
||||
|
||||
# TOOLBAR BUTTON TEXT
|
||||
toolbar.rollover.font = {{typography.mono.font}}{{typography.mono.weight}},plain,{{typography.mono.size}}
|
||||
toolbar.rollover.color = {{colors.fg}}
|
||||
toolbar.gradient.top = {{colors.bg}}
|
||||
toolbar.gradient.bottom = {{colors.bg}}
|
||||
|
||||
# MODE SELECTOR
|
||||
mode.title.font = {{typography.mono.font}}{{typography.mono.weight}},plain,{{typography.mono.size}}
|
||||
mode.title.color = {{colors.fg}}
|
||||
# outline color of the mode button
|
||||
mode.button.color = {{colors.fg}}
|
||||
#mode.button.gap = 13
|
||||
#mode.arrow.width
|
||||
mode.bg.color = {{colors.light_bg}}
|
||||
# stolen from gradient bottom
|
||||
mode.bg.color = {{colors.bg}}
|
||||
mode.outline.color = {{colors.light_bg}}
|
||||
|
||||
|
||||
# EDITOR - DETAILS
|
||||
|
||||
# fg and bg colors
|
||||
editor.fgcolor = {{colors.fg}}
|
||||
editor.bgcolor = {{colors.bg}}
|
||||
|
||||
editor.gradient.top = {{colors.bg}}
|
||||
editor.gradient.bottom = {{colors.bg}}
|
||||
|
||||
# highlight for the current line
|
||||
editor.linehighlight.color={{colors.light_bg}}
|
||||
editor.linehighlight=true
|
||||
|
||||
editor.caret.color = {{colors.fg}}
|
||||
editor.selection.color = {{colors.light_bg}}
|
||||
|
||||
# area that's not in use by the text (replaced with tildes)
|
||||
editor.invalid.style = {{colors.dark_fg}},plain
|
||||
|
||||
# little pooties at the end of lines that show where they finish
|
||||
editor.eolmarkers = false
|
||||
editor.eolmarkers.color = {{colors.dark_fg}}
|
||||
|
||||
# bracket/brace highlighting
|
||||
editor.brackethighlight = true
|
||||
editor.brackethighlight.color = {{colors.blue}}
|
||||
|
||||
editor.gutter.text.font = {{typography.mono.font}}{{typography.mono.weight}},plain,{{typography.mono.size}}
|
||||
editor.gutter.text.color = {{colors.fg}}
|
||||
|
||||
# marker for breakpointed lines in left hand gutter (2 ascii characters)
|
||||
#editor.gutter.breakpoint.marker = <>
|
||||
#editor.gutter.breakpoint.marker.color = #4a545e
|
||||
|
||||
# marker for the current line in left hand gutter (2 ascii characters)
|
||||
#editor.gutter.currentline.marker = ->
|
||||
#editor.gutter.currentline.marker.color = #e27500
|
||||
|
||||
# bgcolor for the current (highlighted) line
|
||||
editor.gutter.linehighlight.color={{colors.light_bg}}
|
||||
|
||||
# left- and right-hand gutter color
|
||||
editor.gutter.bgcolor = {{colors.bg}}
|
||||
|
||||
# color of vertical separation line
|
||||
#gutter.linecolor = #e9e9e9
|
||||
# space (in px) added to left and right of gutter markers
|
||||
editor.gutter.padding = 3
|
||||
|
||||
# squiggly line underneath errors in the editor
|
||||
editor.error.underline.color = {{colors.red}}
|
||||
# squiggly line underneath warnings
|
||||
editor.warning.underline.color = {{colors.yellow}}
|
||||
# lines next to the scrollbar showing where errors are located
|
||||
editor.column.error.color = {{colors.red}}
|
||||
editor.column.warning.color = {{colors.yellow}}
|
||||
|
||||
# not using these
|
||||
# breakpoint.bgcolor = #f0f0f0
|
||||
# currentline.bgcolor = #ffff96
|
||||
|
||||
errors.header.font = {{typography.mono.font}}{{typography.mono.weight}},plain,{{typography.mono.size}}
|
||||
errors.header.bgcolor = {{colors.bg}}
|
||||
errors.header.fgcolor = {{colors.fg}}
|
||||
errors.row.font = {{typography.mono.font}}{{typography.mono.weight}},plain,{{typography.mono.size}}
|
||||
errors.row.fgcolor = {{colors.fg}}
|
||||
errors.row.bgcolor = {{colors.bg}}
|
||||
errors.selection.fgcolor = {{colors.fg}}
|
||||
errors.selection.bgcolor = {{colors.light_bg}}
|
||||
errors.selection.error.bgcolor = {{colors.light_bg}}
|
||||
errors.selection.warning.bgcolor = {{colors.light_bg}}
|
||||
#errors.indicator.size = 3
|
||||
errors.indicator.error.color = {{colors.red}}
|
||||
errors.indicator.warning.color = {{colors.yellow}}
|
||||
|
||||
manager.tab.selected.color = {{colors.fg}}
|
||||
manager.tab.unselected.color = {{colors.light_bg}}
|
||||
manager.tab.text.font = {{typography.mono.font}}{{typography.mono.weight}},plain,{{typography.mono.size}}
|
||||
manager.tab.text.selected.color = {{colors.bg}}
|
||||
manager.tab.text.unselected.color = {{colors.fg}}
|
||||
|
||||
# orange circle for updates
|
||||
manager.tab.update.color = {{colors.orange}}
|
||||
manager.tab.gradient.top = {{colors.bg}}
|
||||
manager.tab.gradient.bottom = {{colors.bg}}
|
||||
manager.tab.bg = {{colors.bg}}
|
||||
|
||||
# tree for Examples and Sketchbook windows
|
||||
tree.font = status.font = {{typography.mono.font}}{{typography.mono.weight}},plain,{{typography.mono.size}}
|
@ -0,0 +1,310 @@
|
||||
# pylint: disable=C0111
|
||||
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
||||
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
||||
|
||||
config: ConfigAPI = config # noqa: F821 pylint: disable=E0602,C0103
|
||||
c: ConfigContainer = c # noqa: F821 pylint: disable=E0602,C0103
|
||||
|
||||
config.load_autoconfig()
|
||||
|
||||
palette = {
|
||||
"background": "{{colors.bg}}",
|
||||
"background-alt": "{{colors.light_bg}}",
|
||||
"border": "{{colors.light_bg}}",
|
||||
"current-line": "{{colors.light_bg}}}",
|
||||
"selection": "{{colors.selection}}",
|
||||
"foreground": "{{colors.fg}}",
|
||||
"foreground-alt": "{{colors.dark_fg}}",
|
||||
"cyan": "{{colors.cyan}}",
|
||||
"green": "{{colors.green}}",
|
||||
"orange": "{{colors.orange}}",
|
||||
"magenta": "{{colors.magenta}}",
|
||||
"blue": "{{colors.blue}}",
|
||||
"red": "{{colors.red}}",
|
||||
"yellow": "{{colors.yellow}}",
|
||||
}
|
||||
|
||||
spacing = {"vertical": 5, "horizontal": 5}
|
||||
|
||||
padding = {
|
||||
"top": spacing["vertical"],
|
||||
"right": spacing["horizontal"],
|
||||
"bottom": spacing["vertical"],
|
||||
"left": spacing["horizontal"],
|
||||
}
|
||||
|
||||
c.auto_save.session = True
|
||||
c.editor.command = ["nvim", "-f", "{file}", "-c", "normal {line}G{column0}l"]
|
||||
c.url.start_pages = ["https://duckduckgo.com"]
|
||||
c.url.default_page = "https://duckduckgo.com/"
|
||||
c.url.searchengines = {"DEFAULT": "https://duckduckgo.com/?q={}"}
|
||||
c.downloads.position = "bottom"
|
||||
c.scrolling.smooth = False
|
||||
|
||||
# Background color of the completion widget category headers.
|
||||
c.colors.completion.category.bg = palette["background"]
|
||||
|
||||
# Bottom border color of the completion widget category headers.
|
||||
c.colors.completion.category.border.bottom = palette["border"]
|
||||
|
||||
# Top border color of the completion widget category headers.
|
||||
c.colors.completion.category.border.top = palette["border"]
|
||||
|
||||
# Foreground color of completion widget category headers.
|
||||
c.colors.completion.category.fg = palette["foreground"]
|
||||
|
||||
# Background color of the completion widget for even rows.
|
||||
c.colors.completion.even.bg = palette["background"]
|
||||
|
||||
# Background color of the completion widget for odd rows.
|
||||
c.colors.completion.odd.bg = palette["background-alt"]
|
||||
|
||||
# Text color of the completion widget.
|
||||
c.colors.completion.fg = palette["foreground"]
|
||||
|
||||
# Background color of the selected completion item.
|
||||
c.colors.completion.item.selected.bg = palette["selection"]
|
||||
|
||||
# Bottom border color of the selected completion item.
|
||||
c.colors.completion.item.selected.border.bottom = palette["selection"]
|
||||
|
||||
# Top border color of the completion widget category headers.
|
||||
c.colors.completion.item.selected.border.top = palette["selection"]
|
||||
|
||||
# Foreground color of the selected completion item.
|
||||
c.colors.completion.item.selected.fg = palette["foreground"]
|
||||
|
||||
# Foreground color of the matched text in the completion.
|
||||
c.colors.completion.match.fg = palette["orange"]
|
||||
|
||||
# Color of the scrollbar in completion view
|
||||
c.colors.completion.scrollbar.bg = palette["background"]
|
||||
|
||||
# Color of the scrollbar handle in completion view.
|
||||
c.colors.completion.scrollbar.fg = palette["foreground"]
|
||||
|
||||
# Background color for the download bar.
|
||||
c.colors.downloads.bar.bg = palette["background"]
|
||||
|
||||
# Background color for downloads with errors.
|
||||
c.colors.downloads.error.bg = palette["background"]
|
||||
|
||||
# Foreground color for downloads with errors.
|
||||
c.colors.downloads.error.fg = palette["red"]
|
||||
|
||||
# Color gradient stop for download backgrounds.
|
||||
c.colors.downloads.stop.bg = palette["background"]
|
||||
|
||||
# Color gradient interpolation system for download backgrounds.
|
||||
# Type: ColorSystem
|
||||
# Valid values:
|
||||
# - rgb: Interpolate in the RGB color system.
|
||||
# - hsv: Interpolate in the HSV color system.
|
||||
# - hsl: Interpolate in the HSL color system.
|
||||
# - none: Don't show a gradient.
|
||||
c.colors.downloads.system.bg = "none"
|
||||
|
||||
# Background color for hints. Note that you can use a `rgba(...)` value
|
||||
# for transparency.
|
||||
c.colors.hints.bg = palette["background"]
|
||||
|
||||
# Font color for hints.
|
||||
c.colors.hints.fg = palette["blue"]
|
||||
|
||||
# Hints
|
||||
c.hints.border = "1px solid " + palette["background-alt"]
|
||||
|
||||
# Font color for the matched part of hints.
|
||||
c.colors.hints.match.fg = palette["foreground-alt"]
|
||||
|
||||
# Background color of the keyhint widget.
|
||||
c.colors.keyhint.bg = palette["background"]
|
||||
|
||||
# Text color for the keyhint widget.
|
||||
c.colors.keyhint.fg = palette["blue"]
|
||||
|
||||
# Highlight color for keys to complete the current keychain.
|
||||
c.colors.keyhint.suffix.fg = palette["selection"]
|
||||
|
||||
# Background color of an error message.
|
||||
c.colors.messages.error.bg = palette["background"]
|
||||
|
||||
# Border color of an error message.
|
||||
c.colors.messages.error.border = palette["background-alt"]
|
||||
|
||||
# Foreground color of an error message.
|
||||
c.colors.messages.error.fg = palette["red"]
|
||||
|
||||
# Background color of an info message.
|
||||
c.colors.messages.info.bg = palette["background"]
|
||||
|
||||
# Border color of an info message.
|
||||
c.colors.messages.info.border = palette["background-alt"]
|
||||
|
||||
# Foreground color an info message.
|
||||
c.colors.messages.info.fg = palette["foreground-alt"]
|
||||
|
||||
# Background color of a warning message.
|
||||
c.colors.messages.warning.bg = palette["background"]
|
||||
|
||||
# Border color of a warning message.
|
||||
c.colors.messages.warning.border = palette["background-alt"]
|
||||
|
||||
# Foreground color a warning message.
|
||||
c.colors.messages.warning.fg = palette["red"]
|
||||
|
||||
# Background color for prompts.
|
||||
c.colors.prompts.bg = palette["background"]
|
||||
|
||||
# Border used around UI elements in prompts.
|
||||
c.colors.prompts.border = "1px solid " + palette["background-alt"]
|
||||
|
||||
# Foreground color for prompts.
|
||||
c.colors.prompts.fg = palette["cyan"]
|
||||
|
||||
# Background color for the selected item in filename prompts.
|
||||
c.colors.prompts.selected.bg = palette["selection"]
|
||||
|
||||
# Background color of the statusbar in caret mode.
|
||||
c.colors.statusbar.caret.bg = palette["background"]
|
||||
|
||||
# Foreground color of the statusbar in caret mode.
|
||||
c.colors.statusbar.caret.fg = palette["orange"]
|
||||
|
||||
# Background color of the statusbar in caret mode with a selection.
|
||||
c.colors.statusbar.caret.selection.bg = palette["background"]
|
||||
|
||||
# Foreground color of the statusbar in caret mode with a selection.
|
||||
c.colors.statusbar.caret.selection.fg = palette["orange"]
|
||||
|
||||
# Background color of the statusbar in command mode.
|
||||
c.colors.statusbar.command.bg = palette["background"]
|
||||
|
||||
# Foreground color of the statusbar in command mode.
|
||||
c.colors.statusbar.command.fg = palette["magenta"]
|
||||
|
||||
# Background color of the statusbar in private browsing + command mode.
|
||||
c.colors.statusbar.command.private.bg = palette["background"]
|
||||
|
||||
# Foreground color of the statusbar in private browsing + command mode.
|
||||
c.colors.statusbar.command.private.fg = palette["foreground-alt"]
|
||||
|
||||
# Background color of the statusbar in insert mode.
|
||||
c.colors.statusbar.insert.bg = palette["background"]
|
||||
|
||||
# Foreground color of the statusbar in insert mode.
|
||||
c.colors.statusbar.insert.fg = palette["green"]
|
||||
|
||||
# Background color of the statusbar.
|
||||
c.colors.statusbar.normal.bg = palette["background"]
|
||||
|
||||
# Foreground color of the statusbar.
|
||||
c.colors.statusbar.normal.fg = palette["foreground"]
|
||||
|
||||
# Background color of the statusbar in passthrough mode.
|
||||
c.colors.statusbar.passthrough.bg = palette["background"]
|
||||
|
||||
# Foreground color of the statusbar in passthrough mode.
|
||||
c.colors.statusbar.passthrough.fg = palette["orange"]
|
||||
|
||||
# Background color of the statusbar in private browsing mode.
|
||||
c.colors.statusbar.private.bg = palette["background-alt"]
|
||||
|
||||
# Foreground color of the statusbar in private browsing mode.
|
||||
c.colors.statusbar.private.fg = palette["foreground-alt"]
|
||||
|
||||
# Background color of the progress bar.
|
||||
c.colors.statusbar.progress.bg = palette["background"]
|
||||
|
||||
# Foreground color of the URL in the statusbar on error.
|
||||
c.colors.statusbar.url.error.fg = palette["red"]
|
||||
|
||||
# Default foreground color of the URL in the statusbar.
|
||||
c.colors.statusbar.url.fg = palette["foreground"]
|
||||
|
||||
# Foreground color of the URL in the statusbar for hovered links.
|
||||
c.colors.statusbar.url.hover.fg = palette["cyan"]
|
||||
|
||||
# Foreground color of the URL in the statusbar on successful load
|
||||
c.colors.statusbar.url.success.http.fg = palette["green"]
|
||||
|
||||
# Foreground color of the URL in the statusbar on successful load
|
||||
c.colors.statusbar.url.success.https.fg = palette["green"]
|
||||
|
||||
# Foreground color of the URL in the statusbar when there's a warning.
|
||||
c.colors.statusbar.url.warn.fg = palette["yellow"]
|
||||
|
||||
# Status bar padding
|
||||
c.statusbar.padding = padding
|
||||
|
||||
# Background color of the tab bar.
|
||||
# Type: QtColor
|
||||
c.colors.tabs.bar.bg = palette["selection"]
|
||||
|
||||
# Background color of unselected even tabs.
|
||||
# Type: QtColor
|
||||
c.colors.tabs.even.bg = palette["selection"]
|
||||
|
||||
# Foreground color of unselected even tabs.
|
||||
# Type: QtColor
|
||||
c.colors.tabs.even.fg = palette["foreground"]
|
||||
|
||||
# Color for the tab indicator on errors.
|
||||
# Type: QtColor
|
||||
c.colors.tabs.indicator.error = palette["red"]
|
||||
|
||||
# Color gradient start for the tab indicator.
|
||||
# Type: QtColor
|
||||
c.colors.tabs.indicator.start = palette["orange"]
|
||||
|
||||
# Color gradient end for the tab indicator.
|
||||
# Type: QtColor
|
||||
c.colors.tabs.indicator.stop = palette["green"]
|
||||
|
||||
# Color gradient interpolation system for the tab indicator.
|
||||
# Type: ColorSystem
|
||||
# Valid values:
|
||||
# - rgb: Interpolate in the RGB color system.
|
||||
# - hsv: Interpolate in the HSV color system.
|
||||
# - hsl: Interpolate in the HSL color system.
|
||||
# - none: Don't show a gradient.
|
||||
c.colors.tabs.indicator.system = "none"
|
||||
|
||||
# Background color of unselected odd tabs.
|
||||
# Type: QtColor
|
||||
c.colors.tabs.odd.bg = palette["selection"]
|
||||
|
||||
# Foreground color of unselected odd tabs.
|
||||
# Type: QtColor
|
||||
c.colors.tabs.odd.fg = palette["foreground"]
|
||||
|
||||
# Background color of selected even tabs.
|
||||
# Type: QtColor
|
||||
c.colors.tabs.selected.even.bg = palette["background"]
|
||||
|
||||
# Foreground color of selected even tabs.
|
||||
# Type: QtColor
|
||||
c.colors.tabs.selected.even.fg = palette["foreground"]
|
||||
|
||||
# Background color of selected odd tabs.
|
||||
# Type: QtColor
|
||||
c.colors.tabs.selected.odd.bg = palette["background"]
|
||||
|
||||
# Foreground color of selected odd tabs.
|
||||
# Type: QtColor
|
||||
c.colors.tabs.selected.odd.fg = palette["foreground"]
|
||||
|
||||
# Tab padding
|
||||
c.tabs.padding = padding
|
||||
c.tabs.indicator.width = 3
|
||||
c.tabs.favicons.scale = 1
|
||||
|
||||
# Widevine
|
||||
c.qt.args = ["papi-widevine-path=/usr/lib/qt/plugins/ppapi/libwidevinecdm.so"]
|
||||
|
||||
# Adblock
|
||||
c.content.blocking.enabled = True
|
||||
c.content.blocking.method = "adblock"
|
||||
|
||||
# Confirm quit
|
||||
c.confirm_quit = "downloads"
|
@ -0,0 +1,3 @@
|
||||
set preview_images true
|
||||
set draw_borders true
|
||||
set preview_images_method ueberzug
|
@ -0,0 +1 @@
|
||||
name = "Base"
|
@ -0,0 +1,91 @@
|
||||
##############
|
||||
# True Color #
|
||||
##############
|
||||
|
||||
# Use the xterm-256color terminal
|
||||
set -g default-terminal "xterm-256color"
|
||||
|
||||
# Apply Tc
|
||||
set-option -ga terminal-overrides ",xterm-256color:Tc"
|
||||
|
||||
###########
|
||||
# Keymaps #
|
||||
###########
|
||||
|
||||
# Prefix is Ctrl-a
|
||||
set -g prefix C-a
|
||||
bind C-a send-prefix
|
||||
unbind C-b
|
||||
|
||||
# Vi split pane commands
|
||||
unbind '"'
|
||||
unbind %
|
||||
unbind s
|
||||
bind v split-window -h
|
||||
bind s split-window -v
|
||||
|
||||
# Moving between panes with vim movement keys
|
||||
bind h select-pane -L
|
||||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
|
||||
# Moving between windows with vim movement keys
|
||||
bind -r C-h select-window -t :-
|
||||
bind -r C-l select-window -t :+
|
||||
bind-key C-a last-window
|
||||
|
||||
# Resize panes with vim movement keys
|
||||
bind -r H resize-pane -L 5
|
||||
bind -r J resize-pane -D 5
|
||||
bind -r K resize-pane -U 5
|
||||
bind -r L resize-pane -R 5
|
||||
|
||||
# Reload the tmux config file
|
||||
bind r source-file ~/.tmux.conf
|
||||
|
||||
# Enable vi mode
|
||||
|
||||
set-window-option -g mode-keys vi
|
||||
|
||||
# Vi mode select and yank
|
||||
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
|
||||
bind -T copy-mode-vi v send-keys -X begin-selection
|
||||
|
||||
###########
|
||||
# General #
|
||||
###########
|
||||
|
||||
# Enable mouse control
|
||||
set -g mouse on
|
||||
set -g base-index 1
|
||||
setw -g pane-base-index 1
|
||||
|
||||
set -s escape-time 0
|
||||
|
||||
########
|
||||
# Look #
|
||||
########
|
||||
|
||||
# Messaging
|
||||
#set -g message-fg colour14
|
||||
#set -g message-bg black
|
||||
#set -g message-command-fg white
|
||||
#set -g message-command-bg black
|
||||
|
||||
# Pane
|
||||
set -g pane-active-border-style fg=colour8
|
||||
set -g pane-border-style fg=colour8
|
||||
|
||||
# Status bar
|
||||
set -g status-justify left
|
||||
set -g status-interval 2
|
||||
set -g status-bg default
|
||||
set -g status-fg colour7
|
||||
set -g status-left ''
|
||||
set -g status-right '#[fg=colour15,bg=blue] %b %d %Y #[fg=colour15,bg=red] %R '
|
||||
set -g status-right-length 100
|
||||
|
||||
# Window
|
||||
set -g window-status-format '#[fg=colour249,bg=colour241] #I #[fg=colour249,bg=colour242] #W '
|
||||
set -g window-status-current-format '#[fg=black,bg=colour15] #I #[fg=black,bg=colour2] #W '
|
@ -0,0 +1,156 @@
|
||||
#define alpha #00000000
|
||||
|
||||
#define base00 {{colors.bg}}
|
||||
#define base01 {{colors.light_bg}}
|
||||
#define base02 {{colors.selection}}
|
||||
#define base03 {{colors.comment}}
|
||||
#define base04 {{colors.dark_fg}}
|
||||
#define base05 {{colors.fg}}
|
||||
#define base06 {{colors.light_fg}}
|
||||
#define base07 {{colors.lighter_fg}}
|
||||
#define base08 {{colors.red}}
|
||||
#define base09 {{colors.orange}}
|
||||
#define base0A {{colors.yellow}}
|
||||
#define base0B {{colors.green}}
|
||||
#define base0C {{colors.blue}}
|
||||
#define base0D {{colors.cyan}}
|
||||
#define base0E {{colors.magenta}}
|
||||
#define base0F {{colors.brown}}
|
||||
|
||||
*foreground: base05
|
||||
#ifdef background_opacity
|
||||
*background: [background_opacity]base00
|
||||
#else
|
||||
*background: base00
|
||||
#endif
|
||||
*cursorColor: base05
|
||||
|
||||
*color0: base00
|
||||
*color1: base08
|
||||
*color2: base0B
|
||||
*color3: base0A
|
||||
*color4: base0D
|
||||
*color5: base0E
|
||||
*color6: base0C
|
||||
*color7: base05
|
||||
|
||||
*color8: base03
|
||||
*color9: base08
|
||||
*color10: base0B
|
||||
*color11: base0A
|
||||
*color12: base0D
|
||||
*color13: base0E
|
||||
*color14: base0C
|
||||
*color15: base07
|
||||
|
||||
! Note: colors beyond 15 might not be loaded (e.g., xterm, urxvt),
|
||||
! use 'shell' template to set these if necessary
|
||||
*color16: base09
|
||||
*color17: base0F
|
||||
*color18: base01
|
||||
*color19: base02
|
||||
*color20: base04
|
||||
*color21: base06
|
||||
|
||||
! General settings
|
||||
URxvt*saveline: 15000
|
||||
|
||||
! Disable scrollbar
|
||||
URxvt.scrollBar: 0
|
||||
|
||||
! Cursor blink
|
||||
URxvt.cursorBlink: 1
|
||||
|
||||
! Geometry
|
||||
URxvt.geometry: 102x22
|
||||
|
||||
! Clipboard
|
||||
!URxvt.perl-ext-common: default,clipboard
|
||||
!URxvt.keysym.Shift-Control-C: perl:clipboard:copy
|
||||
!URxvt.keysym.Shift-Control-V: perl:clipboard:paste
|
||||
|
||||
! Font
|
||||
URxvt.font :xft:{{typography.mono.font}}:{{typography.mono.weight}}:size={{typography.mono.size}}
|
||||
URxvt.boldFont :xft:{{typography.mono.font}}:{{typography.mono.bold}}:size={{typography.mono.size}}
|
||||
URxvt.italicFont :xft:{{typography.mono.font}}:{{typography.mono.italic}}:size={{typography.mono.size}}
|
||||
URxvt.boldItalicFont :xft:{{typography.mono.font}}:{{typography.mono.bold_italic}}:size={{typography.mono.size}}
|
||||
URxvt.letterSpace: 0
|
||||
URxvt*lineSpace: 0
|
||||
|
||||
! Icon
|
||||
URxvt.iconFile: terminal.svg
|
||||
|
||||
! Clickable links
|
||||
URxvt.url-launcher: /usr/bin/chromium
|
||||
|
||||
! Border
|
||||
URxvt.internalBorder: 18
|
||||
|
||||
! Fade
|
||||
URxvt*fading: 30
|
||||
|
||||
|
||||
! Transparency
|
||||
|
||||
! fake
|
||||
!urxvt*transparent: true
|
||||
!urxvt*shading: 10
|
||||
|
||||
urxvt*depth: 32
|
||||
|
||||
! Map CTRL + arrow keys
|
||||
URxvt.keysym.Control-Up: \033[1;5A
|
||||
URxvt.keysym.Control-Down: \033[1;5B
|
||||
URxvt.keysym.Control-Left: \033[1;5D
|
||||
URxvt.keysym.Control-Right: \033[1;5C
|
||||
|
||||
! Font rendering
|
||||
Xft.autohint: 1
|
||||
Xft.dpi: 96
|
||||
Xft.antialias: 1
|
||||
Xft.hinting: true
|
||||
Xft.hintstyle: hintslight
|
||||
Xft.rgba: rgb
|
||||
Xft.lcdfilter: lcddefault
|
||||
|
||||
|
||||
!!!!!!!!
|
||||
! Rofi !
|
||||
!!!!!!!!
|
||||
|
||||
! Enable the extended coloring options
|
||||
rofi.color-enabled: true
|
||||
rofi.modi: run,window,ssh
|
||||
rofi.sidebar-mode: true
|
||||
|
||||
! bg fg bg-alt hl-bg hl-fg
|
||||
rofi.color-window: {{colors.bg}}, {{colors.bg}}, alpha, alpha, alpha
|
||||
rofi.color-normal: alpha, {{colors.comment}}, alpha, {{colors.selection}}, {{colors.fg}}
|
||||
rofi.color-active: alpha, {{colors.green}}, alpha, {{colors.selection}}, {{colors.green}}
|
||||
rofi.color-urgent: alpha, {{colors.red}}, alpha, {{colors.selection}}, {{colors.red}}
|
||||
|
||||
rofi.fake-transparency: false
|
||||
rofi.hide-scrollbar: true
|
||||
rofi.font: {{typography.mono.font}} {{typography.mono.size}}
|
||||
rofi.separator-style: none
|
||||
rofi.scrollbar-width: 0
|
||||
|
||||
rofi.location: 1
|
||||
rofi.yoffset: 40
|
||||
rofi.xoffset: 24
|
||||
rofi.padding: 18
|
||||
rofi.lines: 18
|
||||
rofi.eh: 1
|
||||
rofi.width: 400
|
||||
rofi.bw: 0
|
||||
|
||||
rofi.terminal: kitty
|
||||
rofi.ssh-client: ssh
|
||||
rofi.ssh-command: {terminal} -e {ssh-client} {host}
|
||||
rofi.run-command: {cmd}
|
||||
rofi.run-shell-command: {terminal} -e {cmd}
|
||||
rofi.disable-history: false
|
||||
rofi.levenshtein-sort: false
|
||||
rofi.case-sensitive: false
|
||||
rofi.auto-select: false
|
||||
rofi.parse-hosts: false
|
@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ -f ~/.xprofile ] && . ~/.xprofile
|
||||
|
||||
if [ $HOST = 'ianmethyst-desktop-arch' ]; then
|
||||
xrandr --output DisplayPort-0 --off --output DisplayPort-1 --off --output DisplayPort-2 --mode 1920x1080 --pos 0x0 --rotate normal --output HDMI-A-0 --off --output DVI-D-0 --off
|
||||
fi
|
||||
|
||||
session=${1:-i3}
|
||||
|
||||
case $session in
|
||||
i3|i3wm ) exec i3;;
|
||||
steam|steamos ) exec steamos-session;;
|
||||
* ) exec $1;;
|
||||
esac
|
@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
[[ -f ~/.Xdefaults ]] && xrdb -merge -I $HOME ~/.Xdefaults
|
||||
|
||||
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
|
||||
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
|
||||
[ -x "$f" ] && . "$f"
|
||||
done
|
||||
unset f
|
||||
fi
|
||||
|
||||
source "$HOME/.envrc"
|
||||
|
||||
eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)
|
||||
export SSH_AUTH_SOCK
|
@ -0,0 +1,58 @@
|
||||
# Zathura configuration file
|
||||
# See man `man zathurarc'
|
||||
|
||||
# Open document in fit-width mode by default
|
||||
set adjust-open "best-fit"
|
||||
|
||||
# One page per row by default
|
||||
set pages-per-row 1
|
||||
|
||||
# Stop at page boundries
|
||||
set scroll-page-aware "true"
|
||||
set scroll-full-overlap 0.01
|
||||
|
||||
# Zoom settings
|
||||
set zoom-min 10
|
||||
set guioptions "s"
|
||||
|
||||
# Colors and font
|
||||
|
||||
set font "{{typography.mono.font}} {{typography.mono.size}}"
|
||||
|
||||
set default-bg "{{colors.bg}}"
|
||||
set default-fg "{{colors.fg}}"
|
||||
|
||||
set statusbar-bg "{{colors.light_bg}}"
|
||||
set statusbar-fg "{{colors.fg}}"
|
||||
|
||||
set inputbar-bg "{{colors.light_bg}}"
|
||||
set inputbar-fg "{{colors.fg}}"
|
||||
|
||||
set notification-bg "{{colors.cyan}}"
|
||||
set notification-fg "{{colors.bg}}"
|
||||
|
||||
set notification-error-bg "{{colors.red}}"
|
||||
set notification-error-fg "{{colors.fg}}"
|
||||
|
||||
set notification-warning-bg "{{colors.yellow}}"
|
||||
set notification-warning-fg "{{colors.bg}}"
|
||||
|
||||
set highlight-color "{{colors.yellow}}"
|
||||
set highlight-active-color "{{colors.green}}"
|
||||
|
||||
set completion-bg "{{colors.bg}}"
|
||||
set completion-fg "{{colors.fg}}"
|
||||
|
||||
set completion-highlight-bg "{{colors.yellow}}"
|
||||
set completion-highlight-fg "{{colors.bg}}"
|
||||
|
||||
set recolor true
|
||||
set recolor-keephue false
|
||||
|
||||
set recolor-darkcolor "{{colors.fg}}"
|
||||
set recolor-lightcolor "{{colors.bg}}"
|
||||
|
||||
set render-loading false
|
||||
set scroll-step 50
|
||||
|
||||
set selection-clipboard clipboard
|
@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Linking dotfiles dir"
|
||||
ln -s "$DTTR_OUT" "$HOME/.dotfiles"
|
||||
|
||||
echo "Linking individual dotfiles"
|
||||
cd "$HOME/.dotfiles"
|
||||
for dir in $(find . -maxdepth 1 -type d -printf "%f\n" | grep -v '\.'); do
|
||||
stow -d "$HOME/.dotfiles" -t "$HOME" "$dir"
|
||||
done
|
||||
|
||||
ln -s "$HOME/.Xdefaults" "$HOME/.Xresources"
|
||||
|
||||
if [ -n "$DISPLAY" ]; then
|
||||
echo "Loading X settings"
|
||||
xrdb "$HOME/.Xdefaults"
|
||||
fi
|
||||
|
||||
if [ "$TERM" = "xterm-kitty" ]; then
|
||||
echo "Reloading kitty terminals"
|
||||
kitty @ set-colors -a -c ~/.config/kitty/kitty.conf
|
||||
fi
|
||||
|
||||
if [ -n "$I3SOCK" ]; then
|
||||
echo "Reloading i3"
|
||||
i3-msg restart &
|
||||
fi
|
||||
|
||||
systemctl --user is-active --quiet emacs
|
||||
emacs_running=$?
|
||||
|
||||
if [ emacs_running = 0 ]; then
|
||||
sh -c "doom sync && systemctl --user restart emacs && notify-send 'Emacs finished reloading'" &> /dev/null &
|
||||
else
|
||||
sh -c "doom sync && notify-send 'Emacs finished reloading'" &> /dev/null &
|
||||
fi
|
||||
|
||||
disown
|
||||
|
||||
echo "Syncing packer.nvim"
|
||||
nvim --headless -c 'autocmd User PackerComplete quitall' -c 'PackerSync'
|
||||
|
||||
exit 0
|
@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
OLDIR="$PWD"
|
||||
cd "$DTTR_OUT"
|
||||
|
||||
if [ -L "$HOME/.Xresources" ]; then
|
||||
unlink "$HOME/.Xresources"
|
||||
fi
|
||||
|
||||
# Create directories to symlink single files
|
||||
for dir in $(find . -type d); do
|
||||
_path=$(echo "$dir" | cut -d'/' -f3-)
|
||||
c=$(echo "$_path" | wc -m)
|
||||
if [ $c -gt 1 ]; then
|
||||
abspath="$HOME/$_path"
|
||||
[ ! -d "$abspath" ] && mkdir -p "$abspath"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -d "$HOME/.dotfiles" ]; then
|
||||
cd "$HOME/.dotfiles"
|
||||
for dir in $(find . -maxdepth 1 -type d -printf "%f\n" | grep -v '\.'); do
|
||||
stow -D -d "$HOME/.dotfiles" -t "$HOME" "$dir" &> /dev/null
|
||||
done
|
||||
|
||||
cd $OLDIR
|
||||
fi
|
||||
|
||||
echo "Unlinking dotfiles dir"
|
||||
if [ -L "$HOME/.dotfiles" ]; then
|
||||
unlink "$HOME/.dotfiles"
|
||||
fi
|
@ -0,0 +1,31 @@
|
||||
name = "Base"
|
||||
|
||||
[custom]
|
||||
|
||||
[custom.mono]
|
||||
font = "Iosevka"
|
||||
weight = "Medium"
|
||||
bold = "Bold"
|
||||
italic = "Oblique"
|
||||
bold_italic = "Bold Oblique"
|
||||
size = 14
|
||||
|
||||
[custom.sans]
|
||||
font = "Source Sans Pro"
|
||||
weight = "Regular"
|
||||
bold = "Bold"
|
||||
italic = "Italic"
|
||||
bold_italic = "Bold Italic"
|
||||
size = 14
|
||||
|
||||
[custom.serif]
|
||||
font = "Noto Serif"
|
||||
weight = "Regular"
|
||||
bold = "Bold"
|
||||
italic = "Italic"
|
||||
bold_italic = "Bold Italic"
|
||||
size = 14
|
||||
|
||||
[custom.emoji]
|
||||
font = "Noto Color Emoji"
|
||||
size = 14
|
@ -0,0 +1,16 @@
|
||||
name = "Iosevka Nerd Font"
|
||||
extends = "base"
|
||||
|
||||
[custom]
|
||||
|
||||
[custom.mono]
|
||||
font = "Iosevka Nerd Font"
|
||||
weight = "Medium"
|
||||
bold = "Bold"
|
||||
italic = "Oblique"
|
||||
bold_italic = "Bold Oblique"
|
||||
size = 14
|
||||
|
||||
[custom.kitty]
|
||||
font = "Iosevka"
|
||||
append = "Nerd Font Complete Monospace"
|
Loading…
Reference in new issue