Fail2ban, more wallpapers, better lua theming & more
This commit is contained in:
parent
504ec75c55
commit
5652b531ba
|
@ -24,7 +24,7 @@ let
|
|||
|
||||
catppuccin-latte = {
|
||||
stylix = {
|
||||
image = ./wallpapers/watercag.png;
|
||||
image = ./wallpapers/field_diamond.jpg;
|
||||
base16Scheme = "${inputs.catppuccin-base16}/base16/latte.yaml";
|
||||
opacity = transparency 0.7;
|
||||
polarity = "light";
|
||||
|
|
BIN
common/themes/wallpapers/auto/catppuccin-latte-watercag.png
Normal file
BIN
common/themes/wallpapers/auto/catppuccin-latte-watercag.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 433 KiB |
BIN
common/themes/wallpapers/field_diamond.jpg
Normal file
BIN
common/themes/wallpapers/field_diamond.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 335 KiB |
BIN
common/themes/wallpapers/phos_landscape.png
Normal file
BIN
common/themes/wallpapers/phos_landscape.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3 MiB |
|
@ -59,8 +59,8 @@ in
|
|||
search.force = true;
|
||||
search.default = "Moonythm";
|
||||
|
||||
# Set styles applied to every website
|
||||
userContent = builtins.readFile ./userContent.css;
|
||||
# Set styles applied to firefox itself
|
||||
userChrome = builtins.readFile ./userChrome.css;
|
||||
# }}}
|
||||
# {{{ Extensions
|
||||
extensions =
|
||||
|
|
3
home/features/desktop/firefox/userChrome.css
Normal file
3
home/features/desktop/firefox/userChrome.css
Normal file
|
@ -0,0 +1,3 @@
|
|||
#TabsToolbar {
|
||||
visibility: collapse;
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
wakatime_config: ENC[AES256_GCM,data:IgGcMQNf8u2KXjgI60zPKZ6M7oxibbQK+in/9jrnEzk20WA1JM122zICXYuLfuQgNd2CMoEeu4LivQHv/D79tw==,iv:HoS00ihAX+SCw58kgcnvqAy4ILdS+/RPMqQwXusTqYU=,tag:0sSaZTrjO43PB7g215wwUA==,type:str]
|
||||
wakatime_config: ENC[AES256_GCM,data:4ZlmrZuB8kBb3DkTmjZFztxzra5owHUWawql5nqkdFs1Qbx1jF9O0PC9cc7qq1j6JlYqVKcJHn/hwEiKnN8qtX0sLW38mnF06uDr2E0ibuNXbiKeMg6/xOnxFer5uI6pUZAYdCtqexfb5C6qY/OfrSYAfpSXNqhrhga3yS/gQlz4fwaylkgScvvrdqNrXdPlRhekoffizAeaF2u9GWkC8akFJEJYHB4lP9ZS6orVwlBTEV4xAKhySD8HP96yvHUvUgwr,iv:BrkrWwim5Vj6XnrIr8hNKtXOc/sVni9zhXh1JrkwPKs=,tag:Uf1Sk3AOXgTPmdpd4U0mFQ==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
|
@ -14,8 +14,8 @@ sops:
|
|||
cURjWFplY1pyMzY4a0h6cTRLS2I2ZW8KqGtYjCsdriSWdKhC+kGBAMSY9WVDL3tE
|
||||
oMxyhrgDMtWndZEGv1+J3XLLmatDKmEcJO2k0CXZlCWWj17O4Rm+eA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2024-01-31T18:29:11Z"
|
||||
mac: ENC[AES256_GCM,data:PmKn6D+olZSKrjY0i9zZ3YZxi+k39CS7ckUF7YaVINqZlCBNe12T+FnPyHhH/vDujA61ZzalsY14SHwSkOwMNVTJ9tdvOEfpEtwq0wKn+5TQmz8LfWNBUazRefhY0hKZN/k/akRjRh65wOvMZfah+L6A9wA7vW1OrCbLtAKExsY=,iv:9vGJAzjRN6MxRG7EeYKKft3YElkicu0XX8Q28Ua2n3M=,tag:eyg5yUH2ME2annShaFQAqg==,type:str]
|
||||
lastmodified: "2024-04-08T16:37:07Z"
|
||||
mac: ENC[AES256_GCM,data:aBJ81nrFPg42KXFcbeKVSSiARDxv28jyKwwBcrGJyyMCjHBMAFVkqunCAP3QWKXy8idabLye2PE9kc0aQaQy1pNCnuum2ejbNYKstEZHrUSxS0v7Mt3Z47IRY1PGp7ovauJXAGe0TB28wslQuUTCE5AyxO+/eaf9q9uWF71X0pw=,iv:oe0YzuFO7QXQZAoSA2O682X9UoTTOo7sUVZceRyYQtY=,tag:9GGULWn3vlTdGEoOVIOzmQ==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.8.1
|
||||
|
|
|
@ -18,19 +18,27 @@ local font_size = 20.0
|
|||
config.colors = wezterm.color.load_base16_scheme(colorscheme.source)
|
||||
|
||||
-- {{{ Window frame
|
||||
local tab_bar_bg = colorscheme.transparency.terminal.base04
|
||||
config.window_frame = {
|
||||
font = wezterm.font({ family = colorscheme.fonts.sansSerif }),
|
||||
font_size = font_size,
|
||||
active_titlebar_bg = colorscheme.base00,
|
||||
inactive_titlebar_bg = colorscheme.base00,
|
||||
font_size = font_size - 3,
|
||||
active_titlebar_bg = tab_bar_bg,
|
||||
inactive_titlebar_bg = tab_bar_bg,
|
||||
}
|
||||
|
||||
config.window_padding = {
|
||||
left = "1cell",
|
||||
right = "1cell",
|
||||
top = "0.4cell",
|
||||
bottom = "0.4cell",
|
||||
}
|
||||
-- }}}
|
||||
-- {{{ Tab bar colors
|
||||
config.colors.tab_bar = {
|
||||
background = colorscheme.base02,
|
||||
background = tab_bar_bg,
|
||||
active_tab = {
|
||||
bg_color = colorscheme.base0A,
|
||||
fg_color = colorscheme.base00,
|
||||
bg_color = colorscheme.transparency.terminal.base00,
|
||||
fg_color = colorscheme.base05,
|
||||
},
|
||||
inactive_tab = {
|
||||
bg_color = colorscheme.base02,
|
||||
|
@ -49,10 +57,13 @@ config.colors.tab_bar = {
|
|||
fg_color = colorscheme.base05,
|
||||
italic = true,
|
||||
},
|
||||
|
||||
-- The color of the inactive tab bar edge/divider
|
||||
inactive_tab_edge = "none",
|
||||
}
|
||||
-- }}}
|
||||
-- {{{ Other visual things
|
||||
config.window_background_opacity = colorscheme.opacity.terminal
|
||||
config.window_background_opacity = colorscheme.transparency.terminal.value
|
||||
-- }}}
|
||||
-- }}}
|
||||
-- {{{ Main config options
|
||||
|
@ -66,9 +77,11 @@ config.font_size = font_size
|
|||
config.font = wezterm.font(colorscheme.fonts.monospace)
|
||||
-- }}}
|
||||
-- {{{ Tab bar
|
||||
config.tab_bar_at_bottom = false
|
||||
config.use_fancy_tab_bar = true
|
||||
-- config.enable_tab_bar = false
|
||||
config.hide_tab_bar_if_only_one_tab = true
|
||||
config.show_tab_index_in_tab_bar = false
|
||||
config.show_new_tab_button_in_tab_bar = false
|
||||
-- }}}
|
||||
-- {{{ Keycodes
|
||||
config.disable_default_key_bindings = false
|
||||
|
|
|
@ -11,7 +11,7 @@ function M.config()
|
|||
local bluloco = require("bluloco")
|
||||
|
||||
bluloco.setup({
|
||||
transparent = H.theme.opacity.terminal < 1.0,
|
||||
transparent = H.theme.transaprency.terminal.enabled,
|
||||
style = H.theme_variant("Bluloco"),
|
||||
})
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ function M.config()
|
|||
vim.g.catppuccin_flavour = H.theme_variant("Catppuccin")
|
||||
|
||||
catppuccin.setup({
|
||||
transparent_background = H.theme.transparent.terminal,
|
||||
transparent_background = H.theme.transparency.terminal.enabled,
|
||||
integrations = {
|
||||
nvimtree = true,
|
||||
telescope = true,
|
||||
|
@ -25,7 +25,7 @@ function M.config()
|
|||
|
||||
vim.cmd("colorscheme catppuccin")
|
||||
|
||||
if H.theme.transparent.terminal then
|
||||
if H.theme.transparency.terminal.enabled then
|
||||
vim.cmd([[highlight FloatBorder blend=0 guibg=NONE]])
|
||||
-- vim.cmd([[highlight MiniStatuslineInactive blend=0 guibg=NONE]])
|
||||
vim.cmd([[highlight MiniStatuslineFilename blend=0 guibg=NONE]])
|
||||
|
|
103
home/features/neovim/config/lua/my/snippets/tex.miros
Normal file
103
home/features/neovim/config/lua/my/snippets/tex.miros
Normal file
|
@ -0,0 +1,103 @@
|
|||
for thmenv <- @{theorem,lemma,exercise,definition,corollary,example}
|
||||
for thmprefix <- @{@thmenv:thm,lem,exe,def,cor,exa}
|
||||
|
||||
block auto !math start
|
||||
for env <- @{$1,enumerate,itemize,align*}
|
||||
|
||||
string @{@env:begin,olist,ulist,dm}
|
||||
name @{@env:environment,ordered list,unordered list,display math}
|
||||
snip
|
||||
\begin{@env}
|
||||
$0
|
||||
\end{@env}
|
||||
end
|
||||
|
||||
string @thmprefix
|
||||
snip
|
||||
\begin{@thmenv}$?1{[@^{$1}]} \label{@thmprefix:$2}
|
||||
$0
|
||||
\end{@thmenv}
|
||||
end
|
||||
|
||||
string proof
|
||||
snip
|
||||
\begin{proof}$?1{[Proof of @^{$1}]}
|
||||
$0
|
||||
\end{proof}
|
||||
end
|
||||
|
||||
string ciff
|
||||
name cases for ⟺
|
||||
snip
|
||||
\begin{enumerate}
|
||||
\item[$\implies$]$1,
|
||||
\item[$\impliedby$]$2,
|
||||
\end{enumerate}
|
||||
$0
|
||||
end
|
||||
|
||||
string item
|
||||
snip \item$|1{,[$1] $0}
|
||||
|
||||
block auto !math
|
||||
string ref
|
||||
snip \ref{$1}$0
|
||||
string r@thmprefix
|
||||
snip \ref{@thmprefix:$1}$0
|
||||
|
||||
string pref
|
||||
snip (\ref{$1})$0
|
||||
string pr@thmprefix
|
||||
snip (\ref{@thmprefix:$1})$0
|
||||
|
||||
string quote
|
||||
snip ``$1''$0
|
||||
string forcecr
|
||||
snip {\ \\\\}
|
||||
|
||||
pattern ([Ll]et)
|
||||
name definition
|
||||
snip @1 \$$1 = $2\$
|
||||
|
||||
string im
|
||||
name inline math
|
||||
snip \$$1\$$0
|
||||
|
||||
block math end
|
||||
for suffix <- @{add,sub,rmul,pow,inv}
|
||||
string ex@suffix
|
||||
snip
|
||||
&& \lrb{\square @{@suffix:
|
||||
+ $1,
|
||||
- $1,
|
||||
\cdot $1,
|
||||
^{$1\},
|
||||
^{-1\},
|
||||
}}$0
|
||||
end
|
||||
|
||||
for prefix <- @{neg,mul,ln}
|
||||
string ex@prefix
|
||||
snip && \lrb{@{@prefix:-,$1,\ln} \square}$0
|
||||
|
||||
string exdiv
|
||||
snip && \lrb{\frac \square {$1}}$0
|
||||
string exint
|
||||
snip && \lrb{\int\square \dif $1}$0
|
||||
string exdint
|
||||
snip && \lrb{\int_{$1}^{$2}\square \dif $3}$0
|
||||
|
||||
for kind <- @{texpl,extrin,exbound,exdef}
|
||||
string @kind
|
||||
snip
|
||||
&& \lrb{\text{@{kind:
|
||||
$1,
|
||||
triangle inequality on \$$1\$,
|
||||
\$$1\$ is bounded,
|
||||
definition of \$$1\$,
|
||||
}}}$0
|
||||
end
|
||||
|
||||
for operator <- {overline,hat,abs,norm}
|
||||
string @operator
|
||||
snip \\@operator $|1{ $1,{$1\}$0}
|
77
home/features/neovim/config/syntax/miros.vim
Normal file
77
home/features/neovim/config/syntax/miros.vim
Normal file
|
@ -0,0 +1,77 @@
|
|||
" if exists("b:current_syntax")
|
||||
" finish
|
||||
" endif
|
||||
|
||||
set iskeyword+=-
|
||||
|
||||
|
||||
syn match mirosComment "\v--.*$"
|
||||
hi link mirosComment Comment
|
||||
|
||||
syn match mirosName /\v\@\h\w*/ contained
|
||||
syn match mirosLiteral /\v.+/ contained contains=mirosName,mirosArray oneline
|
||||
hi link mirosLiteral mirosString
|
||||
|
||||
syn match mirosFor /\vfor\s+\w+\s+\<-\s+/ nextgroup=mirosArray
|
||||
syn match mirosForName /\vfor\s+\w+\s+/ contained containedin=mirosFor
|
||||
hi link mirosForName mirosName
|
||||
syn match mirosKeyword /\vfor/ contained containedin=mirosForName
|
||||
syn match mirosOperator "\v\<\-" contained containedin=mirosFor
|
||||
|
||||
syn match mirosBlock /\v^\s*block(\s+(auto|!?(start|math)))*/
|
||||
syn match mirosKeyword /\vblock/ contained containedin=mirosBlock
|
||||
syn match mirosBlockContext /\v(auto|start|math)/ contained containedin=mirosBlock
|
||||
hi link mirosBlockContext Constant
|
||||
syn match mirosOperator /\v!/ contained containedin=mirosBlock
|
||||
|
||||
syn match mirosDecl /\v^\s*(desc|name|string|pattern)\s+/ nextgroup=mirosLiteral
|
||||
syn match mirosKeyword /\v(desc|name|string|pattern)/ contained containedin=mirosDecl
|
||||
|
||||
syn match mirosDecl /\v^\s*postfix(\s+|$)/ nextgroup=mirosLiteral
|
||||
syn match mirosKeyword /\vpostfix/ contained containedin=mirosDecl
|
||||
|
||||
syn region mirosArray matchgroup=mirosArrayBraces start=/\v\@\{/ skip=/\v\\\\|\\}/ end=/\v\}/ contained contains=mirosName,mirosArray,mirosTabStop,mirosNonempty,mirosNeEscape,mirosCapture,mirosChoice,mirosCall
|
||||
hi link mirosArrayBraces mirosOperator
|
||||
syn match mirosArrayMap /\v\@\w+:/ contained containedin=mirosArray contains=mirosName
|
||||
syn match mirosArrayColon /\v:/ contained containedin=mirosArrayMap
|
||||
hi link mirosArrayColon mirosOperator
|
||||
|
||||
syn region mirosShortSnipDecl matchgroup=mirosKeyword start=/\v^\s*snip\s+/ end=/\v$/ contains=mirosName,mirosArray,mirosTabstop,mirosNonempty,mirosNeEscape,mirosCapture,mirosChoice,mirosCall
|
||||
syn region mirosLongSnipDecl matchgroup=mirosKeyword start=/\v^\s*snip\s*$/ end=/\v^\s*end/ contains=mirosName,mirosArray,mirosTabstop,mirosNonempty,mirosNeEscape,mirosCapture,mirosChoice,mirosCall
|
||||
|
||||
syn match mirosTabStop /\v\$\d/ contained
|
||||
hi link mirosTabStop mirosOperator
|
||||
|
||||
syn region mirosNonempty start=/\v\$\?\d\{/ matchgroup=mirosOperator skip=/\v\\\\|\\}/ end=/\v\}/ contained contains=mirosName,mirosArray,mirosTabStop,mirosNonempty,mirosNeEscape,mirosCapture,mirosChoice,mirosCall
|
||||
syn match mirosNonemptyDelim /\v\$\?\d\{/ contained containedin=mirosNonempty
|
||||
hi link mirosNonemptyDelim mirosOperator
|
||||
|
||||
syn region mirosNeEscape matchgroup=mirosOperator start=/\v\@\^\{/ skip=/\v\\\\|\\}/ end=/\v\}/ contained contains=mirosName,mirosArray,mirosTabStop,mirosNonempty,mirosNeEscape,mirosCapture,mirosChoice
|
||||
|
||||
syn match mirosCapture /\v\@\d/ contained
|
||||
hi link mirosCapture mirosOperator
|
||||
syn match mirosNumber /\v\d/ contained containedin=mirosCapture
|
||||
|
||||
syn region mirosChoice start=/\v\$\|\d\{/ matchgroup=mirosOperator skip=/\v\\\\|\\}/ end=/\v\}/ contained contains=mirosName,mirosArray,mirosTabStop,mirosNonempty,mirosNeEscape,mirosCapture,mirosChoice,mirosCall
|
||||
syn match mirosChoiceDelim /\v\$\|\d\{/ contained containedin=mirosChoice
|
||||
hi link mirosChoiceDelim mirosOperator
|
||||
|
||||
syn region mirosCall start=/@:\w\+(/ skip=/\v\\\\|\\\)/ matchgroup=mirosOperator end=')' contained contains=mirosName,mirosArray,mirosTabStop,mirosNonempty,mirosNeEscape,mirosCapture,mirosChoice,mirosCall
|
||||
syn match mirosCallStart /\v\@:\w+/ contained containedin=mirosCall
|
||||
hi link mirosCallStart mirosOperator
|
||||
syn match mirosCallFunc /\v\w+/ contained containedin=mirosCallStart
|
||||
hi link mirosCallFunc mirosName
|
||||
syn match mirosOperator /(/ contained containedin=mirosCall
|
||||
|
||||
syn match mirosNumber /\v\d/ contained containedin=mirosNonemptyDelim,mirosTabStop,mirosChoiceDelim
|
||||
syn match mirosComma /\v,/ contained containedin=mirosArray,mirosChoice
|
||||
hi link mirosComma mirosOperator
|
||||
|
||||
hi link mirosString String
|
||||
hi link mirosOperator Operator
|
||||
hi link mirosFunction Function
|
||||
hi link mirosKeyword Keyword
|
||||
hi link mirosName Identifier
|
||||
hi link mirosNumber Number
|
||||
|
||||
let b:current_syn = "miros"
|
|
@ -260,7 +260,7 @@ let
|
|||
"4:configure-neovide" = {
|
||||
cond = whitelist "neovide";
|
||||
vim.g = {
|
||||
neovide_transparency = lua ''D.tempest.theme.opacity.applications'';
|
||||
neovide_transparency = lua ''D.tempest.theme.transparency.applications.value'';
|
||||
neovide_cursor_animation_length = 0.04;
|
||||
neovide_cursor_animate_in_insert_mode = false;
|
||||
};
|
||||
|
@ -1574,6 +1574,8 @@ in
|
|||
{
|
||||
satellite.lua.styluaConfig = ../../../stylua.toml;
|
||||
|
||||
imports = [ ../desktop/wakatime ];
|
||||
|
||||
# {{{ Basic config
|
||||
# We still want other modules to know that we are using neovim!
|
||||
satellite.toggles.neovim.enable = true;
|
||||
|
|
|
@ -20,7 +20,7 @@ decoration {
|
|||
size = 10
|
||||
passes = 4
|
||||
contrast = 1.2
|
||||
brightness = 1.1
|
||||
brightness = 1.0
|
||||
noise = 0.05
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,6 +63,10 @@ in
|
|||
];
|
||||
};
|
||||
|
||||
|
||||
# By default, this will ban failed ssh attempts
|
||||
services.fail2ban.enable = true;
|
||||
|
||||
# Makes it easy to copy host keys at install time without messing up permissions
|
||||
systemd.tmpfiles.rules = [ "d /persist/state/etc/ssh" ];
|
||||
}
|
||||
|
|
|
@ -160,9 +160,9 @@ let
|
|||
|
||||
(deflayer purple
|
||||
_ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
_ _ _ _ _ _ @cps @cpy next volu brup _ _ _
|
||||
_ _ _ _ _ _ @udo @pst pp vold brdn _ _
|
||||
_ _ _ _ _ _ _ @cut prev mute _ _
|
||||
_ f1 f2 f3 f4 f5 @cps @cpy next volu brup _ _ _
|
||||
_ f6 f7 f8 f9 f10 @udo @pst pp vold brdn _ _
|
||||
_ f11 f12 _ _ _ _ @cut prev mute _ _
|
||||
_ _ _ _ _
|
||||
)
|
||||
;; }}}
|
||||
|
|
|
@ -11,6 +11,7 @@ let
|
|||
"alternativeto.net"
|
||||
"linuxiac.com"
|
||||
"www.linuxlinks.com"
|
||||
"sourceforge.net"
|
||||
];
|
||||
in
|
||||
{
|
||||
|
|
|
@ -66,4 +66,8 @@
|
|||
enable = true;
|
||||
package = pkgs.mysql80;
|
||||
};
|
||||
|
||||
programs.dconf.enable = true;
|
||||
services.gnome.evolution-data-server.enable = true;
|
||||
services.gnome.gnome-online-accounts.enable = true;
|
||||
}
|
||||
|
|
|
@ -12,6 +12,36 @@
|
|||
korora = inputs.korora.lib;
|
||||
};
|
||||
|
||||
mkTransparencyTarget = name:
|
||||
let
|
||||
color = index: "rgba(${
|
||||
config.satellite.theming.colors.rgb "base${index}"
|
||||
},${
|
||||
toString config.stylix.opacity.${name}
|
||||
})";
|
||||
in
|
||||
{
|
||||
enabled = config.stylix.opacity.${name} < 1.0;
|
||||
value = config.stylix.opacity.${name};
|
||||
|
||||
base00 = color "00";
|
||||
base01 = color "01";
|
||||
base02 = color "02";
|
||||
base03 = color "03";
|
||||
base04 = color "04";
|
||||
base05 = color "05";
|
||||
base06 = color "06";
|
||||
base07 = color "07";
|
||||
base08 = color "07";
|
||||
base09 = color "09";
|
||||
base0A = color "0A";
|
||||
base0B = color "0B";
|
||||
base0C = color "0C";
|
||||
base0D = color "0D";
|
||||
base0E = color "0E";
|
||||
base0F = color "0F";
|
||||
};
|
||||
|
||||
theme = {
|
||||
name = config.lib.stylix.scheme.scheme;
|
||||
base00 = config.lib.stylix.scheme.base00;
|
||||
|
@ -37,18 +67,11 @@
|
|||
sansSerif = config.stylix.fonts.sansSerif.name;
|
||||
monospace = config.stylix.fonts.monospace.name;
|
||||
};
|
||||
opacity = {
|
||||
terminal = config.stylix.opacity.terminal;
|
||||
applications = config.stylix.opacity.applications;
|
||||
desktop = config.stylix.opacity.desktop;
|
||||
popups = config.stylix.opacity.popups;
|
||||
};
|
||||
# Whether to enable transparency for different targets
|
||||
transparent = {
|
||||
terminal = config.stylix.opacity.terminal < 1.0;
|
||||
applcations = config.stylix.opacity.applications < 1.0;
|
||||
desktop = config.stylix.opacity.desktop < 1.0;
|
||||
popups = config.stylix.opacity.popups < 1.0;
|
||||
transparency = {
|
||||
terminal = mkTransparencyTarget "terminal";
|
||||
applications = mkTransparencyTarget "applications";
|
||||
desktop = mkTransparencyTarget "desktop";
|
||||
popups = mkTransparencyTarget "popups";
|
||||
};
|
||||
rounding = {
|
||||
enable = config.satellite.theming.rounding.enable;
|
||||
|
|
Loading…
Reference in a new issue