init
This commit is contained in:
Executable
+20
@@ -0,0 +1,20 @@
|
||||
Xcursor.theme: Adwaita
|
||||
Xcursor.size: 24
|
||||
|
||||
!xterm
|
||||
XTerm*termName: xterm-256color
|
||||
XTerm*loginShell: true
|
||||
XTerm*scrollBar: false
|
||||
!xtermFont
|
||||
xterm*font: *-fixed-*-*-*-18-*
|
||||
!xtermCursor
|
||||
XTerm*cursorColor: white
|
||||
XTerm*cursorBlink: false
|
||||
!xtermSCrollback
|
||||
XTerm*saveLines: 5000
|
||||
!clipboard
|
||||
XTerm*selectToClipboard: true
|
||||
XTerm*rightScrollBar: false
|
||||
|
||||
!colors for xterm
|
||||
XTerm*background: #ffffff
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
alias es=eix
|
||||
alias weather=curl\ wttr.in/masjedsoleyman
|
||||
alias c="clear"
|
||||
alias cear="clear"
|
||||
alias cd..="cd .."
|
||||
alias ..='echo "cd .."; cd ../'
|
||||
alias claer="clear"
|
||||
alias clare="clear"
|
||||
alias cleae="clear"
|
||||
alias clera="clear"
|
||||
alias ls=ls\ --color=auto
|
||||
alias nf="neofetch"
|
||||
alias als="vim ~/.bash.d/aliasrc"
|
||||
alias ac="sudo emerge -ac"
|
||||
alias suod=sudo
|
||||
alias srcbash="source ~/.bashrc"
|
||||
alias smi=nvidia-smi
|
||||
alias tl="sudo tail -f /var/log/emerge-fetch.log"
|
||||
alias music="mpv --playlist=/home/coast/Music --shuffle"
|
||||
alias cmatrix="cmatrix -C white"
|
||||
fixaud() {
|
||||
pactl set-card-profile alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic "HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker)"
|
||||
}
|
||||
|
||||
fixaud2() {
|
||||
pactl set-default-sink alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink
|
||||
}
|
||||
Executable
+1
@@ -0,0 +1 @@
|
||||
export PS1="\[\e[01;32m\]\u@\h\[\e[01;34m\] \w \$\[\e[00m\]"
|
||||
@@ -0,0 +1,21 @@
|
||||
# /etc/skel/.bashrc
|
||||
#
|
||||
# This file is sourced by all *interactive* bash shells on startup,
|
||||
# including some apparently interactive shells such as scp and rcp
|
||||
# that can't tolerate any output. So make sure this doesn't display
|
||||
# anything or bad things will happen !
|
||||
|
||||
|
||||
# Test for an interactive shell. There is no need to set anything
|
||||
# past this point for scp and rcp, and it's important to refrain from
|
||||
# outputting anything in those cases.
|
||||
if [[ $- != *i* ]] ; then
|
||||
# Shell is non-interactive. Be done now!
|
||||
return
|
||||
fi
|
||||
|
||||
source ~/.bash.d/*
|
||||
PS1='\[\e[1;37m\]\u@\h \w \$\[\e[0m\] '
|
||||
|
||||
[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \
|
||||
. /usr/share/bash-completion/bash_completion
|
||||
Executable
+248
@@ -0,0 +1,248 @@
|
||||
;;; init.el --- Coast's ~/.emacs.d/init.el
|
||||
;;
|
||||
;;; Commentary:
|
||||
;; This is my GNU/Emacs configuration --
|
||||
;; It has:
|
||||
;; - (TEMPORARY) Evil mode; as I've gotten used to Vim binds when I was away from GNU/Emacs for a bit.
|
||||
;; - Automatic syntax-highlighting.
|
||||
;; - Has a minimap.
|
||||
;; - Bad theme; it's fine on my eyes, though -- I like the 'solarized' theme >:3
|
||||
;; - It's also gay.
|
||||
;;
|
||||
;;; Code:
|
||||
;;
|
||||
(require 'package)
|
||||
(setq package-archives
|
||||
'(("gnu" . "https://elpa.gnu.org/packages/")
|
||||
("melpa" . "https://melpa.org/packages/")))
|
||||
(package-initialize)
|
||||
(unless package-archive-contents
|
||||
(package-refresh-contents))
|
||||
(require 'use-package)
|
||||
|
||||
;;; Message:
|
||||
;; "run" command (M-x / evil)
|
||||
(defun coast/run-current-file ()
|
||||
(interactive)
|
||||
(let ((file (buffer-file-name)))
|
||||
(cond
|
||||
((not file)
|
||||
(message "No file to run!"))
|
||||
((string-match "\\.py\\'" file)
|
||||
(compile (format "python3 %s" file)))
|
||||
((string-match "\\.c\\'" file)
|
||||
(let* ((out (concat (file-name-sans-extension file) ".out")))
|
||||
(compile (format "gcc %s -o %s && %s" file out out))))
|
||||
((string-match "\\.sh\\'" file)
|
||||
(compile (format "bash %s" file)))
|
||||
((string-match "\\.rs\\'" file)
|
||||
(let* ((out (file-name-sans-extension file)))
|
||||
(compile (format "rustc %s && %s" file out))))
|
||||
((string-match "\\.lua\\'" file)
|
||||
(compile (format "lua %s" file)))
|
||||
((string-match "\\.js\\'" file)
|
||||
(compile (format "node %s" file)))
|
||||
((coast/file-has-shebang-p file)
|
||||
(compile (format "%s" file)))
|
||||
(t (message "Not sure how to run this.")))))
|
||||
|
||||
(defun coast/file-has-shebang-p (file)
|
||||
(when (and file (file-readable-p file))
|
||||
(with-temp-buffer
|
||||
(insert-file-contents-literally file nil 0 128)
|
||||
(goto-char (point-min))
|
||||
(looking-at "^#!"))))
|
||||
|
||||
(defalias 'run #'coast/run-current-file)
|
||||
|
||||
(menu-bar-mode -1)
|
||||
(tool-bar-mode -1)
|
||||
(scroll-bar-mode -1)
|
||||
(global-display-line-numbers-mode 1)
|
||||
(global-hl-line-mode 1)
|
||||
(electric-pair-mode 1)
|
||||
|
||||
(setq-default electric-pair-pairs
|
||||
'((?\" . ?\")
|
||||
(?\{ . ?\})
|
||||
(?\( . ?\))
|
||||
(?\[ . ?\])
|
||||
(?\< . ?\>)))
|
||||
|
||||
(setq-default electric-pair-text-pairs electric-pair-pairs)
|
||||
|
||||
(set-frame-parameter (selected-frame) 'alpha '(95 . 95))
|
||||
(add-to-list 'default-frame-alist '(alpha . (95 . 95)))
|
||||
|
||||
(set-face-attribute 'default nil :family "Inconsolata" :height 180)
|
||||
|
||||
(setq backup-directory-alist `((".*" . "~/.local/tmp/emacsbackup/")))
|
||||
(setq make-backup-files t)
|
||||
(setq backup-by-copying t)
|
||||
|
||||
(use-package solarized-theme :ensure t)
|
||||
(load-theme 'solarized-selenized-dark t)
|
||||
|
||||
(use-package all-the-icons :ensure t :if (display-graphic-p))
|
||||
(use-package rainbow-mode :ensure t :hook (prog-mode . rainbow-mode))
|
||||
(use-package elcord :ensure t :config (elcord-mode 1))
|
||||
|
||||
(use-package neotree :ensure t :bind ("<f9>" . neotree-toggle))
|
||||
|
||||
(use-package vertico :ensure t :config (vertico-mode 1))
|
||||
(use-package marginalia :ensure t :hook (vertico-mode . marginalia-mode))
|
||||
(use-package consult
|
||||
:ensure t
|
||||
:bind (("C-x b" . consult-buffer)
|
||||
("C-s" . consult-line)))
|
||||
|
||||
(use-package which-key :ensure t :config (which-key-mode 1))
|
||||
|
||||
(use-package company :ensure t :hook (prog-mode . company-mode))
|
||||
(use-package yasnippet :ensure t :hook (prog-mode . yas-minor-mode))
|
||||
(use-package flycheck :ensure t :hook (prog-mode . flycheck-mode))
|
||||
|
||||
(global-set-key (kbd "C-c t") 'ansi-term)
|
||||
|
||||
(use-package web-mode
|
||||
:ensure t
|
||||
:mode "\\.html?\\'"
|
||||
:config
|
||||
(setq web-mode-enable-auto-pairing t
|
||||
web-mode-enable-auto-closing t
|
||||
web-mode-enable-auto-expanding t))
|
||||
|
||||
(use-package emmet-mode
|
||||
:ensure t
|
||||
:hook ((web-mode html-mode css-mode) . emmet-mode)
|
||||
:config
|
||||
(setq emmet-expand-jsx-className? t))
|
||||
|
||||
(use-package python :mode "\\.py\\'")
|
||||
(use-package sh-script :mode "\\.sh\\'")
|
||||
(use-package cc-mode)
|
||||
(use-package markdown-mode :ensure t :mode "\\.md\\'")
|
||||
(use-package yaml-mode :ensure t :mode "\\.ya?ml\\'")
|
||||
(use-package macrostep :ensure t)
|
||||
|
||||
;;; Message:
|
||||
;; Language-setup.
|
||||
(use-package python
|
||||
:mode ("\\.py\\'" . python-mode)
|
||||
:interpreter ("python" . python-mode))
|
||||
|
||||
(use-package rust-mode
|
||||
:ensure t
|
||||
:mode ("\\.rs\\'" . rust-mode))
|
||||
|
||||
(use-package sh-script
|
||||
:mode (("\\.sh\\'" . sh-mode)
|
||||
("\\.bash\\'" . sh-mode)
|
||||
("\\.zsh\\'" . sh-mode))
|
||||
:interpreter (("bash" . sh-mode)
|
||||
("sh" . sh-mode)
|
||||
("zsh" . sh-mode)))
|
||||
|
||||
(use-package lua-mode
|
||||
:ensure t
|
||||
:mode ("\\.lua\\'" . lua-mode))
|
||||
|
||||
(use-package cc-mode
|
||||
:mode (("\\.c\\'" . c-mode)
|
||||
("\\.h\\'" . c-mode)
|
||||
("\\.cpp\\'" . c++-mode)
|
||||
("\\.hpp\\'" . c++-mode))
|
||||
:interpreter (("c" . c-mode)
|
||||
("cpp" . c++-mode)))
|
||||
|
||||
(use-package markdown-mode
|
||||
:ensure t
|
||||
:mode ("\\.md\\'" . markdown-mode))
|
||||
|
||||
(use-package yaml-mode
|
||||
:ensure t
|
||||
:mode ("\\.ya?ml\\'" . yaml-mode))
|
||||
|
||||
;;; Message
|
||||
;; -- Set window title --
|
||||
(setq frame-title-format '("%b —— GNU/Emacs"))
|
||||
|
||||
;;; Message:
|
||||
;; -- The below may have been temporarily added --
|
||||
|
||||
(use-package doom-modeline
|
||||
:ensure t
|
||||
:init
|
||||
(setq doom-modeline-height 25
|
||||
doom-modeline-bar-width 3
|
||||
doom-modeline-buffer-file-name-style 'truncate-with-project
|
||||
doom-modeline-icon t
|
||||
doom-modeline-major-mode-icon t
|
||||
doom-modeline-enable-word-count t
|
||||
doom-modeline-vcs-max-length 12
|
||||
doom-modeline-minor-modes nil)
|
||||
:config
|
||||
(doom-modeline-mode 1))
|
||||
|
||||
(setq evil-want-keybinding nil)
|
||||
|
||||
(use-package evil
|
||||
:ensure t
|
||||
:init (setq evil-want-integration t
|
||||
evil-want-C-u-scroll t)
|
||||
:config (evil-mode 1))
|
||||
|
||||
(use-package evil-collection
|
||||
:after evil
|
||||
:ensure t
|
||||
:config (evil-collection-init))
|
||||
|
||||
(use-package evil-leader
|
||||
:ensure t
|
||||
:config
|
||||
(global-evil-leader-mode)
|
||||
(evil-leader/set-leader "<SPC>")
|
||||
(evil-leader/set-key
|
||||
"f" 'find-file
|
||||
"b" 'switch-to-buffer
|
||||
"k" 'kill-buffer
|
||||
"t" 'ansi-term
|
||||
"e" 'eval-buffer
|
||||
"r" 'coast/run-current-file))
|
||||
|
||||
(use-package evil-surround :ensure t :config (global-evil-surround-mode 1))
|
||||
(use-package evil-commentary :ensure t :config (evil-commentary-mode 1))
|
||||
|
||||
(use-package corfu
|
||||
:ensure t
|
||||
:custom
|
||||
(corfu-auto t)
|
||||
(corfu-cycle t)
|
||||
(corfu-quit-no-match nil)
|
||||
:init
|
||||
(global-corfu-mode))
|
||||
|
||||
(use-package cape
|
||||
:ensure t)
|
||||
|
||||
(defun my/evil-ex-corfu-setup ()
|
||||
(setq-local completion-at-point-functions
|
||||
(list (cape-super-capf #'completion-at-point))))
|
||||
|
||||
(add-hook 'evil-ex-completion-hook #'my/evil-ex-corfu-setup)
|
||||
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(warning-suppress-log-types '((use-package))))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
)
|
||||
|
||||
(provide 'init)
|
||||
;;; init.el ends here
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
config/nvim/plugged
|
||||
config/nvim/pack
|
||||
config/nvim/undodir
|
||||
config/qtile/__pycache__
|
||||
etc/nixos/hardware-configuration.nix
|
||||
nixos/hardware-configuration.nix
|
||||
config/nvim/nvim
|
||||
config/nvim/undo
|
||||
config/nushell/history.txt
|
||||
config/nvim-2/pack
|
||||
@@ -0,0 +1,16 @@
|
||||
bind_to_address "127.0.0.1"
|
||||
|
||||
music_directory "/home/coast/Music"
|
||||
playlist_directory "/home/coast/.mpd/playlists"
|
||||
|
||||
db_file "/home/coast/.mpd/database"
|
||||
log_file "/home/coast/.mpd/log"
|
||||
pid_file "/home/coast/.mpd/mpd.pid"
|
||||
|
||||
user "coast"
|
||||
|
||||
audio_output {
|
||||
type "pulse"
|
||||
name "PulseAudio Output"
|
||||
mixer_type "software"
|
||||
}
|
||||
Executable
+46
@@ -0,0 +1,46 @@
|
||||
Host srv
|
||||
HostName 5.178.107.206
|
||||
User coast
|
||||
DynamicForward 65000
|
||||
ExitOnForwardFailure yes
|
||||
ServerAliveInterval 60
|
||||
ServerAliveCountMax 3
|
||||
ControlMaster auto
|
||||
ControlPath ~/.ssh/control-%r@%h:%p-srv1
|
||||
ControlPersist 10m
|
||||
Host srv2
|
||||
HostName sx7n8.tech
|
||||
User coast
|
||||
DynamicForward 65000
|
||||
ExitOnForwardFailure yes
|
||||
ServerAliveInterval 60
|
||||
ServerAliveCountMax 3
|
||||
ControlMaster auto
|
||||
ControlPath ~/.ssh/control-%r@%h:%p-srv2
|
||||
ControlPersist 10m
|
||||
Host srv3
|
||||
HostName 75.127.15.21
|
||||
User root
|
||||
DynamicForward 65000
|
||||
ExitOnForwardFailure yes
|
||||
ServerAliveInterval 60
|
||||
ServerAliveCountMax 3
|
||||
ControlMaster auto
|
||||
ControlPath ~/.ssh/control-%r@%h:%p-srv3
|
||||
ControlPersist 10m
|
||||
Host srv4
|
||||
HostName 74.209.118.150
|
||||
User root
|
||||
Port 65001
|
||||
DynamicForward 65000
|
||||
ServerAliveInterval 60
|
||||
ServerAliveCountMax 3
|
||||
Host laptop
|
||||
HostName 192.168.1.157
|
||||
User coast
|
||||
ForwardX11Trusted yes
|
||||
ServerAliveInterval 60
|
||||
ServerAliveCountMax 3
|
||||
ControlMaster auto
|
||||
ControlPath ~/.ssh/control-%r@%h:%p-laptop
|
||||
ControlPersist 10m
|
||||
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA/uTuBIG/d0zfgGJz6boCEeyuz16/t41aWCjN+SK5BF coast@unix
|
||||
@@ -0,0 +1,67 @@
|
||||
set nocompatible
|
||||
filetype plugin indent on
|
||||
syntax enable
|
||||
set encoding=utf-8
|
||||
|
||||
set laststatus=2
|
||||
set statusline=%l
|
||||
set statusline+=<<
|
||||
set statusline+=\ %f\ %*
|
||||
set statusline+=>>
|
||||
set statusline+=\ %2*\ %F
|
||||
set statusline+=\ %m
|
||||
set statusline+=%=
|
||||
set statusline+=\ %1*\ <<
|
||||
set statusline+=\ Line:\ %l
|
||||
set statusline+=\ Col:\ %c
|
||||
set statusline+=\ :::\ %n
|
||||
set statusline+=\ >>
|
||||
|
||||
set number
|
||||
set relativenumber
|
||||
set numberwidth=4
|
||||
|
||||
highlight LineNr ctermfg=DarkGray guifg=#3a3a3a
|
||||
highlight SignColumn ctermbg=NONE guibg=NONE
|
||||
highlight LineNr cterm=italic gui=italic
|
||||
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set expandtab
|
||||
set smartindent
|
||||
set nowrap
|
||||
|
||||
set incsearch
|
||||
set hlsearch
|
||||
set ignorecase
|
||||
set smartcase
|
||||
|
||||
set mouse=a
|
||||
set scrolloff=5
|
||||
set cursorline
|
||||
set noshowmode
|
||||
set shortmess+=I
|
||||
set laststatus=2
|
||||
|
||||
let mapleader = "\<Space>"
|
||||
|
||||
nnoremap <leader>w :w<CR>
|
||||
nnoremap <leader>q :q<CR>
|
||||
|
||||
nnoremap <silent> <leader>h :nohlsearch<CR>
|
||||
|
||||
nnoremap <leader>n :set relativenumber!<CR>
|
||||
|
||||
nnoremap <C-h> <C-w>h
|
||||
nnoremap <C-j> <C-w>j
|
||||
nnoremap <C-k> <C-w>k
|
||||
nnoremap <C-l> <C-w>l
|
||||
|
||||
call plug#begin('~/.vim/plugged')
|
||||
Plug 'preservim/nerdtree'
|
||||
Plug 'itchyny/lightline.vim'
|
||||
Plug 'tpope/vim-commentary'
|
||||
Plug 'airblade/vim-gitgutter'
|
||||
call plug#end()
|
||||
|
||||
nnoremap <leader>t :NERDTreeToggle<CR>
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
local wezterm = require("wezterm")
|
||||
local config = wezterm.config_builder()
|
||||
config.font_size = 15
|
||||
config.color_scheme = "Mashup Colors (terminal.sexy)"
|
||||
config.window_padding = {
|
||||
left = 4,
|
||||
right = 4,
|
||||
top = 4,
|
||||
bottom = 4,
|
||||
}
|
||||
config.enable_tab_bar = false
|
||||
config.font = wezterm.font("JetBrainsMono Nerd Font")
|
||||
config.window_close_confirmation = "NeverPrompt"
|
||||
config.window_background_opacity = 0.90
|
||||
config.default_cursor_style = "SteadyUnderline"
|
||||
return config
|
||||
@@ -0,0 +1,28 @@
|
||||
#!/bin/zsh
|
||||
|
||||
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
|
||||
exec dbus-launch --sh-syntax --exit-with-session "$0"
|
||||
fi
|
||||
|
||||
export XDG_SESSION_TYPE=x11
|
||||
export XDG_CURRENT_DESKTOP=dwm
|
||||
export GDK_BACKEND=x11
|
||||
export QT_QPA_PLATFORM=xcb
|
||||
export XCURSOR_THEME=Adwaita
|
||||
export XCURSOR_SIZE=24
|
||||
|
||||
xset r rate 200 35
|
||||
xinput set-prop "ELAN0709:00 04F3:30A0 Touchpad" "libinput Tapping Enabled" 1 &
|
||||
xrdb -merge ~/.Xresources
|
||||
picom --config ~/.config/picom/picom.conf &
|
||||
sxhkd &
|
||||
slstatus &
|
||||
/usr/libexec/polkit-gnome-authentication-agent-1 &
|
||||
pulseaudio --start &
|
||||
setxkbmap -option caps:escape &
|
||||
xwallpaper --zoom files/pics/walls/wallhaven-y8g1el_1920x1080.png &
|
||||
dunst &
|
||||
notify-send "test"
|
||||
brightnessctl -d intel_backlight set 100%
|
||||
|
||||
exec dwm
|
||||
@@ -0,0 +1,143 @@
|
||||
export TERM=xterm-256color
|
||||
|
||||
grep --color=auto < /dev/null &>/dev/null && alias grep='grep --color=auto'
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
export PATH="/usr/pkg/sbin:/usr/pkg/bin:$PATH"
|
||||
export PATH="$HOME/.cargo/bin:$PATH"
|
||||
export PATH="$PATH:/home/coast/.spicetify"
|
||||
export MANPATH="/usr/pkg/man:$MANPATH"
|
||||
export XDG_DATA_DIRS="/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share:/usr/local/share:/usr/share"
|
||||
export EIX_LIMIT=0
|
||||
export EDITOR=vim
|
||||
#export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
export EGIT_OVERRIDE_REPO_RIVER_RIVER="https://github.com/riverwm/river.git"
|
||||
|
||||
alias record='wf-recorder -f desktop.mkv -a alsa_output.pci-0000_0b_00.6.analog-stereo.monitor -g "$(slurp)"'
|
||||
|
||||
export XDG_SESSION_TYPE=x11
|
||||
|
||||
#aliasrc
|
||||
|
||||
#OS-based aliases
|
||||
[ "$(uname -s)" = "FreeBSD" ] && alias make=gmake
|
||||
|
||||
alias \
|
||||
sysrc="doas sysrc"\
|
||||
service="doas service"\
|
||||
sysctl="doas sysctl"\
|
||||
pkg="doas proxychains -q pkg"
|
||||
#alias \
|
||||
# starth="dbus-run-session sway"\
|
||||
# startw=starth\
|
||||
# startx=starth
|
||||
alias startx="dbus-run-session startx"
|
||||
|
||||
alias \
|
||||
elog="doas tail -f /var/log/emerge-fetch.log"\
|
||||
emerge="doas px emerge"\
|
||||
eu="doas etc-update"
|
||||
|
||||
alias pgrep="pgrep -a"
|
||||
alias qb=qbittorrent-nox
|
||||
alias s=ssh\ laptop
|
||||
alias s1="ssh coast@seqyusphere.eu"
|
||||
alias s2="ssh coast@sx7n8.tech"
|
||||
alias nrs="doas nixos-rebuild switch --flake /etc/nixos#core"
|
||||
alias nf="clear && neofetch"
|
||||
alias mutt="neomutt"
|
||||
alias mt="neomutt"
|
||||
alias emoji="cat ~/.local/src/local/share/emoji | grep"
|
||||
alias cst="vi ~/.config/st/config.h"
|
||||
#alias ls="ls --color=auto"
|
||||
#alias ll="ls -hl"
|
||||
#alias l="ls -lh"
|
||||
alias la="ls -ahl"
|
||||
alias smi="nvidia-smi"
|
||||
alias srczsh="source ~/.zshrc"
|
||||
alias battery="sb-battery"
|
||||
alias quit="exit"
|
||||
alias push="git push"
|
||||
alias weather="curl wttr.in/masjedsoleyman"
|
||||
alias las="ls"
|
||||
alias c="clear"
|
||||
alias cear="clear"
|
||||
alias cd..="cd .."
|
||||
alias ..='echo "cd .."; cd ../'
|
||||
alias claer="clear"
|
||||
alias clare="clear"
|
||||
alias cleae="clear"
|
||||
alias clera="clear"
|
||||
alias hotp="htop"
|
||||
alias copykey='cat ~/.local/share/vault1.key | xclip -sel clipboard'
|
||||
alias mic="micro"
|
||||
alias nx="nsxiv"
|
||||
alias e="doas emerge --ask --verbose"
|
||||
alias es="emerge -s"
|
||||
alias fe="flatpak search"
|
||||
alias fei="flatpak install"
|
||||
alias ac="doas emerge -ac"
|
||||
alias ls="ls --color=auto"
|
||||
alias alsamixer="alsamixer -c 0"
|
||||
alias l="ls -l;"
|
||||
alias freebsd="qemu-system-x86_64 -m 8048 -smp 2 -hda /home/coast/vm/freebsd/FreeBSD-14.3-RELEASE-amd64.qcow2 -nic user,model=virtio-net-pci -enable-kvm"
|
||||
alias os="ls --color=auto"
|
||||
alias lsbc="lsblk | bat -l conf"
|
||||
alias main=man
|
||||
alias mian=man
|
||||
alias su="su -"
|
||||
|
||||
video() {
|
||||
mpv "$1" --ytdl-format="bestvideo[height>=720]+bestaudio/best[height>=720]"
|
||||
}
|
||||
videolow() {
|
||||
mpv "$1" --ytdl-format="bestvideo[height<=720]+bestaudio/best[height<=720]"
|
||||
}
|
||||
|
||||
#else
|
||||
bindkey -e
|
||||
batstat=$(cat /sys/class/power_supply/BAT1/status 2>/dev/null)
|
||||
charge=$(cat /sys/class/power_supply/BAT1/capacity 2>/dev/null)
|
||||
if [[ "$batstat" == "Discharging" && "$charge" -lt 50 ]]; then
|
||||
echo "Battery: $(sb-battery)"
|
||||
fi
|
||||
|
||||
noipv6(){
|
||||
doas sysctl -w net.ipv6.conf.all.disable_ipv6=1
|
||||
doas sysctl -w net.ipv6.conf.default.disable_ipv6=1
|
||||
doas sysctl -w net.ipv6.conf.lo.disable_ipv6=1
|
||||
}
|
||||
|
||||
#PROXYCHAINS_IGNORE=(
|
||||
# cd exit clear fg bg jobs history
|
||||
# ssh scp sftp
|
||||
# proxychains
|
||||
#)
|
||||
#
|
||||
#autoload -U add-zsh-hook
|
||||
#
|
||||
#_proxychains_auto() {
|
||||
# local cmd="$BUFFER"
|
||||
# [[ -z "$cmd" ]] && return
|
||||
#
|
||||
# # get first word of command
|
||||
# local first=${cmd%% *}
|
||||
#
|
||||
# # ignore listed commands
|
||||
# for ignore in "${PROXYCHAINS_IGNORE[@]}"; do
|
||||
# [[ "$first" == "$ignore" ]] && return
|
||||
# done
|
||||
#
|
||||
# # sudo/doas handling
|
||||
# if [[ "$cmd" == sudo\ * ]]; then
|
||||
# BUFFER="sudo proxychains ${cmd#sudo }"
|
||||
# elif [[ "$cmd" == doas\ * ]]; then
|
||||
# BUFFER="doas proxychains ${cmd#doas }"
|
||||
# else
|
||||
# BUFFER="proxychains $cmd"
|
||||
# fi
|
||||
#}
|
||||
#
|
||||
#add-zsh-hook preexec _proxychains_auto
|
||||
if test -z "$XDG_RUNTIME_DIR"; then
|
||||
export XDG_RUNTIME_DIR=$(mktemp -d /tmp/$(id -u)-runtime-dir.XXX)
|
||||
fi
|
||||
Executable
+867
@@ -0,0 +1,867 @@
|
||||
# Fish-like fast/unobtrusive autosuggestions for zsh.
|
||||
# https://github.com/zsh-users/zsh-autosuggestions
|
||||
# v0.7.1
|
||||
# Copyright (c) 2013 Thiago de Arruda
|
||||
# Copyright (c) 2016-2021 Eric Freese
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation
|
||||
# files (the "Software"), to deal in the Software without
|
||||
# restriction, including without limitation the rights to use,
|
||||
# copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following
|
||||
# conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be
|
||||
# included in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
# OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
#--------------------------------------------------------------------#
|
||||
# Global Configuration Variables #
|
||||
#--------------------------------------------------------------------#
|
||||
|
||||
# Color to use when highlighting suggestion
|
||||
# Uses format of `region_highlight`
|
||||
# More info: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Zle-Widgets
|
||||
(( ! ${+ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE} )) &&
|
||||
typeset -g ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
|
||||
|
||||
# Prefix to use when saving original versions of bound widgets
|
||||
(( ! ${+ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX} )) &&
|
||||
typeset -g ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=autosuggest-orig-
|
||||
|
||||
# Strategies to use to fetch a suggestion
|
||||
# Will try each strategy in order until a suggestion is returned
|
||||
(( ! ${+ZSH_AUTOSUGGEST_STRATEGY} )) && {
|
||||
typeset -ga ZSH_AUTOSUGGEST_STRATEGY
|
||||
ZSH_AUTOSUGGEST_STRATEGY=(history)
|
||||
}
|
||||
|
||||
# Widgets that clear the suggestion
|
||||
(( ! ${+ZSH_AUTOSUGGEST_CLEAR_WIDGETS} )) && {
|
||||
typeset -ga ZSH_AUTOSUGGEST_CLEAR_WIDGETS
|
||||
ZSH_AUTOSUGGEST_CLEAR_WIDGETS=(
|
||||
history-search-forward
|
||||
history-search-backward
|
||||
history-beginning-search-forward
|
||||
history-beginning-search-backward
|
||||
history-beginning-search-forward-end
|
||||
history-beginning-search-backward-end
|
||||
history-substring-search-up
|
||||
history-substring-search-down
|
||||
up-line-or-beginning-search
|
||||
down-line-or-beginning-search
|
||||
up-line-or-history
|
||||
down-line-or-history
|
||||
accept-line
|
||||
copy-earlier-word
|
||||
)
|
||||
}
|
||||
|
||||
# Widgets that accept the entire suggestion
|
||||
(( ! ${+ZSH_AUTOSUGGEST_ACCEPT_WIDGETS} )) && {
|
||||
typeset -ga ZSH_AUTOSUGGEST_ACCEPT_WIDGETS
|
||||
ZSH_AUTOSUGGEST_ACCEPT_WIDGETS=(
|
||||
forward-char
|
||||
end-of-line
|
||||
vi-forward-char
|
||||
vi-end-of-line
|
||||
vi-add-eol
|
||||
)
|
||||
}
|
||||
|
||||
# Widgets that accept the entire suggestion and execute it
|
||||
(( ! ${+ZSH_AUTOSUGGEST_EXECUTE_WIDGETS} )) && {
|
||||
typeset -ga ZSH_AUTOSUGGEST_EXECUTE_WIDGETS
|
||||
ZSH_AUTOSUGGEST_EXECUTE_WIDGETS=(
|
||||
)
|
||||
}
|
||||
|
||||
# Widgets that accept the suggestion as far as the cursor moves
|
||||
(( ! ${+ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS} )) && {
|
||||
typeset -ga ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS
|
||||
ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS=(
|
||||
forward-word
|
||||
emacs-forward-word
|
||||
vi-forward-word
|
||||
vi-forward-word-end
|
||||
vi-forward-blank-word
|
||||
vi-forward-blank-word-end
|
||||
vi-find-next-char
|
||||
vi-find-next-char-skip
|
||||
)
|
||||
}
|
||||
|
||||
# Widgets that should be ignored (globbing supported but must be escaped)
|
||||
(( ! ${+ZSH_AUTOSUGGEST_IGNORE_WIDGETS} )) && {
|
||||
typeset -ga ZSH_AUTOSUGGEST_IGNORE_WIDGETS
|
||||
ZSH_AUTOSUGGEST_IGNORE_WIDGETS=(
|
||||
orig-\*
|
||||
beep
|
||||
run-help
|
||||
set-local-history
|
||||
which-command
|
||||
yank
|
||||
yank-pop
|
||||
zle-\*
|
||||
)
|
||||
}
|
||||
|
||||
# Pty name for capturing completions for completion suggestion strategy
|
||||
(( ! ${+ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME} )) &&
|
||||
typeset -g ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME=zsh_autosuggest_completion_pty
|
||||
|
||||
#--------------------------------------------------------------------#
|
||||
# Utility Functions #
|
||||
#--------------------------------------------------------------------#
|
||||
|
||||
_zsh_autosuggest_escape_command() {
|
||||
setopt localoptions EXTENDED_GLOB
|
||||
|
||||
# Escape special chars in the string (requires EXTENDED_GLOB)
|
||||
echo -E "${1//(#m)[\"\'\\()\[\]|*?~]/\\$MATCH}"
|
||||
}
|
||||
|
||||
#--------------------------------------------------------------------#
|
||||
# Widget Helpers #
|
||||
#--------------------------------------------------------------------#
|
||||
|
||||
_zsh_autosuggest_incr_bind_count() {
|
||||
typeset -gi bind_count=$((_ZSH_AUTOSUGGEST_BIND_COUNTS[$1]+1))
|
||||
_ZSH_AUTOSUGGEST_BIND_COUNTS[$1]=$bind_count
|
||||
}
|
||||
|
||||
# Bind a single widget to an autosuggest widget, saving a reference to the original widget
|
||||
_zsh_autosuggest_bind_widget() {
|
||||
typeset -gA _ZSH_AUTOSUGGEST_BIND_COUNTS
|
||||
|
||||
local widget=$1
|
||||
local autosuggest_action=$2
|
||||
local prefix=$ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX
|
||||
|
||||
local -i bind_count
|
||||
|
||||
# Save a reference to the original widget
|
||||
case $widgets[$widget] in
|
||||
# Already bound
|
||||
user:_zsh_autosuggest_(bound|orig)_*)
|
||||
bind_count=$((_ZSH_AUTOSUGGEST_BIND_COUNTS[$widget]))
|
||||
;;
|
||||
|
||||
# User-defined widget
|
||||
user:*)
|
||||
_zsh_autosuggest_incr_bind_count $widget
|
||||
zle -N $prefix$bind_count-$widget ${widgets[$widget]#*:}
|
||||
;;
|
||||
|
||||
# Built-in widget
|
||||
builtin)
|
||||
_zsh_autosuggest_incr_bind_count $widget
|
||||
eval "_zsh_autosuggest_orig_${(q)widget}() { zle .${(q)widget} }"
|
||||
zle -N $prefix$bind_count-$widget _zsh_autosuggest_orig_$widget
|
||||
;;
|
||||
|
||||
# Completion widget
|
||||
completion:*)
|
||||
_zsh_autosuggest_incr_bind_count $widget
|
||||
eval "zle -C $prefix$bind_count-${(q)widget} ${${(s.:.)widgets[$widget]}[2,3]}"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Pass the original widget's name explicitly into the autosuggest
|
||||
# function. Use this passed in widget name to call the original
|
||||
# widget instead of relying on the $WIDGET variable being set
|
||||
# correctly. $WIDGET cannot be trusted because other plugins call
|
||||
# zle without the `-w` flag (e.g. `zle self-insert` instead of
|
||||
# `zle self-insert -w`).
|
||||
eval "_zsh_autosuggest_bound_${bind_count}_${(q)widget}() {
|
||||
_zsh_autosuggest_widget_$autosuggest_action $prefix$bind_count-${(q)widget} \$@
|
||||
}"
|
||||
|
||||
# Create the bound widget
|
||||
zle -N -- $widget _zsh_autosuggest_bound_${bind_count}_$widget
|
||||
}
|
||||
|
||||
# Map all configured widgets to the right autosuggest widgets
|
||||
_zsh_autosuggest_bind_widgets() {
|
||||
emulate -L zsh
|
||||
|
||||
local widget
|
||||
local ignore_widgets
|
||||
|
||||
ignore_widgets=(
|
||||
.\*
|
||||
_\*
|
||||
${_ZSH_AUTOSUGGEST_BUILTIN_ACTIONS/#/autosuggest-}
|
||||
$ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX\*
|
||||
$ZSH_AUTOSUGGEST_IGNORE_WIDGETS
|
||||
)
|
||||
|
||||
# Find every widget we might want to bind and bind it appropriately
|
||||
for widget in ${${(f)"$(builtin zle -la)"}:#${(j:|:)~ignore_widgets}}; do
|
||||
if [[ -n ${ZSH_AUTOSUGGEST_CLEAR_WIDGETS[(r)$widget]} ]]; then
|
||||
_zsh_autosuggest_bind_widget $widget clear
|
||||
elif [[ -n ${ZSH_AUTOSUGGEST_ACCEPT_WIDGETS[(r)$widget]} ]]; then
|
||||
_zsh_autosuggest_bind_widget $widget accept
|
||||
elif [[ -n ${ZSH_AUTOSUGGEST_EXECUTE_WIDGETS[(r)$widget]} ]]; then
|
||||
_zsh_autosuggest_bind_widget $widget execute
|
||||
elif [[ -n ${ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS[(r)$widget]} ]]; then
|
||||
_zsh_autosuggest_bind_widget $widget partial_accept
|
||||
else
|
||||
# Assume any unspecified widget might modify the buffer
|
||||
_zsh_autosuggest_bind_widget $widget modify
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Given the name of an original widget and args, invoke it, if it exists
|
||||
_zsh_autosuggest_invoke_original_widget() {
|
||||
# Do nothing unless called with at least one arg
|
||||
(( $# )) || return 0
|
||||
|
||||
local original_widget_name="$1"
|
||||
|
||||
shift
|
||||
|
||||
if (( ${+widgets[$original_widget_name]} )); then
|
||||
zle $original_widget_name -- $@
|
||||
fi
|
||||
}
|
||||
|
||||
#--------------------------------------------------------------------#
|
||||
# Highlighting #
|
||||
#--------------------------------------------------------------------#
|
||||
|
||||
# If there was a highlight, remove it
|
||||
_zsh_autosuggest_highlight_reset() {
|
||||
typeset -g _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT
|
||||
|
||||
if [[ -n "$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT" ]]; then
|
||||
region_highlight=("${(@)region_highlight:#$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT}")
|
||||
unset _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT
|
||||
fi
|
||||
}
|
||||
|
||||
# If there's a suggestion, highlight it
|
||||
_zsh_autosuggest_highlight_apply() {
|
||||
typeset -g _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT
|
||||
|
||||
if (( $#POSTDISPLAY )); then
|
||||
typeset -g _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT="$#BUFFER $(($#BUFFER + $#POSTDISPLAY)) $ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE"
|
||||
region_highlight+=("$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT")
|
||||
else
|
||||
unset _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT
|
||||
fi
|
||||
}
|
||||
|
||||
#--------------------------------------------------------------------#
|
||||
# Autosuggest Widget Implementations #
|
||||
#--------------------------------------------------------------------#
|
||||
|
||||
# Disable suggestions
|
||||
_zsh_autosuggest_disable() {
|
||||
typeset -g _ZSH_AUTOSUGGEST_DISABLED
|
||||
_zsh_autosuggest_clear
|
||||
}
|
||||
|
||||
# Enable suggestions
|
||||
_zsh_autosuggest_enable() {
|
||||
unset _ZSH_AUTOSUGGEST_DISABLED
|
||||
|
||||
if (( $#BUFFER )); then
|
||||
_zsh_autosuggest_fetch
|
||||
fi
|
||||
}
|
||||
|
||||
# Toggle suggestions (enable/disable)
|
||||
_zsh_autosuggest_toggle() {
|
||||
if (( ${+_ZSH_AUTOSUGGEST_DISABLED} )); then
|
||||
_zsh_autosuggest_enable
|
||||
else
|
||||
_zsh_autosuggest_disable
|
||||
fi
|
||||
}
|
||||
|
||||
# Clear the suggestion
|
||||
_zsh_autosuggest_clear() {
|
||||
# Remove the suggestion
|
||||
POSTDISPLAY=
|
||||
|
||||
_zsh_autosuggest_invoke_original_widget $@
|
||||
}
|
||||
|
||||
# Modify the buffer and get a new suggestion
|
||||
_zsh_autosuggest_modify() {
|
||||
local -i retval
|
||||
|
||||
# Only available in zsh >= 5.4
|
||||
local -i KEYS_QUEUED_COUNT
|
||||
|
||||
# Save the contents of the buffer/postdisplay
|
||||
local orig_buffer="$BUFFER"
|
||||
local orig_postdisplay="$POSTDISPLAY"
|
||||
|
||||
# Clear suggestion while waiting for next one
|
||||
POSTDISPLAY=
|
||||
|
||||
# Original widget may modify the buffer
|
||||
_zsh_autosuggest_invoke_original_widget $@
|
||||
retval=$?
|
||||
|
||||
emulate -L zsh
|
||||
|
||||
# Don't fetch a new suggestion if there's more input to be read immediately
|
||||
if (( $PENDING > 0 || $KEYS_QUEUED_COUNT > 0 )); then
|
||||
POSTDISPLAY="$orig_postdisplay"
|
||||
return $retval
|
||||
fi
|
||||
|
||||
# Optimize if manually typing in the suggestion or if buffer hasn't changed
|
||||
if [[ "$BUFFER" = "$orig_buffer"* && "$orig_postdisplay" = "${BUFFER:$#orig_buffer}"* ]]; then
|
||||
POSTDISPLAY="${orig_postdisplay:$(($#BUFFER - $#orig_buffer))}"
|
||||
return $retval
|
||||
fi
|
||||
|
||||
# Bail out if suggestions are disabled
|
||||
if (( ${+_ZSH_AUTOSUGGEST_DISABLED} )); then
|
||||
return $?
|
||||
fi
|
||||
|
||||
# Get a new suggestion if the buffer is not empty after modification
|
||||
if (( $#BUFFER > 0 )); then
|
||||
if [[ -z "$ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE" ]] || (( $#BUFFER <= $ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE )); then
|
||||
_zsh_autosuggest_fetch
|
||||
fi
|
||||
fi
|
||||
|
||||
return $retval
|
||||
}
|
||||
|
||||
# Fetch a new suggestion based on what's currently in the buffer
|
||||
_zsh_autosuggest_fetch() {
|
||||
if (( ${+ZSH_AUTOSUGGEST_USE_ASYNC} )); then
|
||||
_zsh_autosuggest_async_request "$BUFFER"
|
||||
else
|
||||
local suggestion
|
||||
_zsh_autosuggest_fetch_suggestion "$BUFFER"
|
||||
_zsh_autosuggest_suggest "$suggestion"
|
||||
fi
|
||||
}
|
||||
|
||||
# Offer a suggestion
|
||||
_zsh_autosuggest_suggest() {
|
||||
emulate -L zsh
|
||||
|
||||
local suggestion="$1"
|
||||
|
||||
if [[ -n "$suggestion" ]] && (( $#BUFFER )); then
|
||||
POSTDISPLAY="${suggestion#$BUFFER}"
|
||||
else
|
||||
POSTDISPLAY=
|
||||
fi
|
||||
}
|
||||
|
||||
# Accept the entire suggestion
|
||||
_zsh_autosuggest_accept() {
|
||||
local -i retval max_cursor_pos=$#BUFFER
|
||||
|
||||
# When vicmd keymap is active, the cursor can't move all the way
|
||||
# to the end of the buffer
|
||||
if [[ "$KEYMAP" = "vicmd" ]]; then
|
||||
max_cursor_pos=$((max_cursor_pos - 1))
|
||||
fi
|
||||
|
||||
# If we're not in a valid state to accept a suggestion, just run the
|
||||
# original widget and bail out
|
||||
if (( $CURSOR != $max_cursor_pos || !$#POSTDISPLAY )); then
|
||||
_zsh_autosuggest_invoke_original_widget $@
|
||||
return
|
||||
fi
|
||||
|
||||
# Only accept if the cursor is at the end of the buffer
|
||||
# Add the suggestion to the buffer
|
||||
BUFFER="$BUFFER$POSTDISPLAY"
|
||||
|
||||
# Remove the suggestion
|
||||
POSTDISPLAY=
|
||||
|
||||
# Run the original widget before manually moving the cursor so that the
|
||||
# cursor movement doesn't make the widget do something unexpected
|
||||
_zsh_autosuggest_invoke_original_widget $@
|
||||
retval=$?
|
||||
|
||||
# Move the cursor to the end of the buffer
|
||||
if [[ "$KEYMAP" = "vicmd" ]]; then
|
||||
CURSOR=$(($#BUFFER - 1))
|
||||
else
|
||||
CURSOR=$#BUFFER
|
||||
fi
|
||||
|
||||
return $retval
|
||||
}
|
||||
|
||||
# Accept the entire suggestion and execute it
|
||||
_zsh_autosuggest_execute() {
|
||||
# Add the suggestion to the buffer
|
||||
BUFFER="$BUFFER$POSTDISPLAY"
|
||||
|
||||
# Remove the suggestion
|
||||
POSTDISPLAY=
|
||||
|
||||
# Call the original `accept-line` to handle syntax highlighting or
|
||||
# other potential custom behavior
|
||||
_zsh_autosuggest_invoke_original_widget "accept-line"
|
||||
}
|
||||
|
||||
# Partially accept the suggestion
|
||||
_zsh_autosuggest_partial_accept() {
|
||||
local -i retval cursor_loc
|
||||
|
||||
# Save the contents of the buffer so we can restore later if needed
|
||||
local original_buffer="$BUFFER"
|
||||
|
||||
# Temporarily accept the suggestion.
|
||||
BUFFER="$BUFFER$POSTDISPLAY"
|
||||
|
||||
# Original widget moves the cursor
|
||||
_zsh_autosuggest_invoke_original_widget $@
|
||||
retval=$?
|
||||
|
||||
# Normalize cursor location across vi/emacs modes
|
||||
cursor_loc=$CURSOR
|
||||
if [[ "$KEYMAP" = "vicmd" ]]; then
|
||||
cursor_loc=$((cursor_loc + 1))
|
||||
fi
|
||||
|
||||
# If we've moved past the end of the original buffer
|
||||
if (( $cursor_loc > $#original_buffer )); then
|
||||
# Set POSTDISPLAY to text right of the cursor
|
||||
POSTDISPLAY="${BUFFER[$(($cursor_loc + 1)),$#BUFFER]}"
|
||||
|
||||
# Clip the buffer at the cursor
|
||||
BUFFER="${BUFFER[1,$cursor_loc]}"
|
||||
else
|
||||
# Restore the original buffer
|
||||
BUFFER="$original_buffer"
|
||||
fi
|
||||
|
||||
return $retval
|
||||
}
|
||||
|
||||
() {
|
||||
typeset -ga _ZSH_AUTOSUGGEST_BUILTIN_ACTIONS
|
||||
|
||||
_ZSH_AUTOSUGGEST_BUILTIN_ACTIONS=(
|
||||
clear
|
||||
fetch
|
||||
suggest
|
||||
accept
|
||||
execute
|
||||
enable
|
||||
disable
|
||||
toggle
|
||||
)
|
||||
|
||||
local action
|
||||
for action in $_ZSH_AUTOSUGGEST_BUILTIN_ACTIONS modify partial_accept; do
|
||||
eval "_zsh_autosuggest_widget_$action() {
|
||||
local -i retval
|
||||
|
||||
_zsh_autosuggest_highlight_reset
|
||||
|
||||
_zsh_autosuggest_$action \$@
|
||||
retval=\$?
|
||||
|
||||
_zsh_autosuggest_highlight_apply
|
||||
|
||||
zle -R
|
||||
|
||||
return \$retval
|
||||
}"
|
||||
done
|
||||
|
||||
for action in $_ZSH_AUTOSUGGEST_BUILTIN_ACTIONS; do
|
||||
zle -N autosuggest-$action _zsh_autosuggest_widget_$action
|
||||
done
|
||||
}
|
||||
|
||||
#--------------------------------------------------------------------#
|
||||
# Completion Suggestion Strategy #
|
||||
#--------------------------------------------------------------------#
|
||||
# Fetches a suggestion from the completion engine
|
||||
#
|
||||
|
||||
_zsh_autosuggest_capture_postcompletion() {
|
||||
# Always insert the first completion into the buffer
|
||||
compstate[insert]=1
|
||||
|
||||
# Don't list completions
|
||||
unset 'compstate[list]'
|
||||
}
|
||||
|
||||
_zsh_autosuggest_capture_completion_widget() {
|
||||
# Add a post-completion hook to be called after all completions have been
|
||||
# gathered. The hook can modify compstate to affect what is done with the
|
||||
# gathered completions.
|
||||
local -a +h comppostfuncs
|
||||
comppostfuncs=(_zsh_autosuggest_capture_postcompletion)
|
||||
|
||||
# Only capture completions at the end of the buffer
|
||||
CURSOR=$#BUFFER
|
||||
|
||||
# Run the original widget wrapping `.complete-word` so we don't
|
||||
# recursively try to fetch suggestions, since our pty is forked
|
||||
# after autosuggestions is initialized.
|
||||
zle -- ${(k)widgets[(r)completion:.complete-word:_main_complete]}
|
||||
|
||||
if is-at-least 5.0.3; then
|
||||
# Don't do any cr/lf transformations. We need to do this immediately before
|
||||
# output because if we do it in setup, onlcr will be re-enabled when we enter
|
||||
# vared in the async code path. There is a bug in zpty module in older versions
|
||||
# where the tty is not properly attached to the pty slave, resulting in stty
|
||||
# getting stopped with a SIGTTOU. See zsh-workers thread 31660 and upstream
|
||||
# commit f75904a38
|
||||
stty -onlcr -ocrnl -F /dev/tty
|
||||
fi
|
||||
|
||||
# The completion has been added, print the buffer as the suggestion
|
||||
echo -nE - $'\0'$BUFFER$'\0'
|
||||
}
|
||||
|
||||
zle -N autosuggest-capture-completion _zsh_autosuggest_capture_completion_widget
|
||||
|
||||
_zsh_autosuggest_capture_setup() {
|
||||
# There is a bug in zpty module in older zsh versions by which a
|
||||
# zpty that exits will kill all zpty processes that were forked
|
||||
# before it. Here we set up a zsh exit hook to SIGKILL the zpty
|
||||
# process immediately, before it has a chance to kill any other
|
||||
# zpty processes.
|
||||
if ! is-at-least 5.4; then
|
||||
zshexit() {
|
||||
# The zsh builtin `kill` fails sometimes in older versions
|
||||
# https://unix.stackexchange.com/a/477647/156673
|
||||
kill -KILL $$ 2>&- || command kill -KILL $$
|
||||
|
||||
# Block for long enough for the signal to come through
|
||||
sleep 1
|
||||
}
|
||||
fi
|
||||
|
||||
# Try to avoid any suggestions that wouldn't match the prefix
|
||||
zstyle ':completion:*' matcher-list ''
|
||||
zstyle ':completion:*' path-completion false
|
||||
zstyle ':completion:*' max-errors 0 not-numeric
|
||||
|
||||
bindkey '^I' autosuggest-capture-completion
|
||||
}
|
||||
|
||||
_zsh_autosuggest_capture_completion_sync() {
|
||||
_zsh_autosuggest_capture_setup
|
||||
|
||||
zle autosuggest-capture-completion
|
||||
}
|
||||
|
||||
_zsh_autosuggest_capture_completion_async() {
|
||||
_zsh_autosuggest_capture_setup
|
||||
|
||||
zmodload zsh/parameter 2>/dev/null || return # For `$functions`
|
||||
|
||||
# Make vared completion work as if for a normal command line
|
||||
# https://stackoverflow.com/a/7057118/154703
|
||||
autoload +X _complete
|
||||
functions[_original_complete]=$functions[_complete]
|
||||
function _complete() {
|
||||
unset 'compstate[vared]'
|
||||
_original_complete "$@"
|
||||
}
|
||||
|
||||
# Open zle with buffer set so we can capture completions for it
|
||||
vared 1
|
||||
}
|
||||
|
||||
_zsh_autosuggest_strategy_completion() {
|
||||
# Reset options to defaults and enable LOCAL_OPTIONS
|
||||
emulate -L zsh
|
||||
|
||||
# Enable extended glob for completion ignore pattern
|
||||
setopt EXTENDED_GLOB
|
||||
|
||||
typeset -g suggestion
|
||||
local line REPLY
|
||||
|
||||
# Exit if we don't have completions
|
||||
whence compdef >/dev/null || return
|
||||
|
||||
# Exit if we don't have zpty
|
||||
zmodload zsh/zpty 2>/dev/null || return
|
||||
|
||||
# Exit if our search string matches the ignore pattern
|
||||
[[ -n "$ZSH_AUTOSUGGEST_COMPLETION_IGNORE" ]] && [[ "$1" == $~ZSH_AUTOSUGGEST_COMPLETION_IGNORE ]] && return
|
||||
|
||||
# Zle will be inactive if we are in async mode
|
||||
if zle; then
|
||||
zpty $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME _zsh_autosuggest_capture_completion_sync
|
||||
else
|
||||
zpty $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME _zsh_autosuggest_capture_completion_async "\$1"
|
||||
zpty -w $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME $'\t'
|
||||
fi
|
||||
|
||||
{
|
||||
# The completion result is surrounded by null bytes, so read the
|
||||
# content between the first two null bytes.
|
||||
zpty -r $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME line '*'$'\0''*'$'\0'
|
||||
|
||||
# Extract the suggestion from between the null bytes. On older
|
||||
# versions of zsh (older than 5.3), we sometimes get extra bytes after
|
||||
# the second null byte, so trim those off the end.
|
||||
# See http://www.zsh.org/mla/workers/2015/msg03290.html
|
||||
suggestion="${${(@0)line}[2]}"
|
||||
} always {
|
||||
# Destroy the pty
|
||||
zpty -d $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME
|
||||
}
|
||||
}
|
||||
|
||||
#--------------------------------------------------------------------#
|
||||
# History Suggestion Strategy #
|
||||
#--------------------------------------------------------------------#
|
||||
# Suggests the most recent history item that matches the given
|
||||
# prefix.
|
||||
#
|
||||
|
||||
_zsh_autosuggest_strategy_history() {
|
||||
# Reset options to defaults and enable LOCAL_OPTIONS
|
||||
emulate -L zsh
|
||||
|
||||
# Enable globbing flags so that we can use (#m) and (x~y) glob operator
|
||||
setopt EXTENDED_GLOB
|
||||
|
||||
# Escape backslashes and all of the glob operators so we can use
|
||||
# this string as a pattern to search the $history associative array.
|
||||
# - (#m) globbing flag enables setting references for match data
|
||||
# TODO: Use (b) flag when we can drop support for zsh older than v5.0.8
|
||||
local prefix="${1//(#m)[\\*?[\]<>()|^~#]/\\$MATCH}"
|
||||
|
||||
# Get the history items that match the prefix, excluding those that match
|
||||
# the ignore pattern
|
||||
local pattern="$prefix*"
|
||||
if [[ -n $ZSH_AUTOSUGGEST_HISTORY_IGNORE ]]; then
|
||||
pattern="($pattern)~($ZSH_AUTOSUGGEST_HISTORY_IGNORE)"
|
||||
fi
|
||||
|
||||
# Give the first history item matching the pattern as the suggestion
|
||||
# - (r) subscript flag makes the pattern match on values
|
||||
typeset -g suggestion="${history[(r)$pattern]}"
|
||||
}
|
||||
|
||||
#--------------------------------------------------------------------#
|
||||
# Match Previous Command Suggestion Strategy #
|
||||
#--------------------------------------------------------------------#
|
||||
# Suggests the most recent history item that matches the given
|
||||
# prefix and whose preceding history item also matches the most
|
||||
# recently executed command.
|
||||
#
|
||||
# For example, suppose your history has the following entries:
|
||||
# - pwd
|
||||
# - ls foo
|
||||
# - ls bar
|
||||
# - pwd
|
||||
#
|
||||
# Given the history list above, when you type 'ls', the suggestion
|
||||
# will be 'ls foo' rather than 'ls bar' because your most recently
|
||||
# executed command (pwd) was previously followed by 'ls foo'.
|
||||
#
|
||||
# Note that this strategy won't work as expected with ZSH options that don't
|
||||
# preserve the history order such as `HIST_IGNORE_ALL_DUPS` or
|
||||
# `HIST_EXPIRE_DUPS_FIRST`.
|
||||
|
||||
_zsh_autosuggest_strategy_match_prev_cmd() {
|
||||
# Reset options to defaults and enable LOCAL_OPTIONS
|
||||
emulate -L zsh
|
||||
|
||||
# Enable globbing flags so that we can use (#m) and (x~y) glob operator
|
||||
setopt EXTENDED_GLOB
|
||||
|
||||
# TODO: Use (b) flag when we can drop support for zsh older than v5.0.8
|
||||
local prefix="${1//(#m)[\\*?[\]<>()|^~#]/\\$MATCH}"
|
||||
|
||||
# Get the history items that match the prefix, excluding those that match
|
||||
# the ignore pattern
|
||||
local pattern="$prefix*"
|
||||
if [[ -n $ZSH_AUTOSUGGEST_HISTORY_IGNORE ]]; then
|
||||
pattern="($pattern)~($ZSH_AUTOSUGGEST_HISTORY_IGNORE)"
|
||||
fi
|
||||
|
||||
# Get all history event numbers that correspond to history
|
||||
# entries that match the pattern
|
||||
local history_match_keys
|
||||
history_match_keys=(${(k)history[(R)$~pattern]})
|
||||
|
||||
# By default we use the first history number (most recent history entry)
|
||||
local histkey="${history_match_keys[1]}"
|
||||
|
||||
# Get the previously executed command
|
||||
local prev_cmd="$(_zsh_autosuggest_escape_command "${history[$((HISTCMD-1))]}")"
|
||||
|
||||
# Iterate up to the first 200 history event numbers that match $prefix
|
||||
for key in "${(@)history_match_keys[1,200]}"; do
|
||||
# Stop if we ran out of history
|
||||
[[ $key -gt 1 ]] || break
|
||||
|
||||
# See if the history entry preceding the suggestion matches the
|
||||
# previous command, and use it if it does
|
||||
if [[ "${history[$((key - 1))]}" == "$prev_cmd" ]]; then
|
||||
histkey="$key"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Give back the matched history entry
|
||||
typeset -g suggestion="$history[$histkey]"
|
||||
}
|
||||
|
||||
#--------------------------------------------------------------------#
|
||||
# Fetch Suggestion #
|
||||
#--------------------------------------------------------------------#
|
||||
# Loops through all specified strategies and returns a suggestion
|
||||
# from the first strategy to provide one.
|
||||
#
|
||||
|
||||
_zsh_autosuggest_fetch_suggestion() {
|
||||
typeset -g suggestion
|
||||
local -a strategies
|
||||
local strategy
|
||||
|
||||
# Ensure we are working with an array
|
||||
strategies=(${=ZSH_AUTOSUGGEST_STRATEGY})
|
||||
|
||||
for strategy in $strategies; do
|
||||
# Try to get a suggestion from this strategy
|
||||
_zsh_autosuggest_strategy_$strategy "$1"
|
||||
|
||||
# Ensure the suggestion matches the prefix
|
||||
[[ "$suggestion" != "$1"* ]] && unset suggestion
|
||||
|
||||
# Break once we've found a valid suggestion
|
||||
[[ -n "$suggestion" ]] && break
|
||||
done
|
||||
}
|
||||
|
||||
#--------------------------------------------------------------------#
|
||||
# Async #
|
||||
#--------------------------------------------------------------------#
|
||||
|
||||
_zsh_autosuggest_async_request() {
|
||||
zmodload zsh/system 2>/dev/null # For `$sysparams`
|
||||
|
||||
typeset -g _ZSH_AUTOSUGGEST_ASYNC_FD _ZSH_AUTOSUGGEST_CHILD_PID
|
||||
|
||||
# If we've got a pending request, cancel it
|
||||
if [[ -n "$_ZSH_AUTOSUGGEST_ASYNC_FD" ]] && { true <&$_ZSH_AUTOSUGGEST_ASYNC_FD } 2>/dev/null; then
|
||||
# Close the file descriptor and remove the handler
|
||||
builtin exec {_ZSH_AUTOSUGGEST_ASYNC_FD}<&-
|
||||
zle -F $_ZSH_AUTOSUGGEST_ASYNC_FD
|
||||
|
||||
# We won't know the pid unless the user has zsh/system module installed
|
||||
if [[ -n "$_ZSH_AUTOSUGGEST_CHILD_PID" ]]; then
|
||||
# Zsh will make a new process group for the child process only if job
|
||||
# control is enabled (MONITOR option)
|
||||
if [[ -o MONITOR ]]; then
|
||||
# Send the signal to the process group to kill any processes that may
|
||||
# have been forked by the suggestion strategy
|
||||
kill -TERM -$_ZSH_AUTOSUGGEST_CHILD_PID 2>/dev/null
|
||||
else
|
||||
# Kill just the child process since it wasn't placed in a new process
|
||||
# group. If the suggestion strategy forked any child processes they may
|
||||
# be orphaned and left behind.
|
||||
kill -TERM $_ZSH_AUTOSUGGEST_CHILD_PID 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Fork a process to fetch a suggestion and open a pipe to read from it
|
||||
builtin exec {_ZSH_AUTOSUGGEST_ASYNC_FD}< <(
|
||||
# Tell parent process our pid
|
||||
echo $sysparams[pid]
|
||||
|
||||
# Fetch and print the suggestion
|
||||
local suggestion
|
||||
_zsh_autosuggest_fetch_suggestion "$1"
|
||||
echo -nE "$suggestion"
|
||||
)
|
||||
|
||||
# There's a weird bug here where ^C stops working unless we force a fork
|
||||
# See https://github.com/zsh-users/zsh-autosuggestions/issues/364
|
||||
autoload -Uz is-at-least
|
||||
is-at-least 5.8 || command true
|
||||
|
||||
# Read the pid from the child process
|
||||
read _ZSH_AUTOSUGGEST_CHILD_PID <&$_ZSH_AUTOSUGGEST_ASYNC_FD
|
||||
|
||||
# When the fd is readable, call the response handler
|
||||
zle -F "$_ZSH_AUTOSUGGEST_ASYNC_FD" _zsh_autosuggest_async_response
|
||||
}
|
||||
|
||||
# Called when new data is ready to be read from the pipe
|
||||
# First arg will be fd ready for reading
|
||||
# Second arg will be passed in case of error
|
||||
_zsh_autosuggest_async_response() {
|
||||
emulate -L zsh
|
||||
|
||||
local suggestion
|
||||
|
||||
if [[ -z "$2" || "$2" == "hup" ]]; then
|
||||
# Read everything from the fd and give it as a suggestion
|
||||
IFS='' read -rd '' -u $1 suggestion
|
||||
zle autosuggest-suggest -- "$suggestion"
|
||||
|
||||
# Close the fd
|
||||
builtin exec {1}<&-
|
||||
fi
|
||||
|
||||
# Always remove the handler
|
||||
zle -F "$1"
|
||||
_ZSH_AUTOSUGGEST_ASYNC_FD=
|
||||
}
|
||||
|
||||
#--------------------------------------------------------------------#
|
||||
# Start #
|
||||
#--------------------------------------------------------------------#
|
||||
|
||||
# Start the autosuggestion widgets
|
||||
_zsh_autosuggest_start() {
|
||||
# By default we re-bind widgets on every precmd to ensure we wrap other
|
||||
# wrappers. Specifically, highlighting breaks if our widgets are wrapped by
|
||||
# zsh-syntax-highlighting widgets. This also allows modifications to the
|
||||
# widget list variables to take effect on the next precmd. However this has
|
||||
# a decent performance hit, so users can set ZSH_AUTOSUGGEST_MANUAL_REBIND
|
||||
# to disable the automatic re-binding.
|
||||
if (( ${+ZSH_AUTOSUGGEST_MANUAL_REBIND} )); then
|
||||
add-zsh-hook -d precmd _zsh_autosuggest_start
|
||||
fi
|
||||
|
||||
_zsh_autosuggest_bind_widgets
|
||||
}
|
||||
|
||||
# Mark for auto-loading the functions that we use
|
||||
autoload -Uz add-zsh-hook is-at-least
|
||||
|
||||
# Automatically enable asynchronous mode in newer versions of zsh. Disable for
|
||||
# older versions because there is a bug when using async mode where ^C does not
|
||||
# work immediately after fetching a suggestion.
|
||||
# See https://github.com/zsh-users/zsh-autosuggestions/issues/364
|
||||
if is-at-least 5.0.8; then
|
||||
typeset -g ZSH_AUTOSUGGEST_USE_ASYNC=
|
||||
fi
|
||||
|
||||
# Start the autosuggestion widgets on the next precmd
|
||||
add-zsh-hook precmd _zsh_autosuggest_start
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/bin/zsh
|
||||
source /etc/profile
|
||||
HISTFILE=$HOME/.cache/zsh/history
|
||||
SAVEHIST=100000000
|
||||
HISTSIZE=$SAVEHIST
|
||||
setopt appendhistory
|
||||
autoload -U compinit
|
||||
zstyle ':completion:*' menu select
|
||||
zmodload zsh/complist
|
||||
compinit
|
||||
comp_options+=(globdots)
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||||
source ~/.zsh.d/*
|
||||
autoload -U colors && colors && setopt prompt_subst
|
||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=5"
|
||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=12"
|
||||
LIBCLANG_PATH=/usr/lib/llvm/20/lib64
|
||||
source ~/.zprofile
|
||||
PATH=$PATH:/home/coast/.spicetify
|
||||
|
||||
PROMPT="0 %n %1~ "
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/bin/zsh
|
||||
#history settings
|
||||
HISTFILE=$HOME/.cache/zsh/history
|
||||
SAVEHIST=100000000
|
||||
HISTSIZE=$SAVEHIST
|
||||
setopt appendhistory
|
||||
#completion
|
||||
autoload -U compinit
|
||||
zstyle ':completion:*' menu select
|
||||
zmodload zsh/complist
|
||||
compinit
|
||||
comp_options+=(globdots)
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||||
source /usr/share/zsh/site-functions/zsh-autosuggestions.zsh && fpath=(/usr/share/zsh/site-functions $fpath) && source /usr/share/zsh/site-functions/zsh-syntax-highlighting.zsh
|
||||
#colors & prompt
|
||||
autoload -U colors && colors && setopt prompt_subst
|
||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=5"
|
||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=12"
|
||||
#PROMPT="%F{9}[%f%F{9}!root%f%F{9}@%f%F{9}%m%f %F{2}%~%f%F{9}]%f: "
|
||||
#paths and environment
|
||||
fpath=(~/.zsh/completions $fpath)
|
||||
export PATH=$HOME/.local/bin:$PATH
|
||||
export EDITOR="emacs"
|
||||
export PATH=/usr/pkg/sbin:/usr/pkg/bin:$PATH
|
||||
export MANPATH=/usr/pkg/man:$MANPATH
|
||||
#aliases for root
|
||||
alias ..='echo "cd .."; cd ../'
|
||||
alias ls="ls --color=auto"
|
||||
grep --color=auto < /dev/null &>/dev/null && alias grep='grep --color=auto'
|
||||
bindkey -e
|
||||
#export PS1="%F{15}[%f%F{252}%B%n%b%f%F{15}@%f%F{15}%B%m%b%f%F{15}]%f%F{252}[%f%F{15}%B%~%b%f%F{252}]%f#%B%b "
|
||||
|
||||
export PS1="%F{1}[%B!%n@%m%b %F{2}%~%F{1}]%f: "
|
||||
@@ -0,0 +1,674 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
@@ -0,0 +1,21 @@
|
||||
## README - Coast's dotfiles
|
||||
|
||||
Most of these dotfiles are oldies — my newer ones live in my <u><a href="https://codeberg.org/coast/home-manager/">home-manager</a></u> configuration.
|
||||
If you want shiny, modern dotfiles, make sure you have <u><a href="https://nix-community.github.io/home-manager/">Nix Home Manager</a></u> installed, then run:
|
||||
*Make sure you have <u><a href="https://nixos.org/download/">Nix Package Manager</a></u> installed first!*
|
||||
|
||||
```bash
|
||||
cd ~/.config && mkdir home-manager
|
||||
git clone https://codeberg.org/coast/home-manager.git
|
||||
nix run home-manager -- init --switch .
|
||||
```
|
||||
|
||||
I think these commands will set up home-manager with my quirky configuration.
|
||||
But to be brutally honest, please don’t use mine — you deserve way better! :3 Like your own setup! Mine’s kinda ass. I love ass.
|
||||
|
||||
### Disclaimer
|
||||
*These dotfiles reflect my personal preferences and workflow. They might not be suitable for everyone and could require adjustments to fit your needs.*
|
||||
*They were set up how I learned how to set it up, you might not like how I've set up my program(s)' configuration files in this repository. I strongly recommend that you write your own configs.*
|
||||
*Feel free to fork, modify, or use parts of this configuration as an inspiration for your own setup.*
|
||||
|
||||
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
#66cccc // Soft Cyan
|
||||
#00cccc // Medium Cyan
|
||||
#00ffff // Bright Cyan
|
||||
#33aaaa // Teal Cyan
|
||||
#009999 // Deep Cyan
|
||||
#11a8cd // Aqua Glow
|
||||
#00e5e5 // Electric Cyan
|
||||
|
||||
|
||||
#a8dcee // sky cyan
|
||||
@@ -0,0 +1,16 @@
|
||||
[window]
|
||||
dimensions = { columns = 100, lines = 25 }
|
||||
dynamic_title = true
|
||||
[terminal.shell]
|
||||
program = "/usr/bin/zsh"
|
||||
[font]
|
||||
normal = { family = "JetBrains Mono Nerd Font", style = "Regular" }
|
||||
size = 13.0
|
||||
[cursor]
|
||||
style = { shape = "Underline", blinking = "Off" }
|
||||
[colors]
|
||||
primary = { background = "#121212", foreground = "#e0e0e0" }
|
||||
cursor = { cursor = "#e0e0e0", text = "#121212" }
|
||||
selection = { background = "#e0e0e0", text = "#121212" }
|
||||
normal = { black = "#121212", red = "#d32f2f", green = "#4caf50", yellow = "#ffeb3b", blue = "#2196f3", magenta = "#9c27b0", cyan = "#00bcd4", white = "#e0e0e0" }
|
||||
bright = { black = "#757575", red = "#f44336", green = "#8bc34a", yellow = "#ffc107", blue = "#3f51b5", magenta = "#673ab7", cyan = "#009688", white = "#ffffff" }
|
||||
Executable
+82
@@ -0,0 +1,82 @@
|
||||
#!/bin/sh
|
||||
# my bspwmrc
|
||||
|
||||
# desktops
|
||||
bspc monitor -d I II III IV V VI VII VIII IX X
|
||||
|
||||
# borders
|
||||
bspc config focused_border_color "#383838"
|
||||
bspc config normal_border_color "#282828"
|
||||
bspc config border_width 2
|
||||
|
||||
# layout
|
||||
bspc config window_gap 10
|
||||
bspc config split_ratio 0.5
|
||||
bspc config smart_gap true
|
||||
|
||||
# focus behavior
|
||||
bspc config focus_follows_pointer true
|
||||
bspc config click_to_focus false
|
||||
bspc config pointer_follows_monitor true
|
||||
|
||||
# monitor / window behavior
|
||||
bspc config remove_disabled_monitors true
|
||||
bspc config auto_cancel true
|
||||
bspc config auto_alternate true
|
||||
|
||||
# padding
|
||||
bspc config bottom_padding 0
|
||||
|
||||
|
||||
### {{{ find and stop processes
|
||||
|
||||
pidb() {
|
||||
pgrep -x "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
run() {
|
||||
proc="$1"
|
||||
cmd="$2"
|
||||
|
||||
if ! pidb "$proc"; then
|
||||
sh -c "$cmd" &
|
||||
fi
|
||||
}
|
||||
|
||||
### }}}
|
||||
|
||||
|
||||
### {{{ rerun/start processes
|
||||
|
||||
# piss
|
||||
run "piss" "piss"
|
||||
|
||||
# picom
|
||||
run "picom" "picom --backend glx"
|
||||
|
||||
# dunst
|
||||
run "dunst" "dunst"
|
||||
|
||||
# bspbar
|
||||
run "bspbar" "bspbar"
|
||||
|
||||
# polkit gnome
|
||||
run "polkit-gnome-authentication-agent-1" \
|
||||
"/usr/libexec/polkit-gnome-authentication-agent-1"
|
||||
|
||||
# xsettingsd
|
||||
run "xsettingsd" "xsettingsd"
|
||||
|
||||
# pulseaudio
|
||||
run "pulseaudio" "pulseaudio --start"
|
||||
|
||||
# pipewire
|
||||
run "pipewire" "pipewire"
|
||||
|
||||
# xtkhd
|
||||
run "xtkhd" "xtkhd"
|
||||
|
||||
xrandr --output eDP-1 --off
|
||||
hsetroot -center "$HOME/Downloads/wall4.png"
|
||||
|
||||
### }}}
|
||||
Executable
+254
@@ -0,0 +1,254 @@
|
||||
#? Config file for btop v. 1.4.3
|
||||
|
||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||
color_theme = "dracula"
|
||||
|
||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||
theme_background = False
|
||||
|
||||
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||
truecolor = True
|
||||
|
||||
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
||||
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||
force_tty = False
|
||||
|
||||
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||
#* Use whitespace " " as separator between different presets.
|
||||
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
||||
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
||||
|
||||
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
||||
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||
vim_keys = True
|
||||
|
||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||
rounded_corners = False
|
||||
|
||||
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
||||
#* "braille" offers the highest resolution but might not be included in all fonts.
|
||||
#* "block" has half the resolution of braille but uses more common characters.
|
||||
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
||||
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
||||
graph_symbol = "braille"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_cpu = "default"
|
||||
|
||||
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_gpu = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_mem = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_net = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_proc = "default"
|
||||
|
||||
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||
shown_boxes = "cpu mem net proc"
|
||||
|
||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||
update_ms = 2000
|
||||
|
||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||
proc_sorting = "cpu lazy"
|
||||
|
||||
#* Reverse sorting order, True or False.
|
||||
proc_reversed = False
|
||||
|
||||
#* Show processes as a tree.
|
||||
proc_tree = False
|
||||
|
||||
#* Use the cpu graph colors in the process list.
|
||||
proc_colors = True
|
||||
|
||||
#* Use a darkening gradient in the process list.
|
||||
proc_gradient = True
|
||||
|
||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||
proc_per_core = False
|
||||
|
||||
#* Show process memory as bytes instead of percent.
|
||||
proc_mem_bytes = True
|
||||
|
||||
#* Show cpu graph for each process.
|
||||
proc_cpu_graphs = True
|
||||
|
||||
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
||||
proc_info_smaps = False
|
||||
|
||||
#* Show proc box on left side of screen instead of right.
|
||||
proc_left = False
|
||||
|
||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||
proc_filter_kernel = False
|
||||
|
||||
#* In tree-view, always accumulate child process resources in the parent process.
|
||||
proc_aggregate = False
|
||||
|
||||
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
cpu_graph_upper = "Auto"
|
||||
|
||||
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
cpu_graph_lower = "Auto"
|
||||
|
||||
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
|
||||
show_gpu_info = "Auto"
|
||||
|
||||
#* Toggles if the lower CPU graph should be inverted.
|
||||
cpu_invert_lower = True
|
||||
|
||||
#* Set to True to completely disable the lower CPU graph.
|
||||
cpu_single_graph = False
|
||||
|
||||
#* Show cpu box at bottom of screen instead of top.
|
||||
cpu_bottom = False
|
||||
|
||||
#* Shows the system uptime in the CPU box.
|
||||
show_uptime = True
|
||||
|
||||
#* Show cpu temperature.
|
||||
check_temp = True
|
||||
|
||||
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
||||
cpu_sensor = "Auto"
|
||||
|
||||
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
||||
show_coretemp = True
|
||||
|
||||
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
||||
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
||||
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
||||
#* Example: "4:0 5:1 6:3"
|
||||
cpu_core_map = ""
|
||||
|
||||
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
||||
temp_scale = "celsius"
|
||||
|
||||
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||
base_10_sizes = False
|
||||
|
||||
#* Show CPU frequency.
|
||||
show_cpu_freq = True
|
||||
|
||||
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
||||
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
||||
clock_format = "%X"
|
||||
|
||||
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
||||
background_update = True
|
||||
|
||||
#* Custom cpu model name, empty string to disable.
|
||||
custom_cpu_name = ""
|
||||
|
||||
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
|
||||
disks_filter = ""
|
||||
|
||||
#* Show graphs instead of meters for memory values.
|
||||
mem_graphs = True
|
||||
|
||||
#* Show mem box below net box instead of above.
|
||||
mem_below_net = False
|
||||
|
||||
#* Count ZFS ARC in cached and available memory.
|
||||
zfs_arc_cached = True
|
||||
|
||||
#* If swap memory should be shown in memory box.
|
||||
show_swap = True
|
||||
|
||||
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
||||
swap_disk = True
|
||||
|
||||
#* If mem box should be split to also show disks info.
|
||||
show_disks = True
|
||||
|
||||
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||
only_physical = True
|
||||
|
||||
#* Read disks list from /etc/fstab. This also disables only_physical.
|
||||
use_fstab = True
|
||||
|
||||
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
||||
zfs_hide_datasets = False
|
||||
|
||||
#* Set to true to show available disk space for privileged users.
|
||||
disk_free_priv = False
|
||||
|
||||
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
||||
show_io_stat = True
|
||||
|
||||
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||
io_mode = False
|
||||
|
||||
#* Set to True to show combined read/write io graphs in io mode.
|
||||
io_graph_combined = False
|
||||
|
||||
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
||||
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||
io_graph_speeds = ""
|
||||
|
||||
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||
net_download = 100
|
||||
|
||||
net_upload = 100
|
||||
|
||||
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
||||
net_auto = True
|
||||
|
||||
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||
net_sync = True
|
||||
|
||||
#* Starts with the Network Interface specified here.
|
||||
net_iface = ""
|
||||
|
||||
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
|
||||
base_10_bitrate = "Auto"
|
||||
|
||||
#* Show battery stats in top right if battery is present.
|
||||
show_battery = True
|
||||
|
||||
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||
selected_battery = "Auto"
|
||||
|
||||
#* Show power stats of battery next to charge indicator.
|
||||
show_battery_watts = True
|
||||
|
||||
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||
log_level = "WARNING"
|
||||
|
||||
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
||||
nvml_measure_pcie_speeds = True
|
||||
|
||||
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
|
||||
rsmi_measure_pcie_speeds = True
|
||||
|
||||
#* Horizontally mirror the GPU graph.
|
||||
gpu_mirror_graph = True
|
||||
|
||||
#* Custom gpu0 model name, empty string to disable.
|
||||
custom_gpu_name0 = ""
|
||||
|
||||
#* Custom gpu1 model name, empty string to disable.
|
||||
custom_gpu_name1 = ""
|
||||
|
||||
#* Custom gpu2 model name, empty string to disable.
|
||||
custom_gpu_name2 = ""
|
||||
|
||||
#* Custom gpu3 model name, empty string to disable.
|
||||
custom_gpu_name3 = ""
|
||||
|
||||
#* Custom gpu4 model name, empty string to disable.
|
||||
custom_gpu_name4 = ""
|
||||
|
||||
#* Custom gpu5 model name, empty string to disable.
|
||||
custom_gpu_name5 = ""
|
||||
Executable
+89
@@ -0,0 +1,89 @@
|
||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||
theme[main_bg]=""
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#f8e8ec"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#f8e8ec"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#ff8aa0"
|
||||
|
||||
# Background color of selected item in processes box
|
||||
theme[selected_bg]="#7b3949"
|
||||
|
||||
# Foreground color of selected item in processes box
|
||||
theme[selected_fg]="#f8e8ec"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#a56a79"
|
||||
|
||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||
theme[graph_text]="#c67090"
|
||||
|
||||
# Background color of the percentage meters
|
||||
theme[meter_bg]="#a65c6c"
|
||||
|
||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||
theme[proc_misc]="#ff8aa0"
|
||||
|
||||
# Cpu box outline color
|
||||
theme[cpu_box]="#d77189"
|
||||
|
||||
# Memory/disks box outline color
|
||||
theme[mem_box]="#d77189"
|
||||
|
||||
# Net up/down box outline color
|
||||
theme[net_box]="#d77189"
|
||||
|
||||
# Processes box outline color
|
||||
theme[proc_box]="#d77189"
|
||||
|
||||
# Box divider line and small boxes line color
|
||||
theme[div_line]="#6f3b4a"
|
||||
|
||||
# Temperature graph colors
|
||||
theme[temp_start]="#ff8aa0"
|
||||
theme[temp_mid]="#d77189"
|
||||
theme[temp_end]="#a65c6c"
|
||||
|
||||
# CPU graph colors
|
||||
theme[cpu_start]="#ff8aa0"
|
||||
theme[cpu_mid]="#d77189"
|
||||
theme[cpu_end]="#a65c6c"
|
||||
|
||||
# Mem/Disk free meter
|
||||
theme[free_start]="#ff8aa0"
|
||||
theme[free_mid]="#d77189"
|
||||
theme[free_end]="#a65c6c"
|
||||
|
||||
# Mem/Disk cached meter
|
||||
theme[cached_start]="#ff8aa0"
|
||||
theme[cached_mid]="#d77189"
|
||||
theme[cached_end]="#a65c6c"
|
||||
|
||||
# Mem/Disk available meter
|
||||
theme[available_start]="#ff8aa0"
|
||||
theme[available_mid]="#d77189"
|
||||
theme[available_end]="#a65c6c"
|
||||
|
||||
# Mem/Disk used meter
|
||||
theme[used_start]="#ff8aa0"
|
||||
theme[used_mid]="#d77189"
|
||||
theme[used_end]="#a65c6c"
|
||||
|
||||
# Download graph colors
|
||||
theme[download_start]="#ff8aa0"
|
||||
theme[download_mid]="#d77189"
|
||||
theme[download_end]="#a65c6c"
|
||||
|
||||
# Upload graph colors
|
||||
theme[upload_start]="#f19bb4"
|
||||
theme[upload_mid]="#d77189"
|
||||
theme[upload_end]="#a65c6c"
|
||||
|
||||
# Process box color gradient for threads, mem and cpu usage
|
||||
theme[process_start]="#ff8aa0"
|
||||
theme[process_mid]="#d77189"
|
||||
theme[process_end]="#c67090"
|
||||
Executable
+89
@@ -0,0 +1,89 @@
|
||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||
theme[main_bg]="#282a36"
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#f8f8f2"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#f8f8f2"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#6272a4"
|
||||
|
||||
# Background color of selected item in processes box
|
||||
theme[selected_bg]="#ff79c6"
|
||||
|
||||
# Foreground color of selected item in processes box
|
||||
theme[selected_fg]="#f8f8f2"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#44475a"
|
||||
|
||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||
theme[graph_text]="#f8f8f2"
|
||||
|
||||
# Background color of the percentage meters
|
||||
theme[meter_bg]="#44475a"
|
||||
|
||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||
theme[proc_misc]="#bd93f9"
|
||||
|
||||
# Cpu box outline color
|
||||
theme[cpu_box]="#bd93f9"
|
||||
|
||||
# Memory/disks box outline color
|
||||
theme[mem_box]="#50fa7b"
|
||||
|
||||
# Net up/down box outline color
|
||||
theme[net_box]="#ff5555"
|
||||
|
||||
# Processes box outline color
|
||||
theme[proc_box]="#8be9fd"
|
||||
|
||||
# Box divider line and small boxes line color
|
||||
theme[div_line]="#44475a"
|
||||
|
||||
# Temperature graph colors
|
||||
theme[temp_start]="#bd93f9"
|
||||
theme[temp_mid]="#ff79c6"
|
||||
theme[temp_end]="#ff33a8"
|
||||
|
||||
# CPU graph colors
|
||||
theme[cpu_start]="#bd93f9"
|
||||
theme[cpu_mid]="#8be9fd"
|
||||
theme[cpu_end]="#50fa7b"
|
||||
|
||||
# Mem/Disk free meter
|
||||
theme[free_start]="#ffa6d9"
|
||||
theme[free_mid]="#ff79c6"
|
||||
theme[free_end]="#ff33a8"
|
||||
|
||||
# Mem/Disk cached meter
|
||||
theme[cached_start]="#b1f0fd"
|
||||
theme[cached_mid]="#8be9fd"
|
||||
theme[cached_end]="#26d7fd"
|
||||
|
||||
# Mem/Disk available meter
|
||||
theme[available_start]="#ffd4a6"
|
||||
theme[available_mid]="#ffb86c"
|
||||
theme[available_end]="#ff9c33"
|
||||
|
||||
# Mem/Disk used meter
|
||||
theme[used_start]="#96faaf"
|
||||
theme[used_mid]="#50fa7b"
|
||||
theme[used_end]="#0dfa49"
|
||||
|
||||
# Download graph colors
|
||||
theme[download_start]="#bd93f9"
|
||||
theme[download_mid]="#50fa7b"
|
||||
theme[download_end]="#8be9fd"
|
||||
|
||||
# Upload graph colors
|
||||
theme[upload_start]="#8c42ab"
|
||||
theme[upload_mid]="#ff79c6"
|
||||
theme[upload_end]="#ff33a8"
|
||||
|
||||
# Process box color gradient for threads, mem and cpu usage
|
||||
theme[process_start]="#50fa7b"
|
||||
theme[process_mid]="#59b690"
|
||||
theme[process_end]="#6272a4"
|
||||
Executable
+92
@@ -0,0 +1,92 @@
|
||||
#Bashtop gruvbox (https://github.com/morhetz/gruvbox) theme
|
||||
#by BachoSeven
|
||||
|
||||
# Colors should be in 6 or 2 character hexadecimal or single spaced rgb decimal: "#RRGGBB", "#BW" or "0-255 0-255 0-255"
|
||||
# example for white: "#FFFFFF", "#ff" or "255 255 255".
|
||||
|
||||
# All graphs and meters can be gradients
|
||||
# For single color graphs leave "mid" and "end" variable empty.
|
||||
# Use "start" and "end" variables for two color gradient
|
||||
# Use "start", "mid" and "end" for three color gradient
|
||||
|
||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||
theme[main_bg]="#1d2021"
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#a89984"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#ebdbb2"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#d79921"
|
||||
|
||||
# Background color of selected items
|
||||
theme[selected_bg]="#282828"
|
||||
|
||||
# Foreground color of selected items
|
||||
theme[selected_fg]="#fabd2f"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#282828"
|
||||
|
||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||
theme[graph_text]="#585858"
|
||||
|
||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||
theme[proc_misc]="#98971a"
|
||||
|
||||
# Cpu box outline color
|
||||
theme[cpu_box]="#a89984"
|
||||
|
||||
# Memory/disks box outline color
|
||||
theme[mem_box]="#a89984"
|
||||
|
||||
# Net up/down box outline color
|
||||
theme[net_box]="#a89984"
|
||||
|
||||
# Processes box outline color
|
||||
theme[proc_box]="#a89984"
|
||||
|
||||
# Box divider line and small boxes line color
|
||||
theme[div_line]="#a89984"
|
||||
|
||||
# Temperature graph colors
|
||||
theme[temp_start]="#458588"
|
||||
theme[temp_mid]="#d3869b"
|
||||
theme[temp_end]="#fb4394"
|
||||
|
||||
# CPU graph colors
|
||||
theme[cpu_start]="#b8bb26"
|
||||
theme[cpu_mid]="#d79921"
|
||||
theme[cpu_end]="#fb4934"
|
||||
|
||||
# Mem/Disk free meter
|
||||
theme[free_start]="#4e5900"
|
||||
theme[free_mid]=""
|
||||
theme[free_end]="#98971a"
|
||||
|
||||
# Mem/Disk cached meter
|
||||
theme[cached_start]="#458588"
|
||||
theme[cached_mid]=""
|
||||
theme[cached_end]="#83a598"
|
||||
|
||||
# Mem/Disk available meter
|
||||
theme[available_start]="#d79921"
|
||||
theme[available_mid]=""
|
||||
theme[available_end]="#fabd2f"
|
||||
|
||||
# Mem/Disk used meter
|
||||
theme[used_start]="#cc241d"
|
||||
theme[used_mid]=""
|
||||
theme[used_end]="#fb4934"
|
||||
|
||||
# Download graph colors
|
||||
theme[download_start]="#3d4070"
|
||||
theme[download_mid]="#6c71c4"
|
||||
theme[download_end]="#a3a8f7"
|
||||
|
||||
# Upload graph colors
|
||||
theme[upload_start]="#701c45"
|
||||
theme[upload_mid]="#b16286"
|
||||
theme[upload_end]="#d3869b"
|
||||
Executable
+92
@@ -0,0 +1,92 @@
|
||||
#Bashtop Kyli0x Theme
|
||||
#by Kyli0x <kyli0x@protonmail.ch>
|
||||
|
||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||
theme[main_bg]="#222222"
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#e8f6f5"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#e8f6f5"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#21d6c9"
|
||||
|
||||
# Background color of selected item in processes box
|
||||
theme[selected_bg]="#1aaba0"
|
||||
|
||||
# Foreground color of selected item in processes box
|
||||
theme[selected_fg]="#e8f6f5"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#5ec4bc"
|
||||
|
||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||
theme[graph_text]="#ba1a84"
|
||||
|
||||
# Background color of the percentage meters
|
||||
theme[meter_bg]="#5ec4bc"
|
||||
|
||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||
theme[proc_misc]="#21d6c9"
|
||||
|
||||
# Cpu box outline color
|
||||
theme[cpu_box]="#d486d4"
|
||||
|
||||
# Memory/disks box outline color
|
||||
theme[mem_box]="#d486d4"
|
||||
|
||||
# Net up/down box outline color
|
||||
theme[net_box]="#d486d4"
|
||||
|
||||
# Processes box outline color
|
||||
theme[proc_box]="#d486d4"
|
||||
|
||||
# Box divider line and small boxes line color
|
||||
theme[div_line]="#80638e"
|
||||
|
||||
# Temperature graph colors
|
||||
theme[temp_start]="#21d6c9"
|
||||
theme[temp_mid]="#1aaba0"
|
||||
theme[temp_end]="#5ec4bc"
|
||||
|
||||
# CPU graph colors
|
||||
theme[cpu_start]="#21d6c9"
|
||||
theme[cpu_mid]="#1aaba0"
|
||||
theme[cpu_end]="#5ec4bc"
|
||||
|
||||
# Mem/Disk free meter
|
||||
theme[free_start]="#21d6c9"
|
||||
theme[free_mid]="#1aaba0"
|
||||
theme[free_end]="#5ec4bc"
|
||||
|
||||
# Mem/Disk cached meter
|
||||
theme[cached_start]="#21d6c9"
|
||||
theme[cached_mid]="#1aaba0"
|
||||
theme[cached_end]="#5ec4bc"
|
||||
|
||||
# Mem/Disk available meter
|
||||
theme[available_start]="#21d6c9"
|
||||
theme[available_mid]="#1aaba0"
|
||||
theme[available_end]="#5ec4bc"
|
||||
|
||||
# Mem/Disk used meter
|
||||
theme[used_start]="#21d6c9"
|
||||
theme[used_mid]="#1aaba0"
|
||||
theme[used_end]="#5ec4bc"
|
||||
|
||||
# Download graph colors
|
||||
theme[download_start]="#21d6c9"
|
||||
theme[download_mid]="#1aaba0"
|
||||
theme[download_end]="#5ec4bc"
|
||||
|
||||
# Upload graph colors
|
||||
theme[upload_start]="#ec95ec"
|
||||
theme[upload_mid]="#1aaba0"
|
||||
theme[upload_end]="#5ec4bc"
|
||||
|
||||
# Process box color gradient for threads, mem and cpu usage
|
||||
theme[process_start]="#21d6c9"
|
||||
theme[process_mid]="#1aaba0"
|
||||
theme[process_end]="#ba1a84"
|
||||
Executable
+48
@@ -0,0 +1,48 @@
|
||||
[global]
|
||||
# Basic settings
|
||||
font = Fira Code 10
|
||||
geometry = "300x100-10+55" # 10px from right edge, 55px from top
|
||||
separator_height = 2
|
||||
frame_width = 4
|
||||
#corner_radius = 8
|
||||
grow_direction = up
|
||||
|
||||
[urgency_low]
|
||||
background = "#222222" # normbgcolor
|
||||
foreground = "#bbbbbb" # normfgcolor
|
||||
frame_color = "#444444" # normbordercolor
|
||||
timeout = 5
|
||||
icon_position = left
|
||||
|
||||
[urgency_normal]
|
||||
background = "#722F37" # selbgcolor wine red yay!
|
||||
foreground = "#eeeeee" # selfgcolor bright text
|
||||
frame_color = "#722F37" # selbordercolor same wine red frame
|
||||
timeout = 8
|
||||
icon_position = left
|
||||
|
||||
[urgency_critical]
|
||||
background = "#7B2D33" # slightly brighter wine red for critical
|
||||
foreground = "#eeeeee"
|
||||
frame_color = "#7B2D33"
|
||||
timeout = 0 # stays until dismissed
|
||||
icon_position = left
|
||||
|
||||
[frame]
|
||||
# subtle shadow for modern look
|
||||
shadow = false
|
||||
shadow_offset_x = -5
|
||||
shadow_offset_y = -5
|
||||
#shadow_radius = 12
|
||||
shadow_opacity = 0.7
|
||||
shadow_color = "#000000"
|
||||
|
||||
[format]
|
||||
# tweak layout to be modern and clean
|
||||
title = "%s"
|
||||
body = "%s"
|
||||
|
||||
[mouse]
|
||||
# allow click to close
|
||||
close_on_click = true
|
||||
|
||||
Executable
+48
@@ -0,0 +1,48 @@
|
||||
[global]
|
||||
# Basic settings
|
||||
font = Fira Code 10
|
||||
geometry = "300x100-10+55" # 10px from right edge, 55px from top
|
||||
separator_height = 2
|
||||
frame_width = 4
|
||||
#corner_radius = 8
|
||||
grow_direction = up
|
||||
|
||||
[urgency_low]
|
||||
background = "#222222" # normbgcolor
|
||||
foreground = "#bbbbbb" # normfgcolor
|
||||
frame_color = "#444444" # normbordercolor
|
||||
timeout = 5
|
||||
icon_position = left
|
||||
|
||||
[urgency_normal]
|
||||
background = "#DB940A" # selbgcolor wine red yay!
|
||||
foreground = "#222222" # selfgcolor bright text
|
||||
frame_color = "#DB940A" # selbordercolor same wine red frame
|
||||
timeout = 8
|
||||
icon_position = left
|
||||
|
||||
[urgency_critical]
|
||||
background = "#DB940A" # slightly brighter wine red for critical
|
||||
foreground = "#eeeeee"
|
||||
frame_color = "#DB940A"
|
||||
timeout = 0 # stays until dismissed
|
||||
icon_position = left
|
||||
|
||||
[frame]
|
||||
# subtle shadow for modern look
|
||||
shadow = false
|
||||
shadow_offset_x = -5
|
||||
shadow_offset_y = -5
|
||||
#shadow_radius = 12
|
||||
shadow_opacity = 0.7
|
||||
shadow_color = "#000000"
|
||||
|
||||
[format]
|
||||
# tweak layout to be modern and clean
|
||||
title = "%s"
|
||||
body = "%s"
|
||||
|
||||
[mouse]
|
||||
# allow click to close
|
||||
close_on_click = true
|
||||
|
||||
Executable
+48
@@ -0,0 +1,48 @@
|
||||
[global]
|
||||
# Basic settings
|
||||
font = Fira Code 10
|
||||
geometry = "300x100-10+55" # 10px from right edge, 55px from top
|
||||
separator_height = 2
|
||||
frame_width = 4
|
||||
#corner_radius = 8
|
||||
grow_direction = up
|
||||
|
||||
[urgency_low]
|
||||
background = "#222222" # normbgcolor
|
||||
foreground = "#bbbbbb" # normfgcolor
|
||||
frame_color = "#444444" # normbordercolor
|
||||
timeout = 5
|
||||
icon_position = left
|
||||
|
||||
[urgency_normal]
|
||||
background = "#DB940A" # selbgcolor wine red yay!
|
||||
foreground = "#eeeeee" # selfgcolor bright text
|
||||
frame_color = "#DB940A" # selbordercolor same wine red frame
|
||||
timeout = 8
|
||||
icon_position = left
|
||||
|
||||
[urgency_critical]
|
||||
background = "#DB940A" # slightly brighter wine red for critical
|
||||
foreground = "#eeeeee"
|
||||
frame_color = "#DB940A"
|
||||
timeout = 0 # stays until dismissed
|
||||
icon_position = left
|
||||
|
||||
[frame]
|
||||
# subtle shadow for modern look
|
||||
shadow = false
|
||||
shadow_offset_x = -5
|
||||
shadow_offset_y = -5
|
||||
#shadow_radius = 12
|
||||
shadow_opacity = 0.7
|
||||
shadow_color = "#000000"
|
||||
|
||||
[format]
|
||||
# tweak layout to be modern and clean
|
||||
title = "%s"
|
||||
body = "%s"
|
||||
|
||||
[mouse]
|
||||
# allow click to close
|
||||
close_on_click = true
|
||||
|
||||
Executable
+63
@@ -0,0 +1,63 @@
|
||||
* {
|
||||
all: unset;
|
||||
background: transparent;
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
$bg: #111111;
|
||||
$bg1: #111111;
|
||||
$bg2: #26233a;
|
||||
$fg: #ebbcba;
|
||||
$fgdim: #6e6a86;
|
||||
$accent: #9ccfd8;
|
||||
$border: #ebbcba;
|
||||
|
||||
.container {
|
||||
background-color: $bg1;
|
||||
border: 1px solid $border;
|
||||
color: $fg;
|
||||
border-radius: 10px;
|
||||
padding: 6px;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.button-label, .label {
|
||||
font-size: 24px;
|
||||
font-weight: bold;
|
||||
color: $fg;
|
||||
}
|
||||
|
||||
.completelytrans {
|
||||
background: none;
|
||||
}
|
||||
|
||||
.calendar-label {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: $fg;
|
||||
}
|
||||
|
||||
window {
|
||||
all: unset;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
calendar, calendar.view, calendar.header {
|
||||
all: unset;
|
||||
background-color: $bg;
|
||||
color: $fgdim;
|
||||
font-size: 18px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
calendar:indeterminate {
|
||||
color: #665c54;
|
||||
}
|
||||
|
||||
calendar:selected {
|
||||
background-color: $bg2;
|
||||
border: 1px solid $accent;
|
||||
color: $fg;
|
||||
border-radius: 4px;
|
||||
}
|
||||
Executable
+58
@@ -0,0 +1,58 @@
|
||||
(include "eww_widgets.yuck")
|
||||
|
||||
(defwindow calendar
|
||||
:monitor 'HDMI-A-1'
|
||||
:stacking "fg"
|
||||
:geometry (geometry :x "1600" :y "810" :width "320" :height "250" :anchor "top right")
|
||||
(calendar))
|
||||
|
||||
(defwindow year
|
||||
:monitor 'HDMI-A-1'
|
||||
:stacking "bg"
|
||||
:geometry (geometry :x "15" :y "15" :width "100" :height "100" :anchor "top right")
|
||||
(year))
|
||||
|
||||
(defwindow month
|
||||
:monitor 'HDMI-A-1'
|
||||
:stacking "bg"
|
||||
:geometry (geometry :x "15" :y "125" :width "100" :height "100" :anchor "top right")
|
||||
(month))
|
||||
|
||||
(defwindow day
|
||||
:monitor 'HDMI-A-1'
|
||||
:stacking "bg"
|
||||
:geometry (geometry :x "15" :y "235" :width "100" :height "100" :anchor "top right")
|
||||
(day))
|
||||
|
||||
(defwindow daytype
|
||||
:monitor 'HDMI-A-1'
|
||||
:stacking "bg"
|
||||
:geometry (geometry :x "1805" :y "345" :width "100" :height "100" :achor "top right")
|
||||
(daytype))
|
||||
|
||||
(defwindow gif1
|
||||
:monitor 'HDMI-A-1'
|
||||
:windowtype "dock"
|
||||
:stacking "bg"
|
||||
:namespace "eww"
|
||||
:geometry (geometry
|
||||
:x "30px"
|
||||
:y "30px"
|
||||
:width "70px"
|
||||
:height "70px"
|
||||
:anchor "bottom right")
|
||||
(gif1))
|
||||
|
||||
(defwindow gif2
|
||||
:monitor 'HDMI-A-1'
|
||||
:windowtype "dock"
|
||||
:stacking "bg"
|
||||
:namespace "eww"
|
||||
:geometry (geometry
|
||||
:x "30px"
|
||||
:y "250px"
|
||||
:width "70px"
|
||||
:height "70px"
|
||||
:anchor "bottom right")
|
||||
(gif2))
|
||||
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
(defpoll DAY :interval "1s" '~/.config/eww/scripts/day_format.sh')
|
||||
(defpoll MONTH :interval "1s" '~/.config/eww/scripts/month_format.sh')
|
||||
(defpoll YEAR :interval "1s" '~/.config/eww/scripts/year_format.sh')
|
||||
(defpoll DAYTYPE :interval "1s" '~/.config/eww/scripts/daytype.sh')
|
||||
Executable
+21
@@ -0,0 +1,21 @@
|
||||
(include "eww_vars.yuck")
|
||||
|
||||
(defwidget day []
|
||||
(box :height "100" :width "100" :halign "center" :valign "center" :class "container"
|
||||
(label :class "label" :text DAY)))
|
||||
(defwidget month []
|
||||
(box :height "100" :width "100" :halign "center" :valign "center" :class "container"
|
||||
(label :class "label" :text MONTH)))
|
||||
(defwidget year []
|
||||
(box :height "100" :width "100" :halign "center" :valign "center" :class "container"
|
||||
(label :class "label" :text YEAR)))
|
||||
(defwidget daytype []
|
||||
(box :height "100" :width "100" :halign "center" :valign "center" :class "container"
|
||||
(label :class "label" :text DAYTYPE)))
|
||||
(defwidget gif1 []
|
||||
(box :halign "center" :valign "center" :class "container"
|
||||
(image :path 'images/gif1.gif')))
|
||||
|
||||
(defwidget gif2 []
|
||||
(box :halign "center" :valign "center" :class "container"
|
||||
(image :path 'images/gif2.gif')))
|
||||
Executable
BIN
Binary file not shown.
|
After Width: | Height: | Size: 165 KiB |
Executable
BIN
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
Executable
+2
@@ -0,0 +1,2 @@
|
||||
#!bash
|
||||
cal -m
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
day_of_month=$(date +"%d")
|
||||
day_of_month=$(echo $day_of_month | sed 's/^0*//')
|
||||
if [[ $day_of_month -ge 11 && $day_of_month -le 13 ]]; then
|
||||
suffix="th"
|
||||
else
|
||||
case $((day_of_month % 10)) in
|
||||
1) suffix="st" ;;
|
||||
2) suffix="nd" ;;
|
||||
3) suffix="rd" ;;
|
||||
*) suffix="th" ;;
|
||||
esac
|
||||
fi
|
||||
echo "${day_of_month}${suffix}"
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
day_type=$(date +"%a")
|
||||
echo "$day_type"
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
month=$(date +"%b")
|
||||
echo "$month"
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Reload/Open eww
|
||||
eww kill
|
||||
eww daemon
|
||||
|
||||
eww open year
|
||||
eww open month
|
||||
eww open day
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
year=$(date +"%Y")
|
||||
echo "$year"
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
/nix/store/ya9248ng717qf0ncbn6sbs9bai66g5xn-home-manager-files/.config/foot/foot.ini
|
||||
Executable
+40
@@ -0,0 +1,40 @@
|
||||
font=Maple Mono:size=14
|
||||
pad=4x4
|
||||
|
||||
[colors]
|
||||
alpha=1.0
|
||||
background=111111
|
||||
|
||||
[colors]
|
||||
foreground=cdd6f4
|
||||
background=1e1e2e
|
||||
|
||||
regular0=45475a
|
||||
regular1=f38ba8
|
||||
regular2=a6e3a1
|
||||
regular3=f9e2af
|
||||
regular4=89b4fa
|
||||
regular5=f5c2e7
|
||||
regular6=94e2d5
|
||||
regular7=bac2de
|
||||
|
||||
bright0=585b70
|
||||
bright1=f38ba8
|
||||
bright2=a6e3a1
|
||||
bright3=f9e2af
|
||||
bright4=89b4fa
|
||||
bright5=f5c2e7
|
||||
bright6=94e2d5
|
||||
bright7=a6adc8
|
||||
|
||||
16=fab387
|
||||
17=f5e0dc
|
||||
|
||||
selection-foreground=cdd6f4
|
||||
selection-background=414356
|
||||
|
||||
search-box-no-match=11111b f38ba8
|
||||
search-box-match=cdd6f4 313244
|
||||
|
||||
jump-labels=11111b fab387
|
||||
urls=89b4fa
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
flakes are auto-generated by nix
|
||||
|
||||
|
||||
by the way; these are for my machine :3 they're poorly written i just wanted to save them somewhere
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"nodes": {
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748227609,
|
||||
"narHash": "sha256-SaSdslyo6UGDpPUlmrPA4dWOEuxCy2ihRN9K6BnqYsA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "d23d20f55d49d8818ac1f1b2783671e8a6725022",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1748190013,
|
||||
"narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "62b852f6c6742134ade1abdd2a21685fd617a291",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-unstable",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
{
|
||||
description = "Home Manager configuration of avery";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
{ nixpkgs, home-manager, ... }:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in
|
||||
{
|
||||
homeConfigurations."avery" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
modules = [ ./home.nix ];
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
Executable
+195
@@ -0,0 +1,195 @@
|
||||
# _ _
|
||||
#| |__ ___ _ __ ___ ___ _ __ (_)_ __
|
||||
#| '_ \ / _ \| '_ ` _ \ / _ \ | '_ \| \ \/ /
|
||||
#| | | | (_) | | | | | | __/_| | | | |> <
|
||||
#|_| |_|\___/|_| |_| |_|\___(_)_| |_|_/_/\_\
|
||||
#Coast's ~/.config/home-manager/home.nix
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
home.username = "avery";
|
||||
home.homeDirectory = "/home/avery";
|
||||
home.stateVersion = "25.05";
|
||||
home.packages = with pkgs; [
|
||||
bat cowsay bat cmatrix bat cava cbonsai bat ksh bat tree hyfetch qutebrowser xonsh elvish openjdk btop htop cpufetch lm_sensors dysk dogdns ];
|
||||
home.file = {
|
||||
};
|
||||
home.sessionVariables = {
|
||||
EDITOR = "emacs";
|
||||
BROWSER = "brave";
|
||||
};
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
};
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
initExtra = ''
|
||||
if [ "$(id -u)" = 0 ]; then PS1ICON='#'; else PS1ICON='$'; fi
|
||||
PS1='\[\e[38;2;254;128;25m\][\[\e[38;2;235;219;178m\]\u\[\e[38;2;200;200;200m\]@\[\e[38;2;131;165;152m\]coast \[\e[38;2;235;219;178m\]\w\[\e[38;2;254;128;25m\]]'"$PS1ICON"'\[\e[0m\] '
|
||||
source "$HOME/.config/shell/aliases"
|
||||
source "$HOME/.config/shell/exports"
|
||||
'';
|
||||
};
|
||||
home.file.".config/bat/config".text = ''
|
||||
--theme="Nord"
|
||||
--style="numbers,changes,grid"
|
||||
--paging=auto
|
||||
'';
|
||||
#vim conf
|
||||
home.file.".vimrc".text = ''
|
||||
set number
|
||||
set shiftwidth=4
|
||||
set tabstop=4
|
||||
set wrap
|
||||
set cursorline
|
||||
set linebreak
|
||||
set termguicolors
|
||||
syntax on
|
||||
filetype plugin indent on
|
||||
set ignorecase
|
||||
set smartcase
|
||||
set hlsearch
|
||||
set incsearch
|
||||
set autoindent
|
||||
set expandtab
|
||||
map <F^> :setlocal spell! spelllang=en_us<CR>
|
||||
nnoremap <C-n> :NERDTreeToggle<CR>
|
||||
call plug#begin('~/.vim/plugged')
|
||||
Plug 'tpope/vim-sensible'
|
||||
Plug 'preservim/nerdtree'
|
||||
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
|
||||
Plug 'junegunn/fzf.vim'
|
||||
Plug 'vim-airline/vim-airline'
|
||||
Plug 'vim-airline/vim-airline-themes'
|
||||
call plug#end()
|
||||
set background=dark
|
||||
'';
|
||||
home.file.".config/shell/exports".text = ''
|
||||
export PATH=$HOME/.local/bin:$PATH
|
||||
export PATH=$HOME/.luarocks/bin:$PATH
|
||||
if [ -n "$ZSH_VERSION" ]; then
|
||||
export ZSH="/home/avery/.oh-my-zsh"
|
||||
fi
|
||||
export NIXPKGS_ALLOW_UNFREE=1
|
||||
export EDITOR="emacs"
|
||||
'';
|
||||
home.file.".config/shell/aliases".text = ''
|
||||
#!/bin/sh
|
||||
#general aliases
|
||||
alias xi="doas xbps-install -S $1"
|
||||
alias nf="clear && fastfetch"
|
||||
alias ascdis="fastfetch --logo $1"
|
||||
alias forge="su forgejo"
|
||||
alias emoji="cat ~/.local/share/emoji | grep $1"
|
||||
alias cst="emacs ~/.suckless/st/config.h"
|
||||
alias las="ls"
|
||||
alias lasa="ls -a"
|
||||
alias lasal="ls -al"
|
||||
alias anal="ls -ahl"
|
||||
alias resmacs="systemctl --user restart emacsd"
|
||||
alias smi="nvidia-smi"
|
||||
alias src="source ~/.zshrc"
|
||||
alias bat="sb-battery"
|
||||
alias battery="sb-battery"
|
||||
alias vimrc="vim .vimrc"
|
||||
alias ri="ranger"
|
||||
alias rim="ranger"
|
||||
alias quit="exit"
|
||||
alias :q="exit"
|
||||
alias :q!="exit"
|
||||
alias :Q="exit"
|
||||
alias :Q!="exit"
|
||||
alias :quit="exit"
|
||||
alias :quit!="exit"
|
||||
alias :QUIT="exit"
|
||||
alias :QUIT!="exit"
|
||||
alias q="exit"
|
||||
alias fnl="fennel"
|
||||
alias "push"="git push -u origin main"
|
||||
alias irc="irssi"
|
||||
alias hsw="home-manager switch --flake ~/.config/home-manager"
|
||||
alias hsc="emacs ~/.config/home-manager/home.nix"
|
||||
alias yell="echo"
|
||||
alias chm="ecop cat ~/.config/home-manager/home.nix"
|
||||
if [ -n "$ZSH_VERSION" ]; then
|
||||
alias ed="ed -p '%: '"
|
||||
else
|
||||
alias ed="ed -p '$: '"
|
||||
fi
|
||||
alias weather="curl wttr.in/masjedsoleyman"
|
||||
#typo/shortcut
|
||||
alias c="clear"
|
||||
alias cear="clear"
|
||||
alias "cd.."="cd .."
|
||||
alias claer="clear"
|
||||
alias claer="clear"
|
||||
alias clare="clear"
|
||||
alias cleae="clear"
|
||||
alias clera="clear"
|
||||
alias hotp="htop"
|
||||
'';
|
||||
home.file.".zshrc".text = ''
|
||||
#!/usr/bin/zsh
|
||||
HISTFILE=$HOME/.cache/zsh/history
|
||||
SAVEHIST=100000000
|
||||
HISTSIZE=$SAVEHIST
|
||||
setopt appendhistory
|
||||
#tab completion
|
||||
autoload -U compinit
|
||||
zstyle ':completion:*' menu select
|
||||
zmodload zsh/complist
|
||||
compinit
|
||||
_comp_options+=(globdots)
|
||||
#oh my zsh
|
||||
ZSH_THEME="gentoo"
|
||||
plugins=(git)
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
#eval
|
||||
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
||||
#source
|
||||
source "$HOME/.config/shell/aliases"
|
||||
source "$HOME/.config/shell/exports"
|
||||
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||
fpath=(/usr/share/zsh/site-functions $fpath)
|
||||
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||
#colors
|
||||
autoload -U colors && colors
|
||||
setopt prompt_subst
|
||||
#prompt
|
||||
[ "$(id -u)" = 0 ] && PS1ICON="#" || PS1ICON='%'
|
||||
PROMPT='%{$(echo -e "\e[38;2;254;128;25m")%}[%{$(echo -e "\e[38;2;235;219;178m")%}%n%{$(echo -e "\e[38;2;200;200;200m")%}@%{$(echo -e "\e[38;2;131;165;152m")%}coast %{$(echo -e "\e[38;2;235;219;178m")%}%~%{$(echo -e "\e[38;2;254;128;25m")%}]%$PS1ICON%{$(echo -e "\e[0m")%} '
|
||||
'';
|
||||
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
window = {
|
||||
padding = {
|
||||
x = 4;
|
||||
y = 4;
|
||||
};
|
||||
decorations = "transparent";
|
||||
blur = true;
|
||||
opacity = 0.9;
|
||||
};
|
||||
font = {
|
||||
normal = {
|
||||
family = "monospace";
|
||||
};
|
||||
size = 9;
|
||||
};
|
||||
colors = {
|
||||
# primary = {
|
||||
# background = "0x1e1e2e";
|
||||
# foreground = "0xcdd6f4";
|
||||
# };
|
||||
cursor = {
|
||||
text = "0x1e1e2e";
|
||||
cursor = "0xcdd6f4";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
general {
|
||||
lock_cmd = pidof hyprlock || hyprlock
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 300
|
||||
on-timeout = hyprlock
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 600
|
||||
on-timeout = hyprctl dispatch dpms off
|
||||
on-resume = hyprctl dispatch dpms on
|
||||
}
|
||||
Executable
+217
@@ -0,0 +1,217 @@
|
||||
#monitor=DP-1,1920x1080@75,auto,1
|
||||
monitor=HDMI-A-1,1920x1080@100.00,auto,1
|
||||
|
||||
hide_on_fullscreen = true
|
||||
|
||||
$terminal = footclient
|
||||
$menu = rofi -show drun -config /home/coast/.config/rofi/config.rasi
|
||||
$webBrowser = firefox-bin
|
||||
$discordApp = vesktop-bin --proxy-server="socks5://127.0.0.1:65000"
|
||||
$restartWaybar = pkill waybar; waybar&disown
|
||||
$fileManager = pcmanfm
|
||||
|
||||
exec-once = hyprctl setcursor Adwaita 24 &
|
||||
exec-once = wbg /home/coast/Pictures/walls/wallhaven-yq5dmg_1920x1080.png &
|
||||
exec-once = hypridle &
|
||||
exec-once = hyprpm reload -n;
|
||||
exec-once = dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland
|
||||
exec-once = gnome-keyring-daemon --start --components=secrets
|
||||
exec-once = waybar &
|
||||
exec-once = mpd ~/.mpdconf &
|
||||
exec-once = mpc add /;
|
||||
|
||||
exec-once = foot --server;
|
||||
|
||||
exec-once = flatpak override --env=GTK_THEME=Catppuccin-B-MB-Dark --user;
|
||||
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
general {
|
||||
gaps_in = 5
|
||||
gaps_out = 15
|
||||
border_size = 2
|
||||
col.active_border = rgba(6c6c9dee) rgba(1e1e2eee) 45deg
|
||||
col.inactive_border = rgba(1e1e2eaa)
|
||||
resize_on_border = false
|
||||
allow_tearing = false
|
||||
layout = master
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 10
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 4
|
||||
render_power = 3
|
||||
color = rgba(1a1a1aee)
|
||||
}
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
vibrancy = 0.1696
|
||||
new_optimizations = true
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
bezier = shot, 0.2, 1, 0.3, 1
|
||||
bezier = swipe, 0.6, 0, 0.4, 1
|
||||
bezier = bounce, 0.1, 1.1, 0.3, 1
|
||||
animation = windows, 1, 3, bounce, popin 80%
|
||||
animation = windowsIn, 1, 3, bounce, popin 80%
|
||||
animation = windowsOut, 1, 2, shot, popin 80%
|
||||
animation = border, 1, 2, default
|
||||
animation = fade, 1, 2, default
|
||||
animation = layers, 1, 4, swipe, slide top
|
||||
animation = layersIn, 1, 4, swipe, slide top
|
||||
animation = layersOut, 1, 2, swipe, slide top
|
||||
animation = workspaces, 1, 3, swipe, slide
|
||||
}
|
||||
|
||||
master {
|
||||
new_status = slave
|
||||
}
|
||||
|
||||
misc {
|
||||
force_default_wallpaper = 0
|
||||
disable_hyprland_logo = true
|
||||
}
|
||||
|
||||
input {
|
||||
kb_layout = us
|
||||
follow_mouse = 1
|
||||
sensitivity = 0
|
||||
}
|
||||
|
||||
$mainMod = SUPER
|
||||
|
||||
bind = $mainMod, Return, exec, $terminal
|
||||
bind = $mainMod, S, killactive,
|
||||
bind = $mainMod, M, exec, killall eww; eww daemon && eww open bar
|
||||
bind = $mainMod SHIFT, Q, exit
|
||||
bind = $mainMod, Space, togglefloating
|
||||
bind = $mainMod, Space, resizeactive, exact 1000 800
|
||||
bind = $mainMod, Space, centerwindow
|
||||
bind = $mainMod, R, exec, $menu
|
||||
|
||||
bind = $mainMod, H, movefocus, l
|
||||
bind = $mainMod, L, movefocus, r
|
||||
bind = $mainMod, K, movefocus, u
|
||||
bind = $mainMod, J, movefocus, d
|
||||
|
||||
bind = $mainMod SHIFT, H, movewindow, l
|
||||
bind = $mainMod SHIFT, L, movewindow, r
|
||||
bind = $mainMod SHIFT, K, movewindow, u
|
||||
bind = $mainMod SHIFT, J, movewindow, d
|
||||
|
||||
binde = $mainMod ALT, H, resizeactive, -30 0
|
||||
binde = $mainMod ALT, L, resizeactive, 30 0
|
||||
binde = $mainMod ALT, K, resizeactive, 0 -30
|
||||
binde = $mainMod ALT, J, resizeactive, 0 30
|
||||
|
||||
binde = $mainMod, left, moveactive, -40 0
|
||||
binde = $mainMod, right, moveactive, 40 0
|
||||
binde = $mainMod, up, moveactive, 0 -40
|
||||
binde = $mainMod, down, moveactive, 0 40
|
||||
|
||||
binde = $mainMod SHIFT, left, resizeactive, -40 0
|
||||
binde = $mainMod SHIFT, right, resizeactive, 40 0
|
||||
binde = $mainMod SHIFT, up, resizeactive, 0 -40
|
||||
binde = $mainMod SHIFT, down, resizeactive, 0 40
|
||||
|
||||
bind = $mainMod, Backslash, centerwindow,
|
||||
|
||||
workspace = 2, monitor:HDMI-A-1
|
||||
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
|
||||
bind = $mainMod, C, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | wl-copy
|
||||
|
||||
bind = $mainMod CONTROL, L, exec, hyprlock
|
||||
|
||||
bind = $mainMod SHIFT, B, exec, $webBrowser
|
||||
bind = $mainMod SHIFT, V, exec, $discordApp
|
||||
bind = $mainMod, F, exec, $fileManager
|
||||
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
bind = $mainMod SHIFT, P, exec, $restartWaybar
|
||||
|
||||
plugin {
|
||||
hyprbars {
|
||||
enabled = true
|
||||
|
||||
bar_height = 25
|
||||
bar_color = rgba(1e1e2eaa)
|
||||
bar_blur = true
|
||||
|
||||
bar_title_enabled = true
|
||||
bar_text_font = "JetBrainsMono Nerd Font"
|
||||
bar_text_size = 12
|
||||
bar_text_align = center
|
||||
col.text = rgba(ffffffdd)
|
||||
|
||||
bar_buttons_alignment = left
|
||||
bar_padding = 10
|
||||
bar_button_padding = 6
|
||||
icon_on_hover = false
|
||||
|
||||
hyprbars-button = rgb(ff5f57), 14, , hyprctl dispatch killactive
|
||||
hyprbars-button = rgb(febb2e), 14, , hyprctl dispatch togglefloating
|
||||
hyprbars-button = rgb(28c840), 14, , hyprctl dispatch fullscreen 1
|
||||
|
||||
on_double_click = hyprctl dispatch fullscreen 1
|
||||
}
|
||||
|
||||
hyprexpo {
|
||||
columns = 3
|
||||
gap_size = 5
|
||||
bg_col = rgba(1e1e2eaa)
|
||||
workspace_method = center current
|
||||
gesture_distance = 300
|
||||
}
|
||||
}
|
||||
|
||||
bind = $mainMod, e, hyprexpo:expo, toggle
|
||||
|
||||
bind = $mainMod ALT, up, exec, /home/coast/.local/bin/mpc-shuf.sh shuf
|
||||
bind = $mainMod ALT, down, exec, /home/coast/.local/bin/mpc-shuf.sh shufno
|
||||
bind = $mainMod ALT, right, exec, /home/coast/.local/bin/mpc-shuf.sh next
|
||||
bind = $mainMod ALT, left, exec, /home/coast/.local/bin/mpc-shuf.sh prev
|
||||
bind = $mainMod SHIFT, R, exec, /home/coast/.local/bin/mpc-shuf.sh search
|
||||
bind = $mainMod CONTROL, R, exec, /home/coast/.local/bin/mpc-shuf.sh album
|
||||
bind = $mainMod ALT, R, exec, /home/coast/.local/bin/mpc-shuf.sh artist
|
||||
bind = $mainMod, slash, exec, /home/coast/.local/bin/mpc-shuf.sh info
|
||||
bind = $mainMod, comma, exec, mpc volume -5
|
||||
bind = $mainMod, period, exec, mpc volume +5
|
||||
bind = $mainMod, bracketright, exec, /home/coast/.local/bin/mpc-shuf.sh toggle
|
||||
bind = $mainMod CONTROL, up, exec, mpc stop; mpc add /; notify-send "Reset MPC!"
|
||||
|
||||
xwayland {
|
||||
enabled = true
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
background {
|
||||
monitor =
|
||||
path = screenshot
|
||||
blur_passes = 3
|
||||
blur_size = 12
|
||||
dim = 0.4
|
||||
}
|
||||
|
||||
input-field {
|
||||
monitor =
|
||||
size = 350, 60
|
||||
position = 0, -100
|
||||
rounding = 0
|
||||
border_width = 2
|
||||
|
||||
font = "JetBrainsMono Nerd Font"
|
||||
font_size = 22
|
||||
font_color = rgb(245, 224, 220)
|
||||
|
||||
inner_color = rgb(30, 24, 36)
|
||||
outer_color = rgb(58, 52, 70)
|
||||
border_color = rgb(252, 205, 205)
|
||||
placeholder_text = "Password..."
|
||||
fade_on_empty = true
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = $TIME
|
||||
font = "JetBrainsMono Nerd Font"
|
||||
font_size = 64
|
||||
position = 0, 100
|
||||
color = rgb(245, 224, 220)
|
||||
}
|
||||
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
preload = ~/Pictures/Wallpapers/flowers.png
|
||||
wallpaper = HDMI-A-1,~/Pictures/Wallpapers/flowers.png
|
||||
wallpaper = eDP-1,~/Pictures/Wallpapers/flowers.png
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
coast@core.1143:1751344825
|
||||
Executable
+52
@@ -0,0 +1,52 @@
|
||||
font_family family="Ubuntu Mono"
|
||||
font_size 15
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
background_opacity 0.9
|
||||
window_padding_width 8
|
||||
confirm_os_window_close 0
|
||||
|
||||
background #1d1d1d
|
||||
foreground #deddda
|
||||
|
||||
selection_background #303030
|
||||
selection_foreground #c0bfbc
|
||||
|
||||
url_color #1a5fb4
|
||||
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
cursor #deddda
|
||||
cursor_text_color #1d1d1d
|
||||
|
||||
active_border_color #4f4f4f
|
||||
inactive_border_color #282828
|
||||
bell_border_color #ed333b
|
||||
visual_bell_color none
|
||||
|
||||
active_tab_background #242424
|
||||
active_tab_foreground #fcfcfc
|
||||
inactive_tab_background #303030
|
||||
inactive_tab_foreground #b0afac
|
||||
tab_bar_background none
|
||||
tab_bar_margin_color none
|
||||
|
||||
color0 #1d1d1d
|
||||
color1 #ed333b
|
||||
color2 #57e389
|
||||
color3 #ff7800
|
||||
color4 #62a0ea
|
||||
color5 #9141ac
|
||||
color6 #5bc8af
|
||||
color7 #deddda
|
||||
|
||||
color8 #9a9996
|
||||
color9 #f66151
|
||||
color10 #8ff0a4
|
||||
color11 #ffa348
|
||||
color12 #99c1f1
|
||||
color13 #dc8add
|
||||
color14 #93ddc2
|
||||
color15 #f6f5f4
|
||||
+1
@@ -0,0 +1 @@
|
||||
> If you're reporting an UI issue, make sure you take a screenshot that shows the actual bug.
|
||||
+1
@@ -0,0 +1 @@
|
||||
> If you're fixing a UI issue, make sure you take two screenshots. One that shows the actual bug and another that shows how you fixed it.
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
default-timeout=5000
|
||||
ignore-timeout=1
|
||||
background-color=#1e1e2e
|
||||
text-color=#cdd6f4
|
||||
border-color=#cdd6f4
|
||||
progress-color=over #313244
|
||||
border-radius=0
|
||||
|
||||
[urgency=low]
|
||||
border-color=#a6e3a1
|
||||
[urgency=high]
|
||||
border-color=#f38ba8
|
||||
Executable
+35
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"\u001b\u003c": "CursorStart",
|
||||
"\u001b\u003e": "CursorEnd",
|
||||
"\u003cCtrl-x\u003e\u003c0\u003e": "Unsplit",
|
||||
"\u003cCtrl-x\u003e\u003c2\u003e": "HSplit",
|
||||
"\u003cCtrl-x\u003e\u003c3\u003e": "VSplit",
|
||||
"\u003cCtrl-x\u003e\u003cCtrl-c\u003e": "Quit",
|
||||
"\u003cCtrl-x\u003e\u003cCtrl-f\u003e": "OpenFile",
|
||||
"\u003cCtrl-x\u003e\u003cCtrl-s\u003e": "Save",
|
||||
"\u003cCtrl-x\u003e\u003ch\u003e": "SelectAll",
|
||||
"Alt-/": "lua:comment.comment",
|
||||
"Alt-[": "PreviousTab",
|
||||
"Alt-]": "NextTab",
|
||||
"Alt-b": "WordLeft",
|
||||
"Alt-f": "WordRight",
|
||||
"Alt-k": "command:hover",
|
||||
"Alt-r": "command:references",
|
||||
"Alt-v": "CursorPageUp",
|
||||
"Alt-w": "Copy",
|
||||
"Alt-x": "CommandMode",
|
||||
"Ctrl-a": "StartOfLine",
|
||||
"Ctrl-e": "EndOfLine",
|
||||
"Ctrl-g": "Escape",
|
||||
"Ctrl-k": "CutLine",
|
||||
"Ctrl-r": "FindPrevious",
|
||||
"Ctrl-s": "Find",
|
||||
"Ctrl-v": "CursorPageDown",
|
||||
"Ctrl-y": "Paste",
|
||||
"Ctrl-z": "Undo",
|
||||
"Ctrl-b": "CursorLeft",
|
||||
"Ctrl-f": "CursorRight",
|
||||
"Ctrl-p": "CursorUp",
|
||||
"Ctrl-n": "CursorDown",
|
||||
"CtrlUnderscore": "Undo"
|
||||
}
|
||||
Executable
BIN
Binary file not shown.
Executable
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"colorscheme": "geany"
|
||||
}
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
MAIN="$HOME/.local/src/config"
|
||||
|
||||
list="\
|
||||
nvim=nvim
|
||||
qtile=qtile
|
||||
sway=sway
|
||||
mutt=mutt
|
||||
qutebrowser=qutebrowser
|
||||
wofi=wofi
|
||||
fastfetch=fastfetch
|
||||
btop=btop
|
||||
foot=foot
|
||||
mako=mako
|
||||
neofetch=neofetch
|
||||
mksymlink.conf=mksymlink.conf
|
||||
"
|
||||
Executable
+68
@@ -0,0 +1,68 @@
|
||||
# vim: filetype=neomuttrc
|
||||
# Default index colors:
|
||||
color index yellow default '.*'
|
||||
color index_author red default '.*'
|
||||
color index_number blue default
|
||||
color index_subject cyan default '.*'
|
||||
|
||||
# For new mail:
|
||||
color index brightyellow black "~N"
|
||||
color index_author brightred black "~N"
|
||||
color index_subject brightcyan black "~N"
|
||||
|
||||
# Header colors:
|
||||
color header blue default ".*"
|
||||
color header brightmagenta default "^(From)"
|
||||
color header brightcyan default "^(Subject)"
|
||||
color header brightwhite default "^(CC|BCC)"
|
||||
|
||||
mono bold bold
|
||||
mono underline underline
|
||||
mono indicator reverse
|
||||
mono error bold
|
||||
color normal default default
|
||||
color indicator brightblack white
|
||||
color sidebar_highlight red default
|
||||
color sidebar_divider brightblack black
|
||||
color sidebar_flagged red black
|
||||
color sidebar_new green black
|
||||
color normal brightyellow default
|
||||
color error red default
|
||||
color tilde black default
|
||||
color message cyan default
|
||||
color markers red white
|
||||
color attachment white default
|
||||
color search brightmagenta default
|
||||
color status brightyellow black
|
||||
color hdrdefault brightgreen default
|
||||
color quoted green default
|
||||
color quoted1 blue default
|
||||
color quoted2 cyan default
|
||||
color quoted3 yellow default
|
||||
color quoted4 red default
|
||||
color quoted5 brightred default
|
||||
color signature brightgreen default
|
||||
color bold black default
|
||||
color underline black default
|
||||
color normal default default
|
||||
|
||||
color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
|
||||
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
|
||||
color body green default "\`[^\`]*\`" # Green text between ` and `
|
||||
color body brightblue default "^# \.*" # Headings as bold blue
|
||||
color body brightcyan default "^## \.*" # Subheadings as bold cyan
|
||||
color body brightgreen default "^### \.*" # Subsubheadings as bold green
|
||||
color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow
|
||||
color body brightcyan default "[;:][-o][)/(|]" # emoticons
|
||||
color body brightcyan default "[;:][)(|]" # emoticons
|
||||
color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon?
|
||||
color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon?
|
||||
color body red default "(BAD signature)"
|
||||
color body cyan default "(Good signature)"
|
||||
color body brightblack default "^gpg: Good signature .*"
|
||||
color body brightyellow default "^gpg: "
|
||||
color body brightyellow red "^gpg: BAD signature from.*"
|
||||
mono body bold "^gpg: Good signature"
|
||||
mono body bold "^gpg: BAD signature from.*"
|
||||
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
|
||||
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
set folder = "imaps://coast@cock.email@mail.cock.li:993"
|
||||
set smtp_url = "smtps://coast@cock.email@mail.cock.li:587"
|
||||
|
||||
set imap_pass = `cat /home/coast/.local/keys/imap.muttrc`
|
||||
set smtp_pass = `cat /home/coast/.local/keys/smtp.muttrc`
|
||||
|
||||
set from = "coast@cock.email"
|
||||
set realname = "Coasteen"
|
||||
|
||||
set spoolfile = "+INBOX"
|
||||
|
||||
set editor = "nvim"
|
||||
set edit_headers = yes
|
||||
set include = yes
|
||||
set indent_str = "> "
|
||||
set reply_regexp = "^([rR][eE]:[ \t]*)*"
|
||||
|
||||
source color.muttrc
|
||||
Executable
+864
@@ -0,0 +1,864 @@
|
||||
# See this wiki page for more info:
|
||||
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
|
||||
print_info() {
|
||||
info title
|
||||
info underline
|
||||
|
||||
info "OS" distro
|
||||
info "Host" model
|
||||
info "Kernel" kernel
|
||||
info "Uptime" uptime
|
||||
info "Packages" packages
|
||||
info "Shell" shell
|
||||
info "Resolution" resolution
|
||||
info "DE" de
|
||||
info "WM" wm
|
||||
info "WM Theme" wm_theme
|
||||
info "Theme" theme
|
||||
info "Icons" icons
|
||||
info "Terminal" term
|
||||
info "Terminal Font" term_font
|
||||
info "CPU" cpu
|
||||
info "GPU" gpu
|
||||
info "Memory" memory
|
||||
|
||||
# info "GPU Driver" gpu_driver # Linux/macOS only
|
||||
# info "CPU Usage" cpu_usage
|
||||
# info "Disk" disk
|
||||
# info "Battery" battery
|
||||
# info "Font" font
|
||||
# info "Song" song
|
||||
# [[ "$player" ]] && prin "Music Player" "$player"
|
||||
# info "Local IP" local_ip
|
||||
# info "Public IP" public_ip
|
||||
# info "Users" users
|
||||
# info "Locale" locale # This only works on glibc systems.
|
||||
|
||||
info cols
|
||||
}
|
||||
|
||||
# Title
|
||||
|
||||
|
||||
# Hide/Show Fully qualified domain name.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --title_fqdn
|
||||
title_fqdn="off"
|
||||
|
||||
|
||||
# Kernel
|
||||
|
||||
|
||||
# Shorten the output of the kernel function.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --kernel_shorthand
|
||||
# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
|
||||
#
|
||||
# Example:
|
||||
# on: '4.8.9-1-ARCH'
|
||||
# off: 'Linux 4.8.9-1-ARCH'
|
||||
kernel_shorthand="on"
|
||||
|
||||
|
||||
# Distro
|
||||
|
||||
|
||||
# Shorten the output of the distro function
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'tiny', 'off'
|
||||
# Flag: --distro_shorthand
|
||||
# Supports: Everything except Windows and Haiku
|
||||
distro_shorthand="off"
|
||||
|
||||
# Show/Hide OS Architecture.
|
||||
# Show 'x86_64', 'x86' and etc in 'Distro:' output.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --os_arch
|
||||
#
|
||||
# Example:
|
||||
# on: 'Arch Linux x86_64'
|
||||
# off: 'Arch Linux'
|
||||
os_arch="on"
|
||||
|
||||
|
||||
# Uptime
|
||||
|
||||
|
||||
# Shorten the output of the uptime function
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'tiny', 'off'
|
||||
# Flag: --uptime_shorthand
|
||||
#
|
||||
# Example:
|
||||
# on: '2 days, 10 hours, 3 mins'
|
||||
# tiny: '2d 10h 3m'
|
||||
# off: '2 days, 10 hours, 3 minutes'
|
||||
uptime_shorthand="on"
|
||||
|
||||
|
||||
# Memory
|
||||
|
||||
|
||||
# Show memory pecentage in output.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --memory_percent
|
||||
#
|
||||
# Example:
|
||||
# on: '1801MiB / 7881MiB (22%)'
|
||||
# off: '1801MiB / 7881MiB'
|
||||
memory_percent="off"
|
||||
|
||||
# Change memory output unit.
|
||||
#
|
||||
# Default: 'mib'
|
||||
# Values: 'kib', 'mib', 'gib'
|
||||
# Flag: --memory_unit
|
||||
#
|
||||
# Example:
|
||||
# kib '1020928KiB / 7117824KiB'
|
||||
# mib '1042MiB / 6951MiB'
|
||||
# gib: ' 0.98GiB / 6.79GiB'
|
||||
memory_unit="mib"
|
||||
|
||||
|
||||
# Packages
|
||||
|
||||
|
||||
# Show/Hide Package Manager names.
|
||||
#
|
||||
# Default: 'tiny'
|
||||
# Values: 'on', 'tiny' 'off'
|
||||
# Flag: --package_managers
|
||||
#
|
||||
# Example:
|
||||
# on: '998 (pacman), 8 (flatpak), 4 (snap)'
|
||||
# tiny: '908 (pacman, flatpak, snap)'
|
||||
# off: '908'
|
||||
package_managers="on"
|
||||
|
||||
|
||||
# Shell
|
||||
|
||||
|
||||
# Show the path to $SHELL
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --shell_path
|
||||
#
|
||||
# Example:
|
||||
# on: '/bin/bash'
|
||||
# off: 'bash'
|
||||
shell_path="off"
|
||||
|
||||
# Show $SHELL version
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --shell_version
|
||||
#
|
||||
# Example:
|
||||
# on: 'bash 4.4.5'
|
||||
# off: 'bash'
|
||||
shell_version="on"
|
||||
|
||||
|
||||
# CPU
|
||||
|
||||
|
||||
# CPU speed type
|
||||
#
|
||||
# Default: 'bios_limit'
|
||||
# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
|
||||
# Flag: --speed_type
|
||||
# Supports: Linux with 'cpufreq'
|
||||
# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
|
||||
speed_type="bios_limit"
|
||||
|
||||
# CPU speed shorthand
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'.
|
||||
# Flag: --speed_shorthand
|
||||
# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
|
||||
#
|
||||
# Example:
|
||||
# on: 'i7-6500U (4) @ 3.1GHz'
|
||||
# off: 'i7-6500U (4) @ 3.100GHz'
|
||||
speed_shorthand="off"
|
||||
|
||||
# Enable/Disable CPU brand in output.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --cpu_brand
|
||||
#
|
||||
# Example:
|
||||
# on: 'Intel i7-6500U'
|
||||
# off: 'i7-6500U (4)'
|
||||
cpu_brand="on"
|
||||
|
||||
# CPU Speed
|
||||
# Hide/Show CPU speed.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --cpu_speed
|
||||
#
|
||||
# Example:
|
||||
# on: 'Intel i7-6500U (4) @ 3.1GHz'
|
||||
# off: 'Intel i7-6500U (4)'
|
||||
cpu_speed="on"
|
||||
|
||||
# CPU Cores
|
||||
# Display CPU cores in output
|
||||
#
|
||||
# Default: 'logical'
|
||||
# Values: 'logical', 'physical', 'off'
|
||||
# Flag: --cpu_cores
|
||||
# Support: 'physical' doesn't work on BSD.
|
||||
#
|
||||
# Example:
|
||||
# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
|
||||
# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
|
||||
# off: 'Intel i7-6500U @ 3.1GHz'
|
||||
cpu_cores="logical"
|
||||
|
||||
# CPU Temperature
|
||||
# Hide/Show CPU temperature.
|
||||
# Note the temperature is added to the regular CPU function.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'C', 'F', 'off'
|
||||
# Flag: --cpu_temp
|
||||
# Supports: Linux, BSD
|
||||
# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
|
||||
# coretemp kernel module. This only supports newer Intel processors.
|
||||
#
|
||||
# Example:
|
||||
# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
|
||||
# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
|
||||
# off: 'Intel i7-6500U (4) @ 3.1GHz'
|
||||
cpu_temp="off"
|
||||
|
||||
|
||||
# GPU
|
||||
|
||||
|
||||
# Enable/Disable GPU Brand
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --gpu_brand
|
||||
#
|
||||
# Example:
|
||||
# on: 'AMD HD 7950'
|
||||
# off: 'HD 7950'
|
||||
gpu_brand="on"
|
||||
|
||||
# Which GPU to display
|
||||
#
|
||||
# Default: 'all'
|
||||
# Values: 'all', 'dedicated', 'integrated'
|
||||
# Flag: --gpu_type
|
||||
# Supports: Linux
|
||||
#
|
||||
# Example:
|
||||
# all:
|
||||
# GPU1: AMD HD 7950
|
||||
# GPU2: Intel Integrated Graphics
|
||||
#
|
||||
# dedicated:
|
||||
# GPU1: AMD HD 7950
|
||||
#
|
||||
# integrated:
|
||||
# GPU1: Intel Integrated Graphics
|
||||
gpu_type="all"
|
||||
|
||||
|
||||
# Resolution
|
||||
|
||||
|
||||
# Display refresh rate next to each monitor
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --refresh_rate
|
||||
# Supports: Doesn't work on Windows.
|
||||
#
|
||||
# Example:
|
||||
# on: '1920x1080 @ 60Hz'
|
||||
# off: '1920x1080'
|
||||
refresh_rate="off"
|
||||
|
||||
|
||||
# Gtk Theme / Icons / Font
|
||||
|
||||
|
||||
# Shorten output of GTK Theme / Icons / Font
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --gtk_shorthand
|
||||
#
|
||||
# Example:
|
||||
# on: 'Numix, Adwaita'
|
||||
# off: 'Numix [GTK2], Adwaita [GTK3]'
|
||||
gtk_shorthand="off"
|
||||
|
||||
|
||||
# Enable/Disable gtk2 Theme / Icons / Font
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --gtk2
|
||||
#
|
||||
# Example:
|
||||
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
||||
# off: 'Adwaita [GTK3]'
|
||||
gtk2="on"
|
||||
|
||||
# Enable/Disable gtk3 Theme / Icons / Font
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --gtk3
|
||||
#
|
||||
# Example:
|
||||
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
||||
# off: 'Numix [GTK2]'
|
||||
gtk3="on"
|
||||
|
||||
|
||||
# IP Address
|
||||
|
||||
|
||||
# Website to ping for the public IP
|
||||
#
|
||||
# Default: 'http://ident.me'
|
||||
# Values: 'url'
|
||||
# Flag: --ip_host
|
||||
public_ip_host="http://ident.me"
|
||||
|
||||
# Public IP timeout.
|
||||
#
|
||||
# Default: '2'
|
||||
# Values: 'int'
|
||||
# Flag: --ip_timeout
|
||||
public_ip_timeout=2
|
||||
|
||||
|
||||
# Desktop Environment
|
||||
|
||||
|
||||
# Show Desktop Environment version
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --de_version
|
||||
de_version="on"
|
||||
|
||||
|
||||
# Disk
|
||||
|
||||
|
||||
# Which disks to display.
|
||||
# The values can be any /dev/sdXX, mount point or directory.
|
||||
# NOTE: By default we only show the disk info for '/'.
|
||||
#
|
||||
# Default: '/'
|
||||
# Values: '/', '/dev/sdXX', '/path/to/drive'.
|
||||
# Flag: --disk_show
|
||||
#
|
||||
# Example:
|
||||
# disk_show=('/' '/dev/sdb1'):
|
||||
# 'Disk (/): 74G / 118G (66%)'
|
||||
# 'Disk (/mnt/Videos): 823G / 893G (93%)'
|
||||
#
|
||||
# disk_show=('/'):
|
||||
# 'Disk (/): 74G / 118G (66%)'
|
||||
#
|
||||
disk_show=('/')
|
||||
|
||||
# Disk subtitle.
|
||||
# What to append to the Disk subtitle.
|
||||
#
|
||||
# Default: 'mount'
|
||||
# Values: 'mount', 'name', 'dir', 'none'
|
||||
# Flag: --disk_subtitle
|
||||
#
|
||||
# Example:
|
||||
# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
|
||||
# 'Disk (/dev/sdb2): 74G / 118G (66%)'
|
||||
#
|
||||
# mount: 'Disk (/): 74G / 118G (66%)'
|
||||
# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
|
||||
# 'Disk (/mnt/Videos): 74G / 118G (66%)'
|
||||
#
|
||||
# dir: 'Disk (/): 74G / 118G (66%)'
|
||||
# 'Disk (Local Disk): 74G / 118G (66%)'
|
||||
# 'Disk (Videos): 74G / 118G (66%)'
|
||||
#
|
||||
# none: 'Disk: 74G / 118G (66%)'
|
||||
# 'Disk: 74G / 118G (66%)'
|
||||
# 'Disk: 74G / 118G (66%)'
|
||||
disk_subtitle="mount"
|
||||
|
||||
# Disk percent.
|
||||
# Show/Hide disk percent.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --disk_percent
|
||||
#
|
||||
# Example:
|
||||
# on: 'Disk (/): 74G / 118G (66%)'
|
||||
# off: 'Disk (/): 74G / 118G'
|
||||
disk_percent="on"
|
||||
|
||||
|
||||
# Song
|
||||
|
||||
|
||||
# Manually specify a music player.
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', 'player-name'
|
||||
# Flag: --music_player
|
||||
#
|
||||
# Available values for 'player-name':
|
||||
#
|
||||
# amarok
|
||||
# audacious
|
||||
# banshee
|
||||
# bluemindo
|
||||
# clementine
|
||||
# cmus
|
||||
# deadbeef
|
||||
# deepin-music
|
||||
# dragon
|
||||
# elisa
|
||||
# exaile
|
||||
# gnome-music
|
||||
# gmusicbrowser
|
||||
# gogglesmm
|
||||
# guayadeque
|
||||
# io.elementary.music
|
||||
# iTunes
|
||||
# juk
|
||||
# lollypop
|
||||
# mocp
|
||||
# mopidy
|
||||
# mpd
|
||||
# muine
|
||||
# netease-cloud-music
|
||||
# olivia
|
||||
# playerctl
|
||||
# pogo
|
||||
# pragha
|
||||
# qmmp
|
||||
# quodlibet
|
||||
# rhythmbox
|
||||
# sayonara
|
||||
# smplayer
|
||||
# spotify
|
||||
# strawberry
|
||||
# tauonmb
|
||||
# tomahawk
|
||||
# vlc
|
||||
# xmms2d
|
||||
# xnoise
|
||||
# yarock
|
||||
music_player="auto"
|
||||
|
||||
# Format to display song information.
|
||||
#
|
||||
# Default: '%artist% - %album% - %title%'
|
||||
# Values: '%artist%', '%album%', '%title%'
|
||||
# Flag: --song_format
|
||||
#
|
||||
# Example:
|
||||
# default: 'Song: Jet - Get Born - Sgt Major'
|
||||
song_format="%artist% - %album% - %title%"
|
||||
|
||||
# Print the Artist, Album and Title on separate lines
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --song_shorthand
|
||||
#
|
||||
# Example:
|
||||
# on: 'Artist: The Fratellis'
|
||||
# 'Album: Costello Music'
|
||||
# 'Song: Chelsea Dagger'
|
||||
#
|
||||
# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
|
||||
song_shorthand="off"
|
||||
|
||||
# 'mpc' arguments (specify a host, password etc).
|
||||
#
|
||||
# Default: ''
|
||||
# Example: mpc_args=(-h HOST -P PASSWORD)
|
||||
mpc_args=()
|
||||
|
||||
|
||||
# Text Colors
|
||||
|
||||
|
||||
# Text Colors
|
||||
#
|
||||
# Default: 'distro'
|
||||
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
||||
# Flag: --colors
|
||||
#
|
||||
# Each number represents a different part of the text in
|
||||
# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
|
||||
#
|
||||
# Example:
|
||||
# colors=(distro) - Text is colored based on Distro colors.
|
||||
# colors=(4 6 1 8 8 6) - Text is colored in the order above.
|
||||
colors=(distro)
|
||||
|
||||
|
||||
# Text Options
|
||||
|
||||
|
||||
# Toggle bold text
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --bold
|
||||
bold="on"
|
||||
|
||||
# Enable/Disable Underline
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --underline
|
||||
underline_enabled="on"
|
||||
|
||||
# Underline character
|
||||
#
|
||||
# Default: '-'
|
||||
# Values: 'string'
|
||||
# Flag: --underline_char
|
||||
underline_char="-"
|
||||
|
||||
|
||||
# Info Separator
|
||||
# Replace the default separator with the specified string.
|
||||
#
|
||||
# Default: ':'
|
||||
# Flag: --separator
|
||||
#
|
||||
# Example:
|
||||
# separator="->": 'Shell-> bash'
|
||||
# separator=" =": 'WM = dwm'
|
||||
separator=":"
|
||||
|
||||
|
||||
# Color Blocks
|
||||
|
||||
|
||||
# Color block range
|
||||
# The range of colors to print.
|
||||
#
|
||||
# Default: '0', '15'
|
||||
# Values: 'num'
|
||||
# Flag: --block_range
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# Display colors 0-7 in the blocks. (8 colors)
|
||||
# neofetch --block_range 0 7
|
||||
#
|
||||
# Display colors 0-15 in the blocks. (16 colors)
|
||||
# neofetch --block_range 0 15
|
||||
block_range=(0 15)
|
||||
|
||||
# Toggle color blocks
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --color_blocks
|
||||
color_blocks="on"
|
||||
|
||||
# Color block width in spaces
|
||||
#
|
||||
# Default: '3'
|
||||
# Values: 'num'
|
||||
# Flag: --block_width
|
||||
block_width=3
|
||||
|
||||
# Color block height in lines
|
||||
#
|
||||
# Default: '1'
|
||||
# Values: 'num'
|
||||
# Flag: --block_height
|
||||
block_height=1
|
||||
|
||||
# Color Alignment
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', 'num'
|
||||
# Flag: --col_offset
|
||||
#
|
||||
# Number specifies how far from the left side of the terminal (in spaces) to
|
||||
# begin printing the columns, in case you want to e.g. center them under your
|
||||
# text.
|
||||
# Example:
|
||||
# col_offset="auto" - Default behavior of neofetch
|
||||
# col_offset=7 - Leave 7 spaces then print the colors
|
||||
col_offset="auto"
|
||||
|
||||
# Progress Bars
|
||||
|
||||
|
||||
# Bar characters
|
||||
#
|
||||
# Default: '-', '='
|
||||
# Values: 'string', 'string'
|
||||
# Flag: --bar_char
|
||||
#
|
||||
# Example:
|
||||
# neofetch --bar_char 'elapsed' 'total'
|
||||
# neofetch --bar_char '-' '='
|
||||
bar_char_elapsed="-"
|
||||
bar_char_total="="
|
||||
|
||||
# Toggle Bar border
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --bar_border
|
||||
bar_border="on"
|
||||
|
||||
# Progress bar length in spaces
|
||||
# Number of chars long to make the progress bars.
|
||||
#
|
||||
# Default: '15'
|
||||
# Values: 'num'
|
||||
# Flag: --bar_length
|
||||
bar_length=15
|
||||
|
||||
# Progress bar colors
|
||||
# When set to distro, uses your distro's logo colors.
|
||||
#
|
||||
# Default: 'distro', 'distro'
|
||||
# Values: 'distro', 'num'
|
||||
# Flag: --bar_colors
|
||||
#
|
||||
# Example:
|
||||
# neofetch --bar_colors 3 4
|
||||
# neofetch --bar_colors distro 5
|
||||
bar_color_elapsed="distro"
|
||||
bar_color_total="distro"
|
||||
|
||||
|
||||
# Info display
|
||||
# Display a bar with the info.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'bar', 'infobar', 'barinfo', 'off'
|
||||
# Flags: --cpu_display
|
||||
# --memory_display
|
||||
# --battery_display
|
||||
# --disk_display
|
||||
#
|
||||
# Example:
|
||||
# bar: '[---=======]'
|
||||
# infobar: 'info [---=======]'
|
||||
# barinfo: '[---=======] info'
|
||||
# off: 'info'
|
||||
cpu_display="off"
|
||||
memory_display="off"
|
||||
battery_display="off"
|
||||
disk_display="off"
|
||||
|
||||
|
||||
# Backend Settings
|
||||
|
||||
|
||||
# Image backend.
|
||||
#
|
||||
# Default: 'ascii'
|
||||
# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off',
|
||||
# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty'
|
||||
# Flag: --backend
|
||||
image_backend="ascii"
|
||||
|
||||
# Image Source
|
||||
#
|
||||
# Which image or ascii file to display.
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
|
||||
# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
|
||||
# Flag: --source
|
||||
#
|
||||
# NOTE: 'auto' will pick the best image source for whatever image backend is used.
|
||||
# In ascii mode, distro ascii art will be used and in an image mode, your
|
||||
# wallpaper will be used.
|
||||
image_source="auto"
|
||||
|
||||
|
||||
# Ascii Options
|
||||
|
||||
|
||||
# Ascii distro
|
||||
# Which distro's ascii art to display.
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', 'distro_name'
|
||||
# Flag: --ascii_distro
|
||||
# NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS",
|
||||
# "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs,
|
||||
# ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock,
|
||||
# Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD,
|
||||
# BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS,
|
||||
# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover,
|
||||
# Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin,
|
||||
# DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary,
|
||||
# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD,
|
||||
# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo,
|
||||
# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra,
|
||||
# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion,
|
||||
# Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite,
|
||||
# LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva,
|
||||
# Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib,
|
||||
# Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner,
|
||||
# NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba,
|
||||
# OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD,
|
||||
# Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint,
|
||||
# popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix,
|
||||
# Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan,
|
||||
# Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific,
|
||||
# Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz,
|
||||
# SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS,
|
||||
# openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails,
|
||||
# Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio,
|
||||
# Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin,
|
||||
# and IRIX have ascii logos
|
||||
# NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants.
|
||||
# Use '{distro name}_old' to use the old logos.
|
||||
# NOTE: Ubuntu has flavor variants.
|
||||
# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME,
|
||||
# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors.
|
||||
# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu,
|
||||
# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android,
|
||||
# Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola,
|
||||
# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS,
|
||||
# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
|
||||
# postmarketOS, and Void have a smaller logo variant.
|
||||
# Use '{distro name}_small' to use the small variants.
|
||||
ascii_distro="auto"
|
||||
|
||||
# Ascii Colors
|
||||
#
|
||||
# Default: 'distro'
|
||||
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
||||
# Flag: --ascii_colors
|
||||
#
|
||||
# Example:
|
||||
# ascii_colors=(distro) - Ascii is colored based on Distro colors.
|
||||
# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
|
||||
ascii_colors=(distro)
|
||||
|
||||
# Bold ascii logo
|
||||
# Whether or not to bold the ascii logo.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --ascii_bold
|
||||
ascii_bold="on"
|
||||
|
||||
|
||||
# Image Options
|
||||
|
||||
|
||||
# Image loop
|
||||
# Setting this to on will make neofetch redraw the image constantly until
|
||||
# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --loop
|
||||
image_loop="off"
|
||||
|
||||
# Thumbnail directory
|
||||
#
|
||||
# Default: '~/.cache/thumbnails/neofetch'
|
||||
# Values: 'dir'
|
||||
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
|
||||
|
||||
# Crop mode
|
||||
#
|
||||
# Default: 'normal'
|
||||
# Values: 'normal', 'fit', 'fill'
|
||||
# Flag: --crop_mode
|
||||
#
|
||||
# See this wiki page to learn about the fit and fill options.
|
||||
# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
|
||||
crop_mode="normal"
|
||||
|
||||
# Crop offset
|
||||
# Note: Only affects 'normal' crop mode.
|
||||
#
|
||||
# Default: 'center'
|
||||
# Values: 'northwest', 'north', 'northeast', 'west', 'center'
|
||||
# 'east', 'southwest', 'south', 'southeast'
|
||||
# Flag: --crop_offset
|
||||
crop_offset="center"
|
||||
|
||||
# Image size
|
||||
# The image is half the terminal width by default.
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', '00px', '00%', 'none'
|
||||
# Flags: --image_size
|
||||
# --size
|
||||
image_size="auto"
|
||||
|
||||
# Gap between image and text
|
||||
#
|
||||
# Default: '3'
|
||||
# Values: 'num', '-num'
|
||||
# Flag: --gap
|
||||
gap=3
|
||||
|
||||
# Image offsets
|
||||
# Only works with the w3m backend.
|
||||
#
|
||||
# Default: '0'
|
||||
# Values: 'px'
|
||||
# Flags: --xoffset
|
||||
# --yoffset
|
||||
yoffset=0
|
||||
xoffset=0
|
||||
|
||||
# Image background color
|
||||
# Only works with the w3m backend.
|
||||
#
|
||||
# Default: ''
|
||||
# Values: 'color', 'blue'
|
||||
# Flag: --bg_color
|
||||
background_color=
|
||||
|
||||
|
||||
# Misc Options
|
||||
|
||||
# Stdout mode
|
||||
# Turn off all colors and disables image backend (ASCII/Image).
|
||||
# Useful for piping into another command.
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
stdout="off"
|
||||
@@ -0,0 +1,269 @@
|
||||
spawn-at-startup "waybar"
|
||||
spawn-at-startup "awww-daemon"
|
||||
spawn-at-startup "awww" "img" "/home/coast/Downloads/wallhaven-3qrol9_1920x1080.png"
|
||||
input {
|
||||
mod-key "Super"
|
||||
keyboard {
|
||||
xkb {
|
||||
options "altwin:swap_alt_win"
|
||||
}
|
||||
numlock
|
||||
repeat-delay 600
|
||||
repeat-rate 25
|
||||
}
|
||||
|
||||
touchpad {
|
||||
tap
|
||||
natural-scroll
|
||||
}
|
||||
|
||||
trackpoint {
|
||||
}
|
||||
}
|
||||
|
||||
gestures {
|
||||
hot-corners {
|
||||
off
|
||||
}
|
||||
}
|
||||
|
||||
cursor {
|
||||
xcursor-theme "Adwaita"
|
||||
xcursor-size 24
|
||||
}
|
||||
|
||||
output "HDMI-A-1" {
|
||||
mode "1920x1080@74.973"
|
||||
scale 1
|
||||
transform "normal"
|
||||
}
|
||||
|
||||
output "eDP-1" {
|
||||
off
|
||||
scale 1
|
||||
transform "normal"
|
||||
position x=1280 y=0
|
||||
}
|
||||
|
||||
layout {
|
||||
gaps 10
|
||||
center-focused-column "never"
|
||||
|
||||
preset-column-widths {
|
||||
proportion 0.33333
|
||||
proportion 0.5
|
||||
proportion 0.66667
|
||||
}
|
||||
|
||||
default-column-width {
|
||||
proportion 0.5;
|
||||
}
|
||||
|
||||
focus-ring {
|
||||
width 2.5
|
||||
active-color "#0E0F12"
|
||||
inactive-color "#191724"
|
||||
}
|
||||
|
||||
border {
|
||||
off
|
||||
width 4
|
||||
active-color "#0E0F12"
|
||||
inactive-color "#0E0F12"
|
||||
urgent-color "#9b0000"
|
||||
}
|
||||
|
||||
shadow {
|
||||
on
|
||||
softness 30
|
||||
spread 5
|
||||
offset x=0 y=5
|
||||
color "#0007"
|
||||
}
|
||||
|
||||
struts {
|
||||
}
|
||||
}
|
||||
|
||||
prefer-no-csd
|
||||
|
||||
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
||||
|
||||
spawn-at-startup "waybar &"
|
||||
spawn-at-startup "swww-daemon &"
|
||||
spawn-at-startup "swww img --outputs HDMI-A-1 ~/Wallpapers/bay.png &"
|
||||
spawn-at-startup "eww daemon &"
|
||||
spawn-at-startup "eww open-many year month day daytype &"
|
||||
spawn-at-startup "foot --server &"
|
||||
|
||||
|
||||
window-rule {
|
||||
match title="Waydroid"
|
||||
open-fullscreen true
|
||||
}
|
||||
window-rule {
|
||||
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
||||
open-floating true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id=r#"waydroid$"#
|
||||
open-fullscreen true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
geometry-corner-radius 7
|
||||
clip-to-geometry true
|
||||
}
|
||||
|
||||
binds {
|
||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||
Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; }
|
||||
Mod+R hotkey-overlay-title="Run an Application: rofi" { spawn-sh "rofi -show drun -config ~/.config/rofi/config.rasi"; }
|
||||
Mod+Shift+Return hotkey-overlay-title="Run an application: rofi (run)" { spawn-sh "rofi -show run -config ~/.config/rofi/config.rasi"; }
|
||||
Super+Alt+L hotkey-overlay-title="Lock the screen" { spawn "hyprlock"; }
|
||||
Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; }
|
||||
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
||||
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
||||
|
||||
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
|
||||
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
|
||||
|
||||
Mod+O repeat=false { toggle-overview; }
|
||||
Mod+S repeat=false { close-window; }
|
||||
|
||||
Mod+Left { focus-column-left; }
|
||||
Mod+Down { focus-window-down; }
|
||||
Mod+Up { focus-window-up; }
|
||||
Mod+Right { focus-column-right; }
|
||||
Mod+H { focus-column-left; }
|
||||
Mod+J { focus-window-down; }
|
||||
Mod+K { focus-window-up; }
|
||||
Mod+L { focus-column-right; }
|
||||
|
||||
Mod+Ctrl+Left { move-column-left; }
|
||||
Mod+Ctrl+Down { move-window-down; }
|
||||
Mod+Ctrl+Up { move-window-up; }
|
||||
Mod+Ctrl+Right { move-column-right; }
|
||||
Mod+Shift+H { move-column-left; }
|
||||
Mod+Shift+J { move-window-down; }
|
||||
Mod+Shift+K { move-window-up; }
|
||||
Mod+Shift+L { move-column-right; }
|
||||
|
||||
Mod+Home { focus-column-first; }
|
||||
Mod+End { focus-column-last; }
|
||||
Mod+Ctrl+Home { move-column-to-first; }
|
||||
Mod+Ctrl+End { move-column-to-last; }
|
||||
|
||||
Mod+Shift+Left { focus-monitor-left; }
|
||||
Mod+Shift+Down { focus-monitor-down; }
|
||||
Mod+Shift+Up { focus-monitor-up; }
|
||||
Mod+Shift+Right { focus-monitor-right; }
|
||||
Mod+Ctrl+H { focus-monitor-left; }
|
||||
Mod+Ctrl+J { focus-monitor-down; }
|
||||
Mod+Ctrl+K { focus-monitor-up; }
|
||||
Mod+Ctrl+L { focus-monitor-right; }
|
||||
|
||||
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
||||
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
||||
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
|
||||
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
|
||||
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
||||
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
||||
|
||||
Mod+Page_Down { focus-workspace-down; }
|
||||
Mod+Page_Up { focus-workspace-up; }
|
||||
Mod+N { focus-workspace-down; }
|
||||
Mod+M { focus-workspace-up; }
|
||||
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
||||
Mod+Ctrl+M { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+N { move-column-to-workspace-up; }
|
||||
|
||||
Mod+Shift+P hotkey-overlay-title="Restart waybar and eww" { spawn-sh "pkill waybar && waybar & disown && eww kill && eww daemon && eww open-many year month day daytype"; }
|
||||
|
||||
Mod+Shift+Page_Down { move-workspace-down; }
|
||||
Mod+Shift+Page_Up { move-workspace-up; }
|
||||
Mod+Shift+M { move-workspace-down; }
|
||||
Mod+Shift+N { move-workspace-up; }
|
||||
|
||||
Mod+1 { focus-workspace 1; }
|
||||
Mod+2 { focus-workspace 2; }
|
||||
Mod+3 { focus-workspace 3; }
|
||||
Mod+4 { focus-workspace 4; }
|
||||
Mod+5 { focus-workspace 5; }
|
||||
Mod+6 { focus-workspace 6; }
|
||||
Mod+7 { focus-workspace 7; }
|
||||
Mod+8 { focus-workspace 8; }
|
||||
Mod+9 { focus-workspace 9; }
|
||||
Mod+Shift+1 { move-column-to-workspace 1; }
|
||||
Mod+Shift+2 { move-column-to-workspace 2; }
|
||||
Mod+Shift+3 { move-column-to-workspace 3; }
|
||||
Mod+Shift+4 { move-column-to-workspace 4; }
|
||||
Mod+Shift+5 { move-column-to-workspace 5; }
|
||||
Mod+Shift+6 { move-column-to-workspace 6; }
|
||||
Mod+Shift+7 { move-column-to-workspace 7; }
|
||||
Mod+Shift+8 { move-column-to-workspace 8; }
|
||||
Mod+Shift+9 { move-column-to-workspace 9; }
|
||||
|
||||
Mod+BracketLeft { consume-or-expel-window-left; }
|
||||
Mod+BracketRight { consume-or-expel-window-right; }
|
||||
|
||||
Mod+Comma { consume-window-into-column; }
|
||||
Mod+Period { expel-window-from-column; }
|
||||
|
||||
Mod+D { switch-preset-column-width; }
|
||||
Mod+Shift+R { switch-preset-window-height; }
|
||||
Mod+Ctrl+R { reset-window-height; }
|
||||
Mod+W { maximize-column; }
|
||||
Mod+Shift+W { fullscreen-window; }
|
||||
|
||||
Mod+Ctrl+F { expand-column-to-available-width; }
|
||||
Mod+C { center-column; }
|
||||
Mod+Ctrl+C { center-visible-columns; }
|
||||
|
||||
Mod+Minus { set-column-width "-10%"; }
|
||||
Mod+Equal { set-column-width "+10%"; }
|
||||
|
||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
||||
Mod+Shift+Equal { set-window-height "+10%"; }
|
||||
|
||||
Mod+Space { toggle-window-floating; }
|
||||
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
||||
|
||||
Mod+Shift+F { toggle-column-tabbed-display; }
|
||||
Mod+F hotkey-overlay-title="Spawn file manager (nautilus)" { spawn "nautilus"; }
|
||||
|
||||
Print { screenshot; }
|
||||
Super+Shift+S { screenshot; }
|
||||
Control+Alt+S { screenshot-window; }
|
||||
Ctrl+Print { screenshot-screen; }
|
||||
Alt+Print { screenshot-window; }
|
||||
|
||||
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
||||
|
||||
Mod+Shift+E { quit; }
|
||||
Ctrl+Alt+Delete { quit; }
|
||||
|
||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
||||
|
||||
Mod+WheelScrollRight { focus-column-right; }
|
||||
Mod+WheelScrollLeft { focus-column-left; }
|
||||
Mod+Ctrl+WheelScrollRight { move-column-right; }
|
||||
Mod+Ctrl+WheelScrollLeft { move-column-left; }
|
||||
|
||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
||||
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
|
||||
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
|
||||
}
|
||||
|
||||
|
||||
Executable
+265
@@ -0,0 +1,265 @@
|
||||
input {
|
||||
mod-key "Super"
|
||||
keyboard {
|
||||
xkb {
|
||||
}
|
||||
numlock
|
||||
repeat-delay 600
|
||||
repeat-rate 25
|
||||
}
|
||||
|
||||
touchpad {
|
||||
tap
|
||||
natural-scroll
|
||||
}
|
||||
|
||||
trackpoint {
|
||||
}
|
||||
}
|
||||
|
||||
gestures {
|
||||
hot-corners {
|
||||
off
|
||||
}
|
||||
}
|
||||
|
||||
cursor {
|
||||
xcursor-theme "Adwaita"
|
||||
xcursor-size 24
|
||||
}
|
||||
|
||||
output "HDMI-A-1" {
|
||||
mode "1920x1080@74.973"
|
||||
scale 1
|
||||
transform "normal"
|
||||
}
|
||||
|
||||
output "eDP-1" {
|
||||
off
|
||||
scale 1
|
||||
transform "normal"
|
||||
position x=1280 y=0
|
||||
}
|
||||
|
||||
layout {
|
||||
gaps 5
|
||||
center-focused-column "never"
|
||||
|
||||
preset-column-widths {
|
||||
proportion 0.33333
|
||||
proportion 0.5
|
||||
proportion 0.66667
|
||||
}
|
||||
|
||||
default-column-width {
|
||||
proportion 0.5;
|
||||
}
|
||||
|
||||
focus-ring {
|
||||
width 2.5
|
||||
active-color "#211e1e"
|
||||
inactive-color "#191724"
|
||||
}
|
||||
|
||||
border {
|
||||
off
|
||||
width 4
|
||||
active-color "#191724"
|
||||
inactive-color "#191724"
|
||||
urgent-color "#9b0000"
|
||||
}
|
||||
|
||||
shadow {
|
||||
on
|
||||
softness 30
|
||||
spread 5
|
||||
offset x=0 y=5
|
||||
color "#0007"
|
||||
}
|
||||
|
||||
struts {
|
||||
}
|
||||
}
|
||||
|
||||
prefer-no-csd
|
||||
|
||||
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
||||
|
||||
spawn-at-startup "waybar &"
|
||||
spawn-at-startup "swww-daemon &"
|
||||
spawn-at-startup "swww img --outputs HDMI-A-1 ~/Wallpapers/bay.png &"
|
||||
spawn-at-startup "eww daemon &"
|
||||
spawn-at-startup "eww open-many year month day daytype &"
|
||||
spawn-at-startup "foot --server &"
|
||||
|
||||
|
||||
window-rule {
|
||||
match title="Waydroid"
|
||||
open-fullscreen true
|
||||
}
|
||||
window-rule {
|
||||
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
||||
open-floating true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id=r#"waydroid$"#
|
||||
open-fullscreen true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
geometry-corner-radius 7
|
||||
clip-to-geometry true
|
||||
}
|
||||
|
||||
binds {
|
||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||
Mod+Return hotkey-overlay-title="Open a Terminal: footclient" { spawn "footclient"; }
|
||||
Mod+R hotkey-overlay-title="Run an Application: rofi" { spawn-sh "rofi -show drun -config ~/.config/rofi/gruvbox.rasi"; }
|
||||
Mod+Shift+Return hotkey-overlay-title="Run an application: rofi (run)" { spawn-sh "rofi -show run -config ~/.config/rofi/gruvbox.rasi"; }
|
||||
Super+Alt+L hotkey-overlay-title="Lock the screen" { spawn "swaylock"; }
|
||||
Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; }
|
||||
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
||||
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
||||
|
||||
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
|
||||
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
|
||||
|
||||
Mod+O repeat=false { toggle-overview; }
|
||||
Mod+S repeat=false { close-window; }
|
||||
|
||||
Mod+Left { focus-column-left; }
|
||||
Mod+Down { focus-window-down; }
|
||||
Mod+Up { focus-window-up; }
|
||||
Mod+Right { focus-column-right; }
|
||||
Mod+H { focus-column-left; }
|
||||
Mod+J { focus-window-down; }
|
||||
Mod+K { focus-window-up; }
|
||||
Mod+L { focus-column-right; }
|
||||
|
||||
Mod+Ctrl+Left { move-column-left; }
|
||||
Mod+Ctrl+Down { move-window-down; }
|
||||
Mod+Ctrl+Up { move-window-up; }
|
||||
Mod+Ctrl+Right { move-column-right; }
|
||||
Mod+Shift+H { move-column-left; }
|
||||
Mod+Shift+J { move-window-down; }
|
||||
Mod+Shift+K { move-window-up; }
|
||||
Mod+Shift+L { move-column-right; }
|
||||
|
||||
Mod+Home { focus-column-first; }
|
||||
Mod+End { focus-column-last; }
|
||||
Mod+Ctrl+Home { move-column-to-first; }
|
||||
Mod+Ctrl+End { move-column-to-last; }
|
||||
|
||||
Mod+Shift+Left { focus-monitor-left; }
|
||||
Mod+Shift+Down { focus-monitor-down; }
|
||||
Mod+Shift+Up { focus-monitor-up; }
|
||||
Mod+Shift+Right { focus-monitor-right; }
|
||||
Mod+Ctrl+H { focus-monitor-left; }
|
||||
Mod+Ctrl+J { focus-monitor-down; }
|
||||
Mod+Ctrl+K { focus-monitor-up; }
|
||||
Mod+Ctrl+L { focus-monitor-right; }
|
||||
|
||||
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
||||
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
||||
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
|
||||
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
|
||||
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
||||
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
||||
|
||||
Mod+Page_Down { focus-workspace-down; }
|
||||
Mod+Page_Up { focus-workspace-up; }
|
||||
Mod+N { focus-workspace-down; }
|
||||
Mod+M { focus-workspace-up; }
|
||||
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
||||
Mod+Ctrl+M { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+N { move-column-to-workspace-up; }
|
||||
|
||||
Mod+Shift+P hotkey-overlay-title="Restart waybar and eww" { spawn-sh "pkill waybar && waybar & disown && eww kill && eww daemon && eww open-many year month day daytype"; }
|
||||
|
||||
Mod+Shift+Page_Down { move-workspace-down; }
|
||||
Mod+Shift+Page_Up { move-workspace-up; }
|
||||
Mod+Shift+M { move-workspace-down; }
|
||||
Mod+Shift+N { move-workspace-up; }
|
||||
|
||||
Mod+1 { focus-workspace 1; }
|
||||
Mod+2 { focus-workspace 2; }
|
||||
Mod+3 { focus-workspace 3; }
|
||||
Mod+4 { focus-workspace 4; }
|
||||
Mod+5 { focus-workspace 5; }
|
||||
Mod+6 { focus-workspace 6; }
|
||||
Mod+7 { focus-workspace 7; }
|
||||
Mod+8 { focus-workspace 8; }
|
||||
Mod+9 { focus-workspace 9; }
|
||||
Mod+Shift+1 { move-column-to-workspace 1; }
|
||||
Mod+Shift+2 { move-column-to-workspace 2; }
|
||||
Mod+Shift+3 { move-column-to-workspace 3; }
|
||||
Mod+Shift+4 { move-column-to-workspace 4; }
|
||||
Mod+Shift+5 { move-column-to-workspace 5; }
|
||||
Mod+Shift+6 { move-column-to-workspace 6; }
|
||||
Mod+Shift+7 { move-column-to-workspace 7; }
|
||||
Mod+Shift+8 { move-column-to-workspace 8; }
|
||||
Mod+Shift+9 { move-column-to-workspace 9; }
|
||||
|
||||
Mod+BracketLeft { consume-or-expel-window-left; }
|
||||
Mod+BracketRight { consume-or-expel-window-right; }
|
||||
|
||||
Mod+Comma { consume-window-into-column; }
|
||||
Mod+Period { expel-window-from-column; }
|
||||
|
||||
Mod+D { switch-preset-column-width; }
|
||||
Mod+Shift+R { switch-preset-window-height; }
|
||||
Mod+Ctrl+R { reset-window-height; }
|
||||
Mod+W { maximize-column; }
|
||||
Mod+Shift+W { fullscreen-window; }
|
||||
|
||||
Mod+Ctrl+F { expand-column-to-available-width; }
|
||||
Mod+C { center-column; }
|
||||
Mod+Ctrl+C { center-visible-columns; }
|
||||
|
||||
Mod+Minus { set-column-width "-10%"; }
|
||||
Mod+Equal { set-column-width "+10%"; }
|
||||
|
||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
||||
Mod+Shift+Equal { set-window-height "+10%"; }
|
||||
|
||||
Mod+Space { toggle-window-floating; }
|
||||
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
||||
|
||||
Mod+Shift+F { toggle-column-tabbed-display; }
|
||||
Mod+F hotkey-overlay-title="Spawn file manager (nautilus)" { spawn "nautilus"; }
|
||||
|
||||
Print { screenshot; }
|
||||
Super+Shift+S { screenshot; }
|
||||
Control+Alt+S { screenshot-window; }
|
||||
Ctrl+Print { screenshot-screen; }
|
||||
Alt+Print { screenshot-window; }
|
||||
|
||||
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
||||
|
||||
Mod+Shift+E { quit; }
|
||||
Ctrl+Alt+Delete { quit; }
|
||||
|
||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
||||
|
||||
Mod+WheelScrollRight { focus-column-right; }
|
||||
Mod+WheelScrollLeft { focus-column-left; }
|
||||
Mod+Ctrl+WheelScrollRight { move-column-right; }
|
||||
Mod+Ctrl+WheelScrollLeft { move-column-left; }
|
||||
|
||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
||||
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
|
||||
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
|
||||
}
|
||||
|
||||
|
||||
Executable
+99
@@ -0,0 +1,99 @@
|
||||
$env.config.buffer_editor = "vim"
|
||||
$env.PROMPT_COMMAND_RIGHT = ""
|
||||
$env.path ++= ["~/.local/bin"]
|
||||
$env.config.show_banner = false
|
||||
$env.config.table.mode = 'none'
|
||||
$env.TERM = "xterm"
|
||||
$env.USER = "coast"
|
||||
|
||||
$env.PROMPT_COMMAND = {
|
||||
let dir = (pwd | path basename)
|
||||
let home_dir = ($dir | str replace "coast" "home")
|
||||
$"(ansi reset)0 ($env.USER) ($home_dir) "
|
||||
}
|
||||
|
||||
$env.PROMPT_INDICATOR = ""
|
||||
|
||||
let carapace_completer = {|spans|
|
||||
carapace $spans.0 nushell ...$spans | from json
|
||||
}
|
||||
|
||||
$env.config = {
|
||||
show_banner: false
|
||||
completions: {
|
||||
case_sensitive: false
|
||||
quick: true
|
||||
partial: true
|
||||
algorithm: "fuzzy"
|
||||
external: {
|
||||
enable: true
|
||||
max_results: 100
|
||||
completer: $carapace_completer
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
alias sd = sudo
|
||||
alias nano = vim
|
||||
alias suod = sudo
|
||||
alias sduo = sudo
|
||||
alias hotp = htop
|
||||
alias c = clear
|
||||
alias dir = tree -idA
|
||||
|
||||
let bg0 = "#0f0f0f"
|
||||
let bg1 = "#1a1a1a"
|
||||
let bg2 = "#2a2a2a"
|
||||
let bg3 = "#3a3a3a"
|
||||
let fg0 = "#e0def4"
|
||||
let fg1 = "#ebbcba"
|
||||
let red = "#eb6f92"
|
||||
let green = "#eb6f92"
|
||||
let yellow = "#ea9a97"
|
||||
let blue = "#d7827e"
|
||||
let purple = "#ea9a97"
|
||||
let aqua = "#ebbcba"
|
||||
let orange = "#ea9a97"
|
||||
let gray = "#6e6a86"
|
||||
|
||||
let dark = {
|
||||
separator: $gray,
|
||||
leading_trailing_space_bg: $bg1,
|
||||
header: $yellow,
|
||||
datetime: $blue,
|
||||
filesize: $green,
|
||||
row_index: $gray,
|
||||
|
||||
bool: $green,
|
||||
int: $orange,
|
||||
float: $yellow,
|
||||
string: $fg1,
|
||||
nothing: $gray,
|
||||
binary: $red,
|
||||
cell-path: $blue,
|
||||
hints: $gray,
|
||||
|
||||
shape_garbage: { fg: $fg0 bg: $red attr: b },
|
||||
shape_bool: $green,
|
||||
shape_int: { fg: $orange attr: b },
|
||||
shape_float: { fg: $yellow attr: b },
|
||||
shape_range: { fg: $yellow attr: b },
|
||||
shape_internalcall: { fg: $aqua attr: b },
|
||||
shape_external: $blue,
|
||||
shape_externalarg: { fg: $green attr: b },
|
||||
shape_literal: $fg1,
|
||||
shape_operator: $orange,
|
||||
shape_signature: { fg: $yellow attr: b },
|
||||
shape_string: $purple,
|
||||
shape_filepath: $blue,
|
||||
shape_globpattern: { fg: $blue attr: b },
|
||||
shape_variable: $aqua,
|
||||
shape_flag: { fg: $yellow attr: b },
|
||||
shape_custom: { attr: b }
|
||||
}
|
||||
|
||||
$env.config.color_config = $dark
|
||||
$env.config.use_ansi_coloring = true
|
||||
|
||||
source ~/.config/nushell/starship.nu
|
||||
|
||||
Executable
+35
@@ -0,0 +1,35 @@
|
||||
export-env { $env.STARSHIP_SHELL = "nu"; load-env {
|
||||
STARSHIP_SESSION_KEY: (random chars -l 16)
|
||||
PROMPT_MULTILINE_INDICATOR: (
|
||||
^/etc/profiles/per-user/coast/bin/starship prompt --continuation
|
||||
)
|
||||
|
||||
# Does not play well with default character module.
|
||||
# TODO: Also Use starship vi mode indicators?
|
||||
PROMPT_INDICATOR: ""
|
||||
|
||||
PROMPT_COMMAND: {||
|
||||
# jobs are not supported
|
||||
(
|
||||
^/etc/profiles/per-user/coast/bin/starship prompt
|
||||
--cmd-duration $env.CMD_DURATION_MS
|
||||
$"--status=($env.LAST_EXIT_CODE)"
|
||||
--terminal-width (term size).columns
|
||||
)
|
||||
}
|
||||
|
||||
config: ($env.config? | default {} | merge {
|
||||
render_right_prompt_on_last_line: true
|
||||
})
|
||||
|
||||
PROMPT_COMMAND_RIGHT: {||
|
||||
(
|
||||
^/etc/profiles/per-user/coast/bin/starship prompt
|
||||
--right
|
||||
--cmd-duration $env.CMD_DURATION_MS
|
||||
$"--status=($env.LAST_EXIT_CODE)"
|
||||
--terminal-width (term size).columns
|
||||
)
|
||||
}
|
||||
}}
|
||||
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
require("plugins/lazy")
|
||||
require("plugins/lsp")
|
||||
require("plugins/nvim-tree")
|
||||
require("plugins/telescope")
|
||||
require("plugins/treesitter")
|
||||
require("config")
|
||||
require("plugins/render-markdown")
|
||||
--require("status_line").setup()
|
||||
require("plugins/lualine")
|
||||
require("plugins/catppuccin")
|
||||
require("colorizer").setup() -- #ffffff #edb511
|
||||
Executable
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
|
||||
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
||||
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
|
||||
"cmp-spell": { "branch": "master", "commit": "694a4e50809d6d645c1ea29015dad0c293f019d6" },
|
||||
"cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" },
|
||||
"comfy-line-numbers.nvim": { "branch": "main", "commit": "31e2f9287b4491ad72defb9e0185eb2739983799" },
|
||||
"fterm.nvim": { "branch": "master", "commit": "d1320892cc2ebab472935242d9d992a2c9570180" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||
"lsp_signature.nvim": { "branch": "master", "commit": "d50e40b3bf9324128e71b0b7e589765ce89466d2" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
|
||||
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
|
||||
"mini.nvim": { "branch": "main", "commit": "429e5f9dc9cd59bf76cd98b687300f0a384a7f52" },
|
||||
"moonfly": { "branch": "master", "commit": "ef85b89739bee184e204c89bc06280d62bd84039" },
|
||||
"none-ls-extras.nvim": { "branch": "main", "commit": "924fe88a9983c7d90dbb31fc4e3129a583ea0a90" },
|
||||
"none-ls.nvim": { "branch": "main", "commit": "db2a48b79cfcdab8baa5d3f37f21c78b6705c62e" },
|
||||
"nvim": { "branch": "main", "commit": "0a5de4da015a175f416d6ef1eda84661623e0500" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "77d3fdfb3554632c7a3b101ded643d422de7626f" },
|
||||
"nvim-numbertoggle": { "branch": "main", "commit": "923f9709989605fe2bc4b9de8a3625fa808f5cd6" },
|
||||
"nvim-toggler": { "branch": "main", "commit": "467808600882fd6c9e33b9dbc4889b1b80cfd917" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "1c733e8c1957dc67f47580fe9c458a13b5612d5b" },
|
||||
"nvim-treesitter": { "branch": "main", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
|
||||
"render-markdown.nvim": { "branch": "main", "commit": "10126effbafb74541b69219711dfb2c631e7ebf8" },
|
||||
"telescope-undo.nvim": { "branch": "main", "commit": "928d0c2dc9606e01e2cc547196f48d2eaecf58e5" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||
"twilight.nvim": { "branch": "main", "commit": "664e752f4a219801265cc3fc18782b457b58c1e1" },
|
||||
"typst-preview.nvim": { "branch": "master", "commit": "e544812bba84b4f7976590f2b6c0dfbd099e1893" },
|
||||
"vim-closetag": { "branch": "master", "commit": "d0a562f8bdb107a50595aefe53b1a690460c3822" },
|
||||
"vim-vsnip": { "branch": "master", "commit": "0a4b8419e44f47c57eec4c90df17567ad4b1b36e" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
|
||||
}
|
||||
Executable
+86
@@ -0,0 +1,86 @@
|
||||
local opt = vim.opt
|
||||
local map = vim.keymap.set
|
||||
local g = vim.g
|
||||
|
||||
--filetypes
|
||||
vim.cmd("autocmd BufRead,BufNewFile *.m set filetype=objc")
|
||||
|
||||
g.mapleader = " "
|
||||
|
||||
opt.shiftwidth = 4
|
||||
opt.tabstop = 4
|
||||
opt.softtabstop = 4
|
||||
opt.smarttab = true
|
||||
opt.smartindent = true
|
||||
|
||||
opt.undofile = true
|
||||
opt.undodir = vim.fn.stdpath("config") .. "/undo"
|
||||
|
||||
opt.number = true
|
||||
opt.relativenumber = true
|
||||
|
||||
opt.fillchars = "eob: "
|
||||
|
||||
g.loaded_netrw = 1
|
||||
g.loaded_netrwPlugin = 1
|
||||
|
||||
opt.termguicolors = true
|
||||
|
||||
opt.spell = false
|
||||
opt.spelllang = { "en_us" }
|
||||
|
||||
opt.shell = "/usr/bin/zsh"
|
||||
|
||||
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
|
||||
border = "single",
|
||||
})
|
||||
vim.diagnostic.config({ float = { border = "single" } })
|
||||
|
||||
map("n", "<leader>u", ":Telescope<cr>")
|
||||
map("n", "<leader>t", ":tabnew<cr>")
|
||||
map("n", "<A-Right>", ":tabn<cr>")
|
||||
map("n", "<A-Left>", ":tabp<cr>")
|
||||
map("n", "<A-q>", ":bw<cr>")
|
||||
|
||||
map("n", "<leader>.", vim.diagnostic.open_float)
|
||||
|
||||
map("n", "<leader>=", "=")
|
||||
|
||||
map("n", "<leader>x", "<cmd>!chmod +x %<CR>")
|
||||
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
|
||||
callback = function(ev)
|
||||
vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc"
|
||||
|
||||
local opts = { buffer = ev.buf }
|
||||
map("n", "K", function()
|
||||
vim.lsp.buf.hover({ border = "single" })
|
||||
end, opts)
|
||||
map("n", "gi", vim.lsp.buf.implementation, opts)
|
||||
map("n", "<C-k>", vim.lsp.buf.signature_help, opts)
|
||||
map("n", "<space>wa", vim.lsp.buf.add_workspace_folder, opts)
|
||||
map("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, opts)
|
||||
map("n", "<space>wl", function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||
end, opts)
|
||||
map("n", "<space>D", vim.lsp.buf.type_definition, opts)
|
||||
map("n", "<space>rn", vim.lsp.buf.rename, opts)
|
||||
map({ "n", "v" }, "<space>ca", vim.lsp.buf.code_action, opts)
|
||||
map("n", "gr", vim.lsp.buf.references, opts)
|
||||
map("n", "<space>f", function()
|
||||
vim.lsp.buf.format({ async = true })
|
||||
end, opts)
|
||||
end,
|
||||
})
|
||||
|
||||
local builtin = require("telescope.builtin")
|
||||
map("n", "<leader>ff", builtin.find_files, {})
|
||||
map("n", "<leader>fg", builtin.live_grep, {})
|
||||
map("n", "<leader>fb", builtin.buffers, {})
|
||||
map("n", "<leader>fh", builtin.help_tags, {})
|
||||
local treeapi = require("nvim-tree.api")
|
||||
map("n", "<leader>e", treeapi.tree.toggle, {})
|
||||
|
||||
map("n", "<A-i>", '<CMD>lua require("FTerm").toggle()<CR>')
|
||||
map("t", "<A-i>", '<C-\\><C-n><CMD>lua require("FTerm").toggle()<CR>')
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
local colors = {
|
||||
black = "#121212",
|
||||
white = "#ffffff",
|
||||
gray = "#7e7e7e",
|
||||
light_gray = "#d0d0d0",
|
||||
dark_gray = "#505050",
|
||||
red = "#ff5c57",
|
||||
green = "#5af78e",
|
||||
yellow = "#f3f99d",
|
||||
blue = "#57c7ff",
|
||||
purple = "#d183e8",
|
||||
cyan = "#9aedfe",
|
||||
}
|
||||
|
||||
local highlights = {
|
||||
Normal = { fg = colors.light_gray, bg = colors.black },
|
||||
Comment = { fg = colors.gray, italic = true },
|
||||
Constant = { fg = colors.blue },
|
||||
String = { fg = colors.green },
|
||||
Identifier = { fg = colors.blue },
|
||||
Function = { fg = colors.purple },
|
||||
Statement = { fg = colors.yellow },
|
||||
PreProc = { fg = colors.cyan },
|
||||
Type = { fg = colors.blue },
|
||||
Special = { fg = colors.red },
|
||||
Underlined = { fg = colors.white, underline = true },
|
||||
Todo = { fg = colors.black, bg = colors.yellow, bold = true },
|
||||
|
||||
StatusLine = { fg = colors.white, bg = colors.dark_gray },
|
||||
StatusLineNC = { fg = colors.light_gray, bg = colors.black },
|
||||
NvimTreeNormal = { fg = colors.light_gray, bg = colors.black },
|
||||
NvimTreeFolderName = { fg = colors.blue, bold = true },
|
||||
NvimTreeOpenedFolderName = { fg = colors.green, bold = true },
|
||||
NvimTreeRootFolder = { fg = colors.yellow, bold = true, underline = true },
|
||||
NvimTreeFileIcon = { fg = colors.light_gray },
|
||||
NvimTreeGitDirty = { fg = colors.red },
|
||||
NvimTreeGitStaged = { fg = colors.green },
|
||||
NvimTreeGitNew = { fg = colors.blue },
|
||||
NvimTreeGitRenamed = { fg = colors.purple },
|
||||
NvimTreeGitDeleted = { fg = colors.red },
|
||||
CursorLine = { bg = colors.dark_gray },
|
||||
}
|
||||
|
||||
for group, opts in pairs(highlights) do
|
||||
vim.api.nvim_set_hl(0, group, opts)
|
||||
end
|
||||
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
theme = {
|
||||
normal = {
|
||||
a = { fg = colors.black, bg = colors.white, gui = "bold" },
|
||||
b = { fg = colors.white, bg = colors.dark_gray },
|
||||
c = { fg = colors.white, bg = colors.black },
|
||||
},
|
||||
inactive = {
|
||||
a = { fg = colors.dark_gray, bg = colors.black, gui = "bold" },
|
||||
b = { fg = colors.dark_gray, bg = colors.black },
|
||||
c = { fg = colors.dark_gray, bg = colors.black },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
require("nvim-tree").setup({
|
||||
view = {
|
||||
width = 30,
|
||||
side = "left",
|
||||
},
|
||||
renderer = {
|
||||
highlight_git = true,
|
||||
root_folder_modifier = ":~",
|
||||
icons = {
|
||||
show = {
|
||||
file = true,
|
||||
folder = true,
|
||||
git = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
filters = {
|
||||
dotfiles = false,
|
||||
},
|
||||
})
|
||||
Executable
+17
@@ -0,0 +1,17 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable",
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
local lazy_plugins = require("plugins/lazy/plugins")
|
||||
|
||||
require("lazy").setup(lazy_plugins)
|
||||
require("mason").setup()
|
||||
Executable
+128
@@ -0,0 +1,128 @@
|
||||
return {
|
||||
{
|
||||
"andweeb/presence.nvim",
|
||||
"catppuccin/nvim",
|
||||
--"morhetz/gruvbox",
|
||||
"neovim/nvim-lspconfig",
|
||||
"williamboman/mason.nvim",
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
tag = "0.1.5",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
},
|
||||
{
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
},
|
||||
{
|
||||
"folke/todo-comments.nvim",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
},
|
||||
{
|
||||
"nvimtools/none-ls.nvim",
|
||||
dependencies = {
|
||||
"nvimtools/none-ls-extras.nvim",
|
||||
},
|
||||
},
|
||||
{
|
||||
"windwp/nvim-autopairs",
|
||||
event = "InsertEnter",
|
||||
},
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
"neovim/nvim-lspconfig",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-nvim-lua",
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-path",
|
||||
"hrsh7th/cmp-cmdline",
|
||||
"hrsh7th/cmp-vsnip",
|
||||
"hrsh7th/vim-vsnip",
|
||||
},
|
||||
},
|
||||
{
|
||||
"ray-x/lsp_signature.nvim",
|
||||
event = "VeryLazy",
|
||||
},
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"f3fora/cmp-spell",
|
||||
{
|
||||
"debugloop/telescope-undo.nvim",
|
||||
dependencies = {
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"chomosuke/typst-preview.nvim",
|
||||
lazy = false,
|
||||
version = "1.*",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"MeanderingProgrammer/render-markdown.nvim",
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"nvim-mini/mini.nvim",
|
||||
},
|
||||
opts = {},
|
||||
},
|
||||
"sitiom/nvim-numbertoggle",
|
||||
"mluders/comfy-line-numbers.nvim",
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
init = function()
|
||||
vim.o.timeout = true
|
||||
vim.o.timeoutlen = 300
|
||||
end,
|
||||
},
|
||||
{
|
||||
"folke/twilight.nvim",
|
||||
opts = {
|
||||
dimming = {
|
||||
alpha = 0.35,
|
||||
color = { "Normal" },
|
||||
term_bg = "#282828",
|
||||
inactive = false,
|
||||
},
|
||||
context = 15,
|
||||
treesitter = true,
|
||||
expand = {
|
||||
"function",
|
||||
"method",
|
||||
"table",
|
||||
"if_statement",
|
||||
},
|
||||
exclude = {
|
||||
"md",
|
||||
},
|
||||
},
|
||||
},
|
||||
"nguyenvukhang/nvim-toggler",
|
||||
"alvan/vim-closetag",
|
||||
"norcalli/nvim-colorizer.lua",
|
||||
{
|
||||
"numtostr/fterm.nvim",
|
||||
border = "double",
|
||||
dimensions = {
|
||||
height = 0.9,
|
||||
width = 0.9,
|
||||
},
|
||||
},
|
||||
{
|
||||
"bluz71/vim-moonfly-colors",
|
||||
name = "moonfly",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
},
|
||||
},
|
||||
}
|
||||
Executable
+120
@@ -0,0 +1,120 @@
|
||||
local lsp = require("lspconfig")
|
||||
local fmt = require("null-ls")
|
||||
local cmp = require("cmp")
|
||||
|
||||
require("nvim-autopairs").setup({})
|
||||
require("lsp_signature").setup({ hint_enable = false })
|
||||
|
||||
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
|
||||
fmt.setup({
|
||||
sources = {
|
||||
fmt.builtins.formatting.clang_format,
|
||||
require("none-ls.formatting.rustfmt"),
|
||||
fmt.builtins.formatting.stylua,
|
||||
fmt.builtins.formatting.gofmt,
|
||||
},
|
||||
on_attach = function(client, bufnr)
|
||||
if client.supports_method("textDocument/formatting") then
|
||||
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
group = augroup,
|
||||
buffer = bufnr,
|
||||
callback = function()
|
||||
vim.lsp.buf.format({ async = false })
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
vim.fn["vsnip#anonymous"](args.body)
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping.abort(),
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||
}),
|
||||
window = { completion = cmp.config.window.bordered(), documentation = cmp.config.window.bordered() },
|
||||
sources = cmp.config.sources({
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "vsnip" },
|
||||
{ name = "spell" },
|
||||
}, {
|
||||
{ name = "buffer" },
|
||||
{ name = "nvim_lua" },
|
||||
}),
|
||||
})
|
||||
|
||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
|
||||
lsp.html.setup({
|
||||
cmd = { "vscode-html-language-server", "--stdio" },
|
||||
capabilities = capabilities,
|
||||
init_options = {
|
||||
configurationSection = { "html", "css", "javascript" },
|
||||
embeddedLanguages = { css = true, javascript = true },
|
||||
provideFormatter = true,
|
||||
},
|
||||
settings = {
|
||||
html = {
|
||||
format = {
|
||||
wrapLineLength = 120,
|
||||
wrapAttributes = "auto",
|
||||
contentUnformatted = "pre,code,textarea",
|
||||
},
|
||||
hover = { documentation = true, references = true },
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
lsp.cssls.setup({
|
||||
capabilities = capabilities,
|
||||
settings = { css = { validate = true }, scss = { validate = true }, less = { validate = true } },
|
||||
})
|
||||
|
||||
lsp.ts_ls.setup({
|
||||
capabilities = capabilities,
|
||||
on_attach = function(client)
|
||||
client.server_capabilities.documentFormattingProvider = false
|
||||
end,
|
||||
})
|
||||
|
||||
lsp.rust_analyzer.setup({ capabilities = capabilities })
|
||||
|
||||
local clangd_capabilities = vim.deepcopy(capabilities)
|
||||
clangd_capabilities["offsetEncoding"] = "utf-8"
|
||||
lsp.clangd.setup({
|
||||
cmd = { "clangd", "--background-index", "--function-arg-placeholders=0", "-j=12", "--clang-tidy" },
|
||||
capabilities = clangd_capabilities,
|
||||
init_options = { documentFormatting = true },
|
||||
})
|
||||
|
||||
lsp.pyright.setup({ capabilities = capabilities })
|
||||
lsp.gopls.setup({ capabilities = capabilities })
|
||||
lsp.asm_lsp.setup({ capabilities = capabilities })
|
||||
lsp.zls.setup({ capabilities = capabilities })
|
||||
lsp.jdtls.setup({ capabilities = capabilities })
|
||||
lsp.tinymist.setup({ capabilities = capabilities })
|
||||
|
||||
lsp.lua_ls.setup({
|
||||
on_init = function(client)
|
||||
local path = client.workspace_folders[1].name
|
||||
if not vim.loop.fs_stat(path .. "/.luarc.json") and not vim.loop.fs_stat(path .. "/.luarc.jsonc") then
|
||||
client.config.settings = vim.tbl_deep_extend("force", client.config.settings, {
|
||||
Lua = {
|
||||
runtime = { version = "LuaJIT" },
|
||||
workspace = { checkThirdParty = false, library = { vim.env.VIMRUNTIME } },
|
||||
},
|
||||
})
|
||||
client.notify("workspace/didChangeConfiguration", { settings = client.config.settings })
|
||||
end
|
||||
return true
|
||||
end,
|
||||
capabilities = capabilities,
|
||||
})
|
||||
Executable
+42
@@ -0,0 +1,42 @@
|
||||
local lualine = require("lualine")
|
||||
|
||||
lualine.setup({
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
theme = "auto",
|
||||
component_separators = { left = "|", right = "|" },
|
||||
section_separators = { left = "", right = "" },
|
||||
disabled_filetypes = {
|
||||
statusline = {},
|
||||
winbar = {},
|
||||
},
|
||||
ignore_focus = {},
|
||||
always_divide_middle = true,
|
||||
globalstatus = false,
|
||||
refresh = {
|
||||
statusline = 1000,
|
||||
tabline = 1000,
|
||||
winbar = 1000,
|
||||
},
|
||||
},
|
||||
sections = {
|
||||
lualine_a = { "mode" },
|
||||
lualine_b = { "branch", "diff", "diagnostics" },
|
||||
lualine_c = { "filename" },
|
||||
lualine_x = { "encoding", "fileformat", "filetype" },
|
||||
lualine_y = {},
|
||||
lualine_z = { "location" },
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = { "filename" },
|
||||
lualine_x = { "location" },
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
},
|
||||
tabline = {},
|
||||
winbar = {},
|
||||
inactive_winbar = {},
|
||||
extensions = {},
|
||||
})
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
local tree = require("nvim-tree")
|
||||
tree.setup()
|
||||
+139
@@ -0,0 +1,139 @@
|
||||
require("render-markdown").setup({
|
||||
link = {
|
||||
-- Turn on / off inline link icon rendering.
|
||||
enabled = true,
|
||||
-- Additional modes to render links.
|
||||
render_modes = false,
|
||||
-- How to handle footnote links, start with a '^'.
|
||||
footnote = {
|
||||
-- Turn on / off footnote rendering.
|
||||
enabled = true,
|
||||
-- Replace value with superscript equivalent.
|
||||
superscript = true,
|
||||
-- Added before link content.
|
||||
prefix = "",
|
||||
-- Added after link content.
|
||||
suffix = "",
|
||||
},
|
||||
-- Inlined with 'image' elements.
|
||||
image = " ",
|
||||
-- Inlined with 'email_autolink' elements.
|
||||
email = " ",
|
||||
-- Fallback icon for 'inline_link' and 'uri_autolink' elements.
|
||||
hyperlink = " ",
|
||||
-- Applies to the inlined icon as a fallback.
|
||||
highlight = "RenderMarkdownLink",
|
||||
-- Applies to WikiLink elements.
|
||||
wiki = {
|
||||
icon = " ",
|
||||
body = function()
|
||||
return nil
|
||||
end,
|
||||
highlight = "RenderMarkdownWikiLink",
|
||||
},
|
||||
-- Define custom destination patterns so icons can quickly inform you of what a link
|
||||
-- contains. Applies to 'inline_link', 'uri_autolink', and wikilink nodes. When multiple
|
||||
-- patterns match a link the one with the longer pattern is used.
|
||||
-- The key is for healthcheck and to allow users to change its values, value type below.
|
||||
-- | pattern | matched against the destination text |
|
||||
-- | icon | gets inlined before the link text |
|
||||
-- | kind | optional determines how pattern is checked |
|
||||
-- | | pattern | @see :h lua-patterns, is the default if not set |
|
||||
-- | | suffix | @see :h vim.endswith() |
|
||||
-- | priority | optional used when multiple match, uses pattern length if empty |
|
||||
-- | highlight | optional highlight for 'icon', uses fallback highlight if empty |
|
||||
custom = {
|
||||
web = { pattern = "^http", icon = " " },
|
||||
github = { pattern = "github%.com", icon = " " },
|
||||
gitlab = { pattern = "gitlab%.com", icon = " " },
|
||||
stackoverflow = { pattern = "stackoverflow%.com", icon = " " },
|
||||
wikipedia = { pattern = "wikipedia%.org", icon = " " },
|
||||
youtube = { pattern = "youtube%.com", icon = " " },
|
||||
},
|
||||
},
|
||||
callout = {
|
||||
-- Callouts are a special instance of a 'block_quote' that start with a 'shortcut_link'.
|
||||
-- The key is for healthcheck and to allow users to change its values, value type below.
|
||||
-- | raw | matched against the raw text of a 'shortcut_link', case insensitive |
|
||||
-- | rendered | replaces the 'raw' value when rendering |
|
||||
-- | highlight | highlight for the 'rendered' text and quote markers |
|
||||
-- | quote_icon | optional override for quote.icon value for individual callout |
|
||||
-- | category | optional metadata useful for filtering |
|
||||
|
||||
note = { raw = "[!NOTE]", rendered = " Note", highlight = "RenderMarkdownInfo" },
|
||||
tip = { raw = "[!TIP]", rendered = " Tip", highlight = "RenderMarkdownSuccess" },
|
||||
important = { raw = "[!IMPORTANT]", rendered = " Important", highlight = "RenderMarkdownHint" },
|
||||
warning = { raw = "[!WARNING]", rendered = " Warning", highlight = "RenderMarkdownWarn" },
|
||||
caution = { raw = "[!CAUTION]", rendered = " Caution", highlight = "RenderMarkdownError" },
|
||||
abstract = { raw = "[!ABSTRACT]", rendered = " Abstract", highlight = "RenderMarkdownInfo" },
|
||||
summary = { raw = "[!SUMMARY]", rendered = " Summary", highlight = "RenderMarkdownInfo" },
|
||||
tldr = { raw = "[!TLDR]", rendered = " Tldr", highlight = "RenderMarkdownInfo" },
|
||||
info = { raw = "[!INFO]", rendered = " Info", highlight = "RenderMarkdownInfo" },
|
||||
todo = { raw = "[!TODO]", rendered = " Todo", highlight = "RenderMarkdownInfo" },
|
||||
hint = { raw = "[!HINT]", rendered = " Hint", highlight = "RenderMarkdownSuccess" },
|
||||
success = { raw = "[!SUCCESS]", rendered = " Success", highlight = "RenderMarkdownSuccess" },
|
||||
check = { raw = "[!CHECK]", rendered = " Check", highlight = "RenderMarkdownSuccess" },
|
||||
done = { raw = "[!DONE]", rendered = " Done", highlight = "RenderMarkdownSuccess" },
|
||||
question = { raw = "[!QUESTION]", rendered = " Question", highlight = "RenderMarkdownWarn" },
|
||||
help = { raw = "[!HELP]", rendered = " Help", highlight = "RenderMarkdownWarn" },
|
||||
faq = { raw = "[!FAQ]", rendered = " Faq", highlight = "RenderMarkdownWarn" },
|
||||
attention = { raw = "[!ATTENTION]", rendered = " Attention", highlight = "RenderMarkdownWarn" },
|
||||
failure = { raw = "[!FAILURE]", rendered = " Failure", highlight = "RenderMarkdownError" },
|
||||
fail = { raw = "[!FAIL]", rendered = " Fail", highlight = "RenderMarkdownError" },
|
||||
missing = { raw = "[!MISSING]", rendered = " Missing", highlight = "RenderMarkdownError" },
|
||||
danger = { raw = "[!DANGER]", rendered = " Danger", highlight = "RenderMarkdownError" },
|
||||
error = { raw = "[!ERROR]", rendered = " Error", highlight = "RenderMarkdownError" },
|
||||
bug = { raw = "[!BUG]", rendered = " Bug", highlight = "RenderMarkdownError" },
|
||||
example = { raw = "[!EXAMPLE]", rendered = " Example", highlight = "RenderMarkdownHint" },
|
||||
quote = { raw = "[!QUOTE]", rendered = " Quote", highlight = "RenderMarkdownQuote" },
|
||||
cite = { raw = "[!CITE]", rendered = " Cite", highlight = "RenderMarkdownQuote" },
|
||||
},
|
||||
checkbox = {
|
||||
enabled = true,
|
||||
render_modes = false,
|
||||
bullet = false,
|
||||
right_pad = 1,
|
||||
unchecked = {
|
||||
icon = " ",
|
||||
highlight = "RenderMarkdownUnchecked",
|
||||
scope_highlight = nil,
|
||||
},
|
||||
checked = {
|
||||
icon = " ",
|
||||
highlight = "RenderMarkdownChecked",
|
||||
scope_highlight = nil,
|
||||
},
|
||||
custom = {
|
||||
todo = { raw = "[-]", rendered = " ", highlight = "RenderMarkdownTodo", scope_highlight = nil },
|
||||
},
|
||||
},
|
||||
bullet = {
|
||||
enabled = true,
|
||||
render_modes = false,
|
||||
icons = { "●", "○", "◆", "◇" },
|
||||
ordered_icons = function(ctx)
|
||||
local value = vim.trim(ctx.value)
|
||||
local index = tonumber(value:sub(1, #value - 1))
|
||||
return ("%d."):format(index > 1 and index or ctx.index)
|
||||
end,
|
||||
left_pad = 0,
|
||||
right_pad = 0,
|
||||
highlight = "RenderMarkdownBullet",
|
||||
scope_highlight = {},
|
||||
},
|
||||
quote = { icon = "▋" },
|
||||
anti_conceal = {
|
||||
enabled = true,
|
||||
-- Which elements to always show, ignoring anti conceal behavior. Values can either be
|
||||
-- booleans to fix the behavior or string lists representing modes where anti conceal
|
||||
-- behavior will be ignored. Valid values are:
|
||||
-- head_icon, head_background, head_border, code_language, code_background, code_border,
|
||||
-- dash, bullet, check_icon, check_scope, quote, table_border, callout, link, sign
|
||||
ignore = {
|
||||
code_background = true,
|
||||
sign = true,
|
||||
},
|
||||
above = 0,
|
||||
below = 0,
|
||||
},
|
||||
})
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
local tel = require("telescope")
|
||||
tel.setup({})
|
||||
tel.load_extension("undo")
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
local ts = require("nvim-treesitter.configs")
|
||||
|
||||
ts.setup({
|
||||
ensure_installed = { "c", "cpp", "lua", "go", "gomod", "gowork", "gosum", "rust", "python" },
|
||||
auto_install = true,
|
||||
sync_install = true,
|
||||
highlight = {
|
||||
enable = true
|
||||
}
|
||||
})
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
local wk = require("which-key")
|
||||
wk.setup({})
|
||||
Executable
+102
@@ -0,0 +1,102 @@
|
||||
local colors = {
|
||||
foreground = "#ebdbb2",
|
||||
pink = "#b16286",
|
||||
red = "#cc241d",
|
||||
green = "#98971a",
|
||||
yellow = "#d79921",
|
||||
orange = "#d65d0e",
|
||||
magenta = "#b16286",
|
||||
cyan = "#458588",
|
||||
bg_darken = "#1d2021",
|
||||
dark_text = "#1d2021",
|
||||
}
|
||||
|
||||
local M = {}
|
||||
|
||||
function M.setup()
|
||||
vim.cmd("hi StatusBackground guifg=" .. colors.foreground .. " guibg=" .. colors.bg_darken)
|
||||
vim.cmd("hi Moden guifg=" .. colors.dark_text .. " guibg=" .. colors.pink .. " gui=bold")
|
||||
vim.cmd("hi Modei guifg=" .. colors.dark_text .. " guibg=" .. colors.green .. " gui=bold")
|
||||
vim.cmd("hi Modev guifg=" .. colors.dark_text .. " guibg=" .. colors.yellow .. " gui=bold")
|
||||
vim.cmd("hi Modet guifg=" .. colors.dark_text .. " guibg=" .. colors.orange .. " gui=bold")
|
||||
vim.cmd("hi Modec guifg=" .. colors.dark_text .. " guibg=" .. colors.magenta .. " gui=bold")
|
||||
vim.cmd("hi Moder guifg=" .. colors.dark_text .. " guibg=" .. colors.red .. " gui=bold")
|
||||
vim.cmd("hi Filetype guifg=" .. colors.cyan .. " guibg=" .. colors.bg_darken .. " gui=bold")
|
||||
vim.cmd("hi Position guifg=" .. colors.yellow .. " guibg=" .. colors.bg_darken .. " gui=bold")
|
||||
vim.cmd("hi GitBranch guifg=" .. colors.orange .. " guibg=" .. colors.bg_darken .. " gui=bold")
|
||||
vim.cmd("hi GitDiff guifg=" .. colors.green .. " guibg=" .. colors.bg_darken)
|
||||
vim.cmd("hi GitDiffDel guifg=" .. colors.red .. " guibg=" .. colors.bg_darken)
|
||||
vim.cmd("hi Separator guifg=" .. colors.foreground .. " guibg=" .. colors.bg_darken)
|
||||
vim.cmd("hi LSPError guifg=" .. colors.red .. " guibg=" .. colors.bg_darken)
|
||||
vim.cmd("hi LSPWarn guifg=" .. colors.yellow .. " guibg=" .. colors.bg_darken)
|
||||
vim.cmd("hi LSPInfo guifg=" .. colors.cyan .. " guibg=" .. colors.bg_darken)
|
||||
vim.cmd("hi LSPOk guifg=" .. colors.green .. " guibg=" .. colors.bg_darken)
|
||||
|
||||
vim.o.statusline = table.concat({
|
||||
"%{%v:lua.themeStatuslineMode()%} ",
|
||||
"%f ",
|
||||
"%{%v:lua.themeGitBranch()%} ",
|
||||
"%{%v:lua.themeGitDiff()%} ",
|
||||
"%{%v:lua.themeLSP()%} ",
|
||||
"%=",
|
||||
"%{%v:lua.themeStatuslineFiletype()%} ",
|
||||
"%{%v:lua.themeStatuslinePosition()%}",
|
||||
})
|
||||
end
|
||||
|
||||
function themeStatuslineMode()
|
||||
local mode = vim.fn.mode()
|
||||
local mode_highlight = "Mode" .. mode:sub(1, 1)
|
||||
return string.format("%%#%s# %s %%#StatusBackground#", mode_highlight, mode:upper())
|
||||
end
|
||||
|
||||
function themeStatuslineFiletype()
|
||||
return string.format("%%#Filetype# %s %%#Separator#│%%#StatusBackground#", vim.bo.filetype)
|
||||
end
|
||||
|
||||
function themeStatuslinePosition()
|
||||
local row, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return string.format("%%#Position# %03d:%02d ", row, col)
|
||||
end
|
||||
|
||||
function themeGitBranch()
|
||||
local branch = vim.fn.systemlist("git rev-parse --abbrev-ref HEAD 2>/dev/null")[1] or ""
|
||||
if branch ~= "" then
|
||||
return string.format("%%#GitBranch# %s %%#Separator#│%%#StatusBackground#", branch)
|
||||
end
|
||||
return ""
|
||||
end
|
||||
|
||||
function themeGitDiff()
|
||||
local diff = vim.fn.systemlist("git diff --shortstat 2>/dev/null")[1] or ""
|
||||
local added, removed = diff:match("(%d+) insertions?"), diff:match("(%d+) deletions?")
|
||||
added = added or "0"
|
||||
removed = removed or "0"
|
||||
if diff ~= "" then
|
||||
return string.format("%%#GitDiff#+%s %%#GitDiffDel#-%s %%#StatusBackground#", added, removed)
|
||||
end
|
||||
return ""
|
||||
end
|
||||
|
||||
function themeLSP()
|
||||
local errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR })
|
||||
local warns = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN })
|
||||
local info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO })
|
||||
local hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT })
|
||||
local str = ""
|
||||
if errors > 0 then
|
||||
str = str .. string.format("%%#LSPError#E:%d ", errors)
|
||||
end
|
||||
if warns > 0 then
|
||||
str = str .. string.format("%%#LSPWarn#W:%d ", warns)
|
||||
end
|
||||
if info > 0 then
|
||||
str = str .. string.format("%%#LSPInfo#I:%d ", info)
|
||||
end
|
||||
if hints > 0 then
|
||||
str = str .. string.format("%%#LSPOk#H:%d ", hints)
|
||||
end
|
||||
return str
|
||||
end
|
||||
|
||||
return M
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user