update für template

This commit is contained in:
Flo
2025-07-02 18:37:15 +02:00
parent 32deacfb74
commit 14736ff596
61 changed files with 65 additions and 979 deletions

View File

@ -1,3 +1,6 @@
-- Keymaps are automatically loaded on the VeryLazy event
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
-- Add any additional keymaps here
vim.api.nvim_set_keymap("i", "jj", "<Esc>", { noremap = false })
vim.api.nvim_set_keymap("i", "jk", "<Esc>", { noremap = false })

View File

@ -0,0 +1,36 @@
return {
"obsidian-nvim/obsidian.nvim",
version = "*", -- recommended, use latest release instead of latest commit
lazy = true,
ft = "markdown",
-- Replace the above line with this if you only want to load obsidian.nvim for markdown files in your vault:
-- event = {
-- -- If you want to use the home shortcut '~' here you need to call 'vim.fn.expand'.
-- -- E.g. "BufReadPre " .. vim.fn.expand "~" .. "/my-vault/*.md"
-- -- refer to `:h file-pattern` for more examples
-- "BufReadPre path/to/my-vault/*.md",
-- "BufNewFile path/to/my-vault/*.md",
-- },
dependencies = {
-- Required.
"nvim-lua/plenary.nvim",
-- see above for full list of optional dependencies ☝️
},
---@module 'obsidian'
---@type obsidian.config
opts = {
workspaces = {
{
name = "personal",
path = "~/vaults/personal",
},
{
name = "work",
path = "~/vaults/work",
},
},
-- see below for full list of options 👇
},
}

View File

@ -0,0 +1,14 @@
return {
"echasnovski/mini.surround",
opts = {
mappings = {
add = "<leader>sa",
delete = "<leader>sd",
find = "gsf",
find_left = "gsF",
highlight = "gsh",
replace = "gsr",
update_n_lines = "gsn",
},
},
}

View File

@ -1,85 +0,0 @@
{
"device_name": "astronomix",
// "listening_port" : 0, // 0 - randomize port
/* storage_path dir contains auxilliary app files if no storage_path field: .sync dir created in current working directory */
"storage_path" : "/home/user/flo/.local/share/rslsync",
/* set location of pid file */
"pid_file" : "/home/user/flo/.local/share/rslsync/resilio.pid",
/* use UPnP for port mapping */
"use_upnp" : false,
/* limits in kB/s. 0 - no limit */
"download_limit" : 0,
"upload_limit" : 0,
/* proxy configuration */
// "proxy_type" : "socks4", // Valid types: "socks4", "socks5", "http_connect". Any other value means no proxy
// "proxy_addr" : "192.168.1.2", // IP address of proxy server.
// "proxy_port" : 1080,
// "proxy_auth" : false, // Use authentication for proxy. Note: only username/password for socks5 (RFC 1929) is supported, and it is not really secure
// "proxy_username" : "user",
// "proxy_password" : "password",
/* directory_root path defines where the WebUI Folder browser starts (linux only). Default value is / */
"directory_root" : "/home/",
/* directory_root_policy defines how directory_root is used (linux only).
Valid values are:
"all" - accepts directory_root and its subdirectories for 'getdir' and 'adddir' actions
"belowroot" - accepts directory_root's subdirectories for 'getdir' and 'adddir' actions,
but denies attempts to use 'adddir' to create directories directly within directory_root
Default value is "all". */
// "directory_root_policy" : "all",
"webui" :
{
"listen" : "127.0.0.1:8888" // remove field to disable WebUI
/* preset credentials. Use password or password_hash */
,"login" : "flo"
,"password" : "WarthoG!#RSL" // (not recommended, better use 'password_hash_unified')
// ,"password_hash" : "<crypt() 3 format password hash>" // (not recommended) Works on *nix only!
// Use either 'password_hash' or 'password_hash_unified' (recommended), but not both of them!
// ,"password_hash_unified" : "<SHA2-256 hash in HEX format>" // Works on all platforms.
// ,"password_hash_salt_unified" : "<any text>" // Salt for unified password's hash. Works on all platforms.
// ,"allow_empty_password" : false // Defaults to true
/* ssl configuration */
// ,"force_https" : true // disable http
// ,"ssl_certificate" : "/home/user/flo/.config/rslsync/server.crt"
// ,"ssl_private_key" : "/home/user/flo/.config/rslsync/server.key"
/* dir_whitelist defines which directories can be shown to user or have folders added (linux only)
relative paths are relative to directory_root setting */
// ,"dir_whitelist" : [ "/home/user/MySharedFolders/personal", "work" ]
}
/* !!! if you set shared folders in config file WebUI will be DISABLED !!!
shared directories specified in config file override the folders previously added from WebUI. */
/*,
"shared_folders" :
[
{
"secret" : "MY_SECRET_1", // required field - use --generate-secret in command line to create new secret
"dir" : "/home/user/resilio/sync_test", // * required field
"use_relay_server" : true, // use relay server when direct connection fails
"use_tracker" : true,
"search_lan" : true,
"use_sync_trash" : true, // enable SyncArchive to store files deleted on remote devices
"overwrite_changes" : false, // restore modified files to original version, ONLY for Read-Only folders
"selective_sync" : false, // add folder in selective sync mode
"known_hosts" : // specify hosts to attempt connection without additional search
[
"192.168.1.2:44444"
]
}
]
*/
/* Advanced preferences can be added to config file. Info is available at "https://help.getsync.com/hc/en-us/articles/207371636"
For example see folder_rescan_interval below */
//, "folder_rescan_interval" : 600
}

View File

@ -1,30 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIFOTCCAyGgAwIBAgIIWv9R7YXqaBIwDQYJKoZIhvcNAQELBQAwZzELMAkGA1UE
BhMCREUxEDAOBgNVBAgMB0dlcm1hbnkxEzARBgNVBAoMCkdhbGxpZXJOZXQxEzAR
BgNVBAMMCkdhbGxpZXJOZXQxHDAaBgkqhkiG9w0BCQEWDWFlZ2lzQGdteC5uZXQw
HhcNMjAwMTIwMDAwMDAwWhcNMjEwMTMxMjM1OTU5WjB4MQswCQYDVQQGEwJERTEQ
MA4GA1UECAwHR2VybWFueTETMBEGA1UECgwKR2FsbGllck5ldDEMMAoGA1UECwwD
UEtJMRUwEwYDVQQDDAxteC5vY3Ryb24uc3gxHTAbBgkqhkiG9w0BCQEWDmNlcnRA
b2N0cm9uLnN4MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzZ56B01P
oXgz84364TQ+tnSi1tjhph66kugwoJsTnFZNvTdTJwdMaH28TTcn9kQTjwLcnRGW
0JL90quuVmvxM9QoskJUVxh1W6Rgd9DXr3Z+UxoU4DMwEq9J5kyMwzXNX/pXABBi
v+8RbFS+92U9BCtUMa0umqnI92R7N50ji0J/ze6BJJ0Q00/51NN7uOwO4UecNf3q
u+75yEecFBYciMIPq6qXw31S9IG+NruLT9uvvbq+IRn3Utxc11jbi8wU0TNIvNwf
X0mpDSj4MaKu7r8Fh9GzpLACJh8SDCTkVjq+JwrjUvcQVa8FdwFAqWTKEWe34Lhh
gWzvMMKl89303wIDAQABo4HXMIHUMAkGA1UdEwQCMAAwHQYDVR0OBBYEFNErm+0p
62AwnRqEnzfVS4FnEyo/MB8GA1UdIwQYMBaAFJT0gAtU00HCQKxCDpDJHW4QetPl
MDMGCWCGSAGG+EIBBAQmFiRodHRwczovL29jdHJvbi5zeC9jcmwvZ2FsbGllcl9D
QS5jcmwwCwYDVR0PBAQDAgXgMEUGA1UdEQQ+MDyCCW9jdHJvbi5zeIILKi5vY3Ry
b24uc3iCFm1hamVzdGl4LmdhbGxpZXIubG9jYWyHBMCoUQqHBMCo/vIwDQYJKoZI
hvcNAQELBQADggIBANeZiZhfMVsZJcZ00GoAUy2OlL7ARwnkIYqgN5C88M1YdaVn
c4EtNyayVgtUK6llu549M1VjLSiWpQXz5aBtPqJfQLFeClvC3rDgGhOlV46wlN9I
rwGds+6W57Q+5T/GqJP5q+FsMIbV8bAdpzAzXjb4DRlwScmRuEyu7N/qJMCwK9K5
Ee3f5cunSh+Yv9u2epCB0QD88aY1BnjeD+x7FfWZ+E+WL/YaeYZcElcffSXi7RJM
5u352MdEIylxl4OQjJN9QaG3RFmEL0ha3NHjrQ4Wub96Vd4c6y8SXByquvKD/D2B
1KxIMC0FjhsgDQRJYiElH4Dr+U2kkdMFN3qK14G4mjZEP+RHzgcmQRwFsDH41FAs
nbl0nqKjfZlxcnympELfQZK+d0a5THdjDohIo163JFFuXtCTq3yxBxXXKoVGKEeR
XuMN+z0j9xff2SIQDgYz4Z8jL4oKUAZk8x4OS9YBB8sT906YHWGG4zgns8bPraty
kw2lkNNgf9VYyBPVl7A2TphMME5gFd4AaN3lRhQvGVvuKN+ybiK3x+nqWrmCHI0+
V2jQiLXSsNSIZ9ejPnh1mLi0Tg0Dg/Qdt+Z6oA4xAGMRbCnI29cvee5n/IRveVAZ
Kqz8zFWHHqt2saW4yZtbxrIqZx6XqNA9CW5My9JZ6RZLXcjCGbiYtUWOBYGA
-----END CERTIFICATE-----

View File

@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAzZ56B01PoXgz84364TQ+tnSi1tjhph66kugwoJsTnFZNvTdT
JwdMaH28TTcn9kQTjwLcnRGW0JL90quuVmvxM9QoskJUVxh1W6Rgd9DXr3Z+UxoU
4DMwEq9J5kyMwzXNX/pXABBiv+8RbFS+92U9BCtUMa0umqnI92R7N50ji0J/ze6B
JJ0Q00/51NN7uOwO4UecNf3qu+75yEecFBYciMIPq6qXw31S9IG+NruLT9uvvbq+
IRn3Utxc11jbi8wU0TNIvNwfX0mpDSj4MaKu7r8Fh9GzpLACJh8SDCTkVjq+Jwrj
UvcQVa8FdwFAqWTKEWe34LhhgWzvMMKl89303wIDAQABAoIBAQCVRG6hzmX4eiJ8
tJ1jz2GXYqS0A04MIlKfQx/J98oMvDpDGl6q/olhcaW5CEliZZktQI6XF6W8VHke
7rLo2gOH9IR2o+BGOeM4W+QMFvf80LBz84MkHwTPC6FCJmApdm1ZN4rg6QRHAW5M
jljzj/Lzi+DbDzW94XOa5L7uaIzdEmMK6jI9LT5nurMN6/d/Fm7rWvwreXC+5Eaw
CGsfikxYDdAzTgQeB7SGX2s59ME7Rvy1NngeDxHdonbDEQITBfDS2M+6C0Dk/zug
3XnEGYiS8MuWrTquP6e84ZK6aaE28I9pa3pSQlBWq3IIzgNls2UNZAs0bs5plNLc
bMbExUSBAoGBAPocnn8jEklLbDuyTNJhnNQ1NeJEYC2K0QZtanfCLOCRsI6si3SZ
VgOEzRtvsPueSX7T8MeaYuCOd4PaFueISJNS9Ns32y7Gf/ZVfLlZYIndymdGVehZ
jHQ5qtvAcnSSm+tWQtpdn7dhZXbyaCLlUElQ5RK0G6sA/fAbGc8xgG/nAoGBANJ1
tRjpDRsv8FcpzmQ7/F/l6f8g5QCD9I1wkHVVoIHRTfvCpnrfXEmMnKZt2SBUwr+B
TAWnhXTMorm1HLukxHFjrNRM2r3M1Lb6hMzkHx9cJrCNtxr/aCOSx7mnRwPXq7QR
xEUQZIyE55QBTgUUf4u5h+TLh9HgoELgdJsWgBRJAoGAAeeD4W3v7rTvTwkNgrCR
lCAPl/hzTwV2j/j3TZAh7VfOo1d2/F1KhV5WfXX9P/01jAyrEaoARLtw94UKlZq5
Cr4f9SdYuON0B/kgqPygOoyAxQaJEurTofLqdR/i/zY6j7EpcyYxWCEat6wi1Nkw
Ik7GX70VVNj+Ffzu1mAHHVMCgYEAqT4a2eNftMNCRPXLkXNjqkKbf50WSunSWYNx
x8mJ/5svWQvZEOpZrpOyzWt8tbEzwwjY95sViS2eljR83LDNgFmlfDwpk4QKcvLW
pGW2WWOjgUsVOlK1jhXVIwjP5NkkrPO0n81k7lNaXv0FnrQzNUuHaof5ut8mQWF6
o9TePnECgYEAhry/7OX18z2fddwF94je5EgoYHmm7/1wLx54PHCTLBP2ephrBu90
N30MAG1gTl2n5ArO7hEiiUw4c0CM/UOCKzNZ4kVtmmCMadr+Nb2OfbFYCuCt2Dld
rnvClFaEChwE2D7UpriTas0W5FT4Rk8hRoeO1AZXbM8673N7iNxasVA=
-----END RSA PRIVATE KEY-----

Submodule .config/tmux/plugins/catppuccin-tmux deleted from e30336b799

Submodule .config/tmux/plugins/tmux-continuum deleted from 0698e8f4b1

Submodule .config/tmux/plugins/tmux-floax deleted from 61c7f466b9

Submodule .config/tmux/plugins/tmux-fzf deleted from e91c1ae553

Submodule .config/tmux/plugins/tmux-fzf-url deleted from 16381dce1c

Submodule .config/tmux/plugins/tmux-resurrect deleted from cff343cf9e

Submodule .config/tmux/plugins/tmux-sensible deleted from 25cb91f42d

Submodule .config/tmux/plugins/tmux-sessionx deleted from 42c18389e7

Submodule .config/tmux/plugins/tmux-thumbs deleted from ae91d5f7c0

Submodule .config/tmux/plugins/tmux-yank deleted from acfd36e4fc

Submodule .config/tmux/plugins/tpm deleted from 99469c4a9b

View File

@ -1,132 +0,0 @@
#!/bin/bash
ALERT_IF_IN_NEXT_MINUTES=10
ALERT_POPUP_BEFORE_SECONDS=10
NERD_FONT_FREE="󱁕 "
NERD_FONT_MEETING="󰤙"
get_attendees() {
attendees=$(
icalBuddy \
--includeEventProps "attendees" \
--propertyOrder "datetime,title" \
--noCalendarNames \
--dateFormat "%A" \
--includeOnlyEventsFromNowOn \
--limitItems 1 \
--excludeAllDayEvents \
--separateByDate \
--excludeEndDates \
--bullet "" \
--excludeCals "training,anderer" \
eventsToday
)
}
parse_attendees() {
attendees_array=()
for line in $attendees; do
attendees_array+=("$line")
done
number_of_attendees=$((${#attendees_array[@]} - 3))
}
get_next_meeting() {
next_meeting=$(icalBuddy \
--includeEventProps "title,datetime" \
--propertyOrder "datetime,title" \
--noCalendarNames \
--dateFormat "%A" \
--includeOnlyEventsFromNowOn \
--limitItems 1 \
--excludeAllDayEvents \
--separateByDate \
--bullet "" \
--excludeCals "training,omerxx@gmail.com" \
eventsToday)
}
get_next_next_meeting() {
end_timestamp=$(date +"%Y-%m-%d ${end_time}:01 %z")
tonight=$(date +"%Y-%m-%d 23:59:00 %z")
next_next_meeting=$(
icalBuddy \
--includeEventProps "title,datetime" \
--propertyOrder "datetime,title" \
--noCalendarNames \
--dateFormat "%A" \
--limitItems 1 \
--excludeAllDayEvents \
--separateByDate \
--bullet "" \
--excludeCals "training,omerxx@gmail.com" \
eventsFrom:"${end_timestamp}" to:"${tonight}"
)
}
parse_result() {
array=()
for line in $1; do
array+=("$line")
done
time="${array[2]}"
end_time="${array[4]}"
title="${array[*]:5:30}"
}
calculate_times() {
epoc_meeting=$(date -j -f "%T" "$time:00" +%s)
epoc_now=$(date +%s)
epoc_diff=$((epoc_meeting - epoc_now))
minutes_till_meeting=$((epoc_diff / 60))
}
display_popup() {
tmux display-popup \
-S "fg=#eba0ac" \
-w50% \
-h50% \
-d '#{pane_current_path}' \
-T meeting \
icalBuddy \
--propertyOrder "datetime,title" \
--noCalendarNames \
--formatOutput \
--includeEventProps "title,datetime,notes,url,attendees" \
--includeOnlyEventsFromNowOn \
--limitItems 1 \
--excludeAllDayEvents \
--excludeCals "training" \
eventsToday
}
print_tmux_status() {
if [[ $minutes_till_meeting -lt $ALERT_IF_IN_NEXT_MINUTES &&
$minutes_till_meeting -gt -60 ]]; then
echo "$NERD_FONT_MEETING \
$time $title ($minutes_till_meeting minutes)"
else
echo "$NERD_FONT_FREE"
fi
if [[ $epoc_diff -gt $ALERT_POPUP_BEFORE_SECONDS && epoc_diff -lt $ALERT_POPUP_BEFORE_SECONDS+10 ]]; then
display_popup
fi
}
main() {
get_attendees
parse_attendees
get_next_meeting
parse_result "$next_meeting"
calculate_times
if [[ "$next_meeting" != "" && $number_of_attendees -lt 2 ]]; then
get_next_next_meeting
parse_result "$next_next_meeting"
calculate_times
fi
print_tmux_status
# echo "$minutes_till_meeting | $number_of_attendees"
}
main