Compare commits
42 Commits
850e0eb7df
...
fd1fc1aaa9
Author | SHA1 | Date |
---|---|---|
urosm | fd1fc1aaa9 | |
urosm | c1d09cfb75 | |
urosm | ca58f7693d | |
urosm | 10e1a3ebd2 | |
urosm | 71ef2901c3 | |
urosm | 2829e8a26b | |
urosm | 85eaa47392 | |
urosm | 1cb9f82d14 | |
urosm | 62e396ceff | |
urosm | e875c7c3a8 | |
urosm | e9b4b41ba7 | |
urosm | a590e359af | |
urosm | 039f53c2e5 | |
urosm | c5d8e6610e | |
urosm | e78346e326 | |
urosm | ac8b3932ab | |
urosm | 597d1f24e2 | |
urosm | 03c4bcd1c6 | |
urosm | d7d09131fe | |
urosm | 2a8cb466e0 | |
urosm | 0d974f4dbb | |
urosm | c604830cae | |
urosm | 425549a15c | |
urosm | c6039e2f21 | |
urosm | c668e541d4 | |
urosm | 4b7129a387 | |
urosm | 5ec35c2566 | |
urosm | a56769bc29 | |
urosm | 67bb312336 | |
urosm | 36eae5852e | |
urosm | 4b24c8ebf1 | |
urosm | 6636f8fc8d | |
urosm | 15850af9aa | |
urosm | 3056e3a4b7 | |
urosm | dea5421336 | |
urosm | 9f218453a1 | |
urosm | f701f966fa | |
urosm | cdcdf13a0e | |
urosm | 9640c96f1f | |
urosm | e9902c0aa9 | |
urosm | 93a2263fea | |
urosm | 230a41857a |
19
.bashrc
19
.bashrc
|
@ -3,20 +3,11 @@
|
|||
# if not running interactively, don't do anything
|
||||
[ -z "$PS1" ] && return
|
||||
|
||||
# history
|
||||
export HISTCONTROL=ignoredups:erasedups
|
||||
export HISTSIZE=-1
|
||||
export HISTFILESIZE=-1
|
||||
PROMPT_COMMAND="history -a;history -n;$PROMPT_COMMAND"
|
||||
|
||||
# title
|
||||
PS1="\[\e]0;\u@\h:\w\a\]$PS1"
|
||||
|
||||
# readline
|
||||
bind "set editing-mode vi"
|
||||
bind "set keyseq-timeout 50"
|
||||
bind "set show-mode-in-prompt on"
|
||||
bind "set vi-ins-mode-string \1\e[35m\2+\1\e[0m\2"
|
||||
bind "set vi-ins-mode-string \1\e[01;35m\2+\1\e[0m\2"
|
||||
bind "set vi-cmd-mode-string :"
|
||||
|
||||
bind "set keymap vi-command"
|
||||
|
@ -31,9 +22,15 @@ bind "set completion-display-width 0"
|
|||
bind "set colored-stats on"
|
||||
bind "set visible-stats on"
|
||||
|
||||
# prompt
|
||||
PS1=" \[\e[1m\]\u@\h\[\e[0m\] \[\e[1;34m\]\w\[\e[0m\] \[\e[1m\]\$\[\e[0m\] "
|
||||
|
||||
# title
|
||||
PS1="\[\e]0;\u@\h:\w\a\]$PS1"
|
||||
|
||||
# alias
|
||||
alias q="exit"
|
||||
alias e='${EDITOR:-vi}'
|
||||
alias diff="diff --color=auto"
|
||||
alias grep="grep --color=auto"
|
||||
alias ls="ls --color=auto"
|
||||
alias ll="ls -AF1"
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
<Directory /home/urosm/*/public_html>
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
<VirtualHost *:80>
|
||||
ServerName bavbavhaus.localhost
|
||||
DocumentRoot /home/urosm/bavbavhaus.net/public_html
|
||||
DirectoryIndex README.html
|
||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
||||
</VirtualHost>
|
|
@ -0,0 +1,17 @@
|
|||
<VirtualHost *:80>
|
||||
ServerName bavbavhaus.net
|
||||
ServerAlias www.bavbavhaus.net
|
||||
DirectoryIndex README.html
|
||||
RewriteEngine on
|
||||
RewriteCond %{SERVER_NAME} =www.bavbavhaus.net [OR]
|
||||
RewriteCond %{SERVER_NAME} =bavbavhaus.net
|
||||
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName bavbavhaus.net
|
||||
ServerAlias www.bavbavhaus.net
|
||||
DocumentRoot /home/urosm/public_html/bavbavhaus.net
|
||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
||||
</VirtualHost>
|
|
@ -0,0 +1,15 @@
|
|||
<Directory /home/urosm/*/public_html>
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
<VirtualHost *:80>
|
||||
ServerName kontrakurs.localhost
|
||||
DocumentRoot /home/urosm/kontrakurs.org/public_html
|
||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
||||
<Directory /home/urosm/kontrakurs.org/public_html>
|
||||
AddHandler cgi-script .cgi
|
||||
Options +ExecCGI
|
||||
</Directory>
|
||||
ErrorDocument 404 /home/urosm/kontrakurs.org/public_html/ikiwiki.cgi
|
||||
</VirtualHost>
|
|
@ -0,0 +1,21 @@
|
|||
<VirtualHost *:80>
|
||||
ServerName kontrakurs.org
|
||||
ServerAlias www.kontrakurs.org
|
||||
RewriteEngine on
|
||||
RewriteCond %{SERVER_NAME} =www.kontrakurs.org [OR]
|
||||
RewriteCond %{SERVER_NAME} =kontrakurs.org
|
||||
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName kontrakurs.org
|
||||
ServerAlias www.kontrakurs.org
|
||||
DocumentRoot /home/urosm/public_html/kontrakurs.org
|
||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
||||
<Directory "/home/urosm/public_html/kontrakurs.org">
|
||||
AddHandler cgi-script .cgi
|
||||
Options +ExecCGI
|
||||
</Directory>
|
||||
ErrorDocument 404 /home/urosm/public_html/kontrakurs.org/ikiwiki.cgi
|
||||
</VirtualHost>
|
|
@ -1,5 +1,6 @@
|
|||
[DEFAULT]
|
||||
bantime = 1d
|
||||
backend = systemd
|
||||
|
||||
[sshd]
|
||||
enabled = true
|
||||
|
|
|
@ -1,8 +1,16 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
||||
<fontconfig>
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer><family>IBM Plex Serif</family></prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer><family>IBM Plex Sans</family></prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer><family>Agave</family></prefer>
|
||||
<prefer><family>IBM Plex Mono</family></prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
[main]
|
||||
dpi-aware=no
|
||||
font=monospace:size=13
|
||||
font=monospace:size=12
|
||||
|
||||
[colors]
|
||||
foreground=e3e0e1
|
||||
background=292526
|
||||
regular0=292526
|
||||
regular1=ff404f
|
||||
regular2=00a147
|
||||
regular3=e06e00
|
||||
regular4=6185ff
|
||||
regular5=ff3e8b
|
||||
regular6=0095d7
|
||||
regular7=e3e0e1
|
||||
bright0=958a8d
|
||||
bright1=ffb3b6
|
||||
bright2=00e46a
|
||||
bright3=ffb598
|
||||
bright4=b8c3ff
|
||||
bright5=ffb1c5
|
||||
foreground=e2e2e2
|
||||
background=000000
|
||||
regular0=000000
|
||||
regular1=fa3500
|
||||
regular2=009843
|
||||
regular3=d06600
|
||||
regular4=856cff
|
||||
regular5=ff1170
|
||||
regular6=008cca
|
||||
regular7=e2e2e2
|
||||
bright0=848484
|
||||
bright1=ff888e
|
||||
bright2=00c55b
|
||||
bright3=ff8d48
|
||||
bright4=ac9fff
|
||||
bright5=ffb1c0
|
||||
bright6=92ccff
|
||||
bright7=f4f3f3
|
||||
bright7=ffffff
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
[main]
|
||||
layer=overlay
|
||||
dpi-aware=no
|
||||
font=monospace:size=13
|
||||
font=monospace:size=12
|
||||
icons-enabled=no
|
||||
width=72
|
||||
|
||||
[colors]
|
||||
background=292526ff
|
||||
text=6185ffff
|
||||
match=e06e00ff
|
||||
selection=292526ff
|
||||
selection-text=ff3e8bff
|
||||
selection-match=ff3e8bff
|
||||
border=6185ffff
|
||||
background=000000ff
|
||||
text=856cffff
|
||||
match=d06600ff
|
||||
selection=000000ff
|
||||
selection-text=ff1170ff
|
||||
selection-match=ff1170ff
|
||||
border=856cffff
|
||||
|
||||
[border]
|
||||
radius=0
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
[user]
|
||||
email = urosm@kompot.si
|
||||
name = urosm
|
||||
[commit]
|
||||
verbose = true
|
||||
|
|
|
@ -1,12 +1 @@
|
|||
invisible=1
|
||||
font=monospace 13
|
||||
background-color=#e3e0e1
|
||||
text-color=#292526
|
||||
border-size=1
|
||||
border-color=#6185ff
|
||||
icons=0
|
||||
format=%s\n%b
|
||||
anchor=bottom-right
|
||||
|
||||
[urgency=critical]
|
||||
border-color=#ff404f
|
||||
|
|
|
@ -3,3 +3,5 @@ text/plain=nvim.desktop;
|
|||
text/markdown=nvim.desktop;
|
||||
application/pdf=org.pwmt.zathura.desktop;
|
||||
inode/directory=footclient-directory.desktop;
|
||||
x-scheme-handler/http=firefox.desktop;
|
||||
x-scheme-handler/https=firefox.desktop;
|
||||
|
|
|
@ -5,4 +5,4 @@ image-display-duration=inf
|
|||
osd-level=0
|
||||
|
||||
# gpu renderer options
|
||||
background="#292526"
|
||||
background="#000000"
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
# This file describes the network interfaces available on your system
|
||||
# and how to activate them. For more information, see interfaces(5).
|
||||
|
||||
source /etc/network/interfaces.d/*
|
||||
|
||||
# The loopback network interface
|
||||
auto lo
|
||||
iface lo inet loopback
|
|
@ -5,22 +5,22 @@
|
|||
|
||||
-- colors ----------------------------------------------------------------------
|
||||
local C = {
|
||||
{ 0, "#292526" }, -- black
|
||||
{ 1, "#ff404f" }, -- red
|
||||
{ 2, "#00a147" }, -- green
|
||||
{ 3, "#e06e00" }, -- orange
|
||||
{ 4, "#6185ff" }, -- blue
|
||||
{ 5, "#ff3e8b" }, -- magenta
|
||||
{ 6, "#0095d7" }, -- cyan
|
||||
{ 7, "#e3e0e1" }, -- white
|
||||
{ 8, "#958a8d" }, -- black
|
||||
{ 9, "#ffb3b6" }, -- red
|
||||
{ 10, "#00e46a" }, -- green
|
||||
{ 11, "#ffb598" }, -- orange
|
||||
{ 12, "#b8c3ff" }, -- blue
|
||||
{ 13, "#ffb1c5" }, -- magenta
|
||||
{ 0, "#000000" }, -- black
|
||||
{ 1, "#fa3500" }, -- red
|
||||
{ 2, "#009843" }, -- green
|
||||
{ 3, "#d06600" }, -- orange
|
||||
{ 4, "#856cff" }, -- blue
|
||||
{ 5, "#ff1170" }, -- magenta
|
||||
{ 6, "#008cca" }, -- cyan
|
||||
{ 7, "#e2e2e2" }, -- white
|
||||
{ 8, "#848484" }, -- black
|
||||
{ 9, "#ff888e" }, -- red
|
||||
{ 10, "#00c55b" }, -- green
|
||||
{ 11, "#ff8d48" }, -- orange
|
||||
{ 12, "#ac9fff" }, -- blue
|
||||
{ 13, "#ffb1c0" }, -- magenta
|
||||
{ 14, "#92ccff" }, -- cyan
|
||||
{ 15, "#f4f3f3" }, -- white
|
||||
{ 15, "#ffffff" }, -- white
|
||||
}
|
||||
|
||||
local black_c = C[1]
|
||||
|
@ -50,8 +50,6 @@ else
|
|||
vim.opt.termguicolors = true
|
||||
end
|
||||
|
||||
local tty = vim.env.TERM == "linux" or vim.env.TERM == "screen.linux"
|
||||
|
||||
for _, v in ipairs(C) do
|
||||
local key = ("terminal_color_%i"):format(v[1])
|
||||
vim.g[key] = v[2]
|
||||
|
@ -70,25 +68,16 @@ end
|
|||
function H:fg(c)
|
||||
self.ctermfg = c[1]
|
||||
self.fg = c[2]
|
||||
if c[1] == 4 and tty then
|
||||
self.bold = true
|
||||
end
|
||||
return self
|
||||
end
|
||||
|
||||
function H:bg(c)
|
||||
self.ctermbg = c[1]
|
||||
self.bg = c[2]
|
||||
if c[1] == 4 and tty then
|
||||
self.bold = true
|
||||
end
|
||||
return self
|
||||
end
|
||||
|
||||
function H:attr(a)
|
||||
if tty then
|
||||
if a == "underline" then return self end
|
||||
end
|
||||
self[a] = true
|
||||
return self
|
||||
end
|
||||
|
@ -269,11 +258,11 @@ set_hl("DiagnosticDeprecated", diagnostic_hint_u_h)
|
|||
set_hl("DiagnosticUnnecessary", diagnostic_hint_u_h)
|
||||
|
||||
-- misc ------------------------------------------------------------------------
|
||||
set_hl("Directory", H:new():fg(blue_c):attr("bold"))
|
||||
set_hl("Directory", H:new():fg(blue_c))
|
||||
|
||||
-- syntax ----------------------------------------------------------------------
|
||||
local syntax_normal_h = {}
|
||||
local syntax_comment_h = H:new():fg(blue_c):attr("bold")
|
||||
local syntax_comment_h = H:new():fg(blue_c)
|
||||
local syntax_constant_h = H:new():fg(red_c)
|
||||
local syntax_identifier_h = H:new()
|
||||
local syntax_statement_h = H:new():fg(orange_c)
|
||||
|
@ -288,6 +277,7 @@ local syntax_warn_h = H:new():fg(black_c):bg(orange_c)
|
|||
local syntax_italic_h = H:new():attr("italic")
|
||||
local syntax_bold_h = H:new():attr("bold")
|
||||
local syntax_bolditalic_h = H:new():attr("bold"):attr("italic")
|
||||
local syntax_strike_h = H:new():attr("strikethrough")
|
||||
|
||||
set_hl("Comment", syntax_comment_h)
|
||||
set_hl("Constant", syntax_constant_h)
|
||||
|
@ -328,6 +318,7 @@ set_hl("Todo", syntax_warn_h)
|
|||
set_hl("Italic", syntax_italic_h)
|
||||
set_hl("Bold", syntax_bold_h)
|
||||
set_hl("BoldItalic", syntax_bolditalic_h)
|
||||
set_hl("Strike", syntax_strike_h)
|
||||
|
||||
-- markdown --------------------------------------------------------------------
|
||||
local markdown_label_h = H:new():fg(magenta_c)
|
||||
|
|
|
@ -1,236 +1,71 @@
|
|||
" Vim syntax file
|
||||
" Language: Markdown
|
||||
" Maintainer: urosm <urosm@kompot.si>
|
||||
" Last Change: 2024 Jan 13
|
||||
" Last Change: 2024 Feb 14
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! syntax/html.vim
|
||||
unlet! b:current_syntax
|
||||
|
||||
syntax spell toplevel
|
||||
|
||||
" comment
|
||||
syn region markdownHTMLComment start=/<!--\s\=/ end=/\s\=-->/ keepend
|
||||
hi def link markdownHTMLComment markdownComment
|
||||
" emphasis
|
||||
syn region markdownItalic matchgroup=markdownDelimiter start=/\\\@1<!\(\_^\|\s\|[[:punct:]]\)\@<=\*\S\@=/ skip=/\(\*\*\|__\)/ end=/\*\([[:punct:]]\|\s\|\_$\)\@=/ contains=@Spell
|
||||
syn region markdownItalic matchgroup=markdownDelimiter start=/\\\@1<!\(\_^\|\s\|[[:punct:]]\)\@<=_\S\@=/ skip=/\(\*\*\|__\)/ end=/\S\@1<=_\([[:punct:]]\|\s\|\_$\)\@=/ contains=@Spell
|
||||
|
||||
" titleblock
|
||||
syn region markdownTitleBlock start=/\%^%/ end=/\n\n/ contains=markdownTitleBlockDelimiter
|
||||
hi def link markdownTitleBlock markdownBold
|
||||
syn match markdownTitleBlockDelimiter /%\ / contained
|
||||
hi def link markdownTitleBlockDelimiter markdownDelimiter
|
||||
" bold
|
||||
syn region markdownBold matchgroup=markdownDelimiter start=/\(\\\@<!\*\)\{2}/ end=/\(\\\@<!\*\)\{2}/ contains=@Spell
|
||||
syn region markdownBold matchgroup=markdownDelimiter start=/__/ end=/__/ contains=@Spell
|
||||
|
||||
" blockquote
|
||||
syn match markdownBlockquote /\_^\(\s*>\)\+/ containedin=markdownItalic,markdownBold,markdownPCite,markdownSuperscript,markdownSubscript,markdownStrike,markdownUListItem,markdownNoFormatted
|
||||
hi def link markdownBlockquote markdownDelimiter
|
||||
" bold italic
|
||||
syn region markdownBoldItalic matchgroup=markdownDelimiter start=/\*\{3}\(\S[^*]*\(\*\S\|\n[^*]*\*\S\)\)\@=/ end=/\S\@<=\*\{3}/ contains=@Spell
|
||||
syn region markdownBoldItalic matchgroup=markdownDelimiter start=/\(___\)\S\@=/ end=/\S\@<=___/ contains=@Spell
|
||||
|
||||
syn region markdownBoldInItalic matchgroup=markdownDelimiter start=/\*\*/ end=/\*\*/ contained containedin=markdownItalic contains=@Spell
|
||||
syn region markdownBoldInItalic matchgroup=markdownDelimiter start=/__/ end=/__/ contained containedin=markdownItalic contains=@Spell
|
||||
hi def link markdownBoldInItalic markdownBoldItalic
|
||||
|
||||
syn region markdownItalicInBold matchgroup=markdownDelimiter start=/\\\@1<!\(\_^\|\s\|[[:punct:]]\)\@<=\*\S\@=/ skip=/\(\*\*\|__\)/ end=/\S\@<=\*\([[:punct:]]\|\s\|\_$\)\@=/ contained containedin=markdownBold contains=@Spell
|
||||
syn region markdownItalicInBold matchgroup=markdownDelimiter start=/\\\@<!\(\_^\|\s\|[[:punct:]]\)\@<=_\S\@=/ skip=/\(\*\*\|__\)/ end=/\S\@<=_\([[:punct:]]\|\s\|\_$\)\@=/ contained containedin=markdownBold contains=@Spell
|
||||
hi def link markdownItalicInBold markdownBoldItalic
|
||||
|
||||
" link
|
||||
syn match markdownLink /!\=\[.\{-}\](.\{-})/ contains=markdownLinkLabel,markdownLinkURL
|
||||
hi def link markdownLink markdownDelimiter
|
||||
syn match markdownLinkLabel /\[\@1<=[^\]]\+/ contained
|
||||
syn match markdownLink /!\=\[\_.\{-}\](\_.\{-})/ contains=markdownLinkLabel,markdownLinkURL
|
||||
syn match markdownLinkLabel /\[\zs.*\ze\]/ contained
|
||||
hi def link markdownLinkLabel markdownLabel
|
||||
syn match markdownLinkURL /(\@1<=[^)]\+/ contained
|
||||
syn match markdownLinkURL /.*(\zs.*\ze)/ contained
|
||||
hi def link markdownLinkURL markdownUnderlined
|
||||
|
||||
" automatic link
|
||||
syn match markdownAutomaticLink /<\(https\{0,1}.\{-}\|[A-Za-z0-9!#$%&'*+\-/=?^_`{|}~.]\{-}@[A-Za-z0-9\-]\{-}\.\w\{-}\)>/ contains=NONE
|
||||
syn match markdownAutomaticLink /<\(https\{0,1}.\{-}\|[A-Za-z0-9!#$%&'*+\-/=?^_`{|}~.]\{-}@[A-Za-z0-9\-]\{-}\.\w\{-}\)>/
|
||||
hi def link markdownAutomaticLink markdownUnderlined
|
||||
|
||||
" wikilink
|
||||
syn region markdownWikilink start=/\[\[/ end=/\]\]/ contains=markdownWikilinkLabel,markdownWikilinkURL keepend display
|
||||
hi def link markdownWikilink markdownDelimiter
|
||||
syn match markdownWikilinkLabel /\(\[\[\)\@2<=[^\|\[\]]\+/ contained
|
||||
" NOTE: update to support newlines in titles
|
||||
syn match markdownWikilink /\[\[.*\]\]/ contains=markdownWikilinkLabel,markdownWikilinkURL
|
||||
syn match markdownWikilinkLabel /\[\[\zs.\{-}\ze|.*\]\]/ contained
|
||||
hi def link markdownWikilinkLabel markdownLabel
|
||||
syn match markdownWikilinkURL /|\@1<=[^\]]\+/ contained
|
||||
syn match markdownWikilinkURL /\%(\[\[\||\)\zs[^|]*\ze\]\]/ contained
|
||||
hi def link markdownWikilinkURL markdownUnderlined
|
||||
|
||||
" definition
|
||||
syn region markdownReferenceDefinition start=/\[.\{-}\]:/ end=/\(\n\s*".*"$\|$\)/ keepend
|
||||
hi def link markdownReferenceDefinition markdownDelimiter
|
||||
syn match markdownReferenceDefinitionLabel /\[\zs.\{-}\ze\]:/ contained containedin=markdownReferenceDefinition display
|
||||
hi def link markdownReferenceDefinitionLabel markdownLabel
|
||||
syn match markdownReferenceDefinitionURL /:\s*\zs.*/ contained containedin=markdownReferenceDefinition
|
||||
hi def link markdownReferenceDefinitionURL markdownUnderlined
|
||||
syn match markdownReferenceDefinitionTitle /\s*".\{-}"/ contained containedin=markdownReferenceDefinition,markdownReferenceDefinitionURL contains=@Spell,markdownAmpersandEscape
|
||||
hi def link markdownReferenceDefinitionTitle markdownTitle
|
||||
" footnote reference
|
||||
syn match markdownFootnoteReference /\[\zs\^.\{-}\ze\]/
|
||||
hi def link markdownFootnoteReference markdownLabel
|
||||
|
||||
" citation
|
||||
syn match markdownPCite "\^\@<!\[[^\[\]]\{-}-\{0,1}@[[:alnum:]_][[:digit:][:lower:][:upper:]_:.#$%&\-+?<>~/]*.\{-}\]" contains=markdownItalic,markdownBold,markdownLatex,markdownCiteKey,@Spell,markdownAmpersandEscape
|
||||
syn match markdownICite "@[[:alnum:]_][[:digit:][:lower:][:upper:]_:.#$%&\-+?<>~/]*\s\[.\{-1,}\]" contains=markdownCiteKey,@Spell display
|
||||
syn match markdownCiteKey /\(-\=@[[:alnum:]_][[:digit:][:lower:][:upper:]_:.#$%&\-+?<>~/]*\)/ containedin=markdownPCite,markdownICite contains=@NoSpell display
|
||||
hi def link markdownCiteKey markdownLabel
|
||||
syn match markdownCiteLocator /[\[\]]/ contained containedin=markdownPCite,markdownICite
|
||||
hi def link markdownCiteLocator markdownDelimiter
|
||||
" reference key
|
||||
syn match markdownReferenceKey /@[[:alnum:]_][[:digit:][:lower:][:upper:]_:.#$%&-+?<>~\/]*/
|
||||
hi def link markdownReferenceKey markdownLabel
|
||||
|
||||
" italic
|
||||
syn region markdownItalic matchgroup=markdownDelimiter start=/\\\@1<!\(\_^\|\s\|[[:punct:]]\)\@<=\*\S\@=/ skip=/\(\*\*\|__\)/ end=/\*\([[:punct:]]\|\s\|\_$\)\@=/ contains=@Spell,markdownNoFormattedInEmphasis,markdownLatexInlineMath,markdownAmpersandEscape
|
||||
syn region markdownItalic matchgroup=markdownDelimiter start=/\\\@1<!\(\_^\|\s\|[[:punct:]]\)\@<=_\S\@=/ skip=/\(\*\*\|__\)/ end=/\S\@1<=_\([[:punct:]]\|\s\|\_$\)\@=/ contains=@Spell,markdownNoFormattedInEmphasis,markdownLatexInlineMath,markdownAmpersandEscape
|
||||
hi def link markdownItalic htmlItalic
|
||||
|
||||
" bold
|
||||
syn region markdownBold matchgroup=markdownDelimiter start=/\(\\\@<!\*\)\{2}/ end=/\(\\\@<!\*\)\{2}/ contains=@Spell,markdownNoFormattedInStrong,markdownLatexInlineMath,markdownAmpersandEscape
|
||||
syn region markdownBold matchgroup=markdownDelimiter start=/__/ end=/__/ contains=@Spell,markdownNoFormattedInStrong,markdownLatexInlineMath,markdownAmpersandEscape
|
||||
hi def link markdownBold htmlBold
|
||||
|
||||
" bold italic
|
||||
syn region markdownBoldItalic matchgroup=markdownDelimiter start=/\*\{3}\(\S[^*]*\(\*\S\|\n[^*]*\*\S\)\)\@=/ end=/\S\@<=\*\{3}/ contains=@Spell,markdownAmpersandEscape
|
||||
syn region markdownBoldItalic matchgroup=markdownDelimiter start=/\(___\)\S\@=/ end=/\S\@<=___/ contains=@Spell,markdownAmpersandEscape
|
||||
hi def link markdownBoldItalic htmlBoldItalic
|
||||
syn region markdownBoldInItalic matchgroup=markdownDelimiter start=/\*\*/ end=/\*\*/ contained containedin=markdownItalic contains=@Spell,markdownAmpersandEscape
|
||||
syn region markdownBoldInItalic matchgroup=markdownDelimiter start=/__/ end=/__/ contained containedin=markdownItalic contains=@Spell,markdownAmpersandEscape
|
||||
syn region markdownItalicInBold matchgroup=markdownDelimiter start=/\\\@1<!\(\_^\|\s\|[[:punct:]]\)\@<=\*\S\@=/ skip=/\(\*\*\|__\)/ end=/\S\@<=\*\([[:punct:]]\|\s\|\_$\)\@=/ contained containedin=markdownBold contains=@Spell,markdownAmpersandEscape
|
||||
syn region markdownItalicInBold matchgroup=markdownDelimiter start=/\\\@<!\(\_^\|\s\|[[:punct:]]\)\@<=_\S\@=/ skip=/\(\*\*\|__\)/ end=/\S\@<=_\([[:punct:]]\|\s\|\_$\)\@=/ contained containedin=markdownBold contains=@Spell,markdownAmpersandEscape
|
||||
hi def link markdownBoldInItalic markdownBoldItalic
|
||||
hi def link markdownItalicInBold markdownBoldItalic
|
||||
|
||||
" strikeout
|
||||
syn region markdownStrike start=/\~\~/ end=/\~\~/ contains=markdownStrikeout,@Spell keepend
|
||||
hi def link markdownStrike htmlStrike
|
||||
syn match markdownStrikeDelimiter /\~\~/ contained
|
||||
hi def link markdownStrikeDelimiter markdownDelimiter
|
||||
|
||||
" subscript
|
||||
syn region markdownSubscript start=/\~\(\([[:graph:]]\(\\ \)\=\)\{-}\~\)\@=/ end=/\~/ contains=markdownSubscriptDelimiter keepend
|
||||
syn match markdownSubscriptDelimiter /\~/ contained
|
||||
hi def link markdownSubscriptDelimiter markdownDelimiter
|
||||
|
||||
" superscript
|
||||
syn region markdownSuperscript start=/\^\(\([[:graph:]]\(\\ \)\=\)\{-}\^\)\@=/ skip=/\\ / end=/\^/ contains=markdownSuperscriptDelimiter keepend
|
||||
syn match markdownSuperscriptDelimiter /\^/ contained
|
||||
hi def link markdownSuperscriptDelimiter markdownDelimiter
|
||||
|
||||
" heading
|
||||
syn match markdownAtxHeading /\(\%^\|<.\+>.*\n\|^\s*\n\)\@<=#\{1,6}.*\n/ contains=markdownItalic,markdownBold,markdownNoFormatted,markdownLaTeXInlineMath,markdownEscapedDollar,@Spell,markdownAmpersandEscape,markdownLink display
|
||||
hi def link markdownAtxHeading Title
|
||||
syn match markdownAtxHeadingDelimiter /\(^#\{1,6}\|\\\@<!#\+\(\s*.*$\)\@=\)/ contained containedin=markdownAtxHeading
|
||||
hi def link markdownAtxHeadingDelimiter markdownDelimiter
|
||||
syn match markdownSetexHeading /^.\+\n[=]\+$/ contains=markdownItalic,markdownBold,markdownNoFormatted,markdownLaTeXInlineMath,markdownEscapedDollar,@Spell,markdownAmpersandEscape
|
||||
syn match markdownSetexHeading /^.\+\n[-]\+$/ contains=markdownItalic,markdownBold,markdownNoFormatted,markdownLaTeXInlineMath,markdownEscapedDollar,@Spell,markdownAmpersandEscape
|
||||
syn match markdownHeadingAttr /{.*}/ contained containedin=markdownAtxHeader,markdownSetexHeader
|
||||
syn match markdownHeadingID /#[-_:.[:lower:][:upper:]]*/ contained containedin=markdownHeaderAttr
|
||||
hi def link markdownSetexHeading markdownTitle
|
||||
hi def link markdownHeadingAttr markdownComment
|
||||
hi def link markdownHeadingID markdownIdentifier
|
||||
|
||||
" line block
|
||||
syn region markdownLineBlock start=/^|/ end=/\(^|\(.*\n|\@!\)\@=.*\)\@<=\n/ transparent
|
||||
syn match markdownLineBlockDelimiter /^|/ contained containedin=markdownLineBlock
|
||||
hi def link markdownLineBlockDelimiter markdownDelimiter
|
||||
|
||||
" simple table
|
||||
syn region markdownSimpleTable start=/\%#=2\(^.*[[:graph:]].*\n\)\@<!\(^.*[[:graph:]].*\n\)\(-\{2,}\s*\)\+\n\n\@!/ end=/\n\n/ containedin=ALLBUT,markdownDelimitedCodeBlock,markdownDelimitedCodeBlockStart,markdownYAMLHeader keepend
|
||||
syn match markdownSimpleTableDelims /\-/ contained containedin=markdownSimpleTable
|
||||
syn match markdownSimpleTableHeader /\%#=2\(^.*[[:graph:]].*\n\)\@<!\(^.*[[:graph:]].*\n\)/ contained containedin=markdownSimpleTable
|
||||
hi def link markdownSimpleTableDelims markdownDelimiter
|
||||
hi def link markdownSimpleTableHeader markdownBold
|
||||
|
||||
syn region markdownTable start=/\%#=2^\(-\{2,}\s*\)\+\n\n\@!/ end=/\%#=2^\(-\{2,}\s*\)\+\n\n/ containedin=ALLBUT,markdownDelimitedCodeBlock,markdownYAMLHeader keepend
|
||||
syn match markdownTableDelims /\-/ contained containedin=markdownTable
|
||||
syn region markdownTableMultilineHeader start=/\%#=2\(^-\{2,}\n\)\@<=./ end=/\%#=2\n-\@=/ contained containedin=markdownTable
|
||||
hi def link markdownTableMultilineHeader markdownBold
|
||||
hi def link markdownTableDelims markdownDelimiter
|
||||
|
||||
" grid table
|
||||
syn region markdownGridTable start=/\%#=2\n\@1<=+-/ end=/+\n\n/ containedin=ALLBUT,markdownDelimitedCodeBlock,markdownYAMLHeader keepend
|
||||
syn match markdownGridTableDelims /[\|=]/ contained containedin=markdownGridTable
|
||||
syn match markdownGridTableDelims /\%#=2\([\-+][\-+=]\@=\|[\-+=]\@1<=[\-+]\)/ contained containedin=markdownGridTable
|
||||
syn match markdownGridTableHeader /\%#=2\(^.*\n\)\(+=.*\)\@=/ contained containedin=markdownGridTable
|
||||
hi def link markdownGridTableDelims markdownDelimiter
|
||||
hi def link markdownGridTableHeader markdownDelimiter
|
||||
|
||||
" pipe table
|
||||
syn region markdownPipeTable start=/\%#=2\([+|]\n\)\@<!\n\@1<=|\(.*|\)\@=/ end=/|.*\n\(\n\|{\)/ containedin=ALLBUT,markdownDelimitedCodeBlock,markdownYAMLHeader keepend
|
||||
syn region markdownPipeTable start=/\%#=2^.*\n-.\{-}|/ end=/|.*\n\n/ keepend
|
||||
syn match markdownPipeTableDelims /[\|\-:+]/ contained containedin=markdownPipeTable
|
||||
syn match markdownPipeTableHeader /\(^.*\n\)\(|-\)\@=/ contained containedin=markdownPipeTable
|
||||
syn match markdownPipeTableHeader /\(^.*\n\)\(-\)\@=/ contained containedin=markdownPipeTable
|
||||
hi def link markdownPipeTableDelims markdownDelimiter
|
||||
hi def link markdownPipeTableHeader markdownDelimiter
|
||||
|
||||
syn match markdownTableHeaderWord /\<.\{-}\>/ contained containedin=markdownGridTableHeader,markdownPipeTableHeader contains=@Spell
|
||||
hi def link markdownTableHeaderWord markdownBold
|
||||
|
||||
|
||||
" delimited code blocks
|
||||
syn region markdownDelimitedCodeBlock start=/^\(>\s\)\?\z(\([ ]\+\|\t\)\=\~\{3,}\~*\)/ end=/^\z1\~*/ skipnl contains=markdownDelimitedCodeBlockStart,markdownDelimitedCodeBlockEnd keepend
|
||||
syn region markdownDelimitedCodeBlock start=/^\(>\s\)\?\z(\([ ]\+\|\t\)\=`\{3,}`*\)/ end=/^\z1`*/ skipnl contains=markdownDelimitedCodeBlockStart,markdownDelimitedCodeBlockEnd keepend
|
||||
syn match markdownDelimitedCodeBlockStart /\(\(\_^\n\_^\|\%^\)\(>\s\)\?\( \+\|\t\)\=\)\@<=\(\~\{3,}\~*\|`\{3,}`*\)/ contained containedin=markdownDelimitedCodeBlock nextgroup=markdownDelimitedCodeBlockLanguage
|
||||
syn match markdownDelimitedCodeBlockLanguage /\(\s\?\)\@<=.\+\(\_$\)\@=/ contained
|
||||
syn match markdownDelimitedCodeBlockEnd /\(`\{3,}`*\|\~\{3,}\~*\)\(\_$\n\(>\s\)\?\_$\)\@=/ contained containedin=markdownDelimitedCodeBlock
|
||||
syn match markdownBlockquoteinDelimitedCodeBlock '^>' contained containedin=markdownDelimitedCodeBlock
|
||||
syn match markdownCodePre /<pre>.\{-}<\/pre>/ skipnl
|
||||
syn match markdownCodePre /<code>.\{-}<\/code>/ skipnl
|
||||
hi def link markdownDelimitedCodeBlock markdownSpecial
|
||||
hi def link markdownDelimitedCodeBlockStart markdownDelimiter
|
||||
hi def link markdownDelimitedCodeBlockEnd markdownDelimiter
|
||||
hi def link markdownDelimitedCodeBlockLanguage markdownComment
|
||||
hi def link markdownBlockquoteinDelimitedCodeBlock markdownBlockquote
|
||||
hi def link markdownCodePre markdownString
|
||||
|
||||
" footnote
|
||||
syn match markdownFootnoteID /\[\^[^\]]\+\]/ nextgroup=markdownFootnoteDef
|
||||
hi def link markdownFootnoteID markdownLabel
|
||||
|
||||
" inline footnote
|
||||
syn region markdownFootnoteDef start=/\^\[/ skip=/\[.\{-}]/ end=/\]/ contains=markdownLink,markdownLatex,markdownPCite,markdownCiteKey,markdownBold,markdownItalic,markdownBoldItalic,markdownNoFormatted,markdownSuperscript,markdownSubscript,markdownStrike,markdownEnDash,markdownEmDash,markdownEllipses,markdownBeginQuote,markdownEndQuote,@Spell,markdownAmpersandEscape skipnl keepend
|
||||
hi def link markdownFootnoteDef markdownComment
|
||||
syn match markdownFootnoteDefHead /\^\[/ contained containedin=markdownFootnoteDef
|
||||
hi def link markdownFootnoteDefHead markdownDelimiter
|
||||
syn match markdownFootnoteDefTail /\]/ contained containedin=markdownFootnoteDef
|
||||
hi def link markdownFootnoteDefTail markdownDelimiter
|
||||
|
||||
" regular footnotes
|
||||
syn region markdownFootnoteBlock start=/\[\^.\{-}\]:\s*\n*/ end=/^\n^\s\@!/ contains=markdownLink,markdownLatex,markdownPCite,markdownCiteKey,markdownBold,markdownItalic,markdownNoFormatted,markdownSuperscript,markdownSubscript,markdownStrike,markdownEnDash,markdownEmDash,markdownNewLine,markdownBoldItalic,markdownEllipses,markdownBeginQuote,markdownEndQuote,markdownLaTeXInlineMath,markdownEscapedDollar,markdownLaTeXCommand,markdownLaTeXMathBlock,markdownLaTeXRegion,markdownAmpersandEscape,@Spell skipnl
|
||||
syn match markdownFootnoteBlockSeparator /:/ contained containedin=markdownFootnoteBlock
|
||||
hi def link markdownFootnoteBlockSeparator markdownDelimiter
|
||||
syn match markdownFootnoteID /\[\^.\{-}\]/ contained containedin=markdownFootnoteBlock
|
||||
syn match markdownFootnoteIDHead /\[\^/ contained containedin=markdownFootnoteID
|
||||
hi def link markdownFootnoteIDHead markdownDelimiter
|
||||
syn match markdownFootnoteIDTail /\]/ contained containedin=markdownFootnoteID
|
||||
hi def link markdownFootnoteIDTail markdownDelimiter
|
||||
|
||||
" unordered list
|
||||
syn match markdownUListItem /^>\=\s*[*+-]\s\+-\@!.*$/ nextgroup=markdownUListItem,markdownLaTeXMathBlock,markdownLaTeXInlineMath,markdownEscapedDollar,markdownDelimitedCodeBlock,markdownListItemContinuation contains=@Spell,markdownItalic,markdownBold,markdownNoFormatted,markdownStrike,markdownSubscript,markdownSuperscript,markdownBoldItalic,markdownBoldItalic,markdownPCite,markdownICite,markdownCiteKey,markdownLinkText,markdownLaTeXCommand,markdownLaTeXMathBlock,markdownLaTeXInlineMath,markdownEscapedDollar,markdownLinkURL,markdownAutomaticLink,markdownFootnoteDef,markdownFootnoteBlock,markdownFootnoteID,markdownAmpersandEscape skipempty display
|
||||
syn match markdownUListItemBullet /^>\=\s*\zs[*+-]/ contained containedin=markdownUListItem
|
||||
hi def link markdownUListItemBullet markdownOperator
|
||||
|
||||
" ordered list
|
||||
syn match markdownListItem /^\s*(\?\(\d\+\|\l\|\#\|@\)[.)].*$/ nextgroup=markdownListItem,markdownLaTeXMathBlock,markdownLaTeXInlineMath,markdownEscapedDollar,markdownDelimitedCodeBlock,markdownListItemContinuation contains=@Spell,markdownItalic,markdownBold,markdownNoFormatted,markdownStrike,markdownSubscript,markdownSuperscript,markdownBoldItalic,markdownBoldItalic,markdownPCite,markdownICite,markdownCiteKey,markdownLinkText,markdownLaTeXCommand,markdownLaTeXMathBlock,markdownLaTeXInlineMath,markdownEscapedDollar,markdownAutomaticLink,markdownFootnoteDef,markdownFootnoteBlock,markdownFootnoteID,markdownAmpersandEscape skipempty display
|
||||
syn match markdownListItem /^\s*(\?x\=l\=\(i\{,3}[vx]\=\)\{,3}c\{,3}[.)].*$/ nextgroup=markdownListItem,markdownMathBlock,markdownLaTeXInlineMath,markdownEscapedDollar,markdownDelimitedCodeBlock,markdownListItemContinuation,markdownAutomaticLink skipempty display
|
||||
syn match markdownListItemBullet /^(\?.\{-}[.)]/ contained containedin=markdownListItem
|
||||
syn match markdownListItemBulletId /\(\d\+\|\l\|\#\|@.\{-}\|x\=l\=\(i\{,3}[vx]\=\)\{,3}c\{,3}\)/ contained containedin=markdownListItemBullet
|
||||
hi def link markdownListItemBullet markdownOperator
|
||||
hi def link markdownListItemBulletId markdownIdentifier
|
||||
|
||||
syn match markdownListItemContinuation /^\s\+\([-+*]\s\+\|(\?.\+[).]\)\@<!\([[:upper:][:lower:]_"[]\|\*\S\)\@=.*$/ nextgroup=markdownLaTeXMathBlock,markdownLaTeXInlineMath,markdownEscapedDollar,markdownDelimitedCodeBlock,markdownListItemContinuation,markdownListItem contains=@Spell,markdownItalic,markdownBold,markdownNoFormatted,markdownStrike,markdownSubscript,markdownSuperscript,markdownBoldItalic,markdownBoldItalic,markdownPCite,markdownICite,markdownCiteKey,markdownLink,markdownLaTeXCommand,markdownLaTeXMathBlock,markdownLaTeXInlineMath,markdownEscapedDollar,markdownAutomaticLink,markdownFootnoteDef,markdownFootnoteBlock,markdownFootnoteID,markdownAmpersandEscape contained skipempty display
|
||||
|
||||
" definition list
|
||||
syn region markdownDefinitionBlock start=/^\%(\_^\s*\([`~]\)\1\{2,}\)\@!.*\n\(^\s*\n\)\=\s\{0,2}\([:~]\)\(\3\{2,}\3*\)\@!/ skip=/\n\n\zs\s/ end=/\n\n/ contains=markdownDefinitionBlockDelimiter,markdownDefinitionBlockTerm,markdownCodeBlockInsideIndent,markdownItalic,markdownBold,markdownBoldItalic,markdownNoFormatted,markdownStrike,markdownSubscript,markdownSuperscript,markdownFootnoteID,markdownLinkURL,markdownLinkText,markdownLaTeXMathBlock,markdownLaTeXInlineMath,markdownEscapedDollar,markdownAutomaticLink,markdownEmDash,markdownEnDash,markdownFootnoteDef,markdownFootnoteBlock,markdownFootnoteID
|
||||
syn match markdownDefinitionBlockTerm /^.*\n\(^\s*\n\)\=\(\s*[:~]\)\@=/ contained contains=markdownNoFormatted,markdownItalic,markdownBold,markdownLaTeXInlineMath,markdownEscapedDollar,markdownFootnoteDef,markdownFootnoteBlock,markdownFootnoteID nextgroup=markdownDefinitionBlockDelimiter
|
||||
syn match markdownDefinitionBlockDelimiter /^\s*[:~]/ contained
|
||||
hi def link markdownDefinitionBlockTerm markdownIdentifier
|
||||
hi def link markdownDefinitionBlockDelimiter markdownDelimiter
|
||||
|
||||
" new line
|
||||
syn match markdownNewLine /\%(\%(\S\)\@<= \{2,}\|\\\)$/ display containedin=markdownItalic,markdownBold,markdownBoldItalic,markdownBoldInItalic,markdownItalicInBold
|
||||
hi def link markdownNewLine Error
|
||||
|
||||
" rule
|
||||
syn match markdownHRule /^\s*\([*\-_]\)\s*\%(\1\s*\)\{2,}$/ display
|
||||
hi def link markdownHRule markdownDelimiter
|
||||
|
||||
" &-escape
|
||||
syn match markdownAmpersandEscape /\v\&(#\d+|#x\x+|[[:alnum:]]+)\;/ contains=NoSpell
|
||||
hi def link markdownAmpersandEscape Special
|
||||
" html comment
|
||||
syn region markdownHTMLcomment start=/<!--/ end=/-->/ keepend contains=@Spell
|
||||
hi def link markdownHTMLcomment markdownComment
|
||||
|
||||
" yaml
|
||||
syn include @YAML syntax/yaml.vim
|
||||
unlet! b:current_syntax
|
||||
syn region markdownYAMLHeader start=/\%(\%^\|\_^\s*\n\)\@<=\_^-\{3}\ze\n.\+/ end=/^\([-.]\)\1\{2}$/ keepend contains=@YAML containedin=TOP
|
||||
|
||||
" Styling
|
||||
" styling
|
||||
hi def link markdownComment Comment
|
||||
hi def link markdownConstant Constant
|
||||
hi def link markdownString String
|
||||
|
@ -264,11 +99,12 @@ hi def link markdownSpecialComment SpecialComment
|
|||
hi def link markdownDebug Debug
|
||||
hi def link markdownUnderlined Underlined
|
||||
hi def link markdownIgnore Ignore
|
||||
hi def link markdownError Error
|
||||
|
||||
hi def link markdownItalic htmlItalic
|
||||
hi def link markdownBold htmlBold
|
||||
hi def link markdownItalicBold htmlItalicBold
|
||||
hi def link markdownStrike htmlStrike
|
||||
hi def link markdownItalic Italic
|
||||
hi def link markdownBold Bold
|
||||
hi def link markdownBoldItalic BoldItalic
|
||||
hi def link markdownStrike Strike
|
||||
hi def link markdownTitle Title
|
||||
|
||||
let b:current_syntax = "markdown"
|
||||
|
|
|
@ -1,190 +1,232 @@
|
|||
# variables ####################################################################
|
||||
set $mod Mod4
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
# set ##########################################################################
|
||||
|
||||
# keys
|
||||
set $mod mod4
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
# workspaces
|
||||
set $ws1 1:www
|
||||
set $ws2 2:txt
|
||||
set $ws3 3:doc
|
||||
set $ws4 4:pdf
|
||||
set $ws5 5:cmd
|
||||
set $ws6 6:cmd
|
||||
set $ws7 7:cmd
|
||||
set $ws8 8:cmd
|
||||
set $ws9 9:cmd
|
||||
set $ws0 10:rdp
|
||||
|
||||
# colors
|
||||
set $bg #292526
|
||||
set $dimmed #6185ff
|
||||
set $accent #ff3e8b
|
||||
set $error #ff404f
|
||||
set $black #000000
|
||||
set $white #e2e2e2
|
||||
set $blue #856cff
|
||||
set $magenta #ff1170
|
||||
set $red #fa3500
|
||||
|
||||
# key bindings #################################################################
|
||||
bindsym $mod+return exec footclient
|
||||
bindsym $mod+shift+return exec foot
|
||||
bindsym $mod+w exec firefox
|
||||
bindsym $mod+shift+w exec thunderbird
|
||||
# fuzzel
|
||||
bindsym $mod+space exec fuzzel
|
||||
bindsym $mod+shift+space exec find -not -path "*/.*" | fuzzel -d | xargs -I{} xdg-open "{}"
|
||||
bindsym $mod+insert exec lsblk -nrpo"name,type,mountpoint" \
|
||||
| awk '$2=="part"{printf"%-12s %s\\n",$1,$3}' \
|
||||
| fuzzel -d \
|
||||
| awk '{printf($2=="")?"udisksctl mount -b %s":"udisksctl unmount -b %s",$1}' \
|
||||
| sh \
|
||||
| xargs -I{} notify-send "{}"
|
||||
bindsym $mod+home exec nmcli -g "type,name,active" connection show \
|
||||
| awk 'BEGIN{FS=":"}{printf($3=="yes")?"* %s\\n":" %s\\n",$2}' \
|
||||
| fuzzel -d \
|
||||
| awk '{printf($1=="*")?"nmcli connection down \\"%s\\"":"nmcli connection up \\"%s\\"",substr($0,3)}' \
|
||||
| sh \
|
||||
| xargs -I{} notify-send "{}"
|
||||
bindsym $mod+shift+home exec footclient nmtui
|
||||
# makoctl
|
||||
bindsym $mod+x exec makoctl dismiss
|
||||
bindsym $mod+shift+x exec makoctl dismiss -a
|
||||
bindsym --to-code $mod+z exec makoctl restore
|
||||
# screenshot
|
||||
bindsym print exec grim - | wl-copy
|
||||
# workspaces
|
||||
set $wsw 1:w:www
|
||||
set $wse 2:e:txt
|
||||
set $wsr 3:r:doc
|
||||
set $wst 4:t:cmd
|
||||
set $wsy 5:y:cmd
|
||||
set $wsu 6:u:cmd
|
||||
set $wsi 7:i:cmd
|
||||
set $wso 8:o:cmd
|
||||
set $wsp 9:p:rdp
|
||||
|
||||
# window management ############################################################
|
||||
workspace_layout tabbed
|
||||
focus_follows_mouse yes
|
||||
focus_wrapping yes
|
||||
floating_modifier $mod normal
|
||||
# kill
|
||||
bindsym $mod+q kill
|
||||
# move focus
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$right focus right
|
||||
# move container
|
||||
bindsym $mod+shift+$up move up
|
||||
bindsym $mod+shift+$down move down
|
||||
bindsym $mod+shift+$left move left
|
||||
bindsym $mod+shift+$right move right
|
||||
# move focus workspace
|
||||
bindsym $mod+1 workspace $ws1
|
||||
bindsym $mod+2 workspace $ws2
|
||||
bindsym $mod+3 workspace $ws3
|
||||
bindsym $mod+4 workspace $ws4
|
||||
bindsym $mod+5 workspace $ws5
|
||||
bindsym $mod+6 workspace $ws6
|
||||
bindsym $mod+7 workspace $ws7
|
||||
bindsym $mod+8 workspace $ws8
|
||||
bindsym $mod+9 workspace $ws9
|
||||
bindsym $mod+0 workspace $ws0
|
||||
bindsym --to-code $mod+bracketleft workspace prev
|
||||
bindsym --to-code $mod+bracketright workspace next
|
||||
bindsym $mod+tab workspace back_and_forth
|
||||
# move container workspace
|
||||
bindsym $mod+shift+1 move container to workspace $ws1, workspace $ws1
|
||||
bindsym $mod+shift+2 move container to workspace $ws2, workspace $ws2
|
||||
bindsym $mod+shift+3 move container to workspace $ws3, workspace $ws3
|
||||
bindsym $mod+shift+4 move container to workspace $ws4, workspace $ws4
|
||||
bindsym $mod+shift+5 move container to workspace $ws5, workspace $ws5
|
||||
bindsym $mod+shift+6 move container to workspace $ws6, workspace $ws6
|
||||
bindsym $mod+shift+7 move container to workspace $ws7, workspace $ws7
|
||||
bindsym $mod+shift+8 move container to workspace $ws8, workspace $ws8
|
||||
bindsym $mod+shift+9 move container to workspace $ws9, workspace $ws9
|
||||
bindsym $mod+shift+0 move container to workspace $ws0, workspace $ws0
|
||||
bindsym --to-code $mod+shift+bracketleft move container to workspace prev, workspace prev
|
||||
bindsym --to-code $mod+shift+bracketright move container to workspace next, workspace next
|
||||
bindsym $mod+shift+tab move container to workspace back_and_forth, workspace back_and_forth
|
||||
# resize
|
||||
bindsym $mod+control+$left resize shrink width
|
||||
bindsym $mod+control+$down resize grow height
|
||||
bindsym $mod+control+$up resize shrink height
|
||||
bindsym $mod+control+$right resize grow width
|
||||
# layout
|
||||
bindsym $mod+a focus parent
|
||||
bindsym $mod+shift+a focus child
|
||||
bindsym $mod+s layout toggle split
|
||||
bindsym $mod+shift+s split toggle
|
||||
bindsym $mod+d layout toggle tabbed split
|
||||
bindsym $mod+f fullscreen toggle
|
||||
bindsym $mod+shift+f floating toggle
|
||||
bindsym $mod+g focus mode_toggle
|
||||
bindsym $mod+shift+g sticky toggle
|
||||
bindsym $mod+period scratchpad show
|
||||
bindsym $mod+shift+period move scratchpad
|
||||
# modes
|
||||
set $session_mode " session: (r)eload (l)ock (q)uit (s)uspend re(b)oot (p)oweroff "
|
||||
set $layout_mode " layout: split(h) split(v) (s)tacking (t)abbed "
|
||||
|
||||
# laptop #######################################################################
|
||||
bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+;\
|
||||
exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:audio_sink "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
|
||||
bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-;\
|
||||
exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:audio_sink "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
|
||||
bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle;\
|
||||
exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:audio_sink "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
|
||||
bindsym XF86AudioMicMute exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle;\
|
||||
exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:audio_source "$(wpctl get-volume @DEFAULT_AUDIO_SOURCE@)"
|
||||
bindsym XF86MonBrightnessUp exec brightnessctl set "+1%";\
|
||||
exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:brightness "Brightness: $(brightnessctl get)"
|
||||
bindsym XF86MonBrightnessDown exec brightnessctl set "1%-";\
|
||||
exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:brightness "Brightness: $(brightnessctl get)"
|
||||
bindsym shift+XF86MonBrightnessUp exec brightnessctl set "+10%";\
|
||||
exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:brightness "Brightness: $(brightnessctl get)"
|
||||
bindsym shift+XF86MonBrightnessDown exec brightnessctl set "10%-";\
|
||||
exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:brightness "Brightness: $(brightnessctl get)"
|
||||
|
||||
# session ######################################################################
|
||||
set $session_mode "session: (r)eload (l)ock (q)uit (s)uspend re(b)oot (p)oweroff"
|
||||
mode $session_mode {
|
||||
bindsym r reload, mode default
|
||||
bindsym l exec swaylock, mode default
|
||||
bindsym q exit, mode default
|
||||
bindsym s exec systemctl suspend, mode default
|
||||
bindsym b exec systemctl reboot, mode default
|
||||
bindsym p exec systemctl poweroff, mode default
|
||||
# return
|
||||
bindsym escape mode default
|
||||
bindsym $mod+escape mode default
|
||||
}
|
||||
bindsym $mod+escape mode $session_mode, fullscreen disable
|
||||
|
||||
# theme ########################################################################
|
||||
output * background wallpaper.svg fill $bg
|
||||
seat * hide_cursor 5000
|
||||
font monospace 13
|
||||
default_border normal 1
|
||||
default_floating_border normal 1
|
||||
# class border background text indicator child_border
|
||||
client.focused $accent $accent $bg $error $bg
|
||||
client.focused_inactive $dimmed $dimmed $bg $bg $bg
|
||||
client.unfocused $dimmed $dimmed $bg $bg $bg
|
||||
client.urgent $error $error $bg $error $bg
|
||||
|
||||
# statusbar ####################################################################
|
||||
# bar ##########################################################################
|
||||
bar {
|
||||
status_command $XDG_CONFIG_HOME/sway/status.sh
|
||||
separator_symbol " | "
|
||||
separator_symbol ""
|
||||
status_command status.sh
|
||||
status_edge_padding 0
|
||||
status_padding 0
|
||||
strip_workspace_numbers yes
|
||||
wrap_scroll yes
|
||||
colors {
|
||||
background $bg
|
||||
statusline $dimmed
|
||||
separator $dimmed
|
||||
# border background text
|
||||
focused_workspace $bg $bg $accent
|
||||
active_workspace $dimmed $bg $dimmed
|
||||
inactive_workspace $bg $bg $dimmed
|
||||
urgent_workspace $bg $bg $error
|
||||
background $blue
|
||||
statusline $black
|
||||
separator $black
|
||||
# border background text
|
||||
focused_workspace $magenta $magenta $black
|
||||
active_workspace $magenta $magenta $white
|
||||
inactive_workspace $blue $blue $black
|
||||
urgent_workspace $red $red $black
|
||||
}
|
||||
}
|
||||
|
||||
# workspace_layout #############################################################
|
||||
workspace_layout tabbed
|
||||
|
||||
# xwayland #####################################################################
|
||||
xwayland disable
|
||||
|
||||
# autostart ####################################################################
|
||||
exec swayidle
|
||||
exec mako
|
||||
exec wlsunset -l 45 -L 15
|
||||
workspace $ws1, exec thunderbird, exec firefox
|
||||
workspace $ws2, exec foot --server
|
||||
# bindsym ######################################################################
|
||||
bindsym {
|
||||
|
||||
# floating
|
||||
$mod+shift+f floating toggle
|
||||
|
||||
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
||||
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
||||
# focus
|
||||
$mod+$up focus up
|
||||
$mod+$down focus down
|
||||
$mod+$left focus left
|
||||
$mod+$right focus right
|
||||
$mod+a focus parent
|
||||
$mod+s focus child
|
||||
$mod+g focus mode_toggle
|
||||
|
||||
# include ######################################################################
|
||||
include $XDG_CONFIG_HOME/sway/`hostname`
|
||||
# fullscreen
|
||||
$mod+f fullscreen toggle
|
||||
|
||||
# mode
|
||||
$mod+d mode $layout_mode, fullscreen disable
|
||||
$mod+escape mode $session_mode, fullscreen disable
|
||||
|
||||
# move
|
||||
$mod+shift+$up move up
|
||||
$mod+shift+$down move down
|
||||
$mod+shift+$left move left
|
||||
$mod+shift+$right move right
|
||||
--to-code $mod+shift+tab move workspace back_and_forth, workspace back_and_forth
|
||||
--to-code $mod+shift+w move workspace $wsw, workspace $wsw
|
||||
--to-code $mod+shift+e move workspace $wse, workspace $wse
|
||||
--to-code $mod+shift+r move workspace $wsr, workspace $wsr
|
||||
--to-code $mod+shift+t move workspace $wst, workspace $wst
|
||||
--to-code $mod+shift+y move workspace $wsy, workspace $wsy
|
||||
--to-code $mod+shift+u move workspace $wsu, workspace $wsu
|
||||
--to-code $mod+shift+i move workspace $wsi, workspace $wsi
|
||||
--to-code $mod+shift+o move workspace $wso, workspace $wso
|
||||
--to-code $mod+shift+p move workspace $wsp, workspace $wsp
|
||||
--to-code $mod+shift+bracketleft move workspace prev, workspace prev
|
||||
--to-code $mod+shift+bracketright move workspace next, workspace next
|
||||
$mod+colon move scratchpad
|
||||
|
||||
# scratchpad
|
||||
$mod+semicolon scratchpad show
|
||||
|
||||
# sticky
|
||||
$mod+shift+g sticky toggle
|
||||
|
||||
# exec
|
||||
$mod+return exec footclient
|
||||
$mod+shift+return exec foot
|
||||
$mod+space exec fuzzel
|
||||
$mod+shift+space exec fuzzel_open.sh -e $HOME/.cache -e $HOME/.mozilla -e $HOME/.thunderbird -e *.git*
|
||||
$mod+home exec fuzzel_nmcli.sh
|
||||
$mod+end exec fuzzel_udisksctl.sh
|
||||
$mod+x exec makoctl dismiss
|
||||
$mod+shift+x exec makoctl restore
|
||||
print exec grim - | wl-copy
|
||||
|
||||
# exec (laptop)
|
||||
XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+; exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:audio_sink "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
|
||||
XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-; exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:audio_sink "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
|
||||
XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle; exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:audio_sink "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
|
||||
XF86AudioMicMute exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle; exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:audio_source "$(wpctl get-volume @DEFAULT_AUDIO_SOURCE@)"
|
||||
XF86MonBrightnessUp exec brightnessctl set "+1%"; exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:brightness "Brightness: $(brightnessctl get)"
|
||||
XF86MonBrightnessDown exec brightnessctl set "1%-"; exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:brightness "Brightness: $(brightnessctl get)"
|
||||
shift+XF86MonBrightnessUp exec brightnessctl set "+10%"; exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:brightness "Brightness: $(brightnessctl get)"
|
||||
shift+XF86MonBrightnessDown exec brightnessctl set "10%-"; exec notify-send -e -t 2000 -h string:x-canonical-private-synchronous:brightness "Brightness: $(brightnessctl get)"
|
||||
|
||||
# kill
|
||||
$mod+q kill
|
||||
|
||||
# resize
|
||||
$mod+control+$left resize shrink width
|
||||
$mod+control+$down resize grow height
|
||||
$mod+control+$up resize shrink height
|
||||
$mod+control+$right resize grow width
|
||||
|
||||
# workspace
|
||||
--to-code $mod+tab workspace back_and_forth
|
||||
--to-code $mod+w workspace $wsw
|
||||
--to-code $mod+e workspace $wse
|
||||
--to-code $mod+r workspace $wsr
|
||||
--to-code $mod+t workspace $wst
|
||||
--to-code $mod+y workspace $wsy
|
||||
--to-code $mod+u workspace $wsu
|
||||
--to-code $mod+i workspace $wsi
|
||||
--to-code $mod+o workspace $wso
|
||||
--to-code $mod+p workspace $wsp
|
||||
--to-code $mod+bracketleft workspace prev
|
||||
--to-code $mod+bracketright workspace next
|
||||
}
|
||||
|
||||
# client.* #####################################################################
|
||||
# class border background text indicator child_border
|
||||
client.focused $magenta $magenta $black $red $black
|
||||
client.focused_inactive $blue $blue $black $black $black
|
||||
client.unfocused $blue $blue $black $black $black
|
||||
client.urgent $red $red $black $red $black
|
||||
|
||||
# default_border ###############################################################
|
||||
default_border normal 0
|
||||
|
||||
# default_floating_border ######################################################
|
||||
default_floating_border normal 0
|
||||
|
||||
# exec #########################################################################
|
||||
exec {
|
||||
systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
||||
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
||||
swayidle -w \
|
||||
timeout 300 'swaylock -fu -c$blue' \
|
||||
timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
|
||||
before-sleep 'swaylock -fu -c$blue'
|
||||
wlsunset -l 45 -L 15
|
||||
mako
|
||||
foot --server
|
||||
firefox
|
||||
thunderbird
|
||||
}
|
||||
|
||||
# focus_wrapping ###############################################################
|
||||
focus_wrapping yes
|
||||
|
||||
# font #########################################################################
|
||||
font monospace 13
|
||||
|
||||
# input ########################################################################
|
||||
|
||||
# keyboard
|
||||
input "type:keyboard" {
|
||||
xkb_layout us,si
|
||||
xkb_options caps:escape,grp:alt_shift_toggle
|
||||
repeat_delay 200
|
||||
repeat_rate 30
|
||||
}
|
||||
|
||||
# touchpad
|
||||
input "type:touchpad" {
|
||||
tap enabled
|
||||
}
|
||||
|
||||
# mode #########################################################################
|
||||
|
||||
# session
|
||||
mode $session_mode {
|
||||
bindsym {
|
||||
r reload, mode default
|
||||
l exec swaylock -fu -c$blue, mode default
|
||||
q exit, mode default
|
||||
s exec systemctl suspend, mode default
|
||||
b exec systemctl reboot, mode default
|
||||
p exec systemctl poweroff, mode default
|
||||
escape mode default
|
||||
}
|
||||
}
|
||||
|
||||
# layout
|
||||
mode $layout_mode {
|
||||
bindsym {
|
||||
h layout splith, mode default
|
||||
v layout splitv, mode default
|
||||
s layout stacking, mode default
|
||||
t layout tabbed, mode default
|
||||
escape mode default
|
||||
}
|
||||
}
|
||||
|
||||
# seat #########################################################################
|
||||
seat * hide_cursor 1000
|
||||
|
||||
# output #######################################################################
|
||||
output * background $blue solid_color
|
||||
|
||||
# workspace ####################################################################
|
||||
workspace $wse
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
# output
|
||||
output * {
|
||||
adaptive_sync on
|
||||
}
|
||||
|
||||
# input
|
||||
input "type:keyboard" {
|
||||
xkb_layout gb,si
|
||||
xkb_options caps:escape,grp:alt_shift_toggle
|
||||
repeat_delay 200
|
||||
repeat_rate 30
|
||||
}
|
||||
input "type:touchpad" {
|
||||
tap enabled
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# clamshell
|
||||
set $laptop LVDS-1
|
||||
bindswitch --reload --locked lid:on output $laptop disable
|
||||
bindswitch --reload --locked lid:off output $laptop enable
|
||||
|
||||
# input
|
||||
input "type:keyboard" {
|
||||
xkb_layout us,si
|
||||
xkb_options caps:escape,grp:alt_shift_toggle
|
||||
xkb_numlock enabled
|
||||
repeat_delay 300
|
||||
repeat_rate 30
|
||||
}
|
||||
input "type:touchpad" {
|
||||
tap enabled
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
<svg
|
||||
width="1920"
|
||||
height="1080">
|
||||
<text
|
||||
y="33%"
|
||||
xml:space="preserve"
|
||||
fill="#ff3e8b"
|
||||
font-family="monospace"
|
||||
font-size="13pt">
|
||||
<tspan text-anchor="middle" x="50%" dy="13pt"> _____ </tspan>
|
||||
<tspan text-anchor="middle" x="50%" dy="13pt"> / __ \\</tspan>
|
||||
<tspan text-anchor="middle" x="50%" dy="13pt">| / |</tspan>
|
||||
<tspan text-anchor="middle" x="50%" dy="13pt">| \\___-</tspan>
|
||||
<tspan text-anchor="middle" x="50%" dy="13pt">-_ </tspan>
|
||||
<tspan text-anchor="middle" x="50%" dy="13pt"> --_ </tspan>
|
||||
</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 551 B |
|
@ -1,3 +0,0 @@
|
|||
timeout 300 'swaylock'
|
||||
timeout 1800 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"'
|
||||
before-sleep 'swaylock'
|
|
@ -1,33 +0,0 @@
|
|||
show-failed-attempts
|
||||
daemonize
|
||||
image=$XDG_CONFIG_HOME/swaylock/wallpaper.svg
|
||||
color=292526
|
||||
bs-hl-color=00000000
|
||||
caps-lock-bs-hl-color=00000000
|
||||
caps-lock-key-hl-color=00000000
|
||||
font=monospace
|
||||
inside-color=00000000
|
||||
inside-clear-color=00000000
|
||||
inside-caps-lock-color=00000000
|
||||
inside-ver-color=00000000
|
||||
inside-wrong-color=00000000
|
||||
key-hl-color=00000000
|
||||
layout-bg-color=00000000
|
||||
layout-border-color=00000000
|
||||
layout-text-color=6185ff
|
||||
line-color=00000000
|
||||
line-clear-color=00000000
|
||||
line-caps-lock-color=00000000
|
||||
line-ver-color=00000000
|
||||
line-wrong-color=00000000
|
||||
ring-color=00000000
|
||||
ring-clear-color=00000000
|
||||
ring-caps-lock-color=00000000
|
||||
ring-ver-color=00000000
|
||||
ring-wrong-color=00000000
|
||||
separator-color=00000000
|
||||
text-color=6185ff
|
||||
text-clear-color=6185ff
|
||||
text-caps-lock-color=6185ff
|
||||
text-ver-color=ff3e8b
|
||||
text-wrong-color=ff404f
|
|
@ -1,18 +0,0 @@
|
|||
<svg
|
||||
width="1920"
|
||||
height="1080">
|
||||
<text
|
||||
y="33%"
|
||||
xml:space="preserve"
|
||||
fill="#6185ff"
|
||||
font-family="monospace"
|
||||
font-size="13pt">
|
||||
<tspan text-anchor="middle" x="50%" dy="13pt"> _____ </tspan>
|
||||
<tspan text-anchor="middle" x="50%" dy="13pt"> / __ \\</tspan>
|
||||
<tspan text-anchor="middle" x="50%" dy="13pt">| / |</tspan>
|
||||
<tspan text-anchor="middle" x="50%" dy="13pt">| \\___-</tspan>
|
||||
<tspan text-anchor="middle" x="50%" dy="13pt">-_ </tspan>
|
||||
<tspan text-anchor="middle" x="50%" dy="13pt"> --_ </tspan>
|
||||
</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 551 B |
|
@ -0,0 +1 @@
|
|||
net.ipv4.ip_forward = 1
|
|
@ -1,31 +1,37 @@
|
|||
# girara
|
||||
set completion-bg "#000000"
|
||||
set completion-fg "#856cff"
|
||||
set completion-group-bg "#000000"
|
||||
set completion-group-fg "#d06600"
|
||||
set completion-highlight-bg "#000000"
|
||||
set completion-highlight-fg "#ff1170"
|
||||
set default-fg "#e2e2e2"
|
||||
set default-bg "#000000"
|
||||
set inputbar-bg "#000000"
|
||||
set inputbar-fg "#856cff"
|
||||
set notification-bg "#000000"
|
||||
set notification-fg "#856cff"
|
||||
set notification-error-bg "#000000"
|
||||
set notification-error-fg "#fa3500"
|
||||
set notification-warning-bg "#000000"
|
||||
set notification-warning-fg "#d06600"
|
||||
set statusbar-bg "#000000"
|
||||
set statusbar-fg "#856cff"
|
||||
set font "monospace 12"
|
||||
|
||||
# zathura
|
||||
set highlight-active-color "#ff1170"
|
||||
set highlight-color "#856cff"
|
||||
set highlight-fg "#000000"
|
||||
set index-active-bg "#000000"
|
||||
set index-active-fg "#ff1170"
|
||||
set index-fg "#856cff"
|
||||
set index-bg "#000000"
|
||||
set recolor-darkcolor "#e2e2e2"
|
||||
set recolor-lightcolor "#000000"
|
||||
set render-loading-bg "#000000"
|
||||
set render-loading-fg "#856cff"
|
||||
set signature-error-color "#fa3500"
|
||||
set signature-success-color "#009843"
|
||||
set signature-warning-color "#d06600"
|
||||
set selection-clipboard clipboard
|
||||
set completion-bg "#e3e0e1"
|
||||
set completion-fg "#ff3e8b"
|
||||
set completion-group-bg "#e3e0e1"
|
||||
set completion-group-fg "#6185ff"
|
||||
set completion-highlight-bg "#ff3e8b"
|
||||
set completion-highlight-fg "#e3e0e1"
|
||||
set default-fg "#e3e0e1"
|
||||
set default-bg "#292526"
|
||||
set inputbar-bg "#292526"
|
||||
set inputbar-fg "#6185ff"
|
||||
set notification-bg "#292526"
|
||||
set notification-fg "#6185ff"
|
||||
set notification-error-bg "#292526"
|
||||
set notification-error-fg "#ff404f"
|
||||
set notification-warning-bg "#292526"
|
||||
set notification-warning-fg "#e06e00"
|
||||
set statusbar-bg "#292526"
|
||||
set statusbar-fg "#ff3e8b"
|
||||
set highlight-color "#6185ff"
|
||||
set highlight-fg "#00ff00" # find out what this does
|
||||
set highlight-active-color "#ff3e8b"
|
||||
set recolor-darkcolor "#e3e0e1"
|
||||
set recolor-lightcolor "#292526"
|
||||
set render-loading-bg "#292526"
|
||||
set render-loading-fg "#6185ff"
|
||||
set index-fg "#ff3e8b"
|
||||
set index-bg "#e3e0e1"
|
||||
set index-active-fg "#e3e0e1"
|
||||
set index-active-bg "#ff3e8b"
|
||||
set font "monospace 13"
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
#!/bin/sh
|
||||
|
||||
bssid="$(nmcli --colors=no -f BSSID,IN-USE,SSID,BARS device wifi list\
|
||||
| tail -n+2\
|
||||
| fuzzel -d -p "connect > "\
|
||||
| cut -d" " -f1)"
|
||||
|
||||
[ -z "$bssid" ] && return
|
||||
|
||||
ssid="$(nmcli -g SSID device wifi list bssid "$bssid" --rescan no)"
|
||||
|
||||
if nmcli -t connection show "$ssid" >/dev/null 2>&1; then
|
||||
if nmcli device wifi connect "$bssid" 2>&1; then
|
||||
exec notify-send "Connected to $ssid."
|
||||
else
|
||||
exec notify-send "Could not connect to $ssid."
|
||||
fi
|
||||
else
|
||||
security="$(nmcli -g SECURITY device wifi list bssid "$bssid" --rescan no)"
|
||||
if [ "$security" = "WPA2" ] || [ "$security" = "WEP" ]; then
|
||||
password="$(fuzzel -d --password -p "password > ")"
|
||||
fi
|
||||
|
||||
if nmcli device wifi connect "$bssid" password "$password" 2>&1; then
|
||||
exec notify-send "Connected to $ssid."
|
||||
else
|
||||
exec notify-send "Could not connect to $ssid."
|
||||
fi
|
||||
fi
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
|
||||
while getopts "he:" arg; do
|
||||
case $arg in
|
||||
e)
|
||||
if [ -z "$excludes" ]; then
|
||||
excludes="-path $OPTARG"
|
||||
else
|
||||
excludes="$excludes -o -path $OPTARG"
|
||||
fi
|
||||
;;
|
||||
[h?])
|
||||
printf "Usage: %s: [-e exclude path] [path]\n" $0
|
||||
exit;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift $(($OPTIND - 1))
|
||||
|
||||
file="$(find ${1:-$HOME} ! \( \( $excludes \) -prune \) -print0\
|
||||
| fuzzel --dmenu0 -p "find > ")"
|
||||
|
||||
[ -z "$file" ] && exit
|
||||
|
||||
exec xdg-open "$file"
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/sh
|
||||
|
||||
name="$(lsblk -lpno"name,size,type,mountpoint"\
|
||||
| grep "/dev\/sd.*part"\
|
||||
| fuzzel -d -p "mount > "\
|
||||
| cut -d" " -f1)"
|
||||
|
||||
[ -z "$name" ] && return
|
||||
|
||||
mountpoint="$(lsblk -lpno"mountpoint" "$name")"
|
||||
|
||||
if [ -z "$mountpoint" ]; then
|
||||
exec udisksctl mount -b "$name" 2>&1 | xargs -I{} notify-send "{}"
|
||||
else
|
||||
exec udisksctl unmount -b "$name" 2>&1 | xargs -I{} notify-send "{}"
|
||||
fi
|
|
@ -6,10 +6,10 @@ while true
|
|||
do
|
||||
printf [
|
||||
swaymsg -t get_inputs | jq -Mcj '[.[] | select(.type=="keyboard")][0] | {"full_text":.xkb_active_layout_name,"urgent":.xkb_active_layout_index}, ","'
|
||||
cat /sys/class/power_supply/BAT0/capacity | jq -Mcj '{"full_text":.}, ","'
|
||||
cat /sys/class/power_supply/BAT0/capacity | jq -Mcj 'if .<20 then {"full_text":.,"urgent":true} else {"full_text":.} end, ","'
|
||||
date +%c | jq -RMcj '{"full_text":.}, ","'
|
||||
swaymsg -t get_tree | jq -Mcj '.nodes[] | select(.name=="__i3").nodes[] | select(.name=="__i3_scratch").floating_nodes | {"full_text":length,"urgent":length}, ","'
|
||||
makoctl list | jq -Mcj '.data[][0] | {"full_text":(.summary.data // 0),"urgent":((.urgency.data // 0) == 2)}, ","'
|
||||
makoctl list | jq -Mcj '.data[] | if length>0 then {"full_text":([length, .[0].summary.data] | join(": ")),"urgent":(.[0].urgency.data == 2)}, "," else "" end'
|
||||
printf ],
|
||||
timeout 1 swaymsg -t subscribe '["input","binding"]' >/dev/null
|
||||
done
|
4
.profile
4
.profile
|
@ -9,7 +9,7 @@ if [ -n "$BASH_VERSION" ]; then
|
|||
fi
|
||||
|
||||
# set PATH so it includes user's private bin if it exists
|
||||
if [ -d "$HOME/bin" ] ; then
|
||||
if [ -d "$HOME/bin" ]; then
|
||||
PATH="$HOME/bin:$PATH"
|
||||
fi
|
||||
|
||||
|
@ -81,7 +81,7 @@ export OPAMROOT=$XDG_DATA_HOME/opam
|
|||
export EDITOR=vi
|
||||
|
||||
# desktop
|
||||
if [ "$(tty)" = "/dev/tty1" ] && command -v sway &>/dev/null; then
|
||||
if [ "$(tty)" = "/dev/tty1" ] && command -v sway >/dev/null; then
|
||||
# locale
|
||||
export LANG=sl_SI.UTF-8
|
||||
export LC_MESSAGES=en_US.UTF-8
|
||||
|
|
195
README.md
195
README.md
|
@ -1,70 +1,187 @@
|
|||
# Bootstrap
|
||||
# dot
|
||||
|
||||
This repo tracks user and system configuration files, installed packages
|
||||
and used commands for several machines or virtual servers. All are
|
||||
running Debian. The `milano` section documents our desktop setup based
|
||||
on `sway`, `foot`, `neovim` and `fuzzel`.
|
||||
|
||||
## milano
|
||||
|
||||
```sh
|
||||
# dotfiles
|
||||
# urosm@milano
|
||||
## bootstrap dotfiles
|
||||
sudo apt install git
|
||||
cd
|
||||
git init -b main
|
||||
git remote add origin gitea@git.kompot.si:urosm/dot.git
|
||||
git pull
|
||||
git checkout main -f
|
||||
# `/etc`
|
||||
git pull origin main
|
||||
## disable annoying .sudo_as_admin_successful file
|
||||
sudo cp -ri .config/sudoers.d /etc/
|
||||
## update to debian testing
|
||||
sudo cp -ri .config/apt /etc/
|
||||
```
|
||||
|
||||
# Packages
|
||||
|
||||
```sh
|
||||
# locales
|
||||
sudo apt update
|
||||
sudo apt full-upgrade
|
||||
## reconfigure locales
|
||||
sudo dpkg-reconfigure locales
|
||||
# utils
|
||||
sudo apt install udisks2
|
||||
sudo apt install screen
|
||||
sudo apt install jq
|
||||
# networking
|
||||
sudo apt install network-manager
|
||||
## install tasksel packages
|
||||
sudo tasksel install web-server
|
||||
sudo tasksel install ssh-server
|
||||
## harden ssh
|
||||
sudo cp -ri .config/ssh /etc/
|
||||
systemctl restart sshd
|
||||
## install and configure fail2ban
|
||||
sudo apt install fail2ban python3-pyinotify python3-systemd whois
|
||||
sudo cp -ir .config/fail2ban /etc/
|
||||
systemctl restart fail2ban
|
||||
## install and configure firewall
|
||||
sudo apt install ufw
|
||||
sudo ufw allow "SSH"
|
||||
sudo ufw allow 1194/udp
|
||||
sudo ufw enable
|
||||
# neovim
|
||||
## install utils
|
||||
sudo apt install network-manager
|
||||
sudo cp -ir .config/network /etc/
|
||||
sudo apt install udisks2
|
||||
sudo apt install screen
|
||||
sudo apt install jq
|
||||
## install neovim
|
||||
sudo apt install neovim
|
||||
# desktop
|
||||
sudo apt install --no-install-recommends sway
|
||||
## install desktop packages
|
||||
sudo apt install sway
|
||||
sudo apt install swayidle swaylock
|
||||
sudo apt install foot fuzzel
|
||||
sudo apt install fuzzel
|
||||
sudo apt install brightnessctl wlsunset
|
||||
sudo apt install wl-clipboard grim
|
||||
sudo apt install libnotify-bin mako-notifier
|
||||
# writing
|
||||
sudo apt install pandoc
|
||||
sudo apt install texlive-latex-extra
|
||||
sudo apt install texlive-fonts-recommended
|
||||
sudo apt install texlive-lang-european
|
||||
# audio
|
||||
sudo apt install fonts-ibm-plex
|
||||
## install and configure audio packages
|
||||
sudo apt install pipewire-audio
|
||||
systemctl --user enable --now wireplumber.service
|
||||
# web
|
||||
## install writing packages
|
||||
sudo apt install make
|
||||
sudo apt install pandoc
|
||||
sudo apt install texlive-latex-extra
|
||||
sudo apt install texlive-lang-european
|
||||
## install web packages
|
||||
sudo apt install firefox
|
||||
sudo apt install thunderbird
|
||||
# media
|
||||
## install media packages
|
||||
sudo apt install mpv
|
||||
sudo apt install zathura
|
||||
sudo apt install inkscape
|
||||
# office
|
||||
## install office packages
|
||||
sudo apt install libreoffice libreoffice-gtk3
|
||||
sudo apt install libreoffice-l10n-sl
|
||||
# printing
|
||||
## install printing packages
|
||||
sudo apt install cups printer-driver-all
|
||||
# scanning
|
||||
sudo adduser urosm lpadmin
|
||||
## install scanning packages
|
||||
sudo apt install simple-scan
|
||||
# pdf processing
|
||||
sudo apt install qpdf imagemagick ocrmypdf
|
||||
# rdp
|
||||
## install pdf processing packages
|
||||
sudo apt install qpdf ocrmypdf
|
||||
## install rdp packages
|
||||
sudo apt install remmina
|
||||
# ikiwiki
|
||||
sudo apt install apache2
|
||||
## install and setup ikiwiki
|
||||
sudo apt install ikiwiki
|
||||
sudo apt install libtext-multimarkdown-perl
|
||||
sudo apt install libfile-mimeinfo-perl libhighlight-perl libhtml-tree-perl libimage-magick-perl liblocale-gettext-perl libmailtools-perl libnet-amazon-s3-perl libnet-inet6glue-perl libsearch-xapian-perl libsort-naturally-perl libtext-csv-perl libtext-multimarkdown-perl libtext-textile-perl libtext-typography-perl libtext-wikicreole-perl libtext-wikiformat-perl libxml-feed-perl libxml-writer-perl
|
||||
chmod 711 $HOME
|
||||
sudo a2enmod userdir
|
||||
sudo a2enmod cgi
|
||||
sudo cp .config/apache2/sites-available/kontrakurs.localhost.conf /etc/apache2/sites-available/
|
||||
sudo cp .config/apache2/sites-available/bavbavhaus.localhost.conf /etc/apache2/sites-available/
|
||||
sudo a2ensite kontrakurs.localhost bavbavhaus.localhost
|
||||
systemctl restart apache2
|
||||
```
|
||||
|
||||
## padova
|
||||
|
||||
```sh
|
||||
ssh root@padova
|
||||
adduser urosm
|
||||
adduser urosm sudo
|
||||
exit
|
||||
ssh-copy-id urosm@padova
|
||||
ssh urosm@padova
|
||||
## bootstrap dotfiles
|
||||
sudo apt install git
|
||||
git init -b main
|
||||
git remote add origin gitea@git.kompot.si:urosm/dot.git
|
||||
git pull origin main
|
||||
## additional config in `etc`
|
||||
sudo cp -ri .config/sudoers.d /etc/
|
||||
## install screen
|
||||
sudo apt install screen
|
||||
## install and configure firewall
|
||||
sudo apt install ufw
|
||||
sudo ufw allow "SSH"
|
||||
sudo ufw allow 1194/udp
|
||||
sudo ufw enable
|
||||
## harden ssh
|
||||
sudo cp -ri .config/ssh /etc/
|
||||
sudo systemctl restart sshd
|
||||
## install and configure fail2ban
|
||||
sudo apt install fail2ban python3-pyinotify python3-systemd whois
|
||||
sudo cp -ir .config/fail2ban /etc/
|
||||
sudo systemctl restart fail2ban
|
||||
## install and configure wireguard
|
||||
sudo cp -ir .config/sysctl.d /etc/
|
||||
sudo sysctl -p
|
||||
sudo apt install wireguard
|
||||
sudo cp -i .config/wireguard/padova.conf /etc/wireguard/
|
||||
wg-quick up padova
|
||||
## enable unattended-upgrades
|
||||
sudo apt install unattended-upgrades apt-listchanges
|
||||
sudo dpkg-reconfigure -plow unattended-upgrades
|
||||
```
|
||||
|
||||
## tivoli
|
||||
|
||||
```sh
|
||||
# urosm@tivoli
|
||||
ssh root@tivoli
|
||||
adduser urosm
|
||||
adduser urosm sudo
|
||||
exit
|
||||
ssh-copy-id urosm@tivoli
|
||||
ssh urosm@tivoli
|
||||
## bootstrap dotfiles
|
||||
sudo apt install git
|
||||
git init -b main
|
||||
git remote add origin gitea@git.kompot.si:urosm/dot.git
|
||||
git pull origin main
|
||||
## additional config in `etc`
|
||||
sudo cp -ri .config/sudoers.d /etc/
|
||||
## install screen
|
||||
sudo apt install screen
|
||||
## install and configure firewall
|
||||
sudo apt install ufw
|
||||
sudo ufw allow "SSH"
|
||||
sudo ufw allow "WWW Full"
|
||||
sudo ufw enable
|
||||
## harden ssh
|
||||
sudo cp -ir .config/ssh /etc/
|
||||
sudo systemctl restart sshd
|
||||
## install and configure fail2ban
|
||||
sudo apt install fail2ban python3-pyinotify python3-systemd whois
|
||||
sudo cp -ir .config/fail2ban /etc/
|
||||
sudo systemctl restart fail2ban
|
||||
## install and configure webserver
|
||||
sudo tasksel install web-server
|
||||
sudo a2enmod rewrite
|
||||
sudo a2enmod userdir
|
||||
sudo a2enmod cgi
|
||||
chmod 711 "$HOME"
|
||||
sudo cp -ir .config/apache2/sites-available /etc/apache2/
|
||||
sudo a2ensite bavbavhaus.net
|
||||
sudo a2ensite kontrakurs.org
|
||||
sudo systemctl reload apache2
|
||||
## install certbot
|
||||
sudo apt install certbot
|
||||
sudo apt install python3-certbot-apache
|
||||
sudo certbot --apache
|
||||
## install ikiwiki
|
||||
sudo apt install --install-recommends ikiwiki
|
||||
sudo apt install libfile-mimeinfo-perl libhighlight-perl libhtml-tree-perl libimage-magick-perl liblocale-gettext-perl libmailtools-perl libnet-amazon-s3-perl libnet-inet6glue-perl libsearch-xapian-perl libsort-naturally-perl libtext-csv-perl libtext-multimarkdown-perl libtext-textile-perl libtext-typography-perl libtext-wikicreole-perl libtext-wikiformat-perl libxml-feed-perl libxml-writer-perl
|
||||
## enable unattended-upgrades
|
||||
sudo apt install unattended-upgrades apt-listchanges
|
||||
sudo dpkg-reconfigure -plow unattended-upgrades
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue