101 Commits

Author SHA1 Message Date
Michael Chalupiak
b6fe1d9f38 Merge branch 'master' into arch-desktop 2026-01-30 19:24:57 -05:00
Michael Chalupiak
a2c7b5033a Add way more to the 'macs 2026-01-30 19:24:25 -05:00
Michael Chalupiak
6650ab1d5c Merge branch 'master' into arch-desktop 2026-01-26 01:05:47 -05:00
Michael Chalupiak
cc5246f38b Updated doom emacs 2026-01-26 01:05:03 -05:00
Michael Chalupiak
cb21d62153 Merge branch 'master' into arch-desktop 2026-01-24 21:32:43 -05:00
Michael Chalupiak
f2fa6c1267 updates 2026-01-24 21:32:30 -05:00
Michael Chalupiak
e104c9b8ce Merge branch 'master' into arch-desktop 2026-01-18 00:55:07 -05:00
Michael Chalupiak
ce01877872 Merge remote-tracking branch 'origin/master' 2026-01-18 00:54:38 -05:00
Michael Chalupiak
a3412c9fdf more emacs tweaks 2026-01-18 00:51:56 -05:00
Michael Chalupiak
66ab2ea83e updated doom config 2026-01-17 02:13:20 -05:00
Michael Chalupiak
e99901146d Merge branch 'master' into arch-desktop 2026-01-17 02:11:18 -05:00
Michael Chalupiak
2d1a11ea40 new emacs config! 2026-01-17 02:09:04 -05:00
Michael Chalupiak
dc51e2b8d8 Merge branch 'master' into arch-desktop 2026-01-10 01:51:19 -05:00
Michael Chalupiak
e6a0d0892f fixed doom indenting 2026-01-10 01:51:08 -05:00
Michael Chalupiak
9fd41c75ef Merge branch 'master' into arch-desktop 2026-01-09 00:48:07 -05:00
Michael Chalupiak
d9d0c8fe3e emacs config 2026-01-09 00:47:51 -05:00
Michael Chalupiak
adcecd9d62 Merge branch 'master' into arch-desktop 2026-01-07 23:07:20 -05:00
Michael Chalupiak
ef1981d06b multicursor (good this time) 2025-12-26 11:40:48 -05:00
Michael Chalupiak
f60dd72912 Small vim config changes 2025-12-19 14:25:00 -05:00
Michael Chalupiak
ade4c9f47c Merge branch 'master' into arch-desktop 2025-11-14 12:58:25 -05:00
Michael Chalupiak
458a2dd1d6 auto colorscheme for kakoune 2025-11-14 12:54:18 -05:00
Michael Chalupiak
82c55b55c7 Merge branch 'master' into arch-desktop 2025-11-14 00:17:26 -05:00
Michael Chalupiak
16169fbab4 merge 2025-11-14 00:11:07 -05:00
Michael Chalupiak
8ba5349c5d merge master 2025-09-24 18:36:00 -04:00
Michael Chalupiak
367244a53d Update to neovim and ghostty theme 2025-09-24 18:22:28 -04:00
Michael Chalupiak
93361624d7 neovim hex editor 2025-09-18 11:28:54 -04:00
Michael Chalupiak
c16dc3b450 Added tinymist (typst) lsp settings 2025-09-14 14:25:33 -04:00
Michael Chalupiak
924c01282d Merge branch 'master' into arch-desktop 2025-08-30 18:32:52 -04:00
Michael Chalupiak
6dcd713273 Actually removing telescope (snacks.picker for the win) 2025-08-29 12:18:16 -04:00
Michael Chalupiak
a177955e85 Small additions to snacks.picker 2025-08-29 11:58:09 -04:00
Michael Chalupiak
c8a110b9ba Changed from telescope to snacks.picker, also now using nord 2025-08-29 11:50:23 -04:00
Michael Chalupiak
449f2dc890 Added diagnostic toggle 2025-08-24 23:01:59 -04:00
Michael Chalupiak
005f77cdbf Added leap.nvim 2025-08-24 22:51:17 -04:00
Michael Chalupiak
cf051a191f Optimized neovim config 2025-08-24 02:58:30 -04:00
Michael Chalupiak
7a7b0e3f1c Merge branch 'master' into arch-desktop 2025-08-23 15:28:19 -04:00
Michael Chalupiak
1114797040 removed tmux plugins 2025-08-23 15:27:51 -04:00
Michael Chalupiak
cfb88473fc Merge branch 'master' into arch-desktop 2025-08-23 14:41:11 -04:00
Michael Chalupiak
d3ee528e2b fix opening config 2025-08-23 14:41:02 -04:00
Michael Chalupiak
32760db44f bp 2025-08-23 14:25:58 -04:00
Michael Chalupiak
1f5f04cef1 Add neogit to neovim config and change theme to xcode 2025-08-18 19:29:30 -04:00
Michael Chalupiak
88b5ef02f5 .bashrc 2025-08-17 14:35:56 -04:00
Michael Chalupiak
04da38c6a2 Merge remote-tracking branch 'refs/remotes/github/master' 2025-08-17 14:18:27 -04:00
Michael Chalupiak
bce85fa1a7 move nvim config 2025-08-17 14:17:37 -04:00
Michael Chalupiak
4f9f7e548e Merge branch 'macmini'
Merging neovim config
2025-08-17 11:32:58 -04:00
Michael Chalupiak
59dd7303af Merge branch 'macmini'
New neovim config
2025-08-17 11:28:03 -04:00
Michael Chalupiak
3ebc1b414c New neovim config 2025-08-17 11:14:52 -04:00
Michael Chalupiak
ec8260daaf back to vim as editor 2025-08-15 22:00:27 -04:00
Michael Chalupiak
3f2d0991c2 tmux for konsole config 2025-07-12 14:10:21 -04:00
Michael Chalupiak
43061705ce more settings 2025-07-09 23:17:25 -04:00
Michael Chalupiak
14031539d8 kde settings 2025-07-09 20:31:24 -04:00
Michael Chalupiak
8f23c730a6 changed default editor 2025-06-03 18:11:23 -04:00
Michael Chalupiak
72a49d5e1c helix config 2025-06-03 17:43:31 -04:00
Michael Chalupiak
eb8fe65fa9 kakoune updates 2025-05-25 15:15:04 -04:00
Michael Chalupiak
0ca4a99af1 back to kakoune, with new and improved colors 2025-04-04 11:42:16 -04:00
Michael Chalupiak
f142308811 nvim multicursor 2025-04-03 15:19:02 -04:00
Michael Chalupiak
7a9f0f6f47 more nvim 2025-04-03 15:17:40 -04:00
Michael Chalupiak
6a57e95895 back to vim 2025-04-03 11:51:50 -04:00
Michael Chalupiak
f30c20d354 change back to vim for now 2025-04-03 11:33:14 -04:00
Michael Chalupiak
69b6174817 rose-pine 2025-03-29 21:44:02 -04:00
Michael Chalupiak
2fd20bd541 new blog 2025-03-29 21:41:07 -04:00
Michael Chalupiak
bc3bb4ed16 rosepine 2025-03-24 16:17:40 -04:00
Michael Chalupiak
3d1ff7934a alacritty + nord 2025-03-23 16:03:59 -04:00
Michael Chalupiak
b910a496a2 small fix 2025-03-23 14:49:58 -04:00
Michael Chalupiak
30883aaa78 new kakoune buffer select 2025-03-23 14:30:41 -04:00
Michael Chalupiak
957701fce9 temp typst filetype 2025-03-22 20:10:45 -04:00
Michael Chalupiak
e161127590 typst ts 2025-03-22 20:10:25 -04:00
Michael Chalupiak
6406bd637b treesitter updates 2025-03-22 18:24:24 -04:00
Michael Chalupiak
6c5cae2b9a new rss feed 2025-03-22 16:48:46 -04:00
Michael Chalupiak
5fdb8166cb nested tmux 2025-03-20 19:37:53 -04:00
Michael Chalupiak
f44ce08f75 waybar config 2025-03-20 10:05:32 -04:00
Michael Chalupiak
e894b99c2a updated kakoune, added flirt 2025-03-19 23:35:59 -04:00
Michael Chalupiak
95f7180b5f fixed kakoune, font update 2025-03-19 22:41:31 -04:00
Michael Chalupiak
ff3daf700c font change 2025-03-07 03:10:09 -05:00
Michael Chalupiak
f1a0fb37dd remove border 2025-02-07 16:12:58 -05:00
Michael Chalupiak
043e2708e8 ambiance 2025-02-07 15:45:50 -05:00
Michael Chalupiak
c7439f61f5 mail 2025-02-02 23:43:15 -05:00
Michael Chalupiak
8bc96b4337 falkon 2025-02-02 00:16:05 -05:00
Michael Chalupiak
749d5e12d9 terminus" 2025-02-01 16:32:33 -05:00
Michael Chalupiak
380f9245bf inter 2025-02-01 16:08:09 -05:00
Michael Chalupiak
12eea29508 diff 2025-02-01 15:52:33 -05:00
Michael Chalupiak
c38b45e957 diff 2025-02-01 15:50:42 -05:00
Michael Chalupiak
24d4801414 themes 2025-02-01 15:42:37 -05:00
Michael Chalupiak
8b6ef51156 95 2025-02-01 15:05:23 -05:00
Michael Chalupiak
b893d4df72 actual sway config 2025-01-22 00:55:02 -05:00
Michael Chalupiak
b4fcb164f3 river config 2025-01-22 00:49:53 -05:00
Michael Chalupiak
ee6da6e10d switched back to sway 2025-01-22 00:26:32 -05:00
Michael Chalupiak
7b959b08ad dconf: 2025-01-05 21:45:45 -05:00
Michael Chalupiak
bd5012e3e8 lock 2024-12-24 13:10:12 -05:00
Michael Chalupiak
f1ff685e13 dconf' 2024-12-24 12:46:42 -05:00
Michael Chalupiak
aaba0d04ae gnome 2024-12-24 01:00:41 -05:00
Michael Chalupiak
bf4f428732 st 2024-12-15 13:24:39 -05:00
Michael Chalupiak
342a863ed6 stuff 2024-12-15 13:18:05 -05:00
Michael Chalupiak
34eb7ee038 neovide 2024-12-15 13:17:00 -05:00
Michael Chalupiak
86d8fa773c codelens 2024-12-03 23:12:06 -05:00
Michael Chalupiak
731d8dac06 nvim 2024-12-03 15:40:30 -05:00
Michael Chalupiak
285124c5c5 sxhkd 2024-12-03 15:23:25 -05:00
Michael Chalupiak
b41c49cda1 many changes 2024-12-03 15:21:21 -05:00
Michael Chalupiak
838809f377 doom rose-pine 2024-11-20 15:26:21 -05:00
Michael Chalupiak
d0c2f9551f commit 2024-11-12 19:26:18 -05:00
Michael Chalupiak
855ee6fe93 hls 2024-11-12 19:24:28 -05:00
Michael Chalupiak
b7e16d813a rm round corners 2024-11-07 13:58:35 -05:00
33794 changed files with 286199 additions and 2696 deletions

39
.gitignore vendored Normal file
View File

@@ -0,0 +1,39 @@
config/.config/dconf/*
config/.themes/*
config/**/*.uuid
config/.icons/*
config/.config/KDE/*
config/.config/falkon/*
config/.config/ghostty/iTerm2-Color-Schemes/*
config/.config/ghostty/themes/*
config/.config/helix/runtime/*
config/.config/kak/colors/*
config/.config/kak/plugins/*
config/.config/mutt/chalupmc@rose-hulman
config/.config/mutt/mikecchalupiak@outlook
config/.config/mutt/spamreciver1@outlook
config/.config/qt5ct/colors/*
config/.config/qutebrowser/autoconfig.yml
config/.config/qutebrowser/rosepine/*
config/.config/zathura/colors
config/.doom.d/flycheck_config.el
config/.scripts/kkse
config/.scripts/mlvwm-alert
config/.scripts/mlvwm-confirm
config/.scripts/mlvwm-message
config/.scripts/mlvwm-powerdown
config/.scripts/mlvwm-restart
config/.scripts/mlvwm-screenshot
config/.scripts/pipewire-launch
/config/.emacs.d/undo-fu-session/
/config/.emacs.d/tree-sitter/
/config/.emacs.d/tramp
/config/.emacs.d/straight/
/config/.emacs.d/recentf
/config/.emacs.d/places
/config/.emacs.d/parinfer-rust/
/config/.emacs.d/history
/config/.emacs.d/eshell/
/config/.emacs.d/elpa/
/config/.emacs.d/eln-cache/
/config/.emacs.d/auto-save-list/

View File

@@ -1,11 +1,11 @@
! High DPI Settings for Window Managers
Xft.dpi: 192
#define background_opacity 80
! #define background_opacity 80
#include ".theme.xresources"
.alpha: 0.2
! .alpha: 0.2
font: monospace:12
//*font: "Cascadia Code"
Sxiv.font: "Cascadia Code"
! Sxiv.font: "Olympe Mono Hacked"
!! Dracula Xresources palette
!/* *.foreground: #F8F8F2 */
!/* *.background: #282A36 */

View File

@@ -1,16 +1,22 @@
export PATH="${PATH}:$HOME/.scripts"
source ~/.profile
source ~/.bashrc
# Added by Toolbox App
export PATH="$PATH:/home/mikec/.local/share/JetBrains/Toolbox/scripts"
export PATH="${PATH}:$HOME/.scripts:$HOME/maple2022/bin:$HOME/intelFPGA_lite/18.1/quartus/bin:$HOME/intelFPGA_lite/18.1/modelsim_ase/bin"
export _JAVA_AWT_WM_NONREPARENTING=1
export XDG_CURRENT_DESKTOP=sway
source ~/.bashrc
export QSYS_ROOTDIR="/home/mikec/intelFPGA_lite/18.1/quartus/sopc_builder/bin"
export VERSION_CONTROL="never"
# opam configuration
test -r /home/mikec/.opam/opam-init/init.sh && . /home/mikec/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true
# exec hilbish -S -l
# BEGIN opam configuration
# This is useful if you're using opam as it adds:
# - the correct directories to the PATH
# - auto-completion for the opam binary
# This section can be safely removed at any time if needed.
test -r '/home/mikec/.opam/opam-init/init.sh' && . '/home/mikec/.opam/opam-init/init.sh' > /dev/null 2> /dev/null || true
# END opam configuration
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
exec river
fi
. "/home/mikec/.local/share/bob/env/env.sh"

View File

@@ -1,4 +1,4 @@
# ~/.bashrc: executed by bash(1) for non-login shells.
# ~/.bashrc
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
@@ -10,13 +10,26 @@ esac
export PATH=~/.local/bin:/snap/bin:/usr/sandbox/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/share/games:/usr/local/sbin:/usr/sbin:/sbin:$PATH
PATH=$PATH:~/.local/share/gem/ruby/3.0.0/bin/:~/.scripts
PATH=$PATH:~/.local/share/gem/ruby/3.4.0/bin/
PATH=$PATH:~/.cargo/bin
PATH=$PATH:~/go/bin/
PATH=$PATH:~/.nimble/bin/
PATH=$PATH:~/Documents/suckless/dylan/opendylan-2024.1/bin
PATH=$PATH:~/.config/emacs/bin/
PATH=$PATH:~/.mint/bin/
PATH=$PATH:~/glamoroustoolkit/bin/
PATH=$PATH:~/Documents/Projects/Cuis-Smalltalk-Dev/
PATH=$PATH:~/opt/homebrew/bin/
export CFLAGS="$CFLAGS -I/opt/homebrew/include"
LDPATH=$LDPATH:/opt/homebrew/lib/
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
export OPEN_DYLAN_USER_REGISTRIES=/tmp/dime-test/registry
# append to the history file, don't overwrite it
shopt -s histappend
@@ -115,17 +128,21 @@ alias _='sudo'
alias _i='sudo -i'
alias please='sudo'
alias fucking='sudo'
alias hx='helix'
# alias hx='helix'
alias bat='bat --theme="base16-256"'
if [ -n "$(command -v 'eza')" ]; then
alias ls='eza'
fi
alias zf='z $(flirt)'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
export EDITOR='nvim'
if [ -z "$EDITOR" ]; then
# export EDITOR=kak
export EDITOR='nvim'
fi
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
@@ -137,9 +154,11 @@ if [ "$XDG_SESSION_DESKTOP" = "sway" ] ; then
export STUDIO_JDK=/usr/lib/jvm/java-11-openjdk/
fi
eval "$(zoxide init bash)"
eval "$(fzf --bash)"
export TMUX_TMPDIR=/tmp
export TINTED_SHELL_ENABLE_BASE16_VARS=1
export PKG_CONFIG_PATH=/usr/local/share/pkgconfig/:$PKG_CONFIG_PATH
tinty_source_shell_theme() {
tinty $@
@@ -158,17 +177,53 @@ tinty_source_shell_theme() {
unset subcommand
}
if [ -n "$(command -v 'tinty')" ]; then
tinty_source_shell_theme "init"
alias theme='tinty_source_shell_theme apply "$(tinty list | fzf --cycle)" && xrdb ~/.Xresources'
# if [ -n "$(command -v 'tinty')" ]; then
# tinty_source_shell_theme "init"
# alias theme='tinty_source_shell_theme apply "$(tinty list | fzf --cycle)" && xrdb ~/.Xresources'
# fi
run_kak() {
/usr/bin/kak -c $SESH 2>/dev/null "$@" || /usr/bin/kak -s $SESH "$@"
}
if [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ] && [ -z "$TMUX" ]; then
SESH="$( (tmux list-sessions 2>/dev/null || echo '-1') | cut -d' ' -f1 | tr -d ':-' | sort -r | head -n1 | xargs -I{} echo '{} + 1' | bc)"
alias kak='tmux new-session -e "EDITOR=\"/usr/bin/kak -c $SESH\"" -s $SESH /usr/bin/kak -s $SESH > /dev/null'
elif [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ]; then
SESH="$(tmux display-message -p '#S')"
# alias kak='kak -c $SESH 2>/dev/null || kak -s $SESH'
alias kak=run_kak
alias vidir='EDITOR="/usr/bin/kak -c $SESH 2>/dev/null || /usr/bin/kak -s $SESH" vidir'
alias vipe='EDITOR="/usr/bin/kak -c $SESH 2>/dev/null || /usr/bin/kak -s $SESH" vipe'
fi
if [ -n "$(command -v tmux)" ] && [ -z "$TMUX" ]; then
alias kak='tmux new-session kak > /dev/null'
if [ -n "$(command -v tmux)" ] && [ -n "$(command -v helix)" ] && [ -z "$TMUX" ]; then
alias helix='tmux new-session -e "EDITOR=helix" helix > /dev/null'
# alias hx='tmux new-session -e "EDITOR=helix" helix > /dev/null'
fi
# if [ -n "$(command -v tmux)" ] && [ -z "$TMUX" ]; then
# SESH="$( (tmux list-sessions 2>/dev/null || echo '-1') | cut -d' ' -f1 | tr -d ':-' | sort -r | head -n1 | xargs -I{} echo '{} + 1' | bc)"
# alias tmux="tmux new-session -s $SESH"
# fi
alias enter-dev='. enter-dev.sh'
alias ssh='TERM="xterm-256color" ssh'
export DISABLE_TELEMETRY=YES
[ -f "/home/mikec/.ghcup/env" ] && . "/home/mikec/.ghcup/env" # ghcup-env
alias guile='rlwrap guile'
alias sbcl='rlwrap sbcl'
alias csi='rlwrap csi'
alias chicken-csi='rlwrap chicken-csi'
alias icyc='rlwrap icyc'
export DCONF_PROFILE
# export FZF_DEFAULT_OPTS="
# --color=fg:#908caa,bg:#191724,hl:#ebbcba
# --color=fg+:#e0def4,bg+:#26233a,hl+:#ebbcba
# --color=border:#403d52,header:#31748f,gutter:#191724
# --color=spinner:#f6c177,info:#9ccfd8
# --color=pointer:#c4a7e7,marker:#eb6f92,prompt:#908caa"
[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && \
source "$EAT_SHELL_INTEGRATION_DIR/bash"

View File

@@ -0,0 +1,2 @@
[UserFeedback]
LastEncouragement=@DateTime(\0\0\0\x10\0\0\0\0\0\0%\x87}\x4\n\x84\xab\0)

View File

@@ -0,0 +1,2 @@
[UserFeedback]
ApplicationStartCount=2

View File

@@ -0,0 +1,12 @@
[general]
import = ["rose-pine.toml"]
[window]
opacity = 1
[font]
size = 14
[font.normal]
family = "Iosevka Term SS12"
style = "Regular"

View File

@@ -0,0 +1,191 @@
font:
normal:
family: Cascadia Code
style: Regular
bold:
family: Cascadia Code
style: Bold
italic:
family: Cascadia Code
style: Italic
bold_italic:
family: Cascadia Code
style: Bold Italic
size: 12
# draw_bold_text_with_bright_colors: true
# shell:
# program: /bin/zsh
# args:
# - --login
# - -c
# - 'tmux attach -t TMUX || tmux new -s TMUX'
# ...
# Colors (One Half Dark)
# colors:
# primary:
# background: '0x282c34'
# foreground: '0xdcdfe4'
# normal:
# black: '0x282c34'
# red: '0xe06c75'
# green: '0x98c379'
# yellow: '0xe5c07b'
# blue: '0x61afef'
# magenta: '0xc678dd'
# cyan: '0x56b6c2'
# white: '0xdcdfe4'
# bright:
# black: '0x282c34'
# red: '0xe06c75'
# green: '0x98c379'
# yellow: '0xe5c07b'
# blue: '0x61afef'
# magenta: '0xc678dd'
# cyan: '0x56b6c2'
# white: '0xdcdfe4'
# Colors (One Half Light)
#colors:
# primary:
# background: '0xfafafa'
# foreground: '0x383a42'
#
# normal:
# black: '0x383a42'
# red: '0xe45649'
# green: '0x50a14f'
# yellow: '0xc18401'
# blue: '0x0184bc'
# magenta: '0xa626a4'
# cyan: '0x0997b3'
# white: '0xfafafa'
#
# bright:
# black: '0x383a42'
# red: '0xe45649'
# green: '0x50a14f'
# yellow: '0xc18401'
# blue: '0x0184bc'
# magenta: '0xa626a4'
# cyan: '0x0997b3'
# white: '0xfafafa'
# Colors (Dracula)
# colors:
# primary:
# background: '0x282a36'
# foreground: '0xf8f8f2'
# cursor:
# text: CellBackground
# cursor: CellForeground
# vi_mode_cursor:
# text: CellBackground
# cursor: CellForeground
# search:
# matches:
# foreground: '0x44475a'
# background: '0x50fa7b'
# focused_match:
# foreground: '0x44475a'
# background: '0xffb86c'
# bar:
# background: '0x282a36'
# foreground: '0xf8f8f2'
# line_indicator:
# foreground: None
# background: None
# selection:
# text: CellForeground
# background: '0x44475a'
# normal:
# black: '0x000000'
# red: '0xff5555'
# green: '0x50fa7b'
# yellow: '0xf1fa8c'
# blue: '0xbd93f9'
# magenta: '0xff79c6'
# cyan: '0x8be9fd'
# white: '0xbfbfbf'
# bright:
# black: '0x4d4d4d'
# red: '0xff6e67'
# green: '0x5af78e'
# yellow: '0xf4f99d'
# blue: '0xcaa9fa'
# magenta: '0xff92d0'
# cyan: '0x9aedfe'
# white: '0xe6e6e6'
# dim:
# black: '0x14151b'
# red: '0xff2222'
# green: '0x1ef956'
# yellow: '0xebf85b'
# blue: '0x4d5b86'
# magenta: '0xff46b0'
# cyan: '0x59dffc'
# white: '0xe6e6d1'
# Colors (Nord)
#colors:
# primary:
# background: '#2e3440'
# foreground: '#d8dee9'
# dim_foreground: '#a5abb6'
# cursor:
# text: '#2e3440'
# cursor: '#d8dee9'
# vi_mode_cursor:
# text: '#2e3440'
# cursor: '#d8dee9'
# selection:
# text: CellForeground
# background: '#4c566a'
# search:
# matches:
# foreground: CellBackground
# background: '#88c0d0'
# bar:
# background: '#434c5e'
# foreground: '#d8dee9'
# normal:
# black: '#3b4252'
# red: '#bf616a'
# green: '#a3be8c'
# yellow: '#ebcb8b'
# blue: '#81a1c1'
# magenta: '#b48ead'
# cyan: '#88c0d0'
# white: '#e5e9f0'
# bright:
# black: '#4c566a'
# red: '#bf616a'
# green: '#a3be8c'
# yellow: '#ebcb8b'
# blue: '#81a1c1'
# magenta: '#b48ead'
# cyan: '#8fbcbb'
# white: '#eceff4'
# dim:
# black: '#373e4d'
# red: '#94545d'
# green: '#809575'
# yellow: '#b29e75'
# blue: '#68809a'
# magenta: '#8c738c'
# cyan: '#6d96a5'
# white: '#aeb3bb'
# Visual Bell
# ...
# background_opacity: 0.90

View File

@@ -0,0 +1,37 @@
# Base16 Monokai - alacritty color config
# Wimer Hazenberg (http://www.monokai.nl)
[colors]
draw_bold_text_with_bright_colors = false
# Default colors
[colors.primary]
background = '0x272822'
foreground = '0xf8f8f2'
# Colors the cursor will use if `custom_cursor_colors` is true
[colors.cursor]
text = '0x272822'
cursor = '0xf8f8f2'
# Normal colors
[colors.normal]
black = '0x272822'
red = '0xf92672'
green = '0xa6e22e'
yellow = '0xf4bf75'
blue = '0x66d9ef'
magenta = '0xae81ff'
cyan = '0xa1efe4'
white = '0xf8f8f2'
# Bright colors
[colors.bright]
black = '0x75715e'
red = '0xfd971f'
green = '0x383830'
yellow = '0x49483e'
blue = '0xa59f85'
magenta = '0xf5f4f1'
cyan = '0xcc6633'
white = '0xf9f8f5'

View File

@@ -0,0 +1,58 @@
# TOML interpretation of the https://github.com/nordtheme/alacritty
# See also: https://github.com/nordtheme/alacritty/issues/40
# (if the above is resolved, you may not need this Gist)
[colors.primary]
background = "#2e3440"
foreground = "#d8dee9"
dim_foreground = "#a5abb6"
[colors.cursor]
text = "#2e3440"
cursor = "#d8dee9"
[colors.vi_mode_cursor]
text = "#2e3440"
cursor = "#d8dee9"
[colors.selection]
text = "CellForeground"
background = "#4c566a"
[colors.search.matches]
foreground = "CellBackground"
background = "#88c0d0"
[colors.footer_bar]
background = "#434c5e"
foreground = "#d8dee9"
[colors.normal]
black = "#3b4252"
red = "#bf616a"
green = "#a3be8c"
yellow = "#ebcb8b"
blue = "#81a1c1"
magenta = "#b48ead"
cyan = "#88c0d0"
white = "#e5e9f0"
[colors.bright]
black = "#4c566a"
red = "#bf616a"
green = "#a3be8c"
yellow = "#ebcb8b"
blue = "#81a1c1"
magenta = "#b48ead"
cyan = "#8fbcbb"
white = "#eceff4"
[colors.dim]
black = "#373e4d"
red = "#94545d"
green = "#809575"
yellow = "#b29e75"
blue = "#68809a"
magenta = "#8c738c"
cyan = "#6d96a5"
white = "#aeb3bb"

View File

@@ -0,0 +1,51 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the MIT license found in the license file.
colors:
primary:
background: "#2e3440"
foreground: "#d8dee9"
dim_foreground: "#a5abb6"
cursor:
text: "#2e3440"
cursor: "#d8dee9"
vi_mode_cursor:
text: "#2e3440"
cursor: "#d8dee9"
selection:
text: CellForeground
background: "#4c566a"
search:
matches:
foreground: CellBackground
background: "#88c0d0"
bar:
background: "#434c5e"
foreground: "#d8dee9"
normal:
black: "#3b4252"
red: "#bf616a"
green: "#a3be8c"
yellow: "#ebcb8b"
blue: "#81a1c1"
magenta: "#b48ead"
cyan: "#88c0d0"
white: "#e5e9f0"
bright:
black: "#4c566a"
red: "#bf616a"
green: "#a3be8c"
yellow: "#ebcb8b"
blue: "#81a1c1"
magenta: "#b48ead"
cyan: "#8fbcbb"
white: "#eceff4"
dim:
black: "#373e4d"
red: "#94545d"
green: "#809575"
yellow: "#b29e75"
blue: "#68809a"
magenta: "#8c738c"
cyan: "#6d96a5"
white: "#aeb3bb"

View File

@@ -0,0 +1,75 @@
# Colors section of "Alacritty - TOML configuration file format"
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd#colors
[colors.primary]
foreground = "#575279"
background = "#faf4ed"
dim_foreground = "#797593"
bright_foreground = "#575279"
[colors.cursor]
text = "#575279"
cursor = "#cecacd"
[colors.vi_mode_cursor]
text = "#575279"
cursor = "#cecacd"
[colors.search.matches]
foreground = "#797593"
background = "#f2e9e1"
[colors.search.focused_match]
foreground = "#faf4ed"
background = "#d7827e"
[colors.hints.start]
foreground = "#797593"
background = "#fffaf3"
[colors.hints.end]
foreground = "#9893a5"
background = "#fffaf3"
[colors.line_indicator]
foreground = "None"
background = "None"
[colors.footer_bar]
foreground = "#575279"
background = "#fffaf3"
[colors.selection]
text = "#575279"
background = "#dfdad9"
[colors.normal]
black = "#f2e9e1"
red = "#b4637a"
green = "#286983"
yellow = "#ea9d34"
blue = "#56949f"
magenta = "#907aa9"
cyan = "#d7827e"
white = "#575279"
[colors.bright]
black = "#9893a5"
red = "#b4637a"
green = "#286983"
yellow = "#ea9d34"
blue = "#56949f"
magenta = "#907aa9"
cyan = "#d7827e"
white = "#575279"
[colors.dim]
black = "#9893a5"
red = "#b4637a"
green = "#286983"
yellow = "#ea9d34"
blue = "#56949f"
magenta = "#907aa9"
cyan = "#d7827e"
white = "#575279"

View File

@@ -0,0 +1,75 @@
# Colors section of "Alacritty - TOML configuration file format"
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd#colors
[colors.primary]
foreground = "#e0def4"
background = "#232136"
dim_foreground = "#908caa"
bright_foreground = "#e0def4"
[colors.cursor]
text = "#e0def4"
cursor = "#56526e"
[colors.vi_mode_cursor]
text = "#e0def4"
cursor = "#56526e"
[colors.search.matches]
foreground = "#908caa"
background = "#393552"
[colors.search.focused_match]
foreground = "#232136"
background = "#ea9a97"
[colors.hints.start]
foreground = "#908caa"
background = "#2a273f"
[colors.hints.end]
foreground = "#6e6a86"
background = "#2a273f"
[colors.line_indicator]
foreground = "None"
background = "None"
[colors.footer_bar]
foreground = "#e0def4"
background = "#2a273f"
[colors.selection]
text = "#e0def4"
background = "#44415a"
[colors.normal]
black = "#393552"
red = "#eb6f92"
green = "#3e8fb0"
yellow = "#f6c177"
blue = "#9ccfd8"
magenta = "#c4a7e7"
cyan = "#ea9a97"
white = "#e0def4"
[colors.bright]
black = "#6e6a86"
red = "#eb6f92"
green = "#3e8fb0"
yellow = "#f6c177"
blue = "#9ccfd8"
magenta = "#c4a7e7"
cyan = "#ea9a97"
white = "#e0def4"
[colors.dim]
black = "#6e6a86"
red = "#eb6f92"
green = "#3e8fb0"
yellow = "#f6c177"
blue = "#9ccfd8"
magenta = "#c4a7e7"
cyan = "#ea9a97"
white = "#e0def4"

View File

@@ -0,0 +1,75 @@
# Colors section of "Alacritty - TOML configuration file format"
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd#colors
[colors.primary]
foreground = "#e0def4"
background = "#191724"
dim_foreground = "#908caa"
bright_foreground = "#e0def4"
[colors.cursor]
text = "#e0def4"
cursor = "#524f67"
[colors.vi_mode_cursor]
text = "#e0def4"
cursor = "#524f67"
[colors.search.matches]
foreground = "#908caa"
background = "#26233a"
[colors.search.focused_match]
foreground = "#191724"
background = "#ebbcba"
[colors.hints.start]
foreground = "#908caa"
background = "#1f1d2e"
[colors.hints.end]
foreground = "#6e6a86"
background = "#1f1d2e"
[colors.line_indicator]
foreground = "None"
background = "None"
[colors.footer_bar]
foreground = "#e0def4"
background = "#1f1d2e"
[colors.selection]
text = "#e0def4"
background = "#403d52"
[colors.normal]
black = "#26233a"
red = "#eb6f92"
green = "#31748f"
yellow = "#f6c177"
blue = "#9ccfd8"
magenta = "#c4a7e7"
cyan = "#ebbcba"
white = "#e0def4"
[colors.bright]
black = "#6e6a86"
red = "#eb6f92"
green = "#31748f"
yellow = "#f6c177"
blue = "#9ccfd8"
magenta = "#c4a7e7"
cyan = "#ebbcba"
white = "#e0def4"
[colors.dim]
black = "#6e6a86"
red = "#eb6f92"
green = "#31748f"
yellow = "#f6c177"
blue = "#9ccfd8"
magenta = "#c4a7e7"
cyan = "#ebbcba"
white = "#e0def4"

View File

@@ -2,8 +2,9 @@
## Autostart Programs
sxhkd &
xsetroot -cursor_name left_ptr
# xsetroot -cursor_name left_ptr
pgrep bspswallow || bspswallow &
pgrep statnot || statnot &
# polybar example &
#~/.scripts/panel.sh
if [ $(pgrep polybar) ]; then
@@ -11,20 +12,22 @@ if [ $(pgrep polybar) ]; then
else
sleep .5 && polybar mainbar &
fi
pipewire-launch || pipewire-launch restart &
#MONITOR=DP-5 polybar example &
~/.fehbg
picom --corner-radius 15 &
picom &
#lxsession &
#blueman-applet &
#nm-applet &
## Configure Monitors/Workspaces
bspc monitor eDP-1 -d 1 2 3 4 5 6 7 8 9
bspc monitor DisplayPort-1 -d 1 2 3 4 5 6 7 8 9
bspc monitor DisplayPort-0 -d 1 2 3 4 5 6 7 8 9
## Theming
bspc config border_width 2
bspc config border_width 1
bspc config window_gap 10
bspc config top_padding 36
bspc config top_padding 20
bspc config left_padding 0
bspc config right_padding 0
bspc config bottom_padding 0

View File

@@ -1 +1,2 @@
St
st

1
config/.config/cmus/rc Normal file
View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,51 @@
# Rosé Pine colorscheme
# by: Boris Petrov (https://github.com/Iorvethe)
# colors from: https://rosepinetheme.com/
#
# Blue: 67
# Red: 166
# Yellow: 227
# Pink: 217
# White: 254
# Black: 233
# Window
set color_cmdline_bg=default
set color_cmdline_fg=default
set color_win_title_bg=67
set color_win_title_fg=254
set color_win_bg=default
set color_win_fg=default
set color_separator=67
# Bottom status
set color_titleline_bg=67
set color_titleline_fg=254
set color_statusline_bg=default
set color_statusline_fg=default
# Text
set color_win_cur=227
set color_win_dir=default
# Menu
set color_win_sel_bg=67
set color_win_sel_fg=254
set color_win_inactive_sel_bg=default
set color_win_inactive_sel_fg=67
set color_win_cur_sel_bg=67
set color_win_cur_sel_fg=227
set color_win_inactive_cur_sel_bg=default
set color_win_inactive_cur_sel_fg=227
# Messages
set color_error=166
set color_info=227

View File

@@ -0,0 +1,51 @@
# Rosé Pine colorscheme
# by: Boris Petrov (https://github.com/Iorvethe)
# colors from: https://rosepinetheme.com/
#
# Blue: 67
# Red: 166
# Yellow: 227
# Pink: 181
# White: 254
# Black: 233
# Window
set color_cmdline_bg=default
set color_cmdline_fg=default
set color_win_title_bg=181
set color_win_title_fg=233
set color_win_bg=default
set color_win_fg=default
set color_separator=181
# Bottom status
set color_titleline_bg=181
set color_titleline_fg=233
set color_statusline_bg=default
set color_statusline_fg=default
# Text
set color_win_cur=227
set color_win_dir=default
# Menu
set color_win_sel_bg=181
set color_win_sel_fg=233
set color_win_inactive_sel_bg=default
set color_win_inactive_sel_fg=181
set color_win_cur_sel_bg=181
set color_win_cur_sel_fg=227
set color_win_inactive_cur_sel_bg=default
set color_win_inactive_cur_sel_fg=227
# Messages
set color_error=166
set color_info=227

View File

@@ -0,0 +1,127 @@
;;; $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. It is optional.
;; (setq user-full-name "John Doe"
;; user-mail-address "john@doe.com")
;; Doom exposes five (optional) variables for controlling fonts in Doom:
;;
;; - `doom-font' -- the primary font to use
;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable)
;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for
;; presentations or streaming.
;; - `doom-symbol-font' -- for symbols
;; - `doom-serif-font' -- for the `fixed-pitch-serif' face
;;
;; See 'C-h v doom-font' for documentation and more examples of what they
;; accept. For example:
;;
;; (setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light)
;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13))
(setq doom-font (font-spec :family "Iosevka Term SS12" :size 18))
;;
;; If you or Emacs can't find your font, use 'M-x describe-font' to look them
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
;; refresh your font settings. If Emacs still can't find your font, it likely
;; wasn't installed correctly. Font issues are rarely Doom issues!
;; 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 'doom-one)
;; 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 'relative)
;; 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/")
;; Whenever you reconfigure a package, make sure to wrap your config in an
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
;;
;; (after! PACKAGE
;; (setq x y))
;;
;; The exceptions to this rule:
;;
;; - Setting file/directory variables (like `org-directory')
;; - Setting variables which explicitly tell you to set them before their
;; package is loaded (see 'C-h v VARIABLE' to look up their documentation).
;; - Setting doom variables (which start with 'doom-' or '+').
;;
;; Here are some additional functions/macros that will 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.
;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
;; etc).
;;
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
;; they are implemented.
;; (setq! tab-always-indent nil)
(after! corfu
(setq! tab-always-indent nil))
;; (map! :map corfu-map :i "TAB" nil)
;; (map! :map corfu-map "TAB" nil)
;; (map! :map corfu-map :i "S-TAB" nil)
;; (map! :map corfu-map "S-TAB" nil)
;; (map! :map corfu-map :i "C-n" #'corfu-next)
;; (map! :map corfu-map :i "C-p" #'corfu-previous)
;; (map! :map corfu-map "C-n" #'corfu-next)
;; (map! :map corfu-map "C-p" #'corfu-previous)
;; (map! :map corfu-map "ESC" #'corfu-reset)
;; (map! :map corfu-map :i "ESC" #'corfu-reset)
;; (map! :map corfu-map "C-g" #'corfu-reset)
;; (map! :map corfu-map :i "C-g" #'corfu-reset)
;; (setq +corfu-want-ret-to-confirm nil)
(use-package! auto-dark
:defer t
:init
;; Configure themes
(setq! auto-dark-themes '((doom-gruvbox) (doom-gruvbox-light)))
;; Disable doom's theme loading mechanism (just to make sure)
(setq! doom-theme nil)
;; Declare that all themes are safe to load.
;; Be aware that setting this variable may have security implications if you
;; get tricked into loading untrusted themes (via auto-dark-mode or manually).
;; See the documentation of custom-safe-themes for details.
(setq! custom-safe-themes t)
;; Enable auto-dark-mode at the right point in time.
;; This is inspired by doom-ui.el. Using server-after-make-frame-hook avoids
;; issues with an early start of the emacs daemon using systemd, which causes
;; problems with the DBus connection that auto-dark mode relies upon.
(defun my-auto-dark-init-h ()
(auto-dark-mode)
(remove-hook 'server-after-make-frame-hook #'my-auto-dark-init-h)
(remove-hook 'after-init-hook #'my-auto-dark-init-h))
(let ((hook (if (daemonp)
'server-after-make-frame-hook
'after-init-hook)))
;; Depth -95 puts this before doom-init-theme-h, which sounds like a good
;; idea, if only for performance reasons.
(add-hook hook #'my-auto-dark-init-h -95)))
(add-to-list 'auto-mode-alist '("\\.odin\\'" . odin-ts-mode))
(defvar treesit-language-source-alist '((odin "https://github.com/tree-sitter-grammars/tree-sitter-odin")))
;; (add-to-list treesit-language-source-alist '(odin "https://github.com/tree-sitter-grammars/tree-sitter-odin"))
(setq lsp-inlay-hint-enable 't)

198
config/.config/doom/init.el Normal file
View File

@@ -0,0 +1,198 @@
;;; 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 link to Doom's Module Index where all
;; of our modules are listed, including 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
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
:completion
;;company ; the ultimate code completion backend
(corfu +orderless) ; complete with cap(f), cape and a flying feather!
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
;; ivy ; a search engine for love and life
vertico ; the search engine of the future
: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) ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
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
smooth-scroll ; So smooth you won't believe it's not butter
;;tabs ; a tab bar for Emacs
;;treemacs ; a project drawer, like neotree but cooler
unicode ; extended unicode support for various languages
(vc-gutter +pretty) ; 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
;; (whitespace +guess +trim) ; a butler for your whitespace
word-wrap ; soft wrapping with language-aware indent
:emacs
dired ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
;;eww ; the internet is gross
ibuffer ; interactive buffer management
tramp ; remote files at your arthritic fingertips
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
;;biblio ; Writes a PhD for you (citation needed)
;;collab ; buffers with friends
;;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)
(lookup +dictionary +offline) ; navigate your code and its documentation
;;llm ; when I said you needed friends, I didn't mean...
(lsp +eglot) ; M-x vscode
(magit +forge) ; a git porcelain for Emacs
;;make ; run make tasks from Emacs
;;pass ; password manager for nerds
;;pdf ; pdf enhancements
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
tree-sitter ; syntax and parsing, sitting in a tree...
;;upload ; map local to remote projects via ssh/ftp
:os
(:if (featurep :system 'macos) macos) ; improve compatibility with macOS
tty ; improve the terminal Emacs experience
:lang
;;ada ; In strong typing we (blindly) trust
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
(cc +lsp +tree-sitter) ; 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
;;dhall
;;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
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;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
;;(graphql +lsp) ; Give queries a REST
;;(haskell +lsp) ; 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
;;janet ; Fun fact: Janet is me!
;;(java +lsp) ; 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 +grip +tree-sitter) ; 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 ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;graphviz ; diagrams for confusing yourself even 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 +lsp +tree-sitter) ; 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 +lsp +tree-sitter); who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
(web +lsp +tree-sitter) ; the tubes
;;yaml ; JSON, but readable
(zig +lsp +tree-sitter) ; C, but simpler
:email
;;(mu4e +org +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
:config
;;literate
(default +bindings +smartparens))

View File

@@ -0,0 +1,57 @@
;; -*- no-byte-compile: t; -*-
;;; $DOOMDIR/packages.el
;; To install a package:
;;
;; 1. Declare them here in a `package!' statement,
;; 2. Run 'doom sync' in the shell,
;; 3. Restart Emacs.
;;
;; Use 'C-h f package\!' to look up documentation for the `package!' macro.
;; 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/radian-software/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 radian-software/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)
(package! auto-dark)
(package! odin-ts-mode
:recipe (:host github :repo "Sampie159/odin-ts-mode"))

View File

@@ -0,0 +1,237 @@
;;; doom-rose-pine-dawn-theme.el --- A light port of Rose Piné Dawn theme -*- lexical-binding: t; no-byte-compile: t; -*-
;;
;; Author: mvllow
;; Ported by: donniebreve
;; Keywords: custom themes, faces
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
;;
;;; Commentary:
;;
;; Thanks to mvllow (https://github.com/rose-pine)
;; Thanks to hlissner (https://github.com/doomemacs/themes)
;;
;;; Code:
(require 'doom-themes)
;;; Variables
(defgroup doom-rose-pine-dawn-theme nil
"Options for the `doom-rose-pine-dawn' theme."
:group 'doom-themes)
(defcustom doom-rose-pine-dawn-brighter-modeline nil
"If non-nil, more vivid colors will be used to style the mode-line."
:group 'doom-rose-pine-dawn-theme
:type 'boolean)
(defcustom doom-rose-pine-dawn-brighter-comments nil
"If non-nil, comments will be highlighted in more vivid colors."
:group 'doom-rose-pine-dawn-theme
:type 'boolean)
(defcustom doom-rose-pine-dawn-padded-modeline doom-themes-padded-modeline
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
:group 'doom-rose-pine-dawn-theme
:type '(choice integer boolean))
;;; Theme definition
(def-doom-theme doom-rose-pine-dawn
"A light port of Rosé Pine Dawn theme"
;; Main theme colors
(
;; name default 256 16
(base '("#faf4ed" "#faf4ed" "black" ))
(surface '("#fffaf3" "#fffaf3" "brightblack" ))
(overlay '("#f2e9de" "#f2e9de" "brightblack" ))
(muted '("#9893a5" "#9893a5" "brightblack" ))
(subtle '("#797593" "#797593" "brightblack" ))
(text '("#575279" "#575279" "brightblack" ))
(love '("#b4637a" "#b4637a" "red" ))
(gold '("#ea9d34" "#ea9d34" "white" ))
(rose '("#d7827e" "#d7827e" "white" ))
(pine '("#286983" "#286983" "white" ))
(foam '("#56949f" "#56949f" "white" ))
(iris '("#907aa9" "#907aa9" "white" ))
(highlightL '("#f4ede8" "#f4ede8" "grey" ))
(highlightM '("#dfdad9" "#dfdad9" "grey" ))
(highlightH '("#cecacd" "#cecacd" "grey" ))
;; Variables required by doom theme
(bg base)
(fg text)
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
;; or region), especially when paired with the `doom-darken', `doom-lighten',
;; and `doom-blend' helper functions.
(bg-alt surface)
(fg-alt text)
;; These should represent a spectrum from bg to fg, where base0 is a starker
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
;; dark grey, base0 should be white and base8 should be black.
(base0 surface)
(base1 base)
(base2 highlightL)
(base3 overlay)
(base4 highlightM)
(base5 highlightH)
(base6 muted)
(base7 subtle)
(base8 text)
(grey muted)
(red love)
(orange gold)
(green pine)
(teal pine)
(yellow rose)
(blue pine)
(dark-blue pine)
(magenta iris)
(violet iris)
(cyan foam)
(dark-cyan foam)
;; Variables required by doom theme ends here
;; Required face categories for syntax highlighting
(highlight subtle) ; cursor
(selection base) ; can't figure out where this is used
(region overlay) ; visual selection
(vertical-bar surface) ; window split
(comments (if doom-rose-pine-dawn-brighter-comments subtle muted))
(doc-comments (if doom-rose-pine-dawn-brighter-comments subtle muted))
(builtin pine)
(constants iris)
(functions pine)
(keywords pine)
(methods foam)
(numbers rose)
(operators gold)
(strings gold)
(type rose)
(variables iris)
(error love)
(success foam)
(warning gold)
(vc-added foam)
(vc-deleted love)
(vc-modified gold)
;; Other categories
;; Modeline
(modeline-bg (if doom-rose-pine-dawn-brighter-modeline overlay surface))
(modeline-fg text)
(modeline-bg-alt (if doom-rose-pine-dawn-brighter-modeline muted overlay))
(modeline-fg-alt text) ; should this be darker or lighter?
(modeline-bg-inactive base)
(modeline-fg-inactive subtle)
(modeline-bg-inactive-alt base)
(modeline-fg-inactive-alt subtle)
(modeline-pad
(when doom-rose-pine-dawn-padded-modeline
if (integerp doom-rose-pine-dawn-padded-modeline) doom-rose-pine-padded-modeline 4)))
;; Base theme face overrides
(
;; Font
((font-lock-comment-face &override)
:slant 'italic
:background (if doom-rose-pine-dawn-brighter-comments (doom-blend teal base 0.07)))
((font-lock-type-face &override) :slant 'italic)
((font-lock-builtin-face &override) :slant 'italic)
((font-lock-function-name-face &override) :foreground type)
((font-lock-keyword-face &override) :weight 'bold)
((font-lock-constant-face &override) :weight 'bold)
;; Highlight line
(hl-line
:background highlightL)
;; Line numbers
((line-number &override) :foreground muted)
((line-number-current-line &override) :foreground text)
;; Mode line
(mode-line
:background modeline-bg
:foreground modeline-fg
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
(mode-line-inactive
:background modeline-bg-inactive
:foreground modeline-fg-inactive
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
(mode-line-emphasis
:foreground (if doom-rose-pine-dawn-brighter-modeline text subtle))
;; Company
(company-tooltip-selection :background blue :foreground muted)
;; CSS mode <built-in> / scss-mode
(css-proprietary-property :foreground orange)
(css-property :foreground green)
(css-selector :foreground green)
;; Doom mode line
(doom-modeline-bar :background green) ; The line to the left
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
;; Helm
(helm-selection :foreground base :weight 'bold :background blue)
;; Ivy
(ivy-current-match :background highlightL :distant-foreground fg)
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
(ivy-posframe :background modeline-bg-alt)
;; Markdown mode
(markdown-markup-face :foreground text)
(markdown-header-face :inherit 'bold :foreground red)
((markdown-code-face &override) :background surface)
;; org <built-in>
(org-block :background (doom-blend yellow bg 0.04) :extend t)
(org-block-background :background (doom-blend yellow bg 0.04))
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-level-1 :foreground gold)
(org-level-2 :foreground rose)
(org-level-3 :foreground pine)
(org-level-4 :foreground iris)
(org-level-5 :foreground gold)
(org-level-6 :foreground rose)
(org-level-7 :foreground pine)
(org-level-8 :foreground iris)
;; Solaire mode line
(solaire-mode-line-face
:inherit 'mode-line
:background modeline-bg-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
(solaire-mode-line-inactive-face
:inherit 'mode-line-inactive
:background modeline-bg-inactive-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
;; Widget
(widget-field :foreground fg :background muted)
(widget-single-line-field :foreground fg :background muted)
;; Swiper
(swiper-line-face :background highlightM)
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
;;; doom-rose-pine-dawn-theme.el ends here

View File

@@ -0,0 +1,244 @@
;;; doom-rose-pine-moon-theme.el --- A medium port of Rosé Pine Moon theme -*- lexical-binding: t; no-byte-compile: t; -*-
;;
;; Author: mvllow
;; Ported by: donniebreve
;; Keywords: custom themes, faces
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
;;
;;; Commentary:
;;
;; Thanks to mvllow (https://github.com/rose-pine)
;; Thanks to hlissner (https://github.com/doomemacs/themes)
;;
;;; Code:
(require 'doom-themes)
;;; Variables
(defgroup doom-rose-pine-moon-theme nil
"Options for the `doom-rose-pine-moon' theme."
:group 'doom-themes)
(defcustom doom-rose-pine-moon-brighter-modeline nil
"If non-nil, more vivid colors will be used to style the mode-line."
:group 'doom-rose-pine-moon-theme
:type 'boolean)
(defcustom doom-rose-pine-moon-brighter-comments nil
"If non-nil, comments will be highlighted in more vivid colors."
:group 'doom-rose-pine-moon-theme
:type 'boolean)
(defcustom doom-rose-pine-moon-brighter-text nil
"If non-nil, default text will be brighter."
:group 'doom-rose-pine-moon-theme
:type 'boolean)
(defcustom doom-rose-pine-moon-padded-modeline doom-themes-padded-modeline
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
:group 'doom-rose-pine-moon-theme
:type '(choice integer boolean))
;;; Theme definition
(def-doom-theme doom-rose-pine-moon
"A medium port of Rosé Pine Moon theme"
;; Main theme colors
(
;; name default 256 16
(base '("#232136" "#232136" "black" ))
(surface '("#2a273f" "#2a273f" "brightblack" ))
(overlay '("#393552" "#393552" "brightblack" ))
(muted '("#6e6a86" "#6e6a86" "brightblack" ))
(subtle '("#908caa" "#908caa" "brightblack" ))
(text '("#e0def4" "#e0def4" "brightblack" ))
(love '("#eb6f92" "#eb6f92" "red" ))
(gold '("#f6c177" "#f6c177" "white" ))
(rose '("#ea9a97" "#ea9a97" "white" ))
(pine '("#3e8fb0" "#3e8fb0" "white" ))
(foam '("#9ccfd8" "#9ccfd8" "white" ))
(iris '("#c4a7e7" "#c4a7e7" "white" ))
(highlightL '("#2a283e" "#2a283e" "white" ))
(highlightM '("#44415a" "#44415a" "white" ))
(highlightH '("#56526e" "#56526e" "white" ))
;; Variables required by doom theme
;; These are required by doom theme and used in various places
(bg base)
(fg text)
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
;; or region), especially when paired with the `doom-darken', `doom-lighten',
;; and `doom-blend' helper functions.
(bg-alt surface)
(fg-alt text)
;; These should represent a spectrum from bg to fg, where base0 is a starker
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
;; dark grey, base0 should be white and base8 should be black.
(base0 base)
(base1 surface)
(base2 highlightL)
(base3 overlay)
(base4 highlightM)
(base5 highlightH)
(base6 muted)
(base7 subtle)
(base8 text)
(grey muted)
(red love)
(orange gold)
(green pine)
(teal foam)
(yellow rose)
(pink rose)
(blue pine)
(dark-blue pine)
(magenta iris)
(violet iris)
(cyan foam)
(dark-cyan pine)
;; Variables required by doom theme ends here
;; Required face categories for syntax highlighting
(highlight subtle) ; cursor
(selection base) ; can't figure out where this is used
(region overlay) ; visual selection
(vertical-bar surface) ; window split
(comments (if doom-rose-pine-moon-brighter-comments subtle muted))
(doc-comments (if doom-rose-pine-moon-brighter-comments subtle muted))
(builtin pine)
(constants iris)
(functions pine)
(keywords pine)
(methods foam)
(numbers rose)
(operators gold)
(strings gold)
(type rose)
(variables iris)
(error love)
(success foam)
(warning gold)
(vc-added foam)
(vc-deleted love)
(vc-modified gold)
;; Other categories
;; Modeline
(modeline-bg (if doom-rose-pine-moon-brighter-modeline overlay surface))
(modeline-fg text)
(modeline-bg-alt (if doom-rose-pine-moon-brighter-modeline muted overlay))
(modeline-fg-alt text) ; should this be darker or lighter?
(modeline-bg-inactive base)
(modeline-fg-inactive subtle)
(modeline-bg-inactive-alt base)
(modeline-fg-inactive-alt subtle)
(modeline-pad
(when doom-rose-pine-moon-padded-modeline
if (integerp doom-rose-pine-moon-padded-modeline) doom-rose-pine-padded-modeline 4)))
;; Base theme face overrides
(
;; Font
((font-lock-comment-face &override)
:slant 'italic
:background (if doom-rose-pine-moon-brighter-comments (doom-blend teal base 0.07)))
((font-lock-type-face &override) :slant 'italic)
((font-lock-builtin-face &override) :slant 'italic)
((font-lock-function-name-face &override) :foreground type)
((font-lock-keyword-face &override) :weight 'bold)
((font-lock-constant-face &override) :weight 'bold)
;; Highlight line
(hl-line
:background surface)
;; Line numbers
((line-number &override) :foreground muted)
((line-number-current-line &override) :foreground text)
;; Mode line
(mode-line
:background modeline-bg
:foreground modeline-fg
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
(mode-line-inactive
:background modeline-bg-inactive
:foreground modeline-fg-inactive
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
(mode-line-emphasis
:foreground (if doom-rose-pine-moon-brighter-modeline text subtle))
;; Company
(company-tooltip-selection :background blue :foreground muted)
;; CSS mode <built-in> / scss-mode
(css-proprietary-property :foreground orange)
(css-property :foreground green)
(css-selector :foreground green)
;; Doom mode line
(doom-modeline-bar :background green) ; The line to the left
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
;; Helm
(helm-selection :foreground base :weight 'bold :background blue)
;; Ivy
(ivy-current-match :background overlay :distant-foreground fg)
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
(ivy-posframe :background modeline-bg-alt)
;; Markdown mode
(markdown-markup-face :foreground text)
(markdown-header-face :inherit 'bold :foreground red)
((markdown-code-face &override) :background surface)
;; org <built-in>
(org-block :background (doom-blend yellow bg 0.04) :extend t)
(org-block-background :background (doom-blend yellow bg 0.04))
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-level-1 :foreground gold)
(org-level-2 :foreground rose)
(org-level-3 :foreground pine)
(org-level-4 :foreground iris)
(org-level-5 :foreground gold)
(org-level-6 :foreground rose)
(org-level-7 :foreground pine)
(org-level-8 :foreground iris)
;; Solaire mode line
(solaire-mode-line-face
:inherit 'mode-line
:background modeline-bg-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
(solaire-mode-line-inactive-face
:inherit 'mode-line-inactive
:background modeline-bg-inactive-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
;; Widget
(widget-field :foreground fg :background muted)
(widget-single-line-field :foreground fg :background muted)
;; Swiper
(swiper-line-face :background highlightM)
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
;;; doom-rose-pine-moon-theme.el ends here

View File

@@ -0,0 +1,242 @@
;;; doom-rose-pine-theme.el --- A dark port of Rosé Pine theme -*- lexical-binding: t; no-byte-compile: t; -*-
;;
;; Author: mvllow
;; Ported by: donniebreve
;; Keywords: custom themes, faces
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
;;
;;; Commentary:
;;
;; Thanks to mvllow (https://github.com/rose-pine)
;; Thanks to hlissner (https://github.com/doomemacs/themes)
;;
;;; Code:
(require 'doom-themes)
;;; Variables
(defgroup doom-rose-pine-theme nil
"Options for the `doom-rose-pine' theme."
:group 'doom-themes)
(defcustom doom-rose-pine-brighter-modeline nil
"If non-nil, more vivid colors will be used to style the mode-line."
:group 'doom-rose-pine-theme
:type 'boolean)
(defcustom doom-rose-pine-brighter-comments nil
"If non-nil, comments will be highlighted in more vivid colors."
:group 'doom-rose-pine-theme
:type 'boolean)
(defcustom doom-rose-pine-brighter-text nil
"If non-nil, default text will be brighter."
:group 'doom-rose-pine-theme
:type 'boolean)
(defcustom doom-rose-pine-padded-modeline doom-themes-padded-modeline
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
:group 'doom-rose-pine-theme
:type '(choice integer boolean))
;;; Theme definition
(def-doom-theme doom-rose-pine
"A dark port of Rosé Pine theme"
;; Main theme colors
(
;; name default 256 16
(base '("#191724" "#191724" "black" ))
(surface '("#1f1d2e" "#1f1d2e" "brightblack" ))
(overlay '("#26233a" "#26233a" "brightblack" ))
(muted '("#6e6a86" "#6e6a86" "brightblack" ))
(subtle '("#908caa" "#908caa" "brightblack" ))
(text '("#e0def4" "#e0def4" "brightblack" ))
(love '("#eb6f92" "#eb6f92" "red" ))
(gold '("#f6c177" "#f6c177" "white" ))
(rose '("#ebbcba" "#ebbcba" "white" ))
(pine '("#31748f" "#31748f" "white" ))
(foam '("#9ccfd8" "#9ccfd8" "white" ))
(iris '("#c4a7e7" "#c4a7e7" "white" ))
(highlightL '("#21202e" "#21202e" "grey" ))
(highlightM '("#403d52" "#403d52" "grey" ))
(highlightH '("#524f67" "#524f67" "grey" ))
;; Variables required by doom theme
;; These are required by doom theme and used in various places
(bg base)
(fg text)
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
;; or region), especially when paired with the `doom-darken', `doom-lighten',
;; and `doom-blend' helper functions.
(bg-alt surface)
(fg-alt text)
;; These should represent a spectrum from bg to fg, where base0 is a starker
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
;; dark grey, base0 should be white and base8 should be black.
(base0 base)
(base1 surface)
(base2 highlightL)
(base3 overlay)
(base4 highlightM)
(base5 highlightH)
(base6 muted)
(base7 subtle)
(base8 text)
(grey muted)
(red love)
(orange gold)
(green pine)
(teal pine)
(yellow rose)
(blue pine)
(dark-blue pine)
(magenta iris)
(violet iris)
(cyan foam)
(dark-cyan foam)
;; Variables required by doom theme ends here
;; Required face categories for syntax highlighting
(highlight subtle) ; cursor
(selection base) ; can't figure out where this is used
(region overlay) ; visual selection
(vertical-bar surface) ; window split
(comments (if doom-rose-pine-brighter-comments subtle muted))
(doc-comments (if doom-rose-pine-brighter-comments subtle muted))
(builtin pine)
(constants iris)
(functions pine)
(keywords pine)
(methods foam)
(numbers rose)
(operators gold)
(strings gold)
(type rose)
(variables iris)
(error love)
(success foam)
(warning gold)
(vc-added foam)
(vc-deleted love)
(vc-modified gold)
;; Other categories
;; Modeline
(modeline-bg (if doom-rose-pine-brighter-modeline overlay surface))
(modeline-fg text)
(modeline-bg-alt (if doom-rose-pine-brighter-modeline muted overlay))
(modeline-fg-alt text) ; should this be darker or lighter?
(modeline-bg-inactive base)
(modeline-fg-inactive subtle)
(modeline-bg-inactive-alt base)
(modeline-fg-inactive-alt subtle)
(modeline-pad
(when doom-rose-pine-padded-modeline
if (integerp doom-rose-pine-padded-modeline) doom-rose-pine-padded-modeline 4)))
;; Base theme face overrides
(
;; Font
((font-lock-comment-face &override)
:slant 'italic
:background (if doom-rose-pine-brighter-comments (doom-blend teal base 0.07)))
((font-lock-type-face &override) :slant 'italic)
((font-lock-builtin-face &override) :slant 'italic)
((font-lock-function-name-face &override) :foreground type)
((font-lock-keyword-face &override) :weight 'bold)
((font-lock-constant-face &override) :weight 'bold)
;; Highlight line
(hl-line
:background surface)
;; Line numbers
((line-number &override) :foreground muted)
((line-number-current-line &override) :foreground text)
;; Mode line
(mode-line
:background modeline-bg
:foreground modeline-fg
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
(mode-line-inactive
:background modeline-bg-inactive
:foreground modeline-fg-inactive
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
(mode-line-emphasis
:foreground (if doom-rose-pine-brighter-modeline text subtle))
;; Company
(company-tooltip-selection :background blue :foreground muted)
;; CSS mode <built-in> / scss-mode
(css-proprietary-property :foreground orange)
(css-property :foreground green)
(css-selector :foreground green)
;; Doom mode line
(doom-modeline-bar :background green) ; The line to the left
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
;; Helm
(helm-selection :foreground base :weight 'bold :background blue)
;; Ivy
(ivy-current-match :background overlay :distant-foreground fg)
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
(ivy-posframe :background modeline-bg-alt)
;; Markdown mode
(markdown-markup-face :foreground text)
(markdown-header-face :inherit 'bold :foreground red)
((markdown-code-face &override) :background surface)
;; org <built-in>
(org-block :background (doom-blend yellow bg 0.04) :extend t)
(org-block-background :background (doom-blend yellow bg 0.04))
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-level-1 :foreground gold)
(org-level-2 :foreground rose)
(org-level-3 :foreground pine)
(org-level-4 :foreground iris)
(org-level-5 :foreground gold)
(org-level-6 :foreground rose)
(org-level-7 :foreground pine)
(org-level-8 :foreground iris)
;; Solaire mode line
(solaire-mode-line-face
:inherit 'mode-line
:background modeline-bg-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
(solaire-mode-line-inactive-face
:inherit 'mode-line-inactive
:background modeline-bg-inactive-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
;; Widget
(widget-field :foreground fg :background muted)
(widget-single-line-field :foreground fg :background muted)
;; Swiper
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
;;; doom-rose-pine-theme.el ends here

View File

@@ -0,0 +1,3 @@
* {
font-family: sans-serif;
}

View File

@@ -0,0 +1,23 @@
font-family = ""
# font-family = "FairfaxHaxHD"
# font-family = "PragmataPro Liga"
# font-family = "BigBlueTermPlus Nerd Font"
# font-family = "Olympe Mono Hacked"
font-family = "Iosevka Term SS12"
font-family = "Cascadia Code"
font-family = "CaskaydiaCove Nerd Font"
# font-family = "Terminess Nerd Font Mono"
# font-family = "Ubuntu Mono Nerd Font"
# font-family = "Victor Mono Nerd Font"
# font-family = "Sudo"
# theme = light:rose-pine-dawn,dark:rose-pine
font-size = 14
font-thicken = true
# font-variation = wdth=100
# theme = light:xcodelight,dark:xcodedark
theme = light:Dawnfox,dark:Carbonfox
# theme = Monokai Classic
# window-decoration = false
# gtk-adwaita = true
window-decoration = true
shell-integration-features = true

View File

@@ -0,0 +1,39 @@
theme = "rose_pine"
[editor]
line-number = "relative"
rulers = [80]
color-modes = true
completion-trigger-len = 1
idle-timeout = 50
[editor.statusline]
left = []
center = []
right = ["spinner", "diagnostics", "version-control", "file-modification-indicator", "file-name", "file-encoding", "read-only-indicator", "position", "mode", "selections", "spacer"]
mode.normal = "normal"
mode.insert = "insert"
mode.select = "select"
[editor.lsp]
display-inlay-hints = true
display-messages = true
display-progress-messages = true
[editor.cursor-shape]
normal = "block"
insert = "bar"
select = "underline"
[editor.indent-guides]
render = true
[keys.normal."space".e] # config mode
c = ":config-open"
l = ":e ~/.config/helix/languages.toml"
r = ":config-reload"
[keys.normal.g]
j = "goto_last_line"
k = "goto_file_start"
e = "goto_file_end"

View File

@@ -0,0 +1,6 @@
[[languages]]
indent = { tab-width = 2, unit = " " }
[language-server.harper-ls]
command = "harper-ls"
args = ["--stdio"]

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,191 @@
# Carbonfox theme for Kakoune
#
# Taken and adapted from
# <https://github.com/EdenEast/nightfox.nvim/blob/main/lua/nightfox/palette/carbonfox.lua>
# Color palette
declare-option str black_base "rgb:282828"
declare-option str black_dim "rgb:222222"
declare-option str black_bright "rgb:484848"
declare-option str red_base "rgb:ee5396"
declare-option str red_dim "rgb:ca4780"
declare-option str red_bright "rgb:f16da6"
declare-option str green_base "rgb:25be6a"
declare-option str green_dim "rgb:1fa25a"
declare-option str green_bright "rgb:46c880"
declare-option str yellow_base "rgb:08bdba"
declare-option str yellow_dim "rgb:07a19e"
declare-option str yellow_bright "rgb:2dc7c4"
declare-option str blue_base "rgb:78a9ff"
declare-option str blue_dim "rgb:6690d9"
declare-option str blue_bright "rgb:8cb6ff"
declare-option str magenta_base "rgb:be95ff"
declare-option str magenta_dim "rgb:a27fd9"
declare-option str magenta_bright "rgb:c8a5ff"
declare-option str cyan_base "rgb:33b1ff"
declare-option str cyan_dim "rgb:2b96d9"
declare-option str cyan_bright "rgb:52bdff"
declare-option str white_base "rgb:dfdfe0"
declare-option str white_dim "rgb:bebebe"
declare-option str white_bright "rgb:e4e4e5"
declare-option str orange_base "rgb:3ddbd9"
declare-option str orange_dim "rgb:34bab8"
declare-option str orange_bright "rgb:5ae0df"
declare-option str pink_base "rgb:ff7eb6"
declare-option str pink_dim "rgb:d96b9b"
declare-option str pink_bright "rgb:ff91c1"
declare-option str bg0 "rgb:0c0c0c"
declare-option str bg1 "rgb:161616"
declare-option str bg2 "rgb:252525"
declare-option str bg3 "rgb:353535"
declare-option str bg4 "rgb:535353"
declare-option str fg0 "rgb:f9fbff"
declare-option str fg1 "rgb:f2f4f8"
declare-option str fg2 "rgb:b6b8bb"
declare-option str fg3 "rgb:7b7c7e"
declare-option str comment "rgb:6e6f70"
declare-option str sel1 "rgb:525253"
declare-option str sel0 "rgb:2a2a2a"
# Markup
set-face global title "%opt{yellow_base}"
set-face global header "%opt{red_bright}"
set-face global bold "%opt{fg1}+b"
set-face global italic "%opt{fg1}+i"
# Builtins
set-face global Default "%opt{fg1},%opt{bg1}"
set-face global PrimarySelection "%opt{fg2},%opt{sel0}"
set-face global SecondarySelection "%opt{fg3},%opt{sel1}"
set-face global PrimaryCursor "%opt{bg1},%opt{fg1}"
set-face global SecondaryCursor "%opt{bg1},%opt{fg2}"
set-face global PrimaryCursorEol "%opt{fg2},%opt{blue_bright}"
set-face global SecondaryCursorEol "%opt{fg3},%opt{blue_dim}"
set-face global LineNumbers "%opt{fg3},%opt{bg1}"
set-face global LineNumberCursor "%opt{fg2},%opt{bg1}"
set-face global LineNumbersWrapped "%opt{fg3},%opt{bg1}+i"
set-face global MenuForeground "%opt{fg1},%opt{sel1}"
set-face global MenuBackground "%opt{fg1},%opt{sel0}"
set-face global MenuInfo "%opt{fg1},%opt{bg0}"
set-face global Information "%opt{fg1},%opt{bg0}"
set-face global Error "%opt{red_base},%opt{bg0}"
set-face global StatusLine "%opt{fg2},%opt{bg0}"
set-face global StatusLineMode "%opt{green_bright},%opt{bg0}"
set-face global StatusLineInfo "%opt{blue_bright},%opt{bg0}"
set-face global StatusLineValue "%opt{orange_base},%opt{bg0}"
set-face global StatusCursor "%opt{bg0},%opt{fg2}"
set-face global Prompt "%opt{blue_bright},%opt{bg0}"
set-face global MatchingChar "%opt{fg1},%opt{sel1}"
set-face global Whitespace "%opt{fg3},%opt{bg1}"
set-face global WrapMarker Whitespace
set-face global BufferPadding "%opt{blue_dim},%opt{bg1}"
# Code
set-face global value "%opt{orange_bright}"
set-face global type "%opt{yellow_base}"
set-face global variable "%opt{white_base}"
set-face global module "%opt{blue_base}"
set-face global function "%opt{blue_bright}"
set-face global string "%opt{green_base}"
set-face global keyword "%opt{magenta_base}"
set-face global operator "%opt{fg2}"
set-face global attribute "%opt{blue_base}"
set-face global comment "%opt{comment}"
set-face global documentation comment
set-face global meta "%opt{pink_bright}"
set-face global builtin "%opt{red_base}"
# Tree-sitter (<https://github.com/hadronized/kak-tree-sitter>)
set-face global ts_attribute "%opt{yellow_base}"
set-face global ts_comment "%opt{comment}"
set-face global ts_comment_unused "%opt{comment}"
set-face global ts_conceal "%opt{magenta_dim}"
set-face global ts_constant "%opt{orange_bright}"
set-face global ts_constant_builtin_boolean "%opt{orange_bright}"
set-face global ts_constant_character "%opt{green_base}"
set-face global ts_constant_macro "%opt{orange_bright}"
set-face global ts_constructor "%opt{cyan_base}"
set-face global ts_diff_plus "%opt{green_base}"
set-face global ts_diff_minus "%opt{red_base}"
set-face global ts_diff_delta "%opt{yellow_base}"
set-face global ts_diff_delta_moved "%opt{blue_base}"
set-face global ts_error "%opt{red_base}"
set-face global ts_function "%opt{blue_bright}"
set-face global ts_function_builtin "%opt{pink_base}"
set-face global ts_function_macro "%opt{pink_bright}"
set-face global ts_function_method_private "%opt{blue_dim}"
set-face global ts_hint "%opt{orange_base}"
set-face global ts_info "%opt{blue_base}"
set-face global ts_keyword "%opt{magenta_base}"
set-face global ts_keyword_conditional "%opt{magenta_bright}"
set-face global ts_keyword_control_conditional "%opt{magenta_bright}"
set-face global ts_keyword_control_directive "%opt{pink_bright}"
set-face global ts_keyword_control_import "%opt{orange_bright}"
set-face global ts_keyword_directive "%opt{pink_bright}"
set-face global ts_keyword_storage "%opt{blue_base}"
set-face global ts_keyword_storage_modifier "%opt{magenta_base}"
set-face global ts_keyword_storage_modifier_mut "%opt{blue_bright}"
set-face global ts_keyword_storage_modifier_ref "%opt{blue_bright}"
set-face global ts_label "%opt{pink_base}+i"
set-face global ts_markup_bold "%opt{red_base}+b"
set-face global ts_markup_heading "%opt{blue_base}"
set-face global ts_markup_heading_1 "%opt{blue_base}"
set-face global ts_markup_heading_2 "%opt{blue_base}"
set-face global ts_markup_heading_3 "%opt{blue_base}"
set-face global ts_markup_heading_4 "%opt{blue_base}"
set-face global ts_markup_heading_5 "%opt{blue_base}"
set-face global ts_markup_heading_6 "%opt{blue_base}"
set-face global ts_markup_heading_marker "%opt{orange_base}+b"
set-face global ts_markup_italic "%opt{pink_base}+i"
set-face global ts_markup_list_checked "%opt{green_base}"
set-face global ts_markup_list_numbered "%opt{fg2}"
set-face global ts_markup_list_unchecked "%opt{cyan_base}"
set-face global ts_markup_list_unnumbered "%opt{fg2}"
set-face global ts_markup_link_label "%opt{blue_base}"
set-face global ts_markup_link_url "%opt{cyan_base}+u"
set-face global ts_markup_link_uri "%opt{cyan_base}+u"
set-face global ts_markup_link_text "%opt{blue_base}"
set-face global ts_markup_quote "%opt{fg2},%opt{bg2}"
set-face global ts_markup_raw "%opt{green_base}"
set-face global ts_markup_strikethrough "%opt{fg1}+s"
set-face global ts_namespace "%opt{cyan_base}"
set-face global ts_operator "%opt{fg2}"
set-face global ts_property "%opt{blue_base}"
set-face global ts_punctuation "%opt{fg2}"
set-face global ts_punctuation_special "%opt{blue_bright}"
set-face global ts_special "%opt{blue_base}"
set-face global ts_spell "%opt{fg1},%opt{bg1},%opt{red_base}+c"
set-face global ts_string "%opt{green_base}"
set-face global ts_string_regex "%opt{yellow_bright}"
set-face global ts_string_regexp "%opt{yellow_bright}"
set-face global ts_string_escape "%opt{cyan_base}"
set-face global ts_string_special "%opt{green_base}"
set-face global ts_string_special_path "%opt{green_base}"
set-face global ts_string_special_symbol "%opt{green_base}"
set-face global ts_string_symbol "%opt{green_base}"
set-face global ts_tag "%opt{blue_base}"
set-face global ts_tag_error "%opt{red_base}"
set-face global ts_text "%opt{white_base}"
set-face global ts_text_title "%opt{orange_base}"
set-face global ts_type "%opt{yellow_base}"
set-face global ts_type_enum_variant "%opt{yellow_base}"
set-face global ts_type_enum_variant_builtin "%opt{orange_bright}"
set-face global ts_variable "%opt{white_base}"
set-face global ts_variable_builtin "%opt{red_base}"
set-face global ts_variable_other_member "%opt{cyan_base}"
set-face global ts_variable_other_member_private "%opt{cyan_dim}"
set-face global ts_variable_parameter "%opt{blue_base}"
set-face global ts_warning "%opt{magenta_base}"

View File

@@ -1,163 +0,0 @@
# Catppuccin Macchiato theme for Kakoune
#
# Taken and adapted from
# <https://github.com/catppuccin/kakoune/blob/e52fb5c95f70c297fea1fd58613284817b5a50bd/colors/catppuccin_macchiato.kak>
# Color palette
declare-option str rosewater "rgb:f4dbd6"
declare-option str red "rgb:ed8796"
declare-option str mauve "rgb:c6a0f6"
declare-option str maroon "rgb:ee99a0"
declare-option str pink "rgb:f5bde6"
declare-option str cyan "rgb:7dc4e4"
declare-option str yellow "rgb:eed49f"
declare-option str green "rgb:a6da95"
declare-option str white "rgb:cad3f5"
declare-option str blue "rgb:8aadf4"
declare-option str sky "rgb:91d7e3"
declare-option str lavender "rgb:b7bdf8"
declare-option str black1 "rgb:1e2030"
declare-option str black2 "rgb:24273a"
declare-option str black3 "rgb:363a4f"
declare-option str orange "rgb:f5a97f"
declare-option str teal "rgb:8bd5ca"
declare-option str flamingo "rgb:f0c6c6"
declare-option str gray0 "rgb:5b6078"
declare-option str gray1 "rgb:6e738d"
declare-option str bright_red "%opt{red}+b"
declare-option str bright_green "%opt{green}+b"
declare-option str bright_yellow "%opt{yellow}+b"
declare-option str bright_blue "%opt{blue}+b"
declare-option str bright_cyan "%opt{cyan}+b"
declare-option str bright_white "%opt{white}+b"
declare-option str foreground %opt{white}
declare-option str background %opt{black2}
declare-option str overlay0 "rgb:8087a2"
declare-option str overlay1 "rgb:939ab7"
# Markup
set-face global title "%opt{rosewater}"
set-face global header "%opt{bright_red}"
set-face global bold "%opt{mauve}"
set-face global italic "%opt{lavender}"
set-face global mono "%opt{green}"
set-face global block "%opt{cyan}"
set-face global link "%opt{green}"
set-face global bullet "%opt{green}"
set-face global list "%opt{white}"
# Builtins
set-face global Default "%opt{white},%opt{background}"
set-face global PrimarySelection "%opt{gray0},%opt{lavender}"
set-face global SecondarySelection "%opt{lavender},%opt{gray0}"
set-face global PrimaryCursor "%opt{background},%opt{rosewater}"
set-face global SecondaryCursor "%opt{black1},%opt{teal}"
set-face global PrimaryCursorEol "%opt{gray0},%opt{mauve}"
set-face global SecondaryCursorEol "%opt{gray0},%opt{maroon}"
set-face global LineNumbers "%opt{gray1},%opt{background}"
set-face global LineNumberCursor "%opt{lavender},%opt{gray0}+b"
set-face global LineNumbersWrapped "%opt{teal},%opt{black1}+i"
set-face global MenuForeground "%opt{white},%opt{gray0}+b"
set-face global MenuBackground "%opt{white},%opt{black3}"
set-face global MenuInfo "%opt{black1},%opt{blue}"
set-face global Information "%opt{black1},%opt{lavender}"
set-face global Error "%opt{red},%opt{black2}"
set-face global StatusLine "%opt{white},%opt{black1}"
set-face global StatusLineMode "%opt{black2},%opt{yellow}"
set-face global StatusLineInfo "%opt{background},%opt{green}"
set-face global StatusLineValue "%opt{orange},%opt{gray0}"
set-face global StatusCursor "%opt{black1},%opt{lavender}"
set-face global Prompt "%opt{green},%opt{black2}"
set-face global MatchingChar "%opt{maroon},%opt{black2}"
set-face global Whitespace "%opt{gray1},%opt{background}+f"
set-face global WrapMarker Whitespace
set-face global BufferPadding "%opt{background},%opt{background}"
# Code
set-face global value "%opt{orange}"
set-face global type "%opt{rosewater}"
set-face global variable "%opt{white}"
set-face global module "%opt{maroon}"
set-face global function "%opt{sky}"
set-face global string "%opt{green}"
set-face global keyword "%opt{blue}"
set-face global operator "%opt{blue}"
set-face global attribute "%opt{green}"
set-face global comment "%opt{gray1}+i"
set-face global documentation comment
set-face global meta "%opt{pink}"
set-face global builtin "%opt{lavender}+b"
# Tree-sitter (<https://git.sr.ht/~hadronized/kak-tree-sitter>)
set-face global ts_attribute "%opt{blue}"
set-face global ts_comment "%opt{overlay0}+i"
set-face global ts_conceal "%opt{mauve}+i"
set-face global ts_constant "%opt{orange}"
set-face global ts_constant_builtin_boolean "%opt{sky}"
set-face global ts_constant_character "%opt{yellow}"
set-face global ts_constant_macro "%opt{mauve}"
set-face global ts_constructor "%opt{cyan}"
set-face global ts_diff_plus "%opt{green}"
set-face global ts_diff_minus "%opt{red}"
set-face global ts_diff_delta "%opt{blue}"
set-face global ts_diff_delta_moved "%opt{mauve}"
set-face global ts_error "%opt{red}+b"
set-face global ts_function "%opt{blue}"
set-face global ts_function_builtin "%opt{blue}+i"
set-face global ts_function_macro "%opt{mauve}"
set-face global ts_hint "%opt{blue}+b"
set-face global ts_info "%opt{green}+b"
set-face global ts_keyword "%opt{mauve}"
set-face global ts_keyword_conditional "%opt{mauve}+i"
set-face global ts_keyword_control_conditional "%opt{mauve}+i"
set-face global ts_keyword_control_directive "%opt{mauve}+i"
set-face global ts_keyword_control_import "%opt{mauve}+i"
set-face global ts_keyword_directive "%opt{mauve}+i"
set-face global ts_label "%opt{cyan}+i"
set-face global ts_markup_bold "%opt{orange}+b"
set-face global ts_markup_heading "%opt{red}"
set-face global ts_markup_heading_1 "%opt{red}"
set-face global ts_markup_heading_2 "%opt{mauve}"
set-face global ts_markup_heading_3 "%opt{green}"
set-face global ts_markup_heading_4 "%opt{yellow}"
set-face global ts_markup_heading_5 "%opt{pink}"
set-face global ts_markup_heading_6 "%opt{teal}"
set-face global ts_markup_heading_marker "%opt{orange}+b"
set-face global ts_markup_italic "%opt{pink}+i"
set-face global ts_markup_list_checked "%opt{green}"
set-face global ts_markup_list_numbered "%opt{blue}+i"
set-face global ts_markup_list_unchecked "%opt{teal}"
set-face global ts_markup_list_unnumbered "%opt{mauve}"
set-face global ts_markup_link_label "%opt{blue}"
set-face global ts_markup_link_url "%opt{teal}+u"
set-face global ts_markup_link_uri "%opt{teal}+u"
set-face global ts_markup_link_text "%opt{blue}"
set-face global ts_markup_quote "%opt{gray1}"
set-face global ts_markup_raw "%opt{green}"
set-face global ts_markup_strikethrough "%opt{gray1}+s"
set-face global ts_namespace "%opt{blue}+i"
set-face global ts_operator "%opt{sky}"
set-face global ts_property "%opt{sky}"
set-face global ts_punctuation "%opt{overlay1}"
set-face global ts_punctuation_special "%opt{sky}"
set-face global ts_special "%opt{blue}"
set-face global ts_spell "%opt{mauve}"
set-face global ts_string "%opt{green}"
set-face global ts_string_regex "%opt{orange}"
set-face global ts_string_regexp "%opt{orange}"
set-face global ts_string_escape "%opt{mauve}"
set-face global ts_string_special "%opt{blue}"
set-face global ts_string_special_path "%opt{green}"
set-face global ts_string_special_symbol "%opt{mauve}"
set-face global ts_string_symbol "%opt{red}"
set-face global ts_tag "%opt{mauve}"
set-face global ts_tag_error "%opt{red}"
set-face global ts_text "%opt{white}"
set-face global ts_text_title "%opt{mauve}"
set-face global ts_type "%opt{yellow}"
set-face global ts_type_enum_variant "%opt{flamingo}"
set-face global ts_variable "%opt{white}"
set-face global ts_variable_builtin "%opt{red}"
set-face global ts_variable_other_member "%opt{teal}"
set-face global ts_variable_parameter "%opt{maroon}+i"
set-face global ts_warning "%opt{orange}+b"

View File

@@ -1,166 +0,0 @@
# Catppuccint Mocha theme for Kakoune
#
# Taken and adapted from
# <https://github.com/catppuccin/kakoune/blob/7f187d9da2867a7fda568b2135d29b9c00cfbb94/colors/catppuccin_mocha.kak>
# Catppuccin theme for Kakoune
# Color palette (see https://catppuccin.com/palette)
declare-option str rosewater "rgb:f5e0dc"
declare-option str flamingo "rgb:f2cdcd"
declare-option str pink "rgb:f5c2e7"
declare-option str mauve "rgb:cba6f7"
declare-option str red "rgb:f38ba8"
declare-option str maroon "rgb:eba0ac"
declare-option str peach "rgb:fab387"
declare-option str yellow "rgb:f9e2af"
declare-option str green "rgb:a6e3a1"
declare-option str teal "rgb:94e2d5"
declare-option str sky "rgb:89dceb"
declare-option str sapphire "rgb:74c7ec"
declare-option str blue "rgb:89b4fa"
declare-option str lavender "rgb:b4befe"
declare-option str text "rgb:cdd6f4"
declare-option str subtext1 "rgb:bac2de"
declare-option str subtext0 "rgb:a6adc8"
declare-option str overlay2 "rgb:9399b2"
declare-option str overlay1 "rgb:7f849c"
declare-option str overlay0 "rgb:6c7086"
declare-option str surface2 "rgb:585b70"
declare-option str surface1 "rgb:45475a"
declare-option str surface0 "rgb:313244"
declare-option str base "rgb:1e1e2e"
declare-option str mantle "rgb:181825"
declare-option str crust "rgb:11111b"
# Markup
set-face global title "%opt{text}+b"
set-face global header "%opt{subtext0}+b"
set-face global bold "%opt{maroon}+b"
set-face global italic "%opt{maroon}+i"
set-face global mono "%opt{green}"
set-face global block "%opt{sapphire}"
set-face global link "%opt{blue}"
set-face global bullet "%opt{peach}"
set-face global list "%opt{peach}"
# Builtins
set-face global Default "%opt{text},%opt{base}"
set-face global PrimarySelection "%opt{text},%opt{surface2}"
set-face global SecondarySelection "%opt{text},%opt{surface2}"
set-face global PrimaryCursor "%opt{crust},%opt{rosewater}"
set-face global SecondaryCursor "%opt{text},%opt{overlay0}"
set-face global PrimaryCursorEol "%opt{surface2},%opt{lavender}"
set-face global SecondaryCursorEol "%opt{surface2},%opt{overlay1}"
set-face global LineNumbers "%opt{overlay1},%opt{base}"
set-face global LineNumberCursor "%opt{rosewater},%opt{surface2}+b"
set-face global LineNumbersWrapped "%opt{rosewater},%opt{surface2}"
set-face global MenuForeground "%opt{text},%opt{surface1}+b"
set-face global MenuBackground "%opt{text},%opt{surface0}"
set-face global MenuInfo "%opt{crust},%opt{teal}"
set-face global Information "%opt{crust},%opt{teal}"
set-face global Error "%opt{crust},%opt{red}"
set-face global DiagnosticError Error
set-face global DiagnosticWarning "%opt{yellow}"
set-face global StatusLine "%opt{text},%opt{mantle}"
set-face global StatusLineMode "%opt{crust},%opt{yellow}"
set-face global StatusLineInfo "%opt{crust},%opt{teal}"
set-face global StatusLineValue "%opt{crust},%opt{yellow}"
set-face global StatusCursor "%opt{crust},%opt{rosewater}"
set-face global Prompt "%opt{teal},%opt{base}+b"
set-face global MatchingChar "%opt{maroon},%opt{base}"
set-face global Whitespace "%opt{overlay1},%opt{base}+f"
set-face global WrapMarker Whitespace
set-face global BufferPadding "%opt{base},%opt{base}"
# Code
set-face global value "%opt{peach}"
set-face global type "%opt{yellow}"
set-face global variable "%opt{text}"
set-face global module "%opt{maroon}"
set-face global function "%opt{blue}"
set-face global string "%opt{green}"
set-face global keyword "%opt{mauve}"
set-face global operator "%opt{sky}"
set-face global attribute "%opt{yellow}"
set-face global comment "%opt{overlay1}+i"
set-face global documentation comment
set-face global meta "%opt{yellow}"
set-face global builtin "%opt{red}"
# Tree-sitter (<https://git.sr.ht/~hadronized/kak-tree-sitter>)
# Copied from catppuccin_macchiato.kak
# Adjusted with https://github.com/catppuccin/catppuccin/blob/main/docs/style-guide.md
set-face global ts_attribute attribute
set-face global ts_comment comment
set-face global ts_conceal "%opt{mauve}+i"
set-face global ts_constant "%opt{peach}"
set-face global ts_constant_builtin_boolean "%opt{sky}"
set-face global ts_constant_character "%opt{yellow}"
set-face global ts_constant_macro "%opt{mauve}"
set-face global ts_constructor "%opt{sky}"
set-face global ts_diff_plus "%opt{green}"
set-face global ts_diff_minus "%opt{red}"
set-face global ts_diff_delta "%opt{blue}"
set-face global ts_diff_delta_moved "%opt{mauve}"
set-face global ts_error "%opt{red}+b"
set-face global ts_function "%opt{blue}"
set-face global ts_function_builtin "%opt{blue}+i"
set-face global ts_function_macro "%opt{mauve}"
set-face global ts_hint "%opt{blue}+b"
set-face global ts_info "%opt{teal}+b"
set-face global ts_keyword "%opt{mauve}"
set-face global ts_keyword_conditional "%opt{mauve}+i"
set-face global ts_keyword_control_conditional "%opt{mauve}+i"
set-face global ts_keyword_control_directive "%opt{mauve}+i"
set-face global ts_keyword_control_import "%opt{mauve}+i"
set-face global ts_keyword_directive "%opt{mauve}+i"
set-face global ts_label "%opt{sky}+i"
set-face global ts_markup_bold "%opt{peach}+b"
set-face global ts_markup_heading "%opt{red}"
set-face global ts_markup_heading_1 "%opt{red}"
set-face global ts_markup_heading_2 "%opt{mauve}"
set-face global ts_markup_heading_3 "%opt{green}"
set-face global ts_markup_heading_4 "%opt{yellow}"
set-face global ts_markup_heading_5 "%opt{pink}"
set-face global ts_markup_heading_6 "%opt{teal}"
set-face global ts_markup_heading_marker "%opt{peach}+b"
set-face global ts_markup_italic "%opt{pink}+i"
set-face global ts_markup_list_checked "%opt{green}"
set-face global ts_markup_list_numbered "%opt{blue}+i"
set-face global ts_markup_list_unchecked "%opt{teal}"
set-face global ts_markup_list_unnumbered "%opt{mauve}"
set-face global ts_markup_link_label "%opt{blue}"
set-face global ts_markup_link_url "%opt{teal}+u"
set-face global ts_markup_link_uri "%opt{teal}+u"
set-face global ts_markup_link_text "%opt{blue}"
set-face global ts_markup_quote "%opt{overlay1}"
set-face global ts_markup_raw "%opt{green}"
set-face global ts_markup_strikethrough "%opt{overlay1}+s"
set-face global ts_namespace "%opt{blue}+i"
set-face global ts_operator "%opt{sky}"
set-face global ts_property "%opt{sky}"
set-face global ts_punctuation "%opt{overlay1}"
set-face global ts_punctuation_special "%opt{sky}"
set-face global ts_special "%opt{blue}"
set-face global ts_spell "%opt{mauve}"
set-face global ts_string string
set-face global ts_string_regex "%opt{pink}"
set-face global ts_string_regexp "%opt{pink}"
set-face global ts_string_escape "%opt{flamingo}"
set-face global ts_string_special "%opt{blue}"
set-face global ts_string_special_path "%opt{green}"
set-face global ts_string_special_symbol "%opt{mauve}"
set-face global ts_string_symbol "%opt{red}"
set-face global ts_tag "%opt{mauve}"
set-face global ts_tag_error "%opt{red}"
set-face global ts_text "%opt{text}"
set-face global ts_text_title "%opt{mauve}"
set-face global ts_type type
set-face global ts_type_enum_variant "%opt{teal}"
set-face global ts_variable variable
set-face global ts_variable_builtin builtin
set-face global ts_variable_other_member "%opt{teal}"
set-face global ts_variable_parameter "%opt{maroon}+i"
set-face global ts_warning "%opt{yellow}+b"

View File

@@ -0,0 +1,178 @@
# Carbonfox theme for Kakoune
#
# Taken and adapted from
# <https://github.com/EdenEast/nightfox.nvim/blob/main/lua/nightfox/palette/dawnfox.lua>
# Color palette
declare-option str pink_dim "rgb:c9709e"
declare-option str pink_base "rgb:d685af"
declare-option str pink_bright "rgb:de8db7"
declare-option str bg2 "rgb:ebe0df"
declare-option str fg1 "rgb:575279"
declare-option str bg3 "rgb:ebdfe4"
declare-option str orange_dim "rgb:ca6e69"
declare-option str orange_base "rgb:d7827e"
declare-option str orange_bright "rgb:de8c88"
declare-option str red_dim "rgb:a5576d"
declare-option str red_base "rgb:b4637a"
declare-option str red_bright "rgb:c26d85"
declare-option str green_dim "rgb:597668"
declare-option str green_base "rgb:618774"
declare-option str green_bright "rgb:629f81"
declare-option str cyan_dim "rgb:50848c"
declare-option str cyan_base "rgb:56949f"
declare-option str cyan_bright "rgb:5ca7b4"
declare-option str black_dim "rgb:504c6b"
declare-option str black_base "rgb:575279"
declare-option str black_bright "rgb:5f5695"
declare-option str yellow_dim "rgb:dd9024"
declare-option str yellow_base "rgb:ea9d34"
declare-option str yellow_bright "rgb:eea846"
declare-option str fg3 "rgb:a8a3b3"
declare-option str sel1 "rgb:b8cece"
declare-option str comment "rgb:9893a5"
declare-option str blue_dim "rgb:295e73"
declare-option str blue_base "rgb:286983"
declare-option str blue_bright "rgb:2d81a3"
declare-option str sel0 "rgb:d0d8d8"
declare-option str fg2 "rgb:625c87"
declare-option str bg1 "rgb:faf4ed"
declare-option str fg0 "rgb:4c4769"
declare-option str bg4 "rgb:bdbfc9"
declare-option str bg0 "rgb:ebe5df"
declare-option str white_dim "rgb:c8cfde"
declare-option str white_base "rgb:e5e9f0"
declare-option str white_bright "rgb:e6ebf3"
declare-option str magenta_dim "rgb:816b9a"
declare-option str magenta_base "rgb:907aa9"
declare-option str magenta_bright "rgb:9a80b9"
# Markup
set-face global title "%opt{yellow_base}"
set-face global header "%opt{red_dim}+b"
set-face global bold "%opt{fg1}+b"
set-face global italic "%opt{fg1}+i"
# Builtins
set-face global Default "%opt{fg1},%opt{bg1}"
set-face global PrimarySelection "%opt{fg2},%opt{sel0}"
set-face global SecondarySelection "%opt{fg3},%opt{sel1}"
set-face global PrimaryCursor "%opt{bg1},%opt{fg1}"
set-face global SecondaryCursor "%opt{bg1},%opt{fg2}"
set-face global PrimaryCursorEol "%opt{bg2},%opt{blue_bright}"
set-face global SecondaryCursorEol "%opt{bg3},%opt{blue_dim}"
set-face global LineNumbers "%opt{fg3},%opt{bg1}"
set-face global LineNumberCursor "%opt{fg2},%opt{bg1}"
set-face global LineNumbersWrapped "%opt{fg3},%opt{bg1}+i"
set-face global MenuForeground "%opt{fg1},%opt{sel1}"
set-face global MenuBackground "%opt{fg1},%opt{sel0}"
set-face global MenuInfo "%opt{fg1},%opt{bg0}"
set-face global Information "%opt{fg1},%opt{bg0}"
set-face global Error "%opt{red_base},%opt{bg0}"
set-face global StatusLine "%opt{fg2},%opt{bg0}"
set-face global StatusLineMode "%opt{green_bright},%opt{bg0}"
set-face global StatusLineInfo "%opt{blue_bright},%opt{bg0}"
set-face global StatusLineValue "%opt{orange_base},%opt{bg0}"
set-face global StatusCursor "%opt{bg0},%opt{fg2}"
set-face global Prompt "%opt{blue_bright},%opt{bg0}"
set-face global MatchingChar "%opt{fg1},%opt{sel1}"
set-face global Whitespace "%opt{fg3},%opt{bg1}"
set-face global WrapMarker Whitespace
set-face global BufferPadding "%opt{blue_dim},%opt{bg1}"
# Code
set-face global value "%opt{orange_dim}"
set-face global type "%opt{yellow_base}"
set-face global variable "%opt{black_base}"
set-face global module "%opt{blue_base}"
set-face global function "%opt{blue_dim}"
set-face global string "%opt{green_base}"
set-face global keyword "%opt{magenta_base}"
set-face global operator "%opt{fg2}"
set-face global attribute "%opt{blue_base}"
set-face global comment "%opt{comment}"
set-face global documentation comment
set-face global meta "%opt{pink_dim}"
set-face global builtin "%opt{red_base}"
# Tree-sitter (<https://github.com/hadronized/kak-tree-sitter>)
set-face global ts_attribute "%opt{yellow_base}"
set-face global ts_comment "%opt{comment}"
set-face global ts_comment_unused "%opt{comment}"
set-face global ts_conceal "%opt{magenta_dim}"
set-face global ts_constant "%opt{orange_dim}"
set-face global ts_constant_builtin_boolean "%opt{orange_dim}"
set-face global ts_constant_character "%opt{green_base}"
set-face global ts_constant_macro "%opt{orange_dim}"
set-face global ts_constructor "%opt{cyan_base}"
set-face global ts_diff_plus "%opt{green_base}"
set-face global ts_diff_minus "%opt{red_base}"
set-face global ts_diff_delta "%opt{yellow_base}"
set-face global ts_diff_delta_moved "%opt{blue_base}"
set-face global ts_error "%opt{red_base}"
set-face global ts_function "%opt{blue_dim}"
set-face global ts_function_builtin "%opt{pink_base}"
set-face global ts_function_macro "%opt{pink_dim}"
set-face global ts_function_method_private "%opt{blue_dim}"
set-face global ts_hint "%opt{green_base}"
set-face global ts_info "%opt{blue_base}"
set-face global ts_keyword "%opt{magenta_base}"
set-face global ts_keyword_conditional "%opt{magenta_dim}"
set-face global ts_keyword_control_conditional "%opt{magenta_dim}"
set-face global ts_keyword_control_directive "%opt{pink_dim}"
set-face global ts_keyword_control_import "%opt{orange_dim}"
set-face global ts_keyword_directive "%opt{pink_dim}"
set-face global ts_keyword_storage "%opt{blue_base}"
set-face global ts_keyword_storage_modifier "%opt{magenta_base}"
set-face global ts_keyword_storage_modifier_mut "%opt{blue_dim}"
set-face global ts_keyword_storage_modifier_ref "%opt{blue_dim}"
set-face global ts_label "%opt{pink_base}+i"
set-face global ts_markup_bold "%opt{red_base}+b"
set-face global ts_markup_heading "%opt{blue_base}"
set-face global ts_markup_heading_1 "%opt{blue_base}+b"
set-face global ts_markup_heading_2 "%opt{blue_base}+b"
set-face global ts_markup_heading_3 "%opt{blue_base}+b"
set-face global ts_markup_heading_4 "%opt{blue_base}+b"
set-face global ts_markup_heading_5 "%opt{blue_base}+b"
set-face global ts_markup_heading_6 "%opt{blue_base}+b"
set-face global ts_markup_heading_marker "%opt{orange_base}+b"
set-face global ts_markup_italic "%opt{pink_base}+i"
set-face global ts_markup_list_checked "%opt{green_base}"
set-face global ts_markup_list_numbered "%opt{fg2}"
set-face global ts_markup_list_unchecked "%opt{cyan_base}"
set-face global ts_markup_list_unnumbered "%opt{fg2}"
set-face global ts_markup_link_label "%opt{blue_base}"
set-face global ts_markup_link_url "%opt{cyan_base}+u"
set-face global ts_markup_link_uri "%opt{cyan_base}+u"
set-face global ts_markup_link_text "%opt{blue_base}"
set-face global ts_markup_quote "%opt{fg2},%opt{bg2}"
set-face global ts_markup_raw "%opt{green_base}"
set-face global ts_markup_strikethrough "%opt{fg1}+s"
set-face global ts_namespace "%opt{cyan_base}"
set-face global ts_operator "%opt{fg2}"
set-face global ts_property "%opt{blue_base}"
set-face global ts_punctuation "%opt{fg2}"
set-face global ts_punctuation_special "%opt{blue_dim}"
set-face global ts_special "%opt{blue_base}"
set-face global ts_spell "%opt{fg1},%opt{bg1},%opt{red_base}+c"
set-face global ts_string "%opt{green_base}"
set-face global ts_string_regex "%opt{yellow_dim}"
set-face global ts_string_regexp "%opt{yellow_dim}"
set-face global ts_string_escape "%opt{cyan_base}"
set-face global ts_string_special "%opt{green_base}"
set-face global ts_string_special_path "%opt{green_base}"
set-face global ts_string_special_symbol "%opt{green_base}"
set-face global ts_string_symbol "%opt{green_base}"
set-face global ts_tag "%opt{blue_base}"
set-face global ts_tag_error "%opt{red_base}"
set-face global ts_text "%opt{black_base}"
set-face global ts_text_title "%opt{orange_base}"
set-face global ts_type "%opt{yellow_base}"
set-face global ts_type_enum_variant "%opt{yellow_base}"
set-face global ts_type_enum_variant_builtin "%opt{orange_dim}"
set-face global ts_variable "%opt{black_base}"
set-face global ts_variable_builtin "%opt{red_base}"
set-face global ts_variable_other_member "%opt{cyan_base}"
set-face global ts_variable_other_member_private "%opt{cyan_dim}"
set-face global ts_variable_parameter "%opt{blue_base}"
set-face global ts_warning "%opt{yellow_base}"

View File

@@ -1 +0,0 @@
../plugins/base16-kakoune/colors/

View File

@@ -19,109 +19,98 @@ plug "kak-lsp/kak-lsp" do %{
cargo install --locked --force --path .
}
# plug "gustavo-hms/luar" %{
# plug "gustavo-hms/peneira" %{
# require-module peneira
# }
# }
plug "gustavo-hms/luar" %{
plug "gustavo-hms/peneira" %{
require-module peneira
}
}
plug "h-youhei/kakoune-surround"
plug "your-tools/kak-subvert" do %{
cargo install --locked --force --path .
}
plug "https://git.sr.ht/~nasmevka/repl.kak"
plug "https://gitlab.com/kstr0k/mru-files.kak" demand mru-files %{ # %{} needed even if empty
# suggested mappings: *after* plugin loads
# think "go alt[ernate]-f[iles]"
# map global goto <a-f> '<esc>: mru-files ' -docstring 'mru-files'
# map global goto <a-F> '<esc>: mru-files-related<ret>' -docstring 'mru-files-related'
}
plug "custom-filetypes" load-path "~/.config/kak/al"
# # Color Themes
plug "tinted-theming/base16-kakoune"
plug "tinted-theming/base16-kakoune" theme
plug "https://git.sr.ht/~hadronized/kakoune-tree-sitter-themes" theme
### End Of Plugins ###
# set-option global luar_interpreter luajit
set-option global luar_interpreter luajit
## Treesitter ##
#eval %sh{ kak-tree-sitter -dksv --with-highlighting --with-text-objects --init $kak_session }
eval %sh{ kak-tree-sitter -dksvvv --with-highlighting --with-text-objects --init $kak_session }
#eval %sh{ kak-tree-sitter -dks --with-text-objects --session $kak_session }
#eval %sh{ kak-tree-sitter -dks --with-highlighting --session $kak_session }
eval %sh{ kak-tree-sitter -dks --init $kak_session }
evaluate-commands %sh{
echo "colorscheme base16-$BASE16_THEME"
}
#eval %sh{ kak-tree-sitter -dksvvv --init $kak_session }
#
# evaluate-commands %sh{
# echo "colorscheme base16-$BASE16_THEME"
# }
## Popup ##
evaluate-commands %sh{kak-popup init}
## Highlighting ##
hook global WinCreate .* %{ add-highlighter window/number-lines number-lines -relative -hlcursor}
add-highlighter global/ show-matching
add-highlighter global/ column 80 MenuForeground
add-highlighter global/ show-whitespaces
add-highlighter global/ column 80 MenuBackground
add-highlighter global/ show-whitespaces -spc " " -nbsp ""
#add-highlighter global/ show-whitespaces -nbsp "" -lf "" -indent "|"
## Wrapping ##
add-highlighter global/ wrap -word -indent
## Formatting ##
define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{
hook global -group autofmt BufSetOption filetype=(zig) %{
set-option buffer formatcmd 'zig fmt --stdin'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
hook global -group autofmt BufSetOption filetype=(html) %{
set-option buffer formatcmd 'prettier --tab-width 4 --parser html'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
hook global -group autofmt BufSetOption filetype=(css) %{
set-option buffer formatcmd 'prettier --tab-width 4 --parser css'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
hook global -group autofmt BufSetOption filetype=(javascript) %{
set-option buffer formatcmd 'prettier --tab-width 4 --parser typescript'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
hook global -group autofmt BufSetOption filetype=(go) %{
set-option buffer formatcmd 'gofmt'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
}
define-command disable-autofmt -docstring 'disable autoformatting of buffer' %{
remove-hooks global autofmt
}
enable-autofmt
# define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{
#
#
# hook global -group autofmt BufSetOption filetype=(zig) %{
# set-option buffer formatcmd 'zig fmt --stdin'
#
# hook -group autofmt buffer BufOpenFile .* %{
# format
# }
#
# hook -group autofmt buffer BufWritePre .* %{
# format
# }
# }
#
# hook global -group autofmt BufSetOption filetype=(html) %{
# set-option buffer formatcmd 'prettier --tab-width 4 --parser html'
#
# hook -group autofmt buffer BufOpenFile .* %{
# format
# }
#
# hook -group autofmt buffer BufWritePre .* %{
# format
# }
# }
#
# hook global -group autofmt BufSetOption filetype=(css) %{
# set-option buffer formatcmd 'prettier --tab-width 4 --parser css'
#
# hook -group autofmt buffer BufOpenFile .* %{
# format
# }
#
# hook -group autofmt buffer BufWritePre .* %{
# format
# }
# }
## Indentation ##
set global tabstop 4
@@ -133,6 +122,26 @@ hook global BufCreate .* %{
autoconfigtab
}
define-command set-spell -docstring 'Enable spellcheck' %{
# hook -group spellcheck global BufOpenFile .* %{
hook -group spellcheck buffer InsertChar .* %{
evaluate-commands %{
spell
}
}
hook -group spellcheck buffer InsertDelete .* %{
evaluate-commands %{
spell
}
}
# }
}
define-command set-nospell -docstring 'Disable spellcheck' %{
remove-hooks buffer spellcheck
}
define-command sleuth -docstring 'Heuristically set buffer options' %{
try %{
evaluate-commands -draft %{
@@ -184,10 +193,15 @@ define-command sleuth-disable -docstring 'Disable sleuth' %{
## LSP ##
lsp-enable
lsp-auto-hover-enable
lsp-inlay-diagnostics-enable global
hook global WinSetOption filetype=(c|zig|rust|python|ruby|lua|java|html|css) %{
set-option global lsp_auto_highlight_references true
set-option global lsp_hover_anchor true
lsp-auto-signature-help-enable
lsp-inlay-hints-enable global
map global user k ':lsp-hover'
hook global WinSetOption filetype=(c|cpp|zig|rust|python|ruby|lua|java|html|css) %{
hook window -group semantic-tokens BufReload .* lsp-semantic-tokens
hook window -group semantic-tokens NormalIdle .* lsp-semantic-tokens
hook window -group semantic-tokens InsertIdle .* lsp-semantic-tokens
@@ -210,10 +224,36 @@ face global InfoDiagnosticHint Information
face global InfoDiagnosticInformation Information
face global InfoDiagnosticWarning Information
hook -group lsp-filetype-swift global BufSetOption filetype=swift %{
set-option buffer lsp_servers %{
[sourcekit-lsp]
root_globs = [".git", ".hg"]
}
}
hook -group lsp-filetype-typst global BufSetOption filetype=typst %{
set-option buffer lsp_servers %{
[tinymist]
root_globs = [".git", ".hg"]
args = ["lsp"]
settings_section = "_"
[tinymist.settings._]
# See https://myriad-dreamin.github.io/tinymist/configurations.html
exportPdf = "onType"
# formatterMode = "typstyle"
# previewFeature = "disable"
}
}
set-option global lsp_config %{
}
define-command -docstring 'Invoke fzf to select a buffer' fzf-buffer %{
define-command fzf-buffer -docstring 'Invoke fzf to select a buffer' %{
evaluate-commands %sh{
tmux split-window -l 30% "(printf \"%s\n\" $kak_quoted_buflist | fzf --bind 'focus:execute-silent(echo \"eval -client $kak_client %{ e {} }\" | kak -p $kak_session)' || echo \"$kak_buffile\") | xargs -I{} echo \"eval -client $kak_client %{ e '{}' }\" | /usr/bin/kak -p $kak_session"
}
}
define-command -docstring 'Invoke fzf to select a buffer' prev-fzf-buff %{
evaluate-commands %sh{
BUFFER=$(
(
@@ -225,7 +265,6 @@ define-command -docstring 'Invoke fzf to select a buffer' fzf-buffer %{
) |
fzf-tmux --cycle -p 80%,90% --read0 --preview='bat --theme=base16-256 --color=always {} 2>/dev/null'
)
BUFFER=${BUFFER/\'/\'\'}
if [ -n "$BUFFER" ]; then
printf "buffer %s" "${BUFFER}"
fi
@@ -357,20 +396,31 @@ define-command -docstring 'Print Working Directory' -params 0 pwd %{
evaluate-commands echo %sh{ echo "$(pwd)"}
}
# define-command -docstring 'copy to clipboard' xcopy %{
# execute-keys '<a-|>xclip -selection clipboard -i<ret>'
# }
# define-command -docstring 'paste from clipboard' xpaste %{
# evaluate-commands -save-regs '"' %{
# set-register dquote %sh{ xclip -selection clipboard -o }
# execute-keys 'p'
# }
# }
define-command -docstring 'copy to clipboard' xcopy %{
execute-keys '<a-|>xclip -selection clipboard -i<ret>'
execute-keys '<a-|>wl-copy<ret>'
}
define-command -docstring 'paste from clipboard' xpaste %{
evaluate-commands -save-regs '"' %{
set-register dquote %sh{ xclip -selection clipboard -o }
execute-keys 'p'
set-register dquote %sh{ wl-paste }
execute-keys 'P'
}
}
declare-user-mode config
map -docstring 'enter config mode' global user e ':enter-user-mode config<ret>'
map -docstring 'edit kakoune config' global config k ':cd ~/.config/kak/<ret>:e ./kakrc<ret>'
map -docstring 'edit kakoune config' global config k ':e ~/.config/kak/kakrc<ret>'
map -docstring 'edit tmux config' global config t ':e ~/.tmux.conf<ret>'
map -docstring 'edit bash config' global config b ':e ~/.bashrc<ret>'
map -docstring 'edit scripts folder' global config s ':cd ~/.scripts<ret>:fzf-edit<ret>'
@@ -412,15 +462,32 @@ map -docstring 'new terminal tab' global tmux T ':tmux-repl-window<ret>'
map -docstring 'new git window' global tmux g ':tmux-terminal-window lazygit<ret>'
declare-user-mode project
map -docstring 'enter project mode' global user P ':enter-user-mode project<ret>'
map -docstring 'enter project mode' global user p ':enter-user-mode project<ret>'
map -docstring 'open project' global project o ':switch-project<ret>'
map -docstring 'enter man mode' global user m ':enter-user-mode man<ret>'
declare-user-mode general
map -docstring 'enter general keybinds mode' global user g ':enter-user-mode general<ret>'
#map -docstring 'clipboard yank' global user y '<a-|>clip.exe<ret>'
map -docstring 'clipboard yank' global user y ':xcopy<ret>'
map -docstring 'clipboard yank' global general y ':xcopy<ret>'
#map -docstring 'clipboard paste' global user p '|powershell.exe -C Get-Clipboard | tr -d "\r"<ret>'
map -docstring 'clipboard paste' global user p ':xpaste<ret>'
map -docstring 'clipboard paste' global general p ':xpaste<ret>'
map -docstring 'quit kakoune' global general q ':q<ret>'
map -docstring 'toggle comments' global general c ':comment-line<ret>'
map -docstring 'quit kakoune' global user q ':q<ret>'
map -docstring 'toggle comments' global user c ':comment-line<ret>'
declare-user-mode spell
map -docstring 'enter spell mode' global general s ':enter-user-mode spell<ret>'
map -docstring 'enable spell check' global spell s ':spell<ret>'
map -docstring 'clear spell check' global spell c ':spell-clear<ret>'
map -docstring 'next spell check' global spell n ':spell-next<ret>'
map -docstring 'spell check replacements' global spell r ':spell-replace<ret>'
map -docstring 'quit kakoune' global user q ':q!<ret>'
try %{
colorscheme %sh{
ruby -e "time = Time.new; if time.hour < 20 and time.hour > 6 then puts 'dawnfox' else puts 'carbonfox' end"
}
} catch %{
colorscheme carbonfox
}

View File

@@ -1,19 +0,0 @@
try %{
# configuration here
} catch %{
echo -debug "Error while evaluating 'kakoune-smooth-scroll' configuration: %val{error}"
set-option -add current plug_conf_errors "Error while evaluating 'kakoune-smooth-scroll' configuration:"
set-option -add current plug_conf_errors %sh{ printf "\n " }
set-option -add current plug_conf_errors %val{error}
set-option -add current plug_conf_errors %sh{ printf "\n\n" }
hook -once -group plug-conf-err global WinDisplay .* %{
info -style modal -title "plug.kak error" "%opt{plug_conf_errors}"
on-key %{
info -style modal
execute-keys -with-maps -with-hooks %val{key}
}
}
}

View File

@@ -0,0 +1,30 @@
[Source-applicationSourceName]
dataSourceCommonSettings\activeState=true
[Source-applicationVersion]
dataSourceCommonSettings\activeState=true
[Source-locale]
dataSourceCommonSettings\activeState=true
[Source-opengl]
dataSourceCommonSettings\activeState=true
[Source-platform]
dataSourceCommonSettings\activeState=true
[Source-qtVersion]
dataSourceCommonSettings\activeState=true
[Source-screens]
dataSourceCommonSettings\activeState=true
[Source-startCount]
dataSourceCommonSettings\activeState=true
[Source-usageTime]
dataSourceCommonSettings\activeState=true
[UserFeedback]
ApplicationStartCount=141
ApplicationTime=705

View File

@@ -0,0 +1,30 @@
[Source-applicationVersion]
dataSourceCommonSettings\activeState=true
[Source-locale]
dataSourceCommonSettings\activeState=true
[Source-places]
dataSourceCommonSettings\activeState=true
[Source-platform]
dataSourceCommonSettings\activeState=true
[Source-qtVersion]
dataSourceCommonSettings\activeState=true
[Source-screens]
dataSourceCommonSettings\activeState=true
[Source-settings]
dataSourceCommonSettings\activeState=true
[Source-startCount]
dataSourceCommonSettings\activeState=true
[Source-usageTime]
dataSourceCommonSettings\activeState=true
[UserFeedback]
ApplicationStartCount=72
ApplicationTime=68724

View File

@@ -0,0 +1,21 @@
[Source-applicationVersion]
dataSourceCommonSettings\activeState=true
[Source-platform]
dataSourceCommonSettings\activeState=true
[Source-qtVersion]
dataSourceCommonSettings\activeState=true
[Source-screens]
dataSourceCommonSettings\activeState=true
[Source-startCount]
dataSourceCommonSettings\activeState=true
[Source-usageTime]
dataSourceCommonSettings\activeState=true
[UserFeedback]
ApplicationStartCount=10
ApplicationTime=3242

View File

@@ -0,0 +1,27 @@
[Source-accounts]
dataSourceCommonSettings\activeState=true
[Source-applicationVersion]
dataSourceCommonSettings\activeState=true
[Source-locale]
dataSourceCommonSettings\activeState=true
[Source-platform]
dataSourceCommonSettings\activeState=true
[Source-qtVersion]
dataSourceCommonSettings\activeState=true
[Source-screens]
dataSourceCommonSettings\activeState=true
[Source-startCount]
dataSourceCommonSettings\activeState=true
[Source-usageTime]
dataSourceCommonSettings\activeState=true
[UserFeedback]
ApplicationStartCount=18
ApplicationTime=16794

View File

@@ -0,0 +1,2 @@
[UserFeedback]
ApplicationStartCount=18

View File

@@ -0,0 +1,31 @@
[Source-applicationVersion]
dataSourceCommonSettings\activeState=true
[Source-compiler]
dataSourceCommonSettings\activeState=true
[Source-opengl]
dataSourceCommonSettings\activeState=true
[Source-panelCount]
dataSourceCommonSettings\activeState=true
[Source-platform]
dataSourceCommonSettings\activeState=true
[Source-qpa]
dataSourceCommonSettings\activeState=true
[Source-qtVersion]
dataSourceCommonSettings\activeState=true
[Source-screens]
dataSourceCommonSettings\activeState=true
[Source-usageTime]
dataSourceCommonSettings\activeState=true
[UserFeedback]
ApplicationStartCount=260
ApplicationTime=2430104
LastEncouragement=@DateTime(\0\0\0\x10\0\0\0\0\0\0%\x87}\x4\n\x84\xab\0)

View File

@@ -0,0 +1,2 @@
[UserFeedback]
ApplicationStartCount=254

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,5 @@
[Favorites]
Atlas=@DateTime(\0\0\0\x10\0\0\0\0\0\0%\x8c\xc2\x3\xd4\x8b\xdf\0)
OpenStreetMap=@DateTime(\0\0\0\x10\0\0\0\0\0\0%\x8c\xc2\x3\xd4\x8b\xdf\0)
Satellite%20View=@DateTime(\0\0\0\x10\0\0\0\0\0\0%\x8c\xc2\x3\xd4\x8b\xdf\0)
initialized=true

View File

@@ -0,0 +1,7 @@
[QQControlsFileDialog]
favoriteFolders=@Invalid()
height=0
sidebarSplit=125.55000000000001
sidebarVisible=true
sidebarWidth=80
width=0

View File

@@ -0,0 +1,2 @@
[KImageAnnotator]
AnnotatorDockWidgetsState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x3\0\0\0\0\0\0\0W\0\0\x1\x8a\xfc\x2\0\0\0\x1\xfb\0\0\0\x1c\0T\0o\0o\0l\0 \0S\0\x65\0l\0\x65\0\x63\0t\0i\0o\0n\x1\0\0\0%\0\0\x1\x8a\0\0\0\x64\x1\0\0\x3\0\0\0\x2\0\0\x2t\0\0\0$\xfc\x1\0\0\0\x1\xfb\0\0\0\x1a\0I\0t\0\x65\0m\0 \0S\0\x65\0t\0t\0i\0n\0g\0s\x1\0\0\0\0\0\0\x2t\0\0\0\xe5\x1\0\0\x3\0\0\0\x3\0\0\x2t\0\0\0$\xfc\x1\0\0\0\x2\xfb\0\0\0 \0G\0\x65\0n\0\x65\0r\0\x61\0l\0 \0S\0\x65\0t\0t\0i\0n\0g\0s\x1\0\0\0\0\0\0\x1x\0\0\0x\x1\0\0\x3\xfb\0\0\0\x1c\0I\0m\0\x61\0g\0\x65\0 \0S\0\x65\0t\0t\0i\0n\0g\0s\x1\0\0\x1y\0\0\0\xfb\0\0\0P\x1\0\0\x3\0\0\x2\x1c\0\0\x1\x8a\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)

View File

@@ -0,0 +1,7 @@
[QQControlsFileDialog]
favoriteFolders=@Invalid()
height=0
sidebarSplit=125.55000000000001
sidebarVisible=true
sidebarWidth=80
width=0

View File

@@ -0,0 +1,2 @@
[Mouse]
cursorTheme=breeze_cursors

View File

@@ -0,0 +1,8 @@
[General]
ColorScheme=BreezeDark
[Icons]
Theme=breeze-dark
[KDE]
widgetStyle=Breeze

View File

@@ -0,0 +1,2 @@
[Greeter]
Theme=org.kde.breeze.desktop

View File

@@ -0,0 +1,3 @@
[KSplash]
Engine=KSplashQML
Theme=org.kde.breezedark.desktop

View File

@@ -0,0 +1,7 @@
[Windows]
Placement=Centered
[org.kde.kdecoration2]
NoPlugin=false
library=org.kde.breeze
theme=Breeze

View File

@@ -0,0 +1 @@
org.kde.breezedark.desktop

View File

@@ -0,0 +1,2 @@
[Theme]
name=default

View File

@@ -0,0 +1,22 @@
# vim: filetype=neomuttrc
# muttrc file for account spamreciver1@outlook.com
set realname = "spamreciver1"
set from = "spamreciver1@outlook.com"
set sendmail = "msmtp -a spamreciver1@outlook.com"
alias me spamreciver1 <spamreciver1@outlook.com>
set folder = "/home/mikec/.local/share/mail/spamreciver1@outlook.com"
set header_cache = /home/mikec/.cache/mutt-wizard/spamreciver1@outlook.com/headers
set message_cachedir = /home/mikec/.cache/mutt-wizard/spamreciver1@outlook.com/bodies
set mbox_type = Maildir
set hostname = "outlook.com"
source /usr/share/mutt-wizard/switch.muttrc
set spoolfile = +INBOX
set postponed = +Drafts
set trash = +Trash
set record = +Sent
macro index o "<shell-escape>mw -y spamreciver1@outlook.com<enter>" "run mbsync to sync spamreciver1@outlook.com"
macro index \eg "<enter-command>unset wait_key<enter><shell-escape>gpg --list-secret-keys; printf 'Enter email ID of user to publish: '; read eID; printf 'Enter fingerprint of GPG key to publish: '; read eFGPT; /usr/libexec/gpg-wks-client --create \$eFGPT \$eID | msmtp --read-envelope-from --read-recipients -a spamreciver1@outlook.com<enter>" "publish GPG key to WKS provider"
macro index \eh "<pipe-message>/usr/libexec/gpg-wks-client --receive | msmtp --read-envelope-from --read-recipients -a spamreciver1@outlook.com<enter>" "confirm GPG publication"
mailboxes "=INBOX" "=Drafts" "=Junk" "=Trash" "=Sent" "=Archive"

View File

@@ -5,3 +5,4 @@ macro index,pager i1 '<sync-mailbox><enter-command>source /home/mikec/.config/mu
macro index,pager i2 '<sync-mailbox><enter-command>source /home/mikec/.config/mutt/accounts/chalupmc@rose-hulman.edu.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to chalupmc@rose-hulman.edu"
macro index,pager i3 '<sync-mailbox><enter-command>source /home/mikec/.config/mutt/accounts/mikec@mchalupiak.com.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to mikec@mchalupiak.com"
set use_threads=reverse sort=last-date
macro index,pager i4 '<sync-mailbox><enter-command>source /home/mikec/.config/mutt/accounts/spamreciver1@outlook.com.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to spamreciver1@outlook.com"

View File

@@ -1,7 +1,11 @@
https://phaazon.net/blog/feed
https://danielde.dev/rss.xml
https://sizeof.cat/index.xml
https://pkolaczk.github.io/feed.xml
https://karl-voit.at/feeds/lazyblorg-all.atom_1.0.links-and-content.xml
https://lukesmith.xyz/index.xml
https://joeyh.name/blog/index.rss
https://kagifeedback.org/atom/t/release-notes
https://api.substack.com/feed/podcast/462466.rss
https://www.dailywire.com/feeds/rss.xml
https://feeds.simplecast.com/6c2VScgo

View File

@@ -1,26 +0,0 @@
function colors(color, theme)
color = os.getenv("BASE16_THEME")
alt_color = 'rose-pine' or color
-- Available values: `'hard'`, `'medium'`, `'soft'`
vim.g.gruvbox_material_background = 'medium'
-- Available values: `'material'`, `'mix'`, `'original'`
vim.g.gruvbox_material_foreground = 'mix'
-- Available values: `'hard'`, `'medium'`, `'soft'`
vim.g.everforest_background = 'hard'
vim.g.gruvbox_material_better_performance = 1
vim.g.everforest_better_performance = 1
if color == 'gruvbox-dark-hard' then
color = 'gruvbox-material'
vim.g.gruvbox_material_background = 'hard'
elseif color == 'gruvbox-dark-soft' then
color = 'gruvbox-material'
vim.g.gruvbox_material_background = 'soft'
end
if theme then
vim.cmd.colorscheme(alt_color)
elseif not pcall(vim.cmd.colorscheme, color) then
vim.cmd.colorscheme(alt_color)
end
end
colors()

View File

@@ -1,90 +0,0 @@
local lsp = require('lsp-zero')
local lsp_config = require("lspconfig")
lsp.preset('recommended')
lsp.ensure_installed({
'lua_ls',
})
--Enable (broadcasting) snippet capability for completion
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
lsp_config.html.setup {
capabilities = capabilities,
filetypes = { "html", "etlua" },
}
lsp_config.nim_langserver.setup{
settings = {
nim = {
projectMapping = {
projectFile = "main.nim",
fileRegex = ".*\\.nim"
}
}
}
}
local cmp = require("cmp")
local cmp_select = {behavior = cmp.SelectBehavior.Select}
local cmp_mappings = lsp.defaults.cmp_mappings({
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
['<C-y>'] = cmp.mapping.confirm({select = true}),
['<C-Space>'] = cmp.mapping.complete(),
})
cmp.setup {
sources = {
-- { name = 'conjure' },
{ name = 'nvim_lsp_signature_help' },
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
}
}
lsp.set_preferences({
sign_icons = { }
})
lsp.setup_nvim_cmp({
mapping = cmp_mappings
})
lsp.on_attach(function(client, bufnr)
local opts = {buffer = bufnr, remap = false}
if client.name == "eslint" then
vim.cmd.LspStop('eslint')
return
end
if client.name == "html" or client.name == "cssls" then
capabilities = capabilities
end
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "<leader>vws", vim.lsp.buf.workspace_symbol, opts)
vim.keymap.set("n", "<leader>vd", vim.diagnostic.open_float, opts)
vim.keymap.set("n", "[d", vim.diagnostic.goto_next, opts)
vim.keymap.set("n", "]d", vim.diagnostic.goto_prev, opts)
vim.keymap.set("n", "<leader>vca", vim.lsp.buf.code_action, opts)
vim.keymap.set("n", "<leader>vrr", vim.lsp.buf.references, opts)
vim.keymap.set("n", "<leader>vrn", vim.lsp.buf.rename, opts)
vim.keymap.set("i", "<C-h>", vim.lsp.buf.signature_help, opts)
end)
lsp_config.lua_ls.setup {
-- ... other configs
settings = {
Lua = {
diagnostics = {
globals = { 'vim' }
}
}
}
}
lsp_config.racket_langserver.setup{}
lsp.setup()

View File

@@ -1,15 +0,0 @@
local builtin = require('telescope.builtin')
local telescope = require('telescope')
telescope.load_extension("workspaces")
telescope.load_extension("recent_files")
telescope.load_extension("telescope-tabs")
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
vim.keymap.set('n', '<leader>fF', builtin.git_files, {})
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
vim.keymap.set('n', '<leader>bb', builtin.buffers, {})
vim.keymap.set('n', '<leader>hh', builtin.help_tags, {})
vim.keymap.set('n', '<leader>cc', builtin.colorscheme, {})
vim.keymap.set('n', '<leader>wo', ":Telescope workspaces<CR>", {})
vim.api.nvim_set_keymap("n", "<leader>fr",
[[<cmd>lua require('telescope').extensions.recent_files.pick()<CR>]],
{noremap = true, silent = true})

View File

@@ -1,22 +0,0 @@
require'nvim-treesitter.configs'.setup {
-- A list of parser names, or "all"
ensure_installed = { "help", "java", "c", "lua" },
-- Install parsers synchronously (only applied to `ensure_installed`)
sync_install = false,
-- Automatically install missing parsers when entering buffer
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
auto_install = true,
highlight = {
-- `false` will disable the whole extension
enable = true,
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
-- Using this option may slow down your editor, and you may see some duplicate highlights.
-- Instead of true it can also be a list of languages
additional_vim_regex_highlighting = false,
},
}

View File

@@ -1,2 +0,0 @@
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)

View File

@@ -1 +0,0 @@
[{"url": "sqlserver://chalupmc:MikeC00l@golem.csse.rose-hulman.edu/SodaBasechalupmc", "name": "SodaBasechalupmc"}, {"url": "sqlserver://chalupmc:MikeC00l@golem.csse.rose-hulman.edu/NWindchalupmc", "name": "NWindchalupmc"}]

View File

@@ -1,97 +0,0 @@
-- See `:help vim.lsp.start_client` for an overview of the supported `config` options.
--local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ':p:h:t')
--local workspace_dir = '/path/to/workspace-root/' .. project_name
local workspace_dir = vim.fn.getcwd()
local config = {
-- The command that starts the language server
-- See: https://github.com/eclipse/eclipse.jdt.ls#running-from-the-command-line
cmd = {
-- 💀
'jdtls', -- or '/path/to/java17_or_newer/bin/java'
-- depends on if `java` is in your $PATH env variable and if it points to the right version.
-- '-Declipse.application=org.eclipse.jdt.ls.core.id1',
-- '-Dosgi.bundles.defaultStartLevel=4',
-- '-Declipse.product=org.eclipse.jdt.ls.core.product',
-- '-Dlog.protocol=true',
-- '-Dlog.level=ALL',
-- '-Xms1g',
-- '--add-modules=ALL-SYSTEM',
-- '--add-opens', 'java.base/java.util=ALL-UNNAMED',
-- '--add-opens', 'java.base/java.lang=ALL-UNNAMED',
--
-- -- 💀
-- '-jar', '/usr/share/java/jdtls/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar',
-- -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
-- -- Must point to the Change this to
-- -- eclipse.jdt.ls installation the actual version
--
--
-- -- 💀
-- '-configuration', '/usr/share/java/jdtls/config_linux',
-- -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^
-- -- Must point to the Change to one of `linux`, `win` or `mac`
-- -- eclipse.jdt.ls installation Depending on your system.
--
--
-- -- 💀
-- -- See `data directory configuration` section in the README
-- '-data', "/home/mikec/Documents/workspace"
},
-- 💀
-- This is the default if not provided, you can remove it. Or adjust as needed.
-- One dedicated LSP server & client will be started per unique root_dir
root_dir = require('jdtls.setup').find_root({'.git', 'mvnw', 'gradlew'}),
-- Here you can configure eclipse.jdt.ls specific settings
-- See https://github.com/eclipse/eclipse.jdt.ls/wiki/Running-the-JAVA-LS-server-from-the-command-line#initialize-request
-- for a list of options
settings = {
java = {
}
},
-- Language server `initializationOptions`
-- You need to extend the `bundles` with paths to jar files
-- if you want to use additional eclipse.jdt.ls plugins.
--
-- See https://github.com/mfussenegger/nvim-jdtls#java-debug-installation
--
-- If you don't plan on using the debugger or other eclipse.jdt.ls plugins you can remove this
--init_options = {
-- bundles = {
-- vim.fn.glob("/home/mikec/.local/share/nvim/mason/packages/java-debug-adapter/extension/server/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-*.jar", 1)
-- }
--},
}
-- This bundles definition is the same as in the previous section (java-debug installation)
local bundles = {
vim.fn.glob("/home/mikec/.local/share/nvim/mason/packages/java-debug-adapter/extension/server/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-*.jar", 1)
};
-- This is the new part
vim.list_extend(bundles, vim.split(vim.fn.glob("/path/to/microsoft/vscode-java-test/server/*.jar", 1), "\n"))
config['init_options'] = {
bundles = bundles;
}
-- This starts a new client & server,
-- or attaches to an existing client & server depending on the `root_dir`.
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "<leader>vws", vim.lsp.buf.workspace_symbol, opts)
vim.keymap.set("n", "<leader>vd", vim.diagnostic.open_float, opts)
vim.keymap.set("n", "[d", vim.diagnostic.goto_next, opts)
vim.keymap.set("n", "]d", vim.diagnostic.goto_prev, opts)
vim.keymap.set("n", "<leader>vca", vim.lsp.buf.code_action, opts)
vim.keymap.set("n", "<leader>vrr", vim.lsp.buf.references, opts)
vim.keymap.set("n", "<leader>vrn", vim.lsp.buf.rename, opts)
vim.keymap.set("i", "<C-h>", vim.lsp.buf.signature_help, opts)
vim.keymap.set("n", "<leader>i", function() require('jdtls').organize_imports() end, opts)
require('jdtls').start_or_attach(config)

2
config/.config/nvim/init.lua Executable file → Normal file
View File

@@ -1 +1 @@
require("config")
require 'config'

View File

@@ -0,0 +1,69 @@
{
"auto-dark-mode.nvim": { "branch": "master", "commit": "e300259ec777a40b4b9e3c8e6ade203e78d15881" },
"blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" },
"catppuccin": { "branch": "main", "commit": "8c4125e3c746976ba025dc5d908fa22c6aa09486" },
"cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" },
"compiler-explorer.nvim": { "branch": "master", "commit": "ee8e7a2808bdad67cd2acb61b5c9ffa7735c7ec9" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"dim.lua": { "branch": "main", "commit": "a3a0dce75f7212ab61130e77a8157530bd23db15" },
"dracula.nvim": { "branch": "main", "commit": "041d923368d540a1e438989ce8f915628081a56a" },
"dropbar.nvim": { "branch": "master", "commit": "ce202248134e3949aac375fd66c28e5207785b10" },
"everblush": { "branch": "main", "commit": "678f808d81801b983b6fb8296fb17ba1b2785d7c" },
"everforest": { "branch": "master", "commit": "0909c23a2b8cbc337cffe91fda36381747e88506" },
"fennel.vim": { "branch": "main", "commit": "c6a9c035ca108cbb24273d96cd6277fb8fbc60b4" },
"github-colors": { "branch": "main", "commit": "7292749e49e6f870e63879a528bb05c8c8d1a59a" },
"github-nvim-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" },
"gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" },
"gruvbox-material": { "branch": "master", "commit": "834dbf21836862300ced7444db4262b796330ab7" },
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
"hex.nvim": { "branch": "master", "commit": "b46e63356a69e8d6f046c38a9708d55d17f15038" },
"lazy.nvim": { "branch": "main", "commit": "f0f5bbb9e5bfae5e6468f9359ffea3d151418176" },
"leap.nvim": { "branch": "main", "commit": "44e3a60a7a62069e5c9445b7a8104612d4f060cb" },
"love2d.nvim": { "branch": "main", "commit": "25715394680590f56aab90390d430cab0dc46808" },
"lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" },
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "35ec9e1425c2f9a36f556893336af4f302c63214" },
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
"melange-nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" },
"mellow.nvim": { "branch": "main", "commit": "5cd188489bcc7eb512f0a30581ad972070f8e5cd" },
"mini.nvim": { "branch": "main", "commit": "ee4a4a4abed25e3d108d985b0553c5271f2f71aa" },
"monochrome.nvim": { "branch": "main", "commit": "2de78d9688ea4a177bcd9be554ab9192337d35ff" },
"monokai.nvim": { "branch": "master", "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" },
"moonlight.nvim": { "branch": "pure-lua", "commit": "e24e4218ec680b6396532808abf57ca0ada82e66" },
"moonscript-vim": { "branch": "master", "commit": "715c96c7c3b02adc507f84bf5754985460afc426" },
"nabla.nvim": { "branch": "master", "commit": "9b69b709063ccf40ac36fabb4fff7d90b3736475" },
"nelua.vim": { "branch": "main", "commit": "5bc2ce7cc1ae952940bb3419ad106c02820f4baf" },
"neogit": { "branch": "master", "commit": "c6d00913f802acedfb93c01267e89185f25800ca" },
"neorg": { "branch": "main", "commit": "e206c9642f4a115cd836e76c98ef785623d335bc" },
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
"nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
"nvim-highlight-colors": { "branch": "main", "commit": "e0c4a58ec8c3ca7c92d3ee4eb3bc1dd0f7be317e" },
"nvim-lspconfig": { "branch": "master", "commit": "cbd1e91296189a765094810de1b71a04e2597579" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-surround": { "branch": "main", "commit": "fcfa7e02323d57bfacc3a141f8a74498e1522064" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "a9742cbc1f95db9eaf3293bf8cd0622ca36542bb" },
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
"nvim-unception": { "branch": "main", "commit": "df0e505f0f1371c49c2bcf993985962edb5a279d" },
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
"oceanic-next": { "branch": "master", "commit": "09833f72d5ba23de2e8bcae18f479f326f5f677a" },
"oil.nvim": { "branch": "master", "commit": "7e1cd7703ff2924d7038476dcbc04b950203b902" },
"one-nvim": { "branch": "main", "commit": "faf6fb3f98fccbe009c3466f657a8fff84a5f956" },
"onedark.nvim": { "branch": "master", "commit": "6c10964f91321c6a0f09bcc41dd64e7a6602bc4f" },
"plantuml-syntax": { "branch": "master", "commit": "9d4900aa16674bf5bb8296a72b975317d573b547" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"range-highlight.nvim": { "branch": "master", "commit": "f54aec737f138e52c187a8bea77b41347fd86f12" },
"rose-pine": { "branch": "main", "commit": "eb3ff49a4f2b4e8b06d27de529e44fa52a60ab8a" },
"sherbet.nvim": { "branch": "master", "commit": "5c4166eff70ec551ae0023edfb89141b25cc18c6" },
"snacks.nvim": { "branch": "main", "commit": "59c5545e91878c1f6218b032a881832bc98a46f3" },
"telescope-tabs": { "branch": "vim_ui_select", "commit": "f01bc722582fdcaa58ea37492b382ff109893d95" },
"tokyonight.nvim": { "branch": "main", "commit": "2642dbb83333e0575d1c3436e1d837926871c5fb" },
"v-vim": { "branch": "master", "commit": "1dc1388bafb89072f8349dbd96f9462ae22237cb" },
"vim-colors-xcode": { "branch": "master", "commit": "6d449229bf29176448bd06377689d7a8db0d1bee" },
"vim-etlua": { "branch": "master", "commit": "bb2974d0134ce6da60c3be0d82d809976b859c1c" },
"vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" },
"vim-teal": { "branch": "master", "commit": "a416397cf7aad7b03ef53fd3d9847fd764bcbfee" },
"vscode.nvim": { "branch": "main", "commit": "cb9df0873c10a21d05362455ae3bb355eadcef6b" }
}

View File

@@ -1,29 +0,0 @@
local M = {}
local function db_completion()
require("cmp").setup.buffer { sources = { { name = "vim-dadbod-completion" } } }
end
function M.setup()
vim.g.db_ui_save_location = vim.fn.stdpath "config" .. require("plenary.path").path.sep .. "db_ui"
vim.api.nvim_create_autocmd("FileType", {
pattern = {
"sql",
},
command = [[setlocal omnifunc=vim_dadbod_completion#omni]],
})
vim.api.nvim_create_autocmd("FileType", {
pattern = {
"sql",
"mysql",
"plsql",
},
callback = function()
vim.schedule(db_completion)
end,
})
end
return M

7
config/.config/nvim/lua/config/init.lua Executable file → Normal file
View File

@@ -1,3 +1,4 @@
require("config.remap")
require("config.packer")
require("config.set")
require 'config.lazy'
require 'config.set'
require 'config.keymap'
require 'config.lsp'

View File

@@ -0,0 +1,75 @@
local set = vim.keymap.set
local setnx = function(key, command, desc)
set({'n', 'x'}, key, command, { desc = desc })
end
setnx('<leader>ff', Snacks.picker.files, 'Find files')
setnx('<leader>f/', Snacks.picker.grep_word, 'Search current word')
setnx('<leader>fg', Snacks.picker.grep, 'Search in files')
setnx('<leader>fr', Snacks.picker.recent, 'Find recent files')
setnx('<leader>b', Snacks.picker.buffers, 'List buffers')
setnx('<leader>h', Snacks.picker.help, 'Search help')
setnx('<leader>X', require'hex'.toggle, 'Toggle hex editor')
setnx('<leader>m', Snacks.picker.marks, 'Search marks')
setnx('<leader>q', Snacks.picker.qflist, 'Search quickfix list')
setnx('<leader>l', Snacks.picker.loclist, 'Search location list')
setnx('<leader>j', Snacks.picker.jumps, 'Search jumplist')
setnx('<leader>r', Snacks.picker.registers, 'Search registers')
setnx('<leader>s', Snacks.picker.spelling, 'List spelling suggestions')
setnx('<leader>M', Snacks.picker.man, 'Search man pages')
setnx('<leader>t', require'telescope-tabs'.list_tabs, 'List tabs')
setnx('<leader>c', Snacks.picker.colorschemes, 'Select colorscheme')
setnx('<leader>N', Snacks.picker.notifications, 'List notifications')
local neogit = require('neogit')
setnx('<leader>op', '<CMD>Oil<CR>', 'Open file manager')
setnx('<leader>oP', '<CMD>Oil --float<CR>', 'Open file manager in floating window')
setnx('<leader>ot', '<CMD>term<CR>', 'Open terminal')
setnx('<leader>oT', '<CMD>tabnew<CR>', 'Open new tab')
setnx('<leader>of', '<CMD>enew<CR>', 'Open new file')
-- setnx('<leader>ow', '<CMD>Telescope workspaces', 'Open workspace')
setnx('<leader>ol', '<CMD>Lazy<CR>', 'Open Lazy')
setnx('<leader>om', '<CMD>Mason<CR>', 'Open Mason')
setnx('<leader>oc', '<CMD>cd ' .. vim.fn.stdpath('config') .. '<CR><CMD>Oil .<CR>', 'Open neovim configuration')
setnx('<leader>og', neogit.open, 'Open (neo)git')
-- Exit terminal mode with ESC
set('t', '<Esc>', '<C-\\><C-n>')
-- Swap ' and `
setnx('\'', '`', 'Goto mark with column')
setnx('`', '\'', 'Goto mark without column')
setnx('<leader>x', '<CMD>bd!<CR>', 'Close Current Buffer')
setnx('grr', Snacks.picker.lsp_references, 'Search lsp references')
-- setnx('grI', tele.lsp_incoming_calls, 'Find incoming function calls')
-- setnx('grO', tele.lsp_outgoing_calls, 'Find outgoing function calls')
setnx('grd', Snacks.picker.diagnostics, 'Show LSP diagnostics')
setnx('grD', (function()
local diag = true
return function()
diag = not diag
vim.diagnostic.config({ update_in_insert = true, float = true, virtual_lines = diag})
end
end)(), 'Toggle LSP diagnostics')
setnx('grs', Snacks.picker.lsp_workspace_symbols, 'Show workspace symbols')
setnx('grS', Snacks.picker.lsp_symbols, 'Show document symbols')
setnx('gri', Snacks.picker.lsp_implementations, 'Goto implementation')
setnx('gd', Snacks.picker.lsp_definitions, 'Goto definition')
setnx('gD', Snacks.picker.lsp_type_definitions, 'Goto type definition')
setnx('<leader>gc', Snacks.picker.git_log, 'List git commits')
setnx('<leader>gb', Snacks.picker.git_branches, 'List git branches')
setnx('<leader>gs', Snacks.picker.git_status, 'Show git status')
setnx('<leader>gS', Snacks.picker.git_stash, 'Show git stash')
setnx('<leader>gB', Snacks.picker.git_log_file, 'List buffers git commits')
setnx('<leader>gr', Snacks.picker.git_log_line, 'List buffers git commits over visual range')
setnx('<leader>n', require('nabla').popup, 'Show popup for nabla preview')
setnx('<leader>p', '"+p', 'Paste from system clipboard')
setnx('<leader>y', '"+y', 'Yank to system clipboard')
setnx('gs', '<Plug>(leap)', 'Activate leap')
setnx('g<C-s>', '<Plug>(leap-anywhere)', 'Activate leap anywhere')
setnx('gS', require('leap.remote').action, 'Activate remote leap')

View File

@@ -0,0 +1,35 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
-- Setup lazy.nvim
require("lazy").setup({
spec = {
-- import your plugins
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
-- install = { colorscheme = { "nord" } },
-- automatically check for plugin updates
checker = { enabled = false, notify = false },
})

View File

@@ -0,0 +1,48 @@
vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup('UserLspConfig', {}),
callback = function(args)
local client = vim.lsp.get_client_by_id(args.data.client_id)
if client:supports_method('textDocument/inlayHint') or client.server_capabilities.inlayHintProvider then
vim.lsp.inlay_hint.enable(true, { bufnr = args.buf })
end
end
})
-- vim.lsp.config('rust-analyzer', {
-- settings = {
-- ["rust-analyzer"] = {
-- inlayHints = {
-- bindingModeHints = {
-- enable = false,
-- },
-- chainingHints = {
-- enable = true,
-- },
-- closingBraceHints = {
-- enable = true,
-- minLines = 25,
-- },
-- closureReturnTypeHints = {
-- enable = "never",
-- },
-- lifetimeElisionHints = {
-- enable = "never",
-- useParameterNames = false,
-- },
-- maxLength = 25,
-- parameterHints = {
-- enable = true,
-- },
-- reborrowHints = {
-- enable = "never",
-- },
-- renderColons = true,
-- typeHints = {
-- enable = true,
-- hideClosureInitialization = false,
-- hideNamedConstructor = false,
-- },
-- },
-- }
-- }
-- })

View File

@@ -1,332 +0,0 @@
-- This file can be loaded by calling `lua require('plugins')` from your init.vim
-- Only required if you have packer configured as `opt`
vim.cmd [[packadd packer.nvim]]
return require('packer').startup(function(use)
-- Packer can manage itself
use 'wbthomason/packer.nvim'
use {
'nvim-telescope/telescope.nvim',
branch = '0.1.x',
requires = { { 'nvim-lua/plenary.nvim' } }
}
use {
'LukasPietzschmann/telescope-tabs',
requires = { 'nvim-telescope/telescope.nvim' },
config = function()
require'telescope-tabs'.setup{
-- Your custom config :^)
}
end
}
use({
'rose-pine/neovim',
as = 'rose-pine',
-- config = function()
-- vim.cmd('colorscheme rose-pine')
-- end
})
use 'tanvirtin/monokai.nvim'
use 'arzg/vim-colors-xcode'
use 'shaunsingh/nord.nvim'
use 'kvrohit/mellow.nvim'
use 'Mofiqul/vscode.nvim'
use 'Th3Whit3Wolf/one-nvim'
use 'mhartington/oceanic-next'
use 'folke/tokyonight.nvim'
use 'sainnhe/gruvbox-material'
use { "ellisonleao/gruvbox.nvim" }
use 'sainnhe/everforest'
use 'lourenci/github-colors'
use 'navarasu/onedark.nvim'
use 'shaunsingh/moonlight.nvim'
use 'Mofiqul/dracula.nvim'
use 'kdheepak/monochrome.nvim'
use "savq/melange-nvim"
use { "catppuccin/nvim", as = "catppuccin" }
-- use 'RRethy/nvim-base16'
use ({ 'projekt0n/github-nvim-theme' })
use { 'Everblush/nvim', as = 'everblush' }
use "lewpoly/sherbet.nvim"
use 'xiyaowong/transparent.nvim'
use {
'nvim-treesitter/nvim-treesitter',
run = ':TSUpdate',
}
use {
'numToStr/Comment.nvim',
config = function()
require('Comment').setup()
end
}
use 'nvim-treesitter/playground'
-- use 'mbbill/undotree'
use {
'VonHeikemen/lsp-zero.nvim',
requires = {
-- LSP Support
{ 'neovim/nvim-lspconfig' },
{ 'williamboman/mason.nvim' },
{ 'williamboman/mason-lspconfig.nvim' },
-- Autocompletion
{ 'hrsh7th/nvim-cmp' },
{ 'hrsh7th/cmp-buffer' },
{ 'hrsh7th/cmp-path' },
{ 'hrsh7th/cmp-nvim-lsp-signature-help' },
{ 'saadparwaiz1/cmp_luasnip' },
{ 'hrsh7th/cmp-nvim-lsp' },
{ 'hrsh7th/cmp-nvim-lua' },
-- Snippets
{ 'L3MON4D3/LuaSnip' },
{ 'rafamadriz/friendly-snippets' },
}
}
use {
'L3MON4D3/LuaSnip',
--after = 'nvim-cmp',
requires = { "rafamadriz/friendly-snippets" },
config = function()
--require('config.snippets')
require("luasnip.loaders.from_vscode").lazy_load()
end,
run = "make install_jsregexp"
}
use 'rafamadriz/friendly-snippets'
use {
"folke/twilight.nvim",
config = function()
require("twilight").setup {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
end
}
use 'winston0410/cmd-parser.nvim'
use {
'winston0410/range-highlight.nvim',
config = function() require("range-highlight").setup {} end
}
use 'RRethy/vim-illuminate'
use 'mfussenegger/nvim-jdtls'
use {
"samjwill/nvim-unception",
setup = function()
-- Optional settings go here!
end
}
use {
"0oAstro/dim.lua",
requires = { "nvim-treesitter/nvim-treesitter", "neovim/nvim-lspconfig" },
config = function()
require('dim').setup({})
end
}
use 'mfussenegger/nvim-dap'
use { "rcarriga/nvim-dap-ui", requires = { "mfussenegger/nvim-dap" } }
use { 'stevearc/dressing.nvim' }
use {
'krady21/compiler-explorer.nvim',
config = function()
require("compiler-explorer").setup({
autocmd = {
enable = true,
hl = "Cursorline"
}
})
end
}
-- use 'ggandor/lightspeed.nvim'
use {
'ggandor/leap.nvim',
config = function()
require('leap').add_default_mappings()
end
}
use 'ollykel/v-vim'
use {
'windwp/nvim-ts-autotag',
config = function()
require('nvim-ts-autotag').setup()
end
}
use 'jbyuki/nabla.nvim'
use {
'ray-x/web-tools.nvim',
config = function()
require('web-tools').setup()
end
}
use {
'natecraddock/workspaces.nvim',
config = function()
require('workspaces').setup()
end
}
use {"smartpde/telescope-recent-files"}
use 'uga-rosa/ccc.nvim'
use 'tveskag/nvim-blame-line'
use {
'lewis6991/gitsigns.nvim',
config = function()
require('gitsigns').setup()
end
}
-- use 'Olical/conjure'
-- use 'PaterJason/cmp-conjure'
use {
'lukas-reineke/indent-blankline.nvim',
config = function()
require 'ibl'.setup{ scope = { enabled = false } }
end,
}
use 'jaawerth/fennel.vim'
use 'stefanos82/nelua.vim'
use 'leafo/moonscript-vim'
use 'teal-language/vim-teal'
use 'https://github.com/VaiN474/vim-etlua'
use 'folke/neodev.nvim'
use {
"kylechui/nvim-surround",
tag = "*", -- Use for stability; omit to use `main` branch for the latest features
config = function()
require("nvim-surround").setup({
-- Configuration here, or leave empty to use defaults
})
end
}
use 'nvim-tree/nvim-web-devicons'
use({
"utilyre/barbecue.nvim",
tag = "*",
requires = {
"SmiteshP/nvim-navic",
"nvim-tree/nvim-web-devicons", -- optional dependency
},
after = "nvim-web-devicons", -- keep this if you're using NvChad
config = function()
require("barbecue").setup()
end,
})
use {
'nvim-lualine/lualine.nvim',
requires = { 'nvim-tree/nvim-web-devicons', opt = true },
config = function()
local function lspactive()
local names = {}
for i, server in pairs(vim.lsp.get_active_clients({ bufnr = 0 })) do
table.insert(names, server.name)
end
return " [" .. table.concat(names, " ") .. "]"
end
require('lualine').setup {
options = {
globalstatus = true,
icons_enabled = false,
section_separators = { left = '', right = '' },
component_separators = { left = '', right = '' }
},
sections = {
lualine_a = { { 'mode', separator = { left = '', right = '' } }, },
lualine_b = {},
lualine_c = {'filename'},
lualine_x = {lspactive, { 'diagnostics', icons_enabled = true }, 'branch', 'diff'},
lualine_y = {'encoding', 'fileformat', 'filetype'},
lualine_z = {'location', { 'progress', separator = { left = '', right = '' } }, },
},
}
end,
}
use {
'goolord/alpha-nvim',
requires = { 'nvim-tree/nvim-web-devicons' },
config = function ()
require'alpha'.setup(require'alpha.themes.startify'.config)
end
}
use 'aklt/plantuml-syntax'
use {
"tpope/vim-dadbod",
opt = true,
requires = {
"kristijanhusak/vim-dadbod-ui",
"kristijanhusak/vim-dadbod-completion",
},
config = function()
require("config.dadbod").setup()
end,
cmd = { "DBUIToggle", "DBUI", "DBUIAddConnection", "DBUIFindBuffer", "DBUIRenameBuffer", "DBUILastQueryInfo" },
}
use 'eandrju/cellular-automaton.nvim'
end)

View File

@@ -1,56 +0,0 @@
require('Comment').setup()
vim.g.mapleader = " "
vim.g.maplocalleader = ","
vim.keymap.set("n", "<leader>op", vim.cmd.Ex)
vim.keymap.set("n", "<leader>lp", ":lua require(\"nabla\").popup()<CR>")
vim.keymap.set("n", "<leader>ll", ":lua require(\"nabla\").toggle_virt()<CR>")
-- vim.keymap.set("n", "<C-x>", vim.cmd.nohlsearch)
vim.keymap.set("n", "<leader>x", vim.cmd.bdelete)
vim.keymap.set("n", "<leader>bd", ":bdelete!<CR>")
vim.keymap.set("n", "<leader>w", function()
vim.cmd.write();
vim.cmd.bdelete();
end)
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
vim.keymap.set("n", "J", "mzJ'z")
vim.keymap.set("n", "<C-d>", "<C-d>zz")
vim.keymap.set("n", "<C-u>", "<C-u>zz")
vim.keymap.set("n", "n", "nzzzv")
vim.keymap.set("n", "N", "Nzzzv")
vim.keymap.set("n", "<leader>y", "\"+y")
vim.keymap.set("v", "<leader>y", "\"+y")
vim.keymap.set("n", "<leader>Y", "\"+Y")
vim.keymap.set("n", "<leader>p", "\"+p")
vim.keymap.set("v", "<leader>p", "\"+p")
vim.keymap.set("n", "<leader>P", "\"+P")
vim.keymap.set("n", "<leader>f", function()
vim.lsp.buf.format()
end)
vim.keymap.set("n", "<leader>tw", function()
vim.cmd.Twilight()
end)
vim.keymap.set("t", "<Esc><Esc>", "<C-\\><C-n>")
vim.keymap.set("n", "<leader>ec", ":e ~/.config/nvim<CR>")
vim.keymap.set("n", "<leader>bn", ":bnext<CR>")
vim.keymap.set("n", "<leader>bp", ":bprevious<CR>")
vim.keymap.set("n", "<leader>tn", ":tabnext<CR>")
vim.keymap.set("n", "<leader>tp", ":tabprevious<CR>")
vim.keymap.set("n", "<leader>to", ":tabnew<CR>")
vim.keymap.set("n", "<leader>td", ":tabclose<CR>")
vim.keymap.set("n", "<leader>tt", function()
require('telescope-tabs').list_tabs()
end)

55
config/.config/nvim/lua/config/set.lua Executable file → Normal file
View File

@@ -1,8 +1,8 @@
vim.opt.nu = true
vim.opt.relativenumber = true
vim.opt.wrap = true
vim.opt.linebreak = true
-- vim.opt.wrap = true
-- vim.opt.linebreak = true
vim.opt.tabstop = 4
vim.opt.softtabstop = 4
@@ -10,47 +10,78 @@ vim.opt.shiftwidth = 4
vim.opt.expandtab = true
vim.opt.showmode = false
vim.opt.winborder = 'none'
vim.opt.smartindent = true
vim.opt.spell = true
vim.opt.spelllang = "en_us"
-- vim.opt.spell = true
vim.opt.spelllang = 'en_us'
vim.opt.swapfile = false
vim.opt.backup = false
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
vim.opt.undodir = os.getenv('HOME') .. '/.nvim/undodir'
vim.opt.undofile = true
vim.opt.hlsearch = true
vim.opt.incsearch = true
vim.opt.ignorecase = true
vim.opt.smartcase = true
vim.opt.termguicolors = true
vim.opt.scrolloff = 8
vim.opt.signcolumn = "yes"
vim.opt.isfname:append("@-@")
vim.opt.signcolumn = 'yes'
vim.opt.isfname:append('@-@')
vim.opt.updatetime = 50
vim.opt.colorcolumn = "80"
vim.opt.colorcolumn = '80'
vim.opt.splitright = true
vim.opt.splitbelow = true
vim.g.mapleader = " "
vim.g.mapleader = ' '
vim.g.neovide_scale_factor = 1.0
vim.g.neovide_theme = 'auto'
vim.g.neovide_opacity = 1.0
function ChangeScaleFactor(delta)
vim.g.neovide_scale_factor = vim.g.neovide_scale_factor * delta
end
vim.keymap.set("n", "<C-=>", function()
vim.keymap.set('n', '<C-=>', function()
ChangeScaleFactor(1.25)
end)
vim.keymap.set("n", "<C-->", function()
vim.keymap.set('n', '<C-->', function()
ChangeScaleFactor(1 / 1.25)
end)
vim.opt.guifont = { "Cascadia Code", ":h12" }
vim.opt.guifont = { 'Iosevka Term SS12', ':h14' }
vim.opt.termguicolors = true
vim.g.netrw_keepdir = 0
vim.g.netrw_preview = 1
vim.g.netrw_alto = 0
vim.ui.select = Snacks.picker.select
-- vim.cmd('colorscheme carbonfox')
vim.lsp.config('lua_ls', {
settings = {
Lua = {
workspace = {
library = vim.api.nvim_get_runtime_file("", true),
maxPreload = 100000,
preloadFileSize = 100000,
}
}
}
})
vim.lsp.config('tinymist', {
settings = {
exportPdf = "onType",
},
})
vim.diagnostic.config({ update_in_insert = true, float = true, virtual_lines = true})

View File

@@ -0,0 +1,163 @@
return {
{
'rose-pine/neovim',
name = 'rose-pine',
priority = 1000,
lazy = true,
},
{
'tanvirtin/monokai.nvim',
priority = 1000,
lazy = true,
},
{
'arzg/vim-colors-xcode',
priority = 1000,
lazy = true,
},
{
'shaunsingh/nord.nvim',
priority = 1000,
lazy = true,
},
{
'kvrohit/mellow.nvim',
priority = 1000,
lazy = true,
},
{
'Mofiqul/vscode.nvim',
priority = 1000,
lazy = true,
},
{
'Th3Whit3Wolf/one-nvim',
priority = 1000,
lazy = true,
},
{
'mhartington/oceanic-next',
priority = 1000,
lazy = true,
},
{
'folke/tokyonight.nvim',
priority = 1000,
lazy = true,
},
{
'sainnhe/gruvbox-material',
priority = 1000,
lazy = true,
},
{
"ellisonleao/gruvbox.nvim",
priority = 1000,
lazy = true,
},
{
'sainnhe/everforest',
priority = 1000,
lazy = true,
},
{
'lourenci/github-colors',
priority = 1000,
lazy = true,
},
{
'navarasu/onedark.nvim',
priority = 1000,
lazy = true,
},
{
'shaunsingh/moonlight.nvim',
priority = 1000,
lazy = true,
},
{
'Mofiqul/dracula.nvim',
priority = 1000,
lazy = true,
},
{
'kdheepak/monochrome.nvim',
priority = 1000,
lazy = true,
},
{
"savq/melange-nvim",
priority = 1000,
lazy = true,
},
{
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
lazy = true,
},
-- use 'RRethy/nvim-base16'
{
'projekt0n/github-nvim-theme',
priority = 1000,
lazy = true,
},
{
'Everblush/nvim',
name = 'everblush',
priority = 1000,
lazy = true,
},
{
"lewpoly/sherbet.nvim",
priority = 1000,
lazy = true,
},
{
"EdenEast/nightfox.nvim",
priority = 1000,
lazy = true,
},
{
"f-person/auto-dark-mode.nvim",
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
set_dark_mode = function()
vim.api.nvim_set_option_value("background", "dark", {})
vim.cmd('colorscheme carbonfox')
end,
set_light_mode = function()
vim.api.nvim_set_option_value("background", "light", {})
vim.cmd('colorscheme dawnfox')
end,
},
},
-- use 'xiyaowong/transparent.nvim'
}

View File

@@ -0,0 +1,64 @@
return {
{
'ollykel/v-vim',
ft = 'v',
},
{
'jaawerth/fennel.vim',
ft = 'fnl',
},
{
'stefanos82/nelua.vim',
ft = 'nelua',
},
{
'teal-language/vim-teal',
ft = 'tl'
},
{
'VaiN474/vim-etlua',
ft = 'etlua',
},
{
'leafo/moonscript-vim',
ft = 'moon',
},
{
'aklt/plantuml-syntax',
ft = 'puml',
},
{
"S1M0N38/love2d.nvim",
-- event = "VeryLazy",
ft = 'lua',
version = "2.*",
opts = { },
},
{
"nvim-neorg/neorg",
-- lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default
ft = 'norg',
version = "*", -- Pin Neorg to the latest stable release
config = true,
},
-- {
-- "Olical/conjure"
-- },
{
"vlime/vlime",
config = function(plugin)
vim.opt.rtp:append(plugin.dir .. '/vim/')
end
},
}

View File

@@ -0,0 +1,139 @@
return {
{
'mason-org/mason.nvim',
event = 'VeryLazy',
opts = {},
},
{
'neovim/nvim-lspconfig',
event = 'VeryLazy',
},
{
"mason-org/mason-lspconfig.nvim",
event = 'VeryLazy',
opts = {},
dependencies = {
{ "mason-org/mason.nvim", opts = {} },
"neovim/nvim-lspconfig",
},
},
-- {
-- "MysticalDevil/inlay-hints.nvim",
-- event = "LspAttach",
-- dependencies = { "neovim/nvim-lspconfig" },
-- config = function()
-- require("inlay-hints").setup()
-- end
-- },
--
{
'saghen/blink.cmp',
-- optional: provides snippets for the snippet source
-- dependencies = { 'L3MON4D3/LuaSnip' },
-- use a release tag to download pre-built binaries
version = '1.*',
-- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust
-- build = 'cargo build --release',
-- If you use nix, you can build from source using latest nightly rust with:
-- build = 'nix run .#build-plugin',
---@module 'blink.cmp'
---@type blink.cmp.Config
opts = {
-- 'default' (recommended) for mappings similar to built-in completions (C-y to accept)
-- 'super-tab' for mappings similar to vscode (tab to accept)
-- 'enter' for enter to accept
-- 'none' for no mappings
--
-- All presets have the following mappings:
-- C-space: Open menu or open docs if already open
-- C-n/C-p or Up/Down: Select next/previous item
-- C-e: Hide menu
-- C-k: Toggle signature help (if signature.enabled = true)
--
-- See :h blink-cmp-config-keymap for defining your own keymap
keymap = { preset = 'default' },
-- snippets = { preset = 'mini_snippets' },
appearance = {
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
-- Adjusts spacing to ensure icons are aligned
nerd_font_variant = 'mono'
},
cmdline = {
completion = { menu = { auto_show = true } },
},
-- (Default) Only show the documentation popup when manually triggered
completion = {
trigger = {
show_on_insert = true
},
documentation = { auto_show = false },
list = {
selection = {
preselect = true,
auto_insert = false,
},
},
ghost_text = {
enabled = true,
show_with_menu = true,
},
menu = {
auto_show = true,
draw = {
components = {
-- customize the drawing of kind icons
kind_icon = {
text = function(ctx)
-- default kind icon
local icon = ctx.kind_icon
-- if LSP source, check for color derived from documentation
if ctx.item.source_name == "LSP" then
local color_item = require("nvim-highlight-colors").format(ctx.item.documentation, { kind = ctx.kind })
if color_item and color_item.abbr ~= "" then
icon = color_item.abbr
end
end
return icon .. ctx.icon_gap
end,
highlight = function(ctx)
-- default highlight group
local highlight = "BlinkCmpKind" .. ctx.kind
-- if LSP source, check for color derived from documentation
if ctx.item.source_name == "LSP" then
local color_item = require("nvim-highlight-colors").format(ctx.item.documentation, { kind = ctx.kind })
if color_item and color_item.abbr_hl_group then
highlight = color_item.abbr_hl_group
end
end
return highlight
end,
},
},
},
},
},
-- Default list of enabled providers defined so that you can extend it
-- elsewhere in your config, without redefining it, due to `opts_extend`
sources = {
default = { 'lsp', 'path', 'snippets', 'buffer' },
},
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
--
-- See the fuzzy documentation for more information
fuzzy = { implementation = "prefer_rust_with_warning" }
},
opts_extend = { "sources.default" }
}
}

View File

@@ -0,0 +1,73 @@
return {
{
'nvim-treesitter/nvim-treesitter',
-- branch = 'main',
version = false,
lazy = false,
build = ':TSUpdate',
config = function()
require'nvim-treesitter.configs'.setup {
textobjects = {
select = {
enable = true,
lookahead = true,
keymaps = {
["af"] = "@function.outer",
["if"] = "@function.inner",
}
},
move = {
enable = true,
set_jumps = false,
goto_next_start = {
[']a'] = '@parameter.inner',
},
goto_previous_start = {
['[a'] = '@parameter.inner',
}
},
},
auto_install = true,
highlight = {
enable = true,
},
}
end
},
{
'nvim-treesitter/nvim-treesitter-textobjects',
},
-- {
-- 'folke/twilight.nvim',
-- dependencies = {
-- 'nvim-treesitter/nvim-treesitter',
-- },
-- cmd = {
-- 'Twilight',
-- 'TwilightEnable',
-- 'TwilightDisable',
-- },
-- },
-- {
-- 'RRethy/vim-illuminate',
-- event = 'VeryLazy',
-- lazy = false,
-- },
{
'0oAstro/dim.lua',
dependencies = {
'nvim-treesitter/nvim-treesitter',
'neovim/nvim-lspconfig'
},
event = 'LspAttach',
},
{
'windwp/nvim-ts-autotag',
event = 'VeryLazy',
},
}

View File

@@ -0,0 +1,76 @@
return {
{
'winston0410/range-highlight.nvim',
event = 'VeryLazy',
},
-- {
-- 'lukas-reineke/indent-blankline.nvim',
-- event = 'VeryLazy',
-- config = function()
-- require'ibl'.setup{ scope = { enabled = false } }
-- end
-- },
{
'nvim-tree/nvim-web-devicons',
-- event = 'VeryLazy',
lazy = true,
},
-- {
-- 'goolord/alpha-nvim',
-- dependencies = {
-- 'nvim-tree/nvim-web-devicons',
-- },
-- config = function()
-- require('alpha').setup(require'alpha.themes.startify'.config)
-- end
-- },
{
'lewis6991/gitsigns.nvim',
event = 'VeryLazy',
opts = {
current_line_blame = true,
}
},
{
'Bekaboo/dropbar.nvim',
},
{
'nvim-lualine/lualine.nvim',
dependencies = {
'nvim-tree/nvim-web-devicons',
},
config = function()
local function lspactive()
local names = {}
for i, server in pairs(vim.lsp.get_clients({ bufnr = 0 })) do
table.insert(names, server.name)
end
return " [" .. table.concat(names, " ") .. "]"
-- return "[" .. table.concat(names, " ") .. "]"
end
require('lualine').setup {
options = {
globalstatus = true,
icons_enabled = true,
section_separators = { left = '', right = '' },
component_separators = { left = '', right = '' }
},
sections = {
lualine_a = { { 'mode', separator = { left = '', right = '' } }, },
lualine_b = {},
lualine_c = {'filename'},
lualine_x = {lspactive, { 'diagnostics', icons_enabled = true }, 'branch', 'diff'},
lualine_y = {'encoding', 'fileformat', 'filetype'},
lualine_z = {'location', { 'progress', separator = { left = '', right = '' } }, },
},
}
end
},
}

View File

@@ -0,0 +1,348 @@
return {
{
'nvim-lua/plenary.nvim',
-- event = 'VeryLazy',
lazy = true,
},
{
'RaafatTurki/hex.nvim',
config = true,
cmd = {
'HexDump',
'HexAssemble',
'HexToggle',
},
},
{
"sindrets/diffview.nvim",
event = 'VeryLazy',
},
{
'windwp/nvim-autopairs',
event = "InsertEnter",
config = true
-- use opts = {} for passing setup options
-- this is equivalent to setup({}) function
},
{
"NeogitOrg/neogit",
lazy = true,
dependencies = {
"nvim-lua/plenary.nvim", -- required
"sindrets/diffview.nvim", -- optional - Diff integration
-- Only one of these is needed.
-- "nvim-telescope/telescope.nvim", -- optional
-- "ibhagwan/fzf-lua", -- optional
-- "echasnovski/mini.pick", -- optional
"folke/snacks.nvim", -- optional
},
},
{
'brenoprata10/nvim-highlight-colors',
event = 'VeryLazy',
opts = {
render = 'virtual',
},
},
{
'ggandor/leap.nvim',
dependencies = {
'tpope/vim-repeat',
},
},
{
'LukasPietzschmann/telescope-tabs',
-- event = 'VeryLazy',
lazy = true,
branch = 'vim_ui_select',
config = function()
require('telescope-tabs').setup()
end
},
{
"folke/snacks.nvim",
priority = 1000,
lazy = false,
---@type snacks.Config
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
bigfile = { enabled = true },
-- dashboard = { enabled = true },
dim = { enabled = true },
-- explorer = { enabled = true },
-- git = { enabled = false },
image = {
enabled = true
},
indent = { enabled = true },
input = { enabled = true },
lazygit = { enabled = false },
picker = {
enabled = true,
layout = {
preset = 'ivy_split',
layout = {
height = 0.3,
},
},
},
notifier = { enabled = true },
-- quickfile = { enabled = true },
-- scope = { enabled = true },
-- scroll = { enabled = true },
terminal = { enabled = false },
-- statuscolumn = { enabled = true },
-- words = { enabled = true },
},
},
{
'echasnovski/mini.nvim',
config = function()
require('mini.starter').setup()
-- require('mini.cursorword').setup()
local miniclue = require'mini.clue'
miniclue.setup{
window = {
delay = 0,
config = {
width = 'auto',
},
},
triggers = {
-- Leader triggers
{ mode = 'n', keys = '<Leader>' },
{ mode = 'x', keys = '<Leader>' },
-- Built-in completion
{ mode = 'i', keys = '<C-x>' },
-- `g` key
{ mode = 'n', keys = 'g' },
{ mode = 'x', keys = 'g' },
-- Next
{ mode = 'n', keys = '['},
{ mode = 'n', keys = ']'},
{ mode = 'x', keys = '['},
{ mode = 'x', keys = ']'},
-- Marks
{ mode = 'n', keys = "'" },
{ mode = 'n', keys = '`' },
{ mode = 'x', keys = "'" },
{ mode = 'x', keys = '`' },
-- Registers
{ mode = 'n', keys = '"' },
{ mode = 'x', keys = '"' },
{ mode = 'i', keys = '<C-r>' },
{ mode = 'c', keys = '<C-r>' },
-- Window commands
{ mode = 'n', keys = '<C-w>' },
-- `z` key
{ mode = 'n', keys = 'z' },
{ mode = 'x', keys = 'z' },
-- Localleader
{ mode = 'n', keys = '<Localleader>'},
{ mode = 'x', keys = '<Localleader>'},
},
clues = {
-- Enhance this by adding descriptions for <Leader> mapping groups
miniclue.gen_clues.builtin_completion(),
miniclue.gen_clues.g(),
miniclue.gen_clues.marks(),
miniclue.gen_clues.registers(),
miniclue.gen_clues.windows(),
miniclue.gen_clues.z(),
{ mode = 'n', keys = '<leader>f', desc = '+Find' },
{ mode = 'x', keys = '<leader>f', desc = '+Find' },
{ mode = 'n', keys = '<leader>o', desc = '+Open' },
{ mode = 'x', keys = '<leader>o', desc = '+Open' },
{ mode = 'n', keys = '<leader>g', desc = '+Git' },
{ mode = 'x', keys = '<leader>g', desc = '+Git' },
},
}
end
},
{
'stevearc/oil.nvim',
---@module 'oil'
---@type oil.SetupOpts
opts = {
triggers = {
{ 'g', mode = { 'n', 'x' } },
},
skip_confirm_for_simple_edits = true,
prompt_save_on_select_new_entry = false,
},
-- Optional dependencies
dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons
-- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations.
lazy = false,
},
{
'eandrju/cellular-automaton.nvim',
-- event = 'VeryLazy',
cmd = 'CellularAutomaton',
},
{
"kylechui/nvim-surround",
version = "^3.0.0", -- Use for stability; omit to use `main` branch for the latest features
event = "VeryLazy",
config = function()
require("nvim-surround").setup({
-- Configuration here, or leave empty to use defaults
})
end
},
{
'jbyuki/nabla.nvim',
lazy = true,
},
{
'krady21/compiler-explorer.nvim',
-- event = 'VeryLazy',
cmd = {
'CECompile',
'CECompileLive',
'CEFormat',
'CEAddLibrary',
'CELoadExample',
'CEOpenWebsite',
'CEDeleteCache',
'CEShowTooltip',
'CEGotoLabel',
},
opts = {
autocmd = {
enable = true,
hl = 'Cursorline',
},
}
},
{
'samjwill/nvim-unception',
event = 'VeryLazy',
},
{
"jake-stewart/multicursor.nvim",
branch = "1.0",
config = function()
local mc = require("multicursor-nvim")
mc.setup()
local set = vim.keymap.set
-- Add or skip cursor above/below the main cursor.
set({"n", "x"}, "<localleader>k", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
set({"n", "x"}, "<localleader>j", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
set({"n", "x"}, "<up>", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
set({"n", "x"}, "<down>", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
set({"n", "x"}, "<localleader>K", function() mc.lineSkipCursor(-1) end, { desc = "Skip previous line to add cursor" })
set({"n", "x"}, "<localleader>J", function() mc.lineSkipCursor(1) end, { desc = "Skip next line to add cursor" })
-- Add or skip adding a new cursor by matching word/selection
set({"n", "x"}, "<localleader>n", function() mc.matchAddCursor(1) end, { desc = "Add cursor to next currently selected word" })
set({"n", "x"}, "<localleader>s", function() mc.matchSkipCursor(1) end, { desc = "Skip next instance of current word to add cursor" })
set({"n", "x"}, "<localleader>N", function() mc.matchAddCursor(-1) end, { desc = "Add cursor to previous currently selected word" })
set({"n", "x"}, "<localleader>S", function() mc.matchSkipCursor(-1) end, { desc = "Skip previous instance of current word to add cursor" })
set({"n", "x"}, "<localleader>m", mc.operator, { desc = "Add cursors to text object" })
set("n", "<localleader>s", function()
vim.ui.input({prompt = "Match: "}, function(input) mc.operator({pattern = input}) end)
end, { desc = "Add cursors to regex match inside text object " })
set("n", "<localleader>*", function()
mc.operator({pattern = vim.fn.expand("<cword>")})
end, { desc = "Add cursors to current word inside text object" })
set("x", "<localleader>s", mc.matchCursors, { desc = "Add cursors to regex match inside visual selection" })
-- Add cursor at next argument treesitter
set({'n', 'x'}, ']A', function()
if vim.v.count < 1 then
mc.addCursor(']a')
else
for _=1, vim.v.count - 1 do
mc.addCursor(']a')
end
end
end, { desc = 'Create multicursor on next argument'})
set({'n', 'x'}, '[A', function()
if vim.v.count < 1 then
mc.addCursor('[a')
else
for _=1, vim.v.count - 1 do
mc.addCursor('[a')
end
end
end, { desc = 'Create multicursor on previous argument'})
-- Add and remove cursors with control + left click.
set("n", "<c-leftmouse>", mc.handleMouse)
set("n", "<c-leftdrag>", mc.handleMouseDrag)
set("n", "<c-leftrelease>", mc.handleMouseRelease)
-- Disable and enable cursors.
set({"n", "x"}, "<c-q>", mc.toggleCursor, { desc = "Toggle multiple cursors" })
-- Mappings defined in a keymap layer only apply when there are
-- multiple cursors. This lets you have overlapping mappings.
mc.addKeymapLayer(function(layerSet)
-- Select a different cursor as the main one.
layerSet({"n", "x"}, "<localleader>h", mc.prevCursor, { desc = "Make previous cursor primary" })
layerSet({"n", "x"}, "<localleader>l", mc.nextCursor, { desc = "Make next cursor primary" })
layerSet({"n", "x"}, "<left>", mc.prevCursor, { desc = "Make previous cursor primary" })
layerSet({"n", "x"}, "<right>", mc.nextCursor, { desc = "Make next cursor primary" })
-- Delete the main cursor.
layerSet({"n", "x"}, "<localleader>x", mc.deleteCursor)
-- Enable and clear cursors using escape.
layerSet("n", "<esc>", function()
if not mc.cursorsEnabled() then
mc.enableCursors()
else
mc.clearCursors()
end
end)
end)
-- Customize how cursors look.
local hl = vim.api.nvim_set_hl
hl(0, "MultiCursorCursor", { reverse = true })
hl(0, "MultiCursorVisual", { link = "Visual" })
hl(0, "MultiCursorSign", { link = "SignColumn"})
hl(0, "MultiCursorMatchPreview", { link = "Search" })
hl(0, "MultiCursorDisabledCursor", { reverse = true })
hl(0, "MultiCursorDisabledVisual", { link = "Visual" })
hl(0, "MultiCursorDisabledSign", { link = "SignColumn"})
end
},
}

View File

@@ -101,7 +101,7 @@ fade-in-step = 0.03;
fade-out-step = 0.03;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
fade-delta = 4.0;
fade-delta = 5.0;
# Specify a list of conditions of windows that should not be faded.
# fade-exclude = []
@@ -173,7 +173,7 @@ blur-deviation = false
# Bad in performance, with driver-dependent behavior.
# The name of the switch may change without prior notifications.
#
blur-background = true
blur-background = false
# Blur background of windows when the window frame is not opaque.
# Implies:

View File

@@ -39,12 +39,12 @@ background = ${xrdb:background}
foreground = ${xrdb:foreground}
override-redirect = true
wm-restack = bspwm
font-0 = Olympe Mono Hacked:style=Regular:pixelsize=20;2
font-1 = CaskaydiaCove Nerd Font:style=Regular:pixelsize=20:2
font-2 = NotoColorEmoji:pixelsize=20
font-3 = Font Awesome 6 Brands:style=Regular:size=20;2
font-4 = Font Awesome 6 Free Solid:style=Regular:size=20;2
height = 36
font-0 = Olympe Mono Hacked:style=Regular:pixelsize=11;2
font-1 = CaskaydiaCove Nerd Font:style=Regular:pixelsize=11:2
font-2 = NotoColorEmoji:pixelsize=16
font-3 = Font Awesome 6 Brands:style=Regular:size=13;2
font-4 = Font Awesome 6 Free Solid:style=Regular:size=9;2
height = 20
line-size = 2
modules-left = bspwm
modules-right = music memory filesystem xkeyboard network redshift pulseaudio backlight tray battery datetime

View File

@@ -0,0 +1,32 @@
[Appearance]
color_scheme_path=/home/mikec/.config/qt5ct/style-colors.conf
custom_palette=false
icon_theme=breeze-dark
standard_dialogs=xdgdesktopportal
style=kvantum
[Fonts]
fixed="BigBlueTerm437 Nerd Font,10,-1,5,50,0,0,0,0,0,Regular"
general="Ubuntu,10,-1,5,50,0,0,0,0,0,Regular"
[Interface]
activate_item_on_single_click=1
buttonbox_layout=0
cursor_flash_time=1000
dialog_buttons_have_icons=1
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=@Invalid()
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\xbb\0\0\t\xe3\0\0\x6 \0\0\0\0\0\0\0\xbb\0\0\t\xe3\0\0\x6 \0\0\0\0\0\0\0\0\v\xaf\0\0\0\0\0\0\0\xbb\0\0\t\xe3\0\0\x6 )
[Troubleshooting]
force_raster_widgets=1
ignored_applications=@Invalid()

View File

@@ -0,0 +1,4 @@
[ColorScheme]
active_colors=#ffe0def4, #ff26233a, #ff6e6a86, #ff6e6a86, #ff191724, #ff191724, #ffe0def4, #ffffffff, #ffe0def4, #ff191724, #ff1f1d2e, #ff000000, #fff07746, #ff191724, #ff9ccfd8, #ffc4a7e7, #ff191724, #ff000000, #ff000000, #ffe0def4, #80e0def4
disabled_colors=#ff787878, #ffe9e9e9, #ffffffff, #ffececec, #ffbebebe, #ffd9d9d9, #ff787878, #ffffffff, #ff787878, #ffffffff, #fff2f1f0, #ff000000, #fff07746, #66fcfcfc, #ff0057ae, #ff452886, #fff4f4f4, #ff000000, #ff000000, #ffffffff, #804c4c4c
inactive_colors=#ffe0def4, #ff26233a, #ff6e6a86, #ff6e6a86, #ff191724, #ff191724, #ffe0def4, #ffffffff, #ffe0def4, #ff191724, #ff1f1d2e, #ff000000, #fff07746, #ff191724, #ff9ccfd8, #ffc4a7e7, #ff191724, #ff000000, #ff000000, #ffe0def4, #80e0def4

View File

@@ -0,0 +1,4 @@
[ColorScheme]
active_colors=#ff000000, #ffc0c0c0, #ffffffff, #ffc0c0c0, #ff808080, #ff808080, #ff000000, #ffffffff, #ff000000, #ffffffff, #ffc0c0c0, #ff000000, #ff000080, #ffffffff, #ff000080, #ff55007f, #ffc0c0c0, #ff000000, #ffffffdc, #ff000000, #80000000, #ff308cc6
disabled_colors=#ff000000, #ffc0c0c0, #ffffffff, #ffc0c0c0, #ff808080, #ff808080, #ff808080, #ffffffff, #ff808080, #ffffffff, #ffc0c0c0, #ff000000, #ff000080, #ffffffff, #ff000080, #ff55007f, #ffc0c0c0, #ff000000, #ffffffdc, #ff000000, #80000000, #ff919191
inactive_colors=#ff000000, #ffc0c0c0, #ffffffff, #ffc0c0c0, #ff808080, #ff808080, #ff000000, #ffffffff, #ff000000, #ffffffff, #ffc0c0c0, #ff000000, #ff000080, #ffffffff, #ff000080, #ff55007f, #ffc0c0c0, #ff000000, #ffffffdc, #ff000000, #80000000, #ff308cc6

View File

@@ -0,0 +1,35 @@
[Appearance]
color_scheme_path=/home/mikec/.config/qt6ct/colors/Chicago95.conf
custom_palette=false
icon_theme=rose-pine-icons
standard_dialogs=xdgdesktopportal
style=Breeze
[Fonts]
fixed="BigBlueTermPlus Nerd Font Mono,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"
general="Ubuntu,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"
[Interface]
activate_item_on_single_click=1
buttonbox_layout=0
cursor_flash_time=1000
dialog_buttons_have_icons=1
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=@Invalid()
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
[PaletteEditor]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x3\xad\0\0\x1\x86\0\0\x6#\0\0\x3\x96\0\0\x3\xad\0\0\x1\x86\0\0\x6#\0\0\x3\x96\0\0\0\0\0\0\0\0\n\0\0\0\x3\xad\0\0\x1\x86\0\0\x6#\0\0\x3\x96)
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\v\xb0\0\0\0\0\0\0\x15\x93\0\0\x4\xc9\0\0\v\xb0\0\0\0\0\0\0\x15\x93\0\0\x4\xc9\0\0\0\x1\0\0\0\0\n\0\0\0\v\xb0\0\0\0\0\0\0\x15\x93\0\0\x4\xc9)
[Troubleshooting]
force_raster_widgets=1
ignored_applications=@Invalid()

View File

@@ -1,32 +0,0 @@
# If a config.py file exists, this file is ignored unless it's explicitly loaded
# via config.load_autoconfig(). For more information, see:
# https://github.com/qutebrowser/qutebrowser/blob/main/doc/help/configuring.asciidoc#loading-autoconfigyml
# DO NOT edit this file by hand, qutebrowser will overwrite it.
# Instead, create a config.py - see :help for details.
config_version: 2
settings:
auto_save.session:
global: false
colors.webpage.preferred_color_scheme:
global: dark
content.autoplay:
global: false
content.blocking.enabled:
global: true
content.blocking.method:
global: both
content.register_protocol_handler:
https://outlook.live.com?mailtouri=%25s: true
https://outlook.office.com?mailtouri=%25s: true
fonts.default_family:
global: Olympe Mono Hacked
fonts.default_size:
global: 12pt
url.default_page:
global: searx.mchalupiak.com
url.searchengines:
global:
DEFAULT: searx.mchalupiak.com/search?q={}
url.start_pages:
global: searx.mchalupiak.com

View File

@@ -8,8 +8,10 @@
##
## Documentation:
## qute://help/configuring.html
## qute://help/settings.html
config.source('theme.py')
## qute://help/settings.htm
##
# import rosepine
# rosepine.setup(c, 'rose-pine-moon', True)
## This is here so configs done via the GUI are still loaded.
## Remove it to not load settings done via the GUI.
@@ -721,7 +723,7 @@ c.url.searchengines = { "DEFAULT" : "searx.mchalupiak.com/search?q={}" }
## given page, use the `content.blocking.enabled` setting with a URL
## pattern instead.
## Type: List of UrlPattern
# c.content.blocking.whitelist = []
c.content.blocking.whitelist = []
## Enable support for the HTML 5 web application cache feature. An
## application cache acts like an HTTP cache in some sense. For documents

View File

@@ -1,7 +1,7 @@
[FileDialog]
history=file:///home/mikec/Downloads, file:///usr/share/fonts/TTF, file:///home/mikec, file:///home/mikec/Documents/College/Resume
lastVisited=file:///home/mikec/Documents/College/Resume
qtVersion=6.7.2
history=@Invalid()
lastVisited=file:///home/mikec
qtVersion=6.8.2
shortcuts=file:, file:///home/mikec
sidebarWidth=87
treeViewHeader="@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1\xd1\0\0\0\x4\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x4\0\0\0\xf5\0\0\0\x1\0\0\0\0\0\0\0\x39\0\0\0\x1\0\0\0\0\0\0\0=\0\0\0\x1\0\0\0\0\0\0\0\x66\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\xff\xff\xff\xff\0\0\0\0)"

View File

@@ -1,25 +1,25 @@
# base16-qutebrowser (https://github.com/theova/base16-qutebrowser)
# Scheme name: Rosé Pine
# Scheme author: Emilia Dunfelt &lt;edun@dunfelt.se&gt;
# Scheme name: Nord
# Scheme author: arcticicestudio
# Template author: theova
# Commentary: Tinted Theming: (https://github.com/tinted-theming)
base00 = "#191724"
base01 = "#1f1d2e"
base02 = "#26233a"
base03 = "#6e6a86"
base04 = "#908caa"
base05 = "#e0def4"
base06 = "#e0def4"
base07 = "#524f67"
base08 = "#eb6f92"
base09 = "#f6c177"
base0A = "#ebbcba"
base0B = "#31748f"
base0C = "#9ccfd8"
base0D = "#c4a7e7"
base0E = "#f6c177"
base0F = "#524f67"
base00 = "#2e3440"
base01 = "#3b4252"
base02 = "#434c5e"
base03 = "#4c566a"
base04 = "#d8dee9"
base05 = "#e5e9f0"
base06 = "#eceff4"
base07 = "#8fbcbb"
base08 = "#bf616a"
base09 = "#d08770"
base0A = "#ebcb8b"
base0B = "#a3be8c"
base0C = "#88c0d0"
base0D = "#81a1c1"
base0E = "#b48ead"
base0F = "#5e81ac"
# set qutebrowser colors

22
config/.config/river/bar.sh Executable file
View File

@@ -0,0 +1,22 @@
#!/usr/bin/env bash
DATE=$(date +'%Y-%m-%d %I:%M:%S %p')
# BAT=$(cat /sys/class/power_supply/BAT1/capacity)
VOL=$(pactl get-sink-volume @DEFAULT_SINK@ | tr "," "\n" | grep \% | sed s/Volume\:// | sed 's/\%.*$//' | sed 's/^.*\///' | head -n1 | sed s/\ *//)
VOL="${VOL}%"
MUTED=$(pactl get-sink-mute @DEFAULT_SINK@ | cut -d\ -f2)
# BRIGHT=$(brightnessctl | tr "\n" " " | cut -d\ -f9 | tr -d "()%")
MEM=$(free -h | sed 's/[ ]\+/:/g' | cut -d\: -f4 | tr "\n" ":" | cut -d\: -f2)
USER=$(id -u -n)
HOST=$(cat /proc/sys/kernel/hostname)
# LAYOUT=$(swaymsg -t get_inputs | jq -r '.[] | select( .type == "keyboard") .xkb_active_layout_name' | tr "\n" ":" | cut -d\: -f1 | cut -d\ -f2| tr -d "()")
NETWORK_NAME=$(iwctl station wlan0 show | grep network | sed s/"Connected network"// | tr -d " ")
IP=$(iwctl station wlan0 show | grep IPv4 | sed s/"IPv4 address"// | tr -d " ")
if [ $MUTED == 'yes' ]
then
VOL='muted'
fi
# echo ${MEM} \| ${USER}\@${HOST} \| KB\: ${LAYOUT} \| ${NETWORK_NAME}\@${IP} \| Vol: ${VOL} \| ${BRIGHT}% Backlight \| ${BAT}\% Bat \| ${DATE}
# echo ${MEM} \| ${USER}\@${HOST} \| KB\: ${LAYOUT} \| ${NETWORK_NAME}\@${IP} \| Vol: ${VOL} \| ${DATE}
echo ${MEM} \| ${USER}\@${HOST} \| ${NETWORK_NAME}\@${IP} \| Vol: ${VOL} \| ${DATE}

178
config/.config/river/init Executable file
View File

@@ -0,0 +1,178 @@
#!/bin/sh
# This is the example configuration file for river.
#
# If you wish to edit this, you will probably want to copy it to
# $XDG_CONFIG_HOME/river/init or $HOME/.config/river/init first.
#
# See the river(1), riverctl(1), and rivertile(1) man pages for complete
# documentation.
# Note: the "Super" modifier is also known as Logo, GUI, Windows, Mod4, etc.
# Super+Shift+Return to start an instance of foot (https://codeberg.org/dnkl/foot)
riverctl map normal Super Return spawn alacritty
riverctl map normal Super D spawn 'bemenu-run --fn "Iosevka Term SS12 14"'
# Super+Q to close the focused view
riverctl map normal Super X close
# Super+Shift+E to exit river
riverctl map normal Super+Shift Q exit
# Super+J and Super+K to focus the next/previous view in the layout stack
riverctl map normal Super J focus-view next
riverctl map normal Super K focus-view previous
# Super+Shift+J and Super+Shift+K to swap the focused view with the next/previous
# view in the layout stack
riverctl map normal Super+Shift J swap next
riverctl map normal Super+Shift K swap previous
# Super+Period and Super+Comma to focus the next/previous output
riverctl map normal Super Period focus-output next
riverctl map normal Super Comma focus-output previous
# Super+Shift+{Period,Comma} to send the focused view to the next/previous output
riverctl map normal Super+Shift Period send-to-output next
riverctl map normal Super+Shift Comma send-to-output previous
# Super+Return to bump the focused view to the top of the layout stack
riverctl map normal Super+Shift Return zoom
# Super+H and Super+L to decrease/increase the main ratio of rivertile(1)
riverctl map normal Super H send-layout-cmd rivertile "main-ratio -0.05"
riverctl map normal Super L send-layout-cmd rivertile "main-ratio +0.05"
# Super+Shift+H and Super+Shift+L to increment/decrement the main count of rivertile(1)
riverctl map normal Super+Shift H send-layout-cmd rivertile "main-count +1"
riverctl map normal Super+Shift L send-layout-cmd rivertile "main-count -1"
# Super+Alt+{H,J,K,L} to move views
riverctl map normal Super+Alt H move left 100
riverctl map normal Super+Alt J move down 100
riverctl map normal Super+Alt K move up 100
riverctl map normal Super+Alt L move right 100
# Super+Alt+Control+{H,J,K,L} to snap views to screen edges
riverctl map normal Super+Alt+Control H snap left
riverctl map normal Super+Alt+Control J snap down
riverctl map normal Super+Alt+Control K snap up
riverctl map normal Super+Alt+Control L snap right
# Super+Alt+Shift+{H,J,K,L} to resize views
riverctl map normal Super+Alt+Shift H resize horizontal -100
riverctl map normal Super+Alt+Shift J resize vertical 100
riverctl map normal Super+Alt+Shift K resize vertical -100
riverctl map normal Super+Alt+Shift L resize horizontal 100
# Super + Left Mouse Button to move views
riverctl map-pointer normal Super BTN_LEFT move-view
# Super + Right Mouse Button to resize views
riverctl map-pointer normal Super BTN_RIGHT resize-view
# Super + Middle Mouse Button to toggle float
riverctl map-pointer normal Super BTN_MIDDLE toggle-float
for i in $(seq 1 9)
do
tags=$((1 << ($i - 1)))
# Super+[1-9] to focus tag [0-8]
riverctl map normal Super $i set-focused-tags $tags
# Super+Shift+[1-9] to tag focused view with tag [0-8]
riverctl map normal Super+Shift $i set-view-tags $tags
# Super+Control+[1-9] to toggle focus of tag [0-8]
riverctl map normal Super+Control $i toggle-focused-tags $tags
# Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view
riverctl map normal Super+Shift+Control $i toggle-view-tags $tags
done
# Super+0 to focus all tags
# Super+Shift+0 to tag focused view with all tags
all_tags=$(((1 << 32) - 1))
riverctl map normal Super 0 set-focused-tags $all_tags
riverctl map normal Super+Shift 0 set-view-tags $all_tags
# Super+Space to toggle float
riverctl map normal Super Space toggle-float
# Super+F to toggle fullscreen
riverctl map normal Super F toggle-fullscreen
# Super+{Up,Right,Down,Left} to change layout orientation
riverctl map normal Super Up send-layout-cmd rivertile "main-location top"
riverctl map normal Super Right send-layout-cmd rivertile "main-location right"
riverctl map normal Super Down send-layout-cmd rivertile "main-location bottom"
riverctl map normal Super Left send-layout-cmd rivertile "main-location left"
# Declare a passthrough mode. This mode has only a single mapping to return to
# normal mode. This makes it useful for testing a nested wayland compositor
riverctl declare-mode passthrough
# Super+F11 to enter passthrough mode
riverctl map normal Super F11 enter-mode passthrough
# Super+F11 to return to normal mode
riverctl map passthrough Super F11 enter-mode normal
# Various media key mapping examples for both normal and locked mode which do
# not have a modifier
for mode in normal locked
do
# Eject the optical drive (well if you still have one that is)
riverctl map $mode None XF86Eject spawn 'eject -T'
# Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
riverctl map $mode None XF86AudioRaiseVolume spawn 'pamixer -i 1'
riverctl map $mode None XF86AudioLowerVolume spawn 'pamixer -d 1'
riverctl map $mode None XF86AudioMute spawn 'pamixer --toggle-mute'
# Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause'
riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause'
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
riverctl map $mode None XF86AudioNext spawn 'playerctl next'
# Control screen backlight brightness with brightnessctl (https://github.com/Hummer12007/brightnessctl)
riverctl map $mode None XF86MonBrightnessUp spawn 'brightnessctl set +5%'
riverctl map $mode None XF86MonBrightnessDown spawn 'brightnessctl set 5%-'
done
# Set background and border color
riverctl background-color 0x002b36
riverctl border-color-unfocused 0x3c3b37
riverctl border-color-focused 0xf07746
riverctl border-width 2
# Set keyboard repeat rate
riverctl set-repeat 50 300
riverctl rule-add ssd
# Make all views with an app-id that starts with "float" and title "foo" start floating.
riverctl rule-add -app-id 'float*' -title 'foo' float
# Make all views with app-id "bar" and any title use client-side decorations
riverctl rule-add -app-id "bar" csd
# Set the default layout generator to be rivertile and start it.
# River will send the process group of the init executable SIGTERM on exit.
riverctl default-layout rivertile
rivertile -view-padding 6 -outer-padding 6 &
riverctl focus-follows-cursor normal
riverctl map normal Super+Control O spawn 'mumble rpc starttalking'
riverctl map normal Super O spawn 'mumble rpc stoptalking'
riverctl map normal Super Escape spawn 'swaylock -f -C ~/.config/sway/rose-pine'
swaybg -m fill -i $HOME/Pictures/wallpapers/wallpaper &
# pgrep creek || ( while $HOME/.config/river/bar.sh; do sleep 1; done ) | creek -fn 'Ubuntu:size=14' -nf 0xb8b8b8 -nb 0x282828 -ff 0x181818 -fb 0x7cafc2
pipewire-launch &
waybar &
wlr-randr --output DP-2 --adaptive-sync enabled --mode 2560x1440@165Hz
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP='river'

21
config/.config/sway/bar.sh Executable file
View File

@@ -0,0 +1,21 @@
#!/usr/bin/env bash
DATE=$(date +'%Y-%m-%d %I:%M:%S %p')
# BAT=$(cat /sys/class/power_supply/BAT1/capacity)
VOL=$(pactl get-sink-volume @DEFAULT_SINK@ | tr "," "\n" | grep \% | sed s/Volume\:// | sed 's/\%.*$//' | sed 's/^.*\///' | head -n1 | sed s/\ *//)
VOL="${VOL}%"
MUTED=$(pactl get-sink-mute @DEFAULT_SINK@ | cut -d\ -f2)
# BRIGHT=$(brightnessctl | tr "\n" " " | cut -d\ -f9 | tr -d "()%")
MEM=$(free -h | sed 's/[ ]\+/:/g' | cut -d\: -f4 | tr "\n" ":" | cut -d\: -f2)
USER=$(id -u -n)
HOST=$(cat /proc/sys/kernel/hostname)
LAYOUT=$(swaymsg -t get_inputs | jq -r '.[] | select( .type == "keyboard") .xkb_active_layout_name' | tr "\n" ":" | cut -d\: -f1 | cut -d\ -f2| tr -d "()")
NETWORK_NAME=$(iwctl station wlan0 show | grep network | sed s/"Connected network"// | tr -d " ")
IP=$(iwctl station wlan0 show | grep IPv4 | sed s/"IPv4 address"// | tr -d " ")
if [ $MUTED == 'yes' ]
then
VOL='muted'
fi
# echo ${MEM} \| ${USER}\@${HOST} \| KB\: ${LAYOUT} \| ${NETWORK_NAME}\@${IP} \| Vol: ${VOL} \| ${BRIGHT}% Backlight \| ${BAT}\% Bat \| ${DATE}
echo ${MEM} \| ${USER}\@${HOST} \| KB\: ${LAYOUT} \| ${NETWORK_NAME}\@${IP} \| Vol: ${VOL} \| ${DATE}

285
config/.config/sway/config Normal file
View File

@@ -0,0 +1,285 @@
# Default config for sway
#
# Copy this to ~/.config/sway/config and edit it to your liking.
#
# Read `man 5 sway` for a complete reference.
### Variables
#
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l
# Your preferred terminal emulator
#set $term foot -f Fairfax\ Hax\ HD:size=14
set $term alacritty
# Your preferred application launcher
# Note: pass the final command to swaymsg so that the resulting window can be opened
# on the original workspace that the command was run on.
# set $menu bemenu-run --fn "BigBlueTermPlus Nerd Font 12" | xargs swaymsg exec --
# set $menu bemenu-run --fn "Terminess Nerd Font 12" | xargs swaymsg exec --
set $menu bemenu-run --fn "Ubuntu Mono 14" | xargs swaymsg exec --
# set $menu bemenu-run --fn "Cascadia Code 12" | xargs swaymsg exec --
# WOB
set $WOBSOCK $XDG_RUNTIME_DIR/wob.sock
exec rm -f $WOBSOCK && mkfifo $WOBSOCK && tail -f $WOBSOCK | wob
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec export XDG_SESSION_TYPE=wayland
exec export XDG_CURRENT_DESKTOP=sway
###
### Output configuration
#
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
output * bg $HOME/Pictures/wallpapers/wallpaper fill
#
# Example configuration:
#
# output eDP-1 scale 1.5
#
# You can get the names of your outputs by running: swaymsg -t get_outputs
output DP-2 mode 2560x1440@165.000Hz
output DP-2 adaptive_sync on
font "Ubuntu 10"
### Idle configuration
#
# Example configuration:
#
# exec swayidle -w \
# # timeout 15 'swaylock -f -c 000000' \
# timeout 360 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
# timeout 600 'systemctl suspend-then-hibernate' \
# before-sleep 'swaylock -f -c 000000'
# set $lock 'swaylock -f'
#
# bindswitch --reload --locked lid:on exec $lock
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
#
# Example configuration:
#
# input "type:touchpad" {
# dwt enabled
# tap enabled
# natural_scroll enabled
# #middle_emulation enabled
# }
#
# You can get the names of your inputs by running: swaymsg -t get_inputs
# Read `man 5 sway-input` for more information about this section.
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+Shift+q kill
bindsym $mod+Escape exec swaylock -f -c 000000
# Start your launcher
bindsym $mod+d exec $menu
bindsym $mod+n exec ghostty -e nvim
# bindsym $mod+n exec emacsclient -c
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
# bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
bindsym $mod+Shift+e exec swaymsg exit
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
bindsym --whole-window --no-repeat BTN_FORWARD exec mumble rpc starttalking
bindsym --whole-window --release --no-warn BTN_FORWARD exec mumble rpc stoptalking
bindsym --whole-window Control+BTN_FORWARD exec mumble rpc stoptalking
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar {
position top
font "Ubuntu 11"
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
status_command while ~/.config/sway/bar.sh; do sleep 1; done
colors {
statusline #dfdbd2
# statusline #C0C0C0
background #3c3b37
# background #C0C0C0
inactive_workspace #3c3b37 #3c3b37 #dfdbd2
# inactive_workspace #292A30 #292A30 #2F3037
# inactive_workspace #c0c0c0 #c0c0c0 #ffffff
focused_workspace #f07746 #f07746 #ffffff
}
}
## Custom Config
default_border pixel 2
gaps outer 4
gaps inner 8
client.focused #f07746 #3c3b37 #dfdbd2 #f07746 #f07746
client.unfocused #f07746 #3c3b37 #dfdbd2 #f07746 #3c3b37
input "type:keyboard" {
xkb_layout us,il
}
bindsym Mod1+Shift+space input "type:keyboard" xkb_switch_layout 0
bindsym Mod1+space input "type:keyboard" xkb_switch_layout 1
# bindsym $mod+u output eDP-1 scale 1
# bindsym $mod+i output eDP-1 scale 1.5
# bindsym $mod+o output eDP-1 scale 2
# Multimedia
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1| awk '{print substr($5, 1, length($5)-1)}' > $WOBSOCK
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > $WOBSOCK
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym XF86MonBrightnessDown exec brightnessctl set 1%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK
bindsym XF86MonBrightnessUp exec brightnessctl set +1% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
bindsym XF86Search exec bemenu-run
# Screenshot
bindsym $mod+p exec grim -g "$(slurp)"
exec "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
smart_borders on
include /etc/sway/config.d/*

View File

@@ -0,0 +1,259 @@
# Default config for sway
#
# Copy this to ~/.config/sway/config and edit it to your liking.
#
# Read `man 5 sway` for a complete reference.
### Variables
#
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l
# Your preferred terminal emulator
set $term ghostty
# Your preferred application launcher
# Note: pass the final command to swaymsg so that the resulting window can be opened
# on the original workspace that the command was run on.
set $menu bemenu-run | xargs swaymsg exec --
### Output configuration
#
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
# output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
output "*" bg $HOME/Pictures/wallpapers/wallpaper fill
# Example configuration:
#
#output DP-1 resolution 2560x1440@165Hz position 1680,0 adaptive_sync on
output DP-2 resolution 2560x1440@165Hz position 0,0 adaptive_sync on
# output DP-2 resolution 1680x1050 position 0,390
# output HDMI-A-1 resolution 1920x1080 position 1920,0
#
# You can get the names of your outputs by running: swaymsg -t get_outputs
### Idle configuration
#
# Example configuration:
#
# exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
# before-sleep 'swaylock -f -c 000000'
#
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
#
# Example configuration:
#
# input "2:14:SynPS/2_Synaptics_TouchPad" {
# dwt enabled
# tap enabled
# natural_scroll enabled
# middle_emulation enabled
# }
#
# You can get the names of your inputs by running: swaymsg -t get_inputs
# Read `man 5 sway-input` for more information about this section.
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
bindsym $mod+Escape exec swaylock -f -c 000000
# Kill focused window
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $mod+d exec $menu
# bindsym $mod+n exec emacsclient -c
bindsym $mod+n exec kitty -e nvim
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar {
position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done
tray_bindsym button1 Activate
tray_bindsym button3 SecondaryActivate
tray_bindsym button2 ContextMenu
colors {
statusline #ffffff
background #323232
inactive_workspace #4e95c2 #4e95c2 #2c2c2c
}
}
## Custom Config
default_border pixel 2
gaps outer 4
gaps inner 8
input "type:keyboard" {
xkb_layout us,il
}
bindsym Mod1+space input "type:keyboard" xkb_switch_layout 1
bindsym Mod1+Shift+space input "type:keyboard" xkb_switch_layout 0
# Multimedia
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym $mod+Mod1+r exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym $mod+Mod1+f exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym $mod+Mod1+v exec pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym $mod+Mod1+t exec playerctl play-pause
bindsym $mod+Mod1+g exec playerctl next
bindsym $mod+Mod1+b exec playerctl previous
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym XF86MonBrightnessUp exec brightnessctl set 5%+
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
bindsym XF86Search exec bemenu-run
include /etc/sway/config.d/*

View File

@@ -0,0 +1,45 @@
# Background color
color=#191724
# Layout text colors
layout-bg-color=#00000000
layout-border-color=#00000000
layout-text-color=#e0def4
# Text color
text-color=#31748f
text-clear-color=#9ccfd8
text-caps-lock-color=#f6c177
text-ver-color=#c4a7e7
text-wrong-color=#eb6f92
# Highlight segments
bs-hl-color=#19172466
key-hl-color=#31748f
caps-lock-bs-hl-color=#19172466
caps-lock-key-hl-color=#f6c177
# Highlight segments separator
separator-color=#00000000
# Inside of the indicator
inside-color=#31748f55
inside-clear-color=#9ccfd855
inside-caps-lock-color=#f6c17755
inside-ver-color=#c4a7e755
inside-wrong-color=#eb6f9255
# Line between the inside and ring
line-color=#31748f11
line-clear-color=#9ccfd811
line-caps-lock-color=#f6c17711
line-ver-color=#c4a7e711
line-wrong-color=#eb6f9211
# Indicator ring
ring-color=#31748faa
ring-clear-color=#9ccfd8aa
ring-caps-lock-color=#f6c177aa
ring-ver-color=#c4a7e7aa
ring-wrong-color=#eb6f92aa

View File

@@ -31,7 +31,7 @@ super + p
dmenu_run
# Terminal
super + Return
st
ghostty
# Screenshot
super + shift + s
scrot -s -e 'xclip -selection clipboard -t image/png -i $f' ~/Pictures/screenshots/%Y-%m-%d-%T-screenshot.png
@@ -75,11 +75,11 @@ XF86AudioNext
XF86AudioPrev
playerctl previous
# Brightness Up
XF86MonBrightnessUp
XF86_MonBrightnessUp
brightnessctl set 1%+
# Brightness Down
XF86MonBrightnessDown
brightnessctl set 1%-
XF86_MonBrightnessDown
brightnessctl set 1%+
## BSPWM Controls ##
@@ -158,7 +158,7 @@ super + {o,i}
super + {comma,period}
bspc monitor --focus {prev,next}
# Send Window to other monitor
super + shift {comma,period}
super + shift + {comma,period}
bspc node -m {prev,next} --follow
# gaps

View File

@@ -0,0 +1,214 @@
// -*- mode: jsonc -*-
{
// "layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": [
"river/tags",
"river/mode",
"river/layout",
"custom/media"
],
"modules-center": [
"river/window"
],
"modules-right": [
"idle_inhibitor",
"pulseaudio",
"network",
"power-profiles-daemon",
"cpu",
"memory",
"temperature",
"backlight",
"keyboard-state",
"sway/language",
"battery",
"battery#bat2",
"clock",
"tray",
"custom/power"
],
// Modules configuration
// "sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": true,
// "warp-on-scroll": false,
// "format": "{name}: {icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "urgent": "",
// "focused": "",
// "default": ""
// }
// },
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"mpd": {
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
"format-disconnected": "Disconnected ",
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
"unknown-tag": "N/A",
"interval": 5,
"consume-icons": {
"on": " "
},
"random-icons": {
"off": "<span color=\"#f53c3c\"></span> ",
"on": " "
},
"repeat-icons": {
"on": " "
},
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
"timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{}% "
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["", "", ""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", "", "", "", "", "", "", "", ""]
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
"format-full": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "",
"balanced": "",
"power-saver": ""
}
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ipaddr}/{cidr} ",
"tooltip-format": "{ifname} via {gwaddr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
},
"custom/media": {
"format": "{icon} {}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
},
"custom/power": {
"format" : "⏻ ",
"tooltip": false,
"menu": "on-click",
"menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
"menu-actions": {
"shutdown": "shutdown",
"reboot": "reboot",
"suspend": "systemctl suspend",
"hibernate": "systemctl hibernate"
}
}
}

Some files were not shown because too many files have changed in this diff Show More