Compare commits

..

3 commits

Author SHA1 Message Date
63a18416df add rumdl as markdown linter/formatter 2026-01-30 15:25:15 -03:00
b3df5795f2 add ssh-tunnel service and functions 2026-01-29 12:26:43 -03:00
6944ab1e25 minor updates 2026-01-29 12:25:32 -03:00
17 changed files with 534 additions and 308 deletions

View file

@ -25,6 +25,7 @@
[niri] [niri]
depends = [ "wm", "terminals" ] depends = [ "wm", "terminals" ]
[niri.files] [niri.files]
"configs/hypr/base/hypridle.conf" = "~/.config/hypr/hypridle.conf"
"configs/niri/base" = "~/.config/niri" "configs/niri/base" = "~/.config/niri"
"configs/noctalia" = "~/.config/noctalia" "configs/noctalia" = "~/.config/noctalia"
"configs/systemd/user/niri.service.wants" = "~/.config/systemd/user/niri.service.wants" "configs/systemd/user/niri.service.wants" = "~/.config/systemd/user/niri.service.wants"
@ -59,10 +60,12 @@
depends = [ "cli-utils", "terminals" ] depends = [ "cli-utils", "terminals" ]
[dev.files] [dev.files]
"configs/containers" = "~/.config/containers"
"configs/git" = "~/.config/git" "configs/git" = "~/.config/git"
"configs/lazygit" = "~/.config/lazygit" "configs/lazygit" = "~/.config/lazygit"
"configs/mise" = "~/.config/mise" "configs/mise" = "~/.config/mise"
"configs/nvim" = "~/.config/nvim" "configs/nvim" = "~/.config/nvim"
"configs/rumdl" = "~/.config/rumdl"
"configs/zed" = "~/.config/zed" "configs/zed" = "~/.config/zed"
[nvim-min.files] [nvim-min.files]

View file

@ -1,4 +1,3 @@
[Pod] [Pod]
PodName=databases PodName=databases
PublishPort=9090:3000
PublishPort=5432:5432 PublishPort=5432:5432

View file

@ -1,14 +1,11 @@
[Container] [Container]
Image=docker.io/dbgate/dbgate Image=docker.io/adminneoorg/adminneo
AutoUpdate=registry AutoUpdate=registry
Pod=dev-databases.pod Network=host
Environment=CONNECTIONS=POSTGRES Environment=NEO_THEME=default
Environment=LABEL_POSTGRES="Localhost Postgres" Environment=NEO_COLOR_VARIANT=green
Environment=ENGINE_POSTGRES=postgres@dbgate-plugin-postgres Environment=NEO_JSON_VALUES_DETECTION=true
Environment=SERVER_POSTGRES=localhost Environment=NEO_JSON_VALUES_AUTO_FORMAT=true
Environment=PORT_POSTGRES=5432 Environment=NEO_NAVIGATION_MODE=dual
Environment=USER_POSTGRES=postgres Environment=NEO_PREFER_SELECTION=true
Environment=PASSWORD_POSTGRES=1234 Environment=NEO_RELATION_LINKS=true
[Service]
ExecStartPost=/usr/bin/xdg-open http://localhost:9090

View file

@ -1,5 +1,5 @@
function envsource function envsource
for line in (cat $argv | grep -v '^#') for line in (cat $argv[1] | grep -v -e '^\([[:space:]]\|#.*\)*$')
set item (string split -m 1 '=' $line) set item (string split -m 1 '=' $line)
set -gx $item[1] $item[2] set -gx $item[1] $item[2]
echo "Exported key $item[1]" echo "Exported key $item[1]"

View file

@ -0,0 +1,28 @@
function ssh-tunnel
set -l label "Select SSH tunnel to activate:"
set -l tunnel (fd . ~/.ssh/tunnels.d/ | fzf -d / --with-nth=6 --accept-nth=6 --nth=6 --preview='bat {}' --input-label=foo --input-label-pos=bottom | cut -d "." -f 1)
if test -z $tunnel
return
end
envsource "$HOME/.ssh/tunnels.d/$tunnel.conf"
echo "Activating connection $tunnel..."
if not systemctl --user is-active "database-ssh-tunnel@$tunnel.service" -q
systemctl --user start "database-ssh-tunnel@$tunnel.service"
end
if test (string lower $DB_START_EXPLORER) = "true"
echo "Opening Databse in browser, password will be copied to the clipboard..."
if not systemctl --user is-active "dev-dbui.service" -q
systemctl --user start "dev-dbui.service"
end
wl-copy "$DB_PASSWORD"
xdg-open "http://localhost:8080?$DB_DRIVER=$TUNNEL_LOCAL_ADDRESS:$TUNNEL_LOCAL_PORT&username=$DB_USER&db=$DB_NAME&ns=public"
end
end

View file

@ -2,3 +2,9 @@ set working-directory := "{{ dotter.current_dir }}"
deploy: deploy:
dotter deploy dotter deploy
enable_tailscale:
sudo tailscale set --operator=$USER
tailscale configure systray --enable-startup=systemd
systemctl --user daemon-reload
systemctl --user enable --now tailscale-systray

View file

@ -1,3 +1,3 @@
#auth sufficient pam_fprintd.so max-tries=1 auth sufficient pam_fprintd.so timeout=-1
# only uncomment this if you have a fingerprint reader auth sufficient /run/current-system/sw/lib/security/pam_fprintd.so timeout=-1 # for NixOS
auth required pam_unix.so auth required pam_unix.so

View file

@ -6,7 +6,8 @@
"customLaunchPrefixEnabled": false, "customLaunchPrefixEnabled": false,
"enableClipPreview": true, "enableClipPreview": true,
"enableClipboardHistory": true, "enableClipboardHistory": true,
"iconMode": "tabler", "enableSettingsSearch": true,
"iconMode": "native",
"ignoreMouseInput": false, "ignoreMouseInput": false,
"pinnedApps": [ "pinnedApps": [
], ],
@ -25,6 +26,7 @@
], ],
"preferredPlayer": "", "preferredPlayer": "",
"visualizerType": "mirrored", "visualizerType": "mirrored",
"volumeFeedback": false,
"volumeOverdrive": false, "volumeOverdrive": false,
"volumeStep": 5 "volumeStep": 5
}, },
@ -34,12 +36,15 @@
"density": "default", "density": "default",
"exclusive": true, "exclusive": true,
"floating": true, "floating": true,
"hideOnOverview": false,
"marginHorizontal": 3, "marginHorizontal": 3,
"marginVertical": 5, "marginVertical": 5,
"monitors": [ "monitors": [
], ],
"outerCorners": true, "outerCorners": true,
"position": "top", "position": "top",
"screenOverrides": [
],
"showCapsule": true, "showCapsule": true,
"showOutline": false, "showOutline": false,
"useSeparateOpacity": true, "useSeparateOpacity": true,
@ -107,6 +112,7 @@
"hidePassive": false, "hidePassive": false,
"id": "Tray", "id": "Tray",
"pinned": [ "pinned": [
"systray_17288"
] ]
}, },
{ {
@ -114,9 +120,14 @@
}, },
{ {
"hideWhenZero": false, "hideWhenZero": false,
"hideWhenZeroUnread": false,
"id": "NotificationHistory", "id": "NotificationHistory",
"showUnreadBadge": true "showUnreadBadge": true
}, },
{
"displayMode": "onhover",
"id": "Network"
},
{ {
"displayMode": "onhover", "displayMode": "onhover",
"id": "Volume", "id": "Volume",
@ -125,6 +136,7 @@
{ {
"deviceNativePath": "", "deviceNativePath": "",
"displayMode": "alwaysShow", "displayMode": "alwaysShow",
"hideIfIdle": false,
"hideIfNotDetected": true, "hideIfNotDetected": true,
"id": "Battery", "id": "Battery",
"showNoctaliaPerformance": true, "showNoctaliaPerformance": true,
@ -161,18 +173,15 @@
{ {
"enabled": true, "enabled": true,
"id": "weather-card" "id": "weather-card"
},
{
"enabled": false,
"id": "timer-card"
} }
] ]
}, },
"colorSchemes": { "colorSchemes": {
"darkMode": true, "darkMode": true,
"generationMethod": "tonal-spot",
"manualSunrise": "06:30", "manualSunrise": "06:30",
"manualSunset": "18:30", "manualSunset": "18:30",
"matugenSchemeType": "scheme-fruit-salad", "monitorForColors": "",
"predefinedScheme": "Catppuccin Macchiato Teal", "predefinedScheme": "Catppuccin Macchiato Teal",
"schedulingMode": "off", "schedulingMode": "off",
"useWallpaperColors": false "useWallpaperColors": false
@ -268,11 +277,13 @@
"boxRadiusRatio": 1, "boxRadiusRatio": 1,
"compactLockScreen": false, "compactLockScreen": false,
"dimmerOpacity": 0.25, "dimmerOpacity": 0.25,
"enableLockScreenCountdown": true,
"enableShadows": true, "enableShadows": true,
"forceBlackScreenCorners": false, "forceBlackScreenCorners": false,
"iRadiusRatio": 1, "iRadiusRatio": 1,
"language": "", "language": "",
"lockOnSuspend": true, "lockOnSuspend": true,
"lockScreenCountdownDuration": 5000,
"radiusRatio": 1, "radiusRatio": 1,
"scaleRatio": 1, "scaleRatio": 1,
"screenRadiusRatio": 1, "screenRadiusRatio": 1,
@ -282,7 +293,8 @@
"showChangelogOnStartup": true, "showChangelogOnStartup": true,
"showHibernateOnLockScreen": false, "showHibernateOnLockScreen": false,
"showScreenCorners": false, "showScreenCorners": false,
"showSessionButtonsOnLockScreen": true "showSessionButtonsOnLockScreen": true,
"telemetryEnabled": false
}, },
"hooks": { "hooks": {
"darkModeChange": "", "darkModeChange": "",
@ -291,6 +303,8 @@
"performanceModeEnabled": "", "performanceModeEnabled": "",
"screenLock": "", "screenLock": "",
"screenUnlock": "", "screenUnlock": "",
"session": "",
"startup": "",
"wallpaperChange": "" "wallpaperChange": ""
}, },
"location": { "location": {
@ -312,7 +326,7 @@
"bluetoothHideUnnamedDevices": false, "bluetoothHideUnnamedDevices": false,
"bluetoothRssiPollIntervalMs": 10000, "bluetoothRssiPollIntervalMs": 10000,
"bluetoothRssiPollingEnabled": false, "bluetoothRssiPollingEnabled": false,
"wifiDetailsViewMode": "grid", "wifiDetailsViewMode": "list",
"wifiEnabled": true "wifiEnabled": true
}, },
"nightLight": { "nightLight": {
@ -328,6 +342,7 @@
"backgroundOpacity": 1, "backgroundOpacity": 1,
"criticalUrgencyDuration": 15, "criticalUrgencyDuration": 15,
"enableKeyboardLayoutToast": true, "enableKeyboardLayoutToast": true,
"enableMediaToast": false,
"enabled": true, "enabled": true,
"location": "top", "location": "top",
"lowUrgencyDuration": 3, "lowUrgencyDuration": 3,
@ -413,7 +428,7 @@
"showHeader": true, "showHeader": true,
"showNumberLabels": true "showNumberLabels": true
}, },
"settingsVersion": 39, "settingsVersion": 44,
"systemMonitor": { "systemMonitor": {
"cpuCriticalThreshold": 90, "cpuCriticalThreshold": 90,
"cpuPollingInterval": 3000, "cpuPollingInterval": 3000,
@ -432,6 +447,8 @@
"memPollingInterval": 3000, "memPollingInterval": 3000,
"memWarningThreshold": 80, "memWarningThreshold": 80,
"networkPollingInterval": 3000, "networkPollingInterval": 3000,
"swapCriticalThreshold": 90,
"swapWarningThreshold": 80,
"tempCriticalThreshold": 90, "tempCriticalThreshold": 90,
"tempPollingInterval": 3000, "tempPollingInterval": 3000,
"tempWarningThreshold": 80, "tempWarningThreshold": 80,
@ -439,32 +456,9 @@
"warningColor": "" "warningColor": ""
}, },
"templates": { "templates": {
"alacritty": false, "activeTemplates": [
"cava": false, ],
"code": false, "enableUserTheming": false
"discord": false,
"emacs": false,
"enableUserTemplates": false,
"foot": false,
"fuzzel": false,
"ghostty": false,
"gtk": false,
"helix": false,
"hyprland": false,
"kcolorscheme": false,
"kitty": false,
"mango": false,
"niri": false,
"pywalfox": false,
"qt": false,
"spicetify": false,
"telegram": false,
"vicinae": false,
"walker": false,
"wezterm": false,
"yazi": false,
"zed": false,
"zenBrowser": false
}, },
"ui": { "ui": {
"bluetoothDetailsViewMode": "grid", "bluetoothDetailsViewMode": "grid",
@ -482,6 +476,7 @@
"wifiDetailsViewMode": "grid" "wifiDetailsViewMode": "grid"
}, },
"wallpaper": { "wallpaper": {
"automationEnabled": true,
"directory": "/home/aleidk/Pictures/Wallpapers", "directory": "/home/aleidk/Pictures/Wallpapers",
"enableMultiMonitorDirectories": false, "enableMultiMonitorDirectories": false,
"enabled": true, "enabled": true,
@ -492,16 +487,16 @@
], ],
"overviewEnabled": true, "overviewEnabled": true,
"panelPosition": "center", "panelPosition": "center",
"randomEnabled": true,
"randomIntervalSec": 900, "randomIntervalSec": 900,
"recursiveSearch": true,
"setWallpaperOnAllMonitors": true, "setWallpaperOnAllMonitors": true,
"showHiddenFiles": false,
"solidColor": "#1a1a2e", "solidColor": "#1a1a2e",
"transitionDuration": 1500, "transitionDuration": 1500,
"transitionEdgeSmoothness": 0.05, "transitionEdgeSmoothness": 0.05,
"transitionType": "random", "transitionType": "random",
"useSolidColor": false, "useSolidColor": false,
"useWallhaven": false, "useWallhaven": false,
"viewMode": "recursive",
"wallhavenApiKey": "", "wallhavenApiKey": "",
"wallhavenCategories": "111", "wallhavenCategories": "111",
"wallhavenOrder": "desc", "wallhavenOrder": "desc",

View file

@ -3,7 +3,7 @@
"blink.compat": { "branch": "main", "commit": "08943fdf2eb00432d6205db6d0239434135416bd" }, "blink.compat": { "branch": "main", "commit": "08943fdf2eb00432d6205db6d0239434135416bd" },
"catppuccin": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" }, "catppuccin": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" },
"comment-box.nvim": { "branch": "main", "commit": "06bb771690bc9df0763d14769b779062d8f12bc5" }, "comment-box.nvim": { "branch": "main", "commit": "06bb771690bc9df0763d14769b779062d8f12bc5" },
"conform.nvim": { "branch": "master", "commit": "a203480a350b03092e473bf3001733d547160a73" }, "conform.nvim": { "branch": "master", "commit": "c2526f1cde528a66e086ab1668e996d162c75f4f" },
"flatten.nvim": { "branch": "main", "commit": "72527798e75b5e34757491947c2cb853ce21dc0e" }, "flatten.nvim": { "branch": "main", "commit": "72527798e75b5e34757491947c2cb853ce21dc0e" },
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" }, "friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
"fzf-lua": { "branch": "main", "commit": "758173f499d15410ecb50c5519a41b27c33e645d" }, "fzf-lua": { "branch": "main", "commit": "758173f499d15410ecb50c5519a41b27c33e645d" },
@ -11,7 +11,7 @@
"hardtime.nvim": { "branch": "main", "commit": "3541ad24faff78274669eceaf130502eb7f1261a" }, "hardtime.nvim": { "branch": "main", "commit": "3541ad24faff78274669eceaf130502eb7f1261a" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" }, "lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "b1d9a914b02ba5660f1e272a03314b31d4576fe2" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "c953789db7fd28eafe5eb5659846d34b5024b3cc" },
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" }, "mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
"mini.nvim": { "branch": "main", "commit": "94cae4660a8b2d95dbbd56e1fbc6fcfa2716d152" }, "mini.nvim": { "branch": "main", "commit": "94cae4660a8b2d95dbbd56e1fbc6fcfa2716d152" },
"neogen": { "branch": "main", "commit": "dc50715c009f89b8111197fd2f282f6042daa7ea" }, "neogen": { "branch": "main", "commit": "dc50715c009f89b8111197fd2f282f6042daa7ea" },
@ -19,7 +19,7 @@
"nvim-dap": { "branch": "master", "commit": "5dd4d50f2e6a2eaf9e57fad023d294ef371bda35" }, "nvim-dap": { "branch": "master", "commit": "5dd4d50f2e6a2eaf9e57fad023d294ef371bda35" },
"nvim-dap-view": { "branch": "main", "commit": "390dae6bf67f3342ebb481159932ef0fe54822ba" }, "nvim-dap-view": { "branch": "main", "commit": "390dae6bf67f3342ebb481159932ef0fe54822ba" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
"nvim-lint": { "branch": "master", "commit": "6b46370d02cd001509a765591a3ffc481b538794" }, "nvim-lint": { "branch": "master", "commit": "b3292aac30b935d4cccf0904053d1c7930df8a20" },
"nvim-lspconfig": { "branch": "master", "commit": "c8503e63c6afab3ed34b49865a4a4edbb1ebf4a8" }, "nvim-lspconfig": { "branch": "master", "commit": "c8503e63c6afab3ed34b49865a4a4edbb1ebf4a8" },
"nvim-treesitter": { "branch": "main", "commit": "802195d8f1980db25a7a39a55f9a25df21756c73" }, "nvim-treesitter": { "branch": "main", "commit": "802195d8f1980db25a7a39a55f9a25df21756c73" },
"nvim-treesitter-context": { "branch": "master", "commit": "66a9b5fa9e806918b5fe3dba00c6cce7e230abd2" }, "nvim-treesitter-context": { "branch": "master", "commit": "66a9b5fa9e806918b5fe3dba00c6cce7e230abd2" },

View file

@ -161,12 +161,18 @@ vim.lsp.config("rust-analyzer", {
}, },
}, },
}) })
vim.lsp.config("rumdl", {
cmd = { "rumdl", "server" },
filetypes = { "markdown" },
root_markers = { ".git" },
})
vim.g.markdown_fenced_languages = { vim.g.markdown_fenced_languages = {
"ts=typescript", "ts=typescript",
} }
vim.lsp.enable("denols") vim.lsp.enable("denols")
vim.lsp.enable("phpactor")
vim.lsp.inlay_hint.enable(true) vim.lsp.inlay_hint.enable(true)

View file

@ -23,7 +23,7 @@ return {
json = { "biome" }, json = { "biome" },
jsonc = { "biome" }, jsonc = { "biome" },
lua = { "stylua" }, lua = { "stylua" },
markdown = { "markdownlint" }, markdown = { "rumdl" },
php = { "pint" }, php = { "pint" },
python = { "ruff_format", "ruff_organize_imports" }, python = { "ruff_format", "ruff_organize_imports" },
rust = { "rustfmt" }, rust = { "rustfmt" },

View file

@ -14,7 +14,7 @@ return {
sh = { "shellcheck" }, sh = { "shellcheck" },
NeogitCommitMessage = { "gitlint" }, NeogitCommitMessage = { "gitlint" },
gitcommit = { "gitlint" }, gitcommit = { "gitlint" },
markdown = { "markdownlint" }, -- markdown = { "rumdl" }, runned as LSP
javascript = { "biomejs" }, javascript = { "biomejs" },
typescript = { "biomejs" }, typescript = { "biomejs" },
javascriptreact = { "biomejs" }, javascriptreact = { "biomejs" },

View file

@ -1,11 +1,11 @@
return { return {
'echasnovski/mini.nvim', "echasnovski/mini.nvim",
version = '*', version = "*",
dependencies = { dependencies = {
"rafamadriz/friendly-snippets", "rafamadriz/friendly-snippets",
}, },
config = function() config = function()
require('mini.icons').setup() require("mini.icons").setup()
vim.fn.sign_define("DapBreakpoint", { text = "", texthl = "DapBreakpoint" }) vim.fn.sign_define("DapBreakpoint", { text = "", texthl = "DapBreakpoint" })
vim.fn.sign_define("DapBreakpointCondition", { text = "", texthl = "DapBreakpointCondition" }) vim.fn.sign_define("DapBreakpointCondition", { text = "", texthl = "DapBreakpointCondition" })
@ -13,54 +13,60 @@ return {
vim.fn.sign_define("DapLogPoint", { text = ".>", texthl = "DapLogPoint" }) vim.fn.sign_define("DapLogPoint", { text = ".>", texthl = "DapLogPoint" })
vim.fn.sign_define("DapStopped", { text = "󰁕 ", texthl = "DapStopped", numhl = "debugPC" }) vim.fn.sign_define("DapStopped", { text = "󰁕 ", texthl = "DapStopped", numhl = "debugPC" })
require("mini.bracketed").setup({
require('mini.bracketed').setup({
diagnostic = { options = { severity = vim.diagnostic.severity.ERROR } }, diagnostic = { options = { severity = vim.diagnostic.severity.ERROR } },
}) })
require("mini.ai").setup({}) require("mini.ai").setup({})
require('mini.cursorword').setup() -- Highlight word under cursor require("mini.cursorword").setup() -- Highlight word under cursor
require('mini.extra').setup() require("mini.extra").setup()
require('mini.jump').setup({ require("mini.jump").setup({
mappings = { mappings = {
repeat_jump = "" repeat_jump = "",
} },
}) -- Extend f, F, t, T }) -- Extend f, F, t, T
require('mini.jump2d').setup( require("mini.jump2d").setup({
{ spotter = require("mini.jump2d").gen_pattern_spotter("[^%s%p]+", "start"),
spotter = require('mini.jump2d').gen_pattern_spotter('[^%s%p]+', 'start'),
view = { view = {
dim = true, dim = true,
n_steps_ahead = 2 n_steps_ahead = 2,
}, },
allowed_lines = { allowed_lines = {
blank = false, blank = false,
cursor_at = false cursor_at = false,
}, },
} })
) require("mini.surround").setup()
require('mini.surround').setup() require("mini.operators").setup()
require('mini.operators').setup() require("mini.pairs").setup({
require('mini.pairs').setup({ modes = { command = true },
modes = { command = true }
}) })
require('mini.splitjoin').setup() require("mini.splitjoin").setup()
require("mini.align").setup({}) require("mini.align").setup({})
-- require('mini.animate').setup() -- require('mini.animate').setup()
require('mini.notify').setup() require("mini.notify").setup()
vim.notify = require('mini.notify').make_notify() vim.notify = require("mini.notify").make_notify()
vim.keymap.set('n', '<Leader>un', require('mini.notify').show_history, { desc = 'Show notifications', silent = true }) vim.keymap.set(
require('mini.statusline').setup() "n",
require('mini.diff').setup({ view = { style = 'sign' } }) "<Leader>un",
require("mini.notify").show_history,
{ desc = "Show notifications", silent = true }
)
require("mini.statusline").setup()
require("mini.diff").setup({ view = { style = "sign" } })
require('mini.git').setup({}) require("mini.git").setup({})
vim.keymap.set({ 'n', 'x' }, '<Leader>gs', '<Cmd>lua MiniGit.show_at_cursor()<CR>', vim.keymap.set(
{ desc = 'Show at cursor', silent = true }) { "n", "x" },
"<Leader>gs",
"<Cmd>lua MiniGit.show_at_cursor()<CR>",
{ desc = "Show at cursor", silent = true }
)
local starter = require('mini.starter') local starter = require("mini.starter")
starter.setup({ starter.setup({
footer = '', footer = "",
evaluate_single = true, evaluate_single = true,
items = { items = {
starter.sections.recent_files(10, true), starter.sections.recent_files(10, true),
@ -70,33 +76,33 @@ return {
}, },
content_hooks = { content_hooks = {
starter.gen_hook.adding_bullet(), starter.gen_hook.adding_bullet(),
starter.gen_hook.indexing('all', { 'Builtin actions' }), starter.gen_hook.indexing("all", { "Builtin actions" }),
starter.gen_hook.aligning("center", "center"), starter.gen_hook.aligning("center", "center"),
}, },
}) })
require('mini.indentscope').setup({ require("mini.indentscope").setup({
draw = { draw = {
animation = require('mini.indentscope').gen_animation.none(), animation = require("mini.indentscope").gen_animation.none(),
}, },
}) })
require('mini.move').setup({ require("mini.move").setup({
mappings = { mappings = {
-- Move visual selection in Visual mode -- Move visual selection in Visual mode
left = 'H', left = "H",
right = 'L', right = "L",
down = 'J', down = "J",
up = 'K', up = "K",
-- Move current line in Normal mode -- Move current line in Normal mode
line_left = '', line_left = "",
line_right = '', line_right = "",
line_down = '', line_down = "",
line_up = '', line_up = "",
}, },
}) })
require('mini.comment').setup({ require("mini.comment").setup({
options = { options = {
-- Whether to ignore blank lines when commenting -- Whether to ignore blank lines when commenting
ignore_blank_line = true, ignore_blank_line = true,
@ -105,11 +111,11 @@ return {
}, },
}) })
local gen_loader = require('mini.snippets').gen_loader local gen_loader = require("mini.snippets").gen_loader
require('mini.snippets').setup({ require("mini.snippets").setup({
snippets = { snippets = {
-- Load custom file with global snippets first (adjust for Windows) -- Load custom file with global snippets first (adjust for Windows)
gen_loader.from_file('~/.config/nvim-unstable/snippets/global.json'), gen_loader.from_file("~/.config/nvim-unstable/snippets/global.json"),
-- Load snippets based on current language by reading files from -- Load snippets based on current language by reading files from
-- "snippets/" subdirectories from 'runtimepath' directories. -- "snippets/" subdirectories from 'runtimepath' directories.
@ -176,14 +182,10 @@ return {
{ mode = "n", keys = "<Leader>f", desc = "+Find" }, { mode = "n", keys = "<Leader>f", desc = "+Find" },
{ mode = "n", keys = "<Leader>g", desc = "+Git" }, { mode = "n", keys = "<Leader>g", desc = "+Git" },
{ mode = "n", keys = "<Leader>l", desc = "+LSP" }, { mode = "n", keys = "<Leader>l", desc = "+LSP" },
{ mode = "n", keys = "<Leader>r", desc = "+Replace" },
{ mode = "n", keys = "<Leader>u", desc = "+UI & Config" }, { mode = "n", keys = "<Leader>u", desc = "+UI & Config" },
{ mode = "n", keys = "<Leader>w", desc = "+Workspace" },
{ mode = "n", keys = "<Leader>p", desc = "+Run stuff" }, { mode = "n", keys = "<Leader>p", desc = "+Run stuff" },
{ mode = "n", keys = "<Leader>z", desc = "+ZK" }, { mode = "n", keys = "<Leader>z", desc = "+ZK" },
{ mode = "v", keys = "<Leader>z", desc = "+ZK" }, { mode = "v", keys = "<Leader>z", desc = "+ZK" },
{ mode = "v", keys = "<Leader>a", desc = "+AI" },
{ mode = "n", keys = "<Leader>a", desc = "+AI" },
{ mode = "n", keys = "g?", desc = "+Print Debug" }, { mode = "n", keys = "g?", desc = "+Print Debug" },
}, },
@ -201,48 +203,44 @@ return {
}, },
}) })
local hipatterns = require('mini.hipatterns') local hipatterns = require("mini.hipatterns")
hipatterns.setup({ hipatterns.setup({
highlighters = { highlighters = {
-- Highlight standalone 'FIXME', 'HACK', 'TODO', 'NOTE' -- Highlight standalone 'FIXME', 'HACK', 'TODO', 'NOTE'
fixme = { pattern = '%f[%w]()FIXME()%f[%W]', group = 'MiniHipatternsFixme' }, fixme = { pattern = "%f[%w]()FIXME()%f[%W]", group = "MiniHipatternsFixme" },
hack = { pattern = '%f[%w]()HACK()%f[%W]', group = 'MiniHipatternsHack' }, hack = { pattern = "%f[%w]()HACK()%f[%W]", group = "MiniHipatternsHack" },
todo = { pattern = '%f[%w]()TODO()%f[%W]', group = 'MiniHipatternsTodo' }, todo = { pattern = "%f[%w]()TODO()%f[%W]", group = "MiniHipatternsTodo" },
note = { pattern = '%f[%w]()NOTE()%f[%W]', group = 'MiniHipatternsNote' }, note = { pattern = "%f[%w]()NOTE()%f[%W]", group = "MiniHipatternsNote" },
-- Highlight hex color strings (`#rrggbb`) using that color -- Highlight hex color strings (`#rrggbb`) using that color
hex_color = hipatterns.gen_highlighter.hex_color(), hex_color = hipatterns.gen_highlighter.hex_color(),
}, },
}) })
require('mini.sessions').setup({ require("mini.sessions").setup({
autowrite = false autowrite = false,
}) })
vim.keymap.set('n', '<Leader>us', function() vim.keymap.set("n", "<Leader>us", function()
local default_name = require('mini.sessions').get_latest() or "Session.vim" local default_name = require("mini.sessions").get_latest() or "Session.vim"
vim.ui.input({ prompt = "Session name: ", default = default_name }, function(input) vim.ui.input({ prompt = "Session name: ", default = default_name }, function(input)
if input == nil then if input == nil then return end
return require("mini.sessions").write(input)
end
require('mini.sessions').write(input)
end) end)
end, end, { desc = "Save session", silent = true })
{ desc = 'Save session', silent = true }) vim.keymap.set("n", "<Leader>uS", function()
vim.keymap.set('n', '<Leader>uS', function() require('mini.sessions').read() end, require("mini.sessions").read()
{ desc = 'Load session (latest)', silent = true }) end, { desc = "Load session (latest)", silent = true })
vim.api.nvim_create_user_command("SessionSelect", function() vim.api.nvim_create_user_command("SessionSelect", function()
require('mini.sessions').select('read') require("mini.sessions").select("read")
end, {}) end, {})
vim.api.nvim_create_user_command("SessionDelete", function() vim.api.nvim_create_user_command("SessionDelete", function()
require('mini.sessions').select('delete') require("mini.sessions").select("delete")
end, {}) end, {})
vim.keymap.set("n", "<Leader>uz", function()
vim.keymap.set('n', '<Leader>uz', function() require("mini.misc").zoom()
require('mini.misc').zoom() end, { desc = "Toggle zoom", silent = true })
end, end,
{ desc = 'Toggle zoom', silent = true })
end
} }

View file

@ -42,11 +42,17 @@ return {
}) })
vim.keymap.set({ "n", "x", "o" }, "]]", function() vim.keymap.set({ "n", "x", "o" }, "]]", function()
ts_obj.move.goto_next({ "@block.outer", "@function.outer", "@class.outer" }, "textobjects") require("nvim-treesitter-textobjects.move").goto_next(
{ "@block.outer", "@function.outer", "@class.outer" },
"textobjects"
)
end) end)
vim.keymap.set({ "n", "x", "o" }, "[[", function() vim.keymap.set({ "n", "x", "o" }, "[[", function()
ts_obj.move.goto_previous({ "@block.outer", "@function.outer", "@class.outer" }, "textobjects") require("nvim-treesitter-textobjects.move").goto_previous(
{ "@block.outer", "@function.outer", "@class.outer" },
"textobjects"
)
end) end)
local ts_repeat_move = require("nvim-treesitter-textobjects.repeatable_move") local ts_repeat_move = require("nvim-treesitter-textobjects.repeatable_move")

177
configs/rumdl/rumdl.toml Normal file
View file

@ -0,0 +1,177 @@
[global]
disable = [ ]
enable = [ ]
exclude = [ ]
flavor = "gfm"
include = [ ]
respect_gitignore = true
[MD001]
front-matter-title = true
[MD003]
# Heading style should be consistent
style = "atx"
[MD004]
style = "dash"
[MD007]
start-indented = false
style = "text-aligned"
[MD009]
br-spaces = 2
list-item-empty-lines = false
strict = false
[MD010]
spaces-per-tab = 4
[MD012]
maximum = 1
[MD013]
abbreviations = [ ]
code-blocks = true
headings = true
length-mode = "visual"
line-length = 80
paragraphs = false
reflow = true
reflow-mode = "sentence-per-line"
strict = false
tables = false
[MD014]
show-output = true
[MD022]
allowed-at-start = true
lines-above = 1
lines-below = 1
[MD024]
allow-different-nesting = false
siblings-only = true
[MD025]
allow-document-sections = false
allow-with-separators = false
front-matter-title = "title"
level = 1
[MD026]
punctuation = ".,;:!"
[MD029]
style = "one-or-ordered"
[MD030]
ol-multi = 1
ol-single = 1
ul-multi = 1
ul-single = 1
[MD031]
list-items = true
[MD032]
allow-lazy-continuation = true
[MD033]
allowed-elements = [ ]
disallowed-elements = [ ]
[MD035]
style = "consistent"
[MD036]
punctuation = ".,;:!?"
[MD041]
front-matter-title = "title"
front-matter-title-pattern = ""
level = 1
[MD043]
headings = [ ]
match-case = false
[MD044]
code-blocks = false
html-comments = false
html-elements = true
names = [ ]
[MD045]
placeholder-text = "TODO: Add image description"
[MD046]
style = "fenced"
[MD048]
style = "consistent"
[MD049]
# Italic Text
style = "underscore"
[MD050]
# Bold Text
style = "asterisk"
[MD051]
anchor-style = "github"
[MD053]
ignored-definitions = [ ]
[MD054]
autolink = true
collapsed = true
full = true
inline = true
shortcut = true
url-inline = true
[MD055]
style = "consistent"
[MD058]
minimum-after = 1
minimum-before = 1
[MD059]
prohibited-texts = [ "click here", "here", "link", "more" ]
[MD060]
column-align = "auto"
enabled = true
max-width = 0
style = "aligned"
[MD061]
case-sensitive = true
terms = [ ]
[MD063]
enabled = true
ignore-words = [ ]
lowercase-words = [ "a", "an", "and", "as", "at", "but", "by", "for", "from", "in", "into", "nor", "of", "off", "on", "or", "per", "so", "the", "to", "up", "via", "with", "yet" ]
max-level = 6
min-level = 1
preserve-cased-words = true
style = "title_case"
[MD064]
allow-sentence-double-space = false
[MD072]
enabled = true
[md073]
enabled = true
enforce-order = true
max-level = 4
min-level = 2

View file

@ -0,0 +1,10 @@
[Unit]
Description=SSH Persistent port forward for %i, makes available remote port locally
After=network-online.target
Wants=network-online.target
[Service]
EnvironmentFile=%h/.ssh/tunnels.d/%i.conf
ExecStart=/usr/bin/ssh -NT -o ExitOnForwardFailure=yes -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -L ${TUNNEL_LOCAL_ADDRESS}:${TUNNEL_LOCAL_PORT}:${TUNNEL_REMOTE_ADDRESS}:${TUNNEL_REMOTE_PORT} ${TUNNEL_SSH_HOST}
RestartSec=3
Restart=always

View file

@ -0,0 +1 @@
/usr/lib/systemd/user/hypridle.service