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