Compare commits

...
22 Commits
Author SHA1 Message Date
Henrik Bakken 1b1de5d39e gitconfig fixes - secure credentials 2026-10-07 22:57:33 +02:00
Henrik Bakken e219f9976e sioyek alias in .zshrc 2026-10-07 22:30:35 +02:00
Henrik Bakken 1bf1ac4664 sioyek visuals 2026-10-07 22:28:47 +02:00
Henrik Bakken 73ff813c6a qutebrowser tweaks 2026-10-07 22:21:14 +02:00
Henrik Bakken 7adc711bcd div tweaks incl yazi 2026-10-07 22:07:19 +02:00
Henrik Bakken dc9b1aaf4f gtklock safer poweroff 2026-10-07 21:41:28 +02:00
Henrik Bakken 943dfe676d gtk disable sounds 2026-10-07 21:40:45 +02:00
Henrik Bakken 2148012cce tig add copy commit 2026-10-07 21:40:02 +02:00
Henrik Bakken cd40badbe0 waybar use default temperature module 2026-10-07 21:36:37 +02:00
Henrik Bakken 50f61afdf6 styling fixes - less purple 2026-10-07 21:32:33 +02:00
Henrik Bakken 0891f4ffdb delete nushell+discordo+helix configs 2026-10-07 21:15:40 +02:00
Henrik Bakken 3dc419248f atuin+btop+fuzzel tweaks 2026-10-07 21:14:22 +02:00
Henrik Bakken fbbb662cf9 delete mako config 2026-10-07 21:13:54 +02:00
Henrik Bakken af5e04a5e4 tmux fix terminal and copy 2026-10-07 21:05:23 +02:00
Henrik Bakken 84432e1f82 tmux better moving of panes 2026-10-07 21:05:05 +02:00
Henrik Bakken 3428c87856 nvim theme to gruvbox-material 2026-10-07 20:36:47 +02:00
Henrik Bakken 13382f42fa sway tweaks 2026-10-07 13:28:46 +02:00
Henrik Bakken 43edbad2f6 sway theming 2026-10-07 13:28:28 +02:00
Henrik Bakken c481cbc15f mako -> swaync 2026-10-07 13:27:36 +02:00
Henrik Bakken bcdb3ea110 nvim updates 2026-10-06 23:32:50 +02:00
Henrik Bakken b5621616d8 zsh added krew (k8s tool) to path 2026-10-06 23:32:27 +02:00
Henrik Bakken bdfc601b5f nvim updates 2026-10-06 23:32:27 +02:00
33 changed files with 480 additions and 770 deletions
+3 -11
View File
@@ -38,7 +38,7 @@ update_check = false
## which search mode to use ## which search mode to use
## possible values: prefix, fulltext, fuzzy, skim ## possible values: prefix, fulltext, fuzzy, skim
search_mode = "fulltext" search_mode = "fuzzy"
## which filter mode to use by default ## which filter mode to use by default
## possible values: "global", "host", "session", "directory", "workspace" ## possible values: "global", "host", "session", "directory", "workspace"
@@ -108,11 +108,7 @@ ctrl_n_shortcuts = true
## with ^ or end with $, they'll match anywhere in the command. ## with ^ or end with $, they'll match anywhere in the command.
## For details on the supported regular expression syntax, see ## For details on the supported regular expression syntax, see
## https://docs.rs/regex/latest/regex/#syntax ## https://docs.rs/regex/latest/regex/#syntax
history_filter = [ history_filter = [ "^exit$", "^ .*", "_secret=" ]
"^exit$",
"^ .*",
"_secret="
]
## prevent commands run with cwd matching any of these regexes from being written ## prevent commands run with cwd matching any of these regexes from being written
## to history. Note that these regular expressions are unanchored, i.e. if they don't ## to history. Note that these regular expressions are unanchored, i.e. if they don't
@@ -210,11 +206,7 @@ keymap_mode = "auto"
# common_prefix = [ "sudo" ] # common_prefix = [ "sudo" ]
## Set commands that will be completely ignored from stats ## Set commands that will be completely ignored from stats
# ignored_commands = [ # ignored_commands = [ "cd", "ls", "vi" ]
# "cd",
# "ls",
# "vi"
# ]
[keys] [keys]
# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry. # Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry.
+2 -2
View File
@@ -5,7 +5,7 @@
color_theme = "Default" color_theme = "Default"
#* If the theme set background should be shown, set to False if you want terminal background transparency. #* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = true theme_background = false
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. #* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = true truecolor = true
@@ -27,7 +27,7 @@ presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:defaul
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. #* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. #* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = false vim_keys = true
#* Disable all mouse events. #* Disable all mouse events.
disable_mouse = false disable_mouse = false
-144
View File
@@ -1,144 +0,0 @@
# Whether to enable mouse or not.
mouse = true
# The program to open when the `keys.message_input.editor` keymap is pressed. Set the value to `"default"` to use `$EDITOR`.
editor = "default"
# "default" (unknown), "online", "dnd", "idle", "invisible", "offline"
status = "default"
# Whether to parse and render markdown in messages or not.
markdown = true
hide_blocked_users = true
show_attachment_links = true
# Use autocomplete_limit = 0 to disable autocompleting mentions
# Note: tab completion will still work, but it won't show any list.
autocomplete_limit = 20
# The number of messages to fetch when a text-based channel is selected from guilds tree. The minimum and maximum value is 0 and 100, respectively.
messages_limit = 50
[timestamps]
enabled = true
# https://pkg.go.dev/time#Layout
format = "01-02 15:04:05 (Z07:00)"
[notifications]
enabled = true
# The duration of the sound. Set the value to `0` to use default duration. This is only supported on Unix and Windows.
duration = 0
[notifications.sound]
enabled = true
only_on_ping = true
# Global shortcuts
# Esc: Reset message selection or close the channel selection popup.
[keys]
focus_guilds_tree = "Ctrl+G"
focus_messages_list = "Ctrl+T"
focus_message_input = "Ctrl+Space"
# Cycle focus between the widgets.
focus_previous = "Ctrl+H"
focus_next = "Ctrl+L"
# Hide/show the guilds tree.
toggle_guilds_tree = "Ctrl+B"
quit = "Ctrl+C"
# Log out and remove the authentication token from keyring.
# Requires re-login upon restart.
logout = "Ctrl+D"
# Only while focusing on the guilds tree
[keys.guilds_tree]
select_previous = "Rune[k]"
select_next = "Rune[j]"
select_first = "Rune[g]"
select_last = "Rune[G]"
# Select the currently highlighted text-based channel or expand a guild or channel.
select_current = "Enter"
yank_id = "Rune[i]"
collapse_parent_node = "Rune[-]"
move_to_parent_node = "Rune[p]"
# Only while focusing on sent messages
[keys.messages_list]
select_previous = "Rune[k]"
select_next = "Rune[j]"
select_first = "Rune[g]"
select_last = "Rune[G]"
# Select the message reference (reply) of the selected channel.
select_reply = "Rune[s]"
# Reply to the selected message.
reply = "Rune[r]"
# Reply (with mention) to the selected message.
reply_mention = "Rune[R]"
cancel = "Esc"
edit = "Rune[e]"
delete = "Rune[D]"
delete_confirm = "Rune[d]"
# Open the selected message's attachments or hyperlinks in the message
# using the default browser application.
open = "Rune[o]"
# Yank (copy) the selected message's content/url/id.
yank_content = "Rune[y]"
yank_url = "Rune[u]"
yank_id = "Rune[i]"
# Only while typing a message
# Alt+Enter: Insert a new line to the current text.
[keys.message_input]
# paste from clipboard (supports both text and images)
paste = "Ctrl+V"
send = "Enter"
# Remove existing text or cancel reply.
cancel = "Esc"
# Complete usernames when mentioning
tab_complete = "Tab"
open_editor = "Ctrl+E"
open_file_picker = "Ctrl+\\"
[keys.mentions_list]
up = "Ctrl+P"
down = "Ctrl+N"
# style = { foreground = "", background = "", attributes = "" or [""] }
[theme.title]
alignment = "left" # `"left"`, `"center"`, or `"right"`.
normal_style = { attributes = "dim" }
active_style = { foreground = "green", attributes = "bold" }
[theme.border]
enabled = true
padding = [0, 0, 1, 1] # [top, bottom, left, right]
normal_style = { attributes = "dim" }
active_style = { foreground = "green", attributes = "bold" }
# `"hidden"`, `"plain"`, `"round"`, `"thick"`, or `"double"`.
normal_set = "round"
active_set = "round"
[theme.guilds_tree]
auto_expand_folders = true
# Give tree-like shape
graphics = true
graphics_color = "default"
[theme.messages_list]
reply_indicator = ">"
forwarded_indicator = "<"
mention_style = { foreground = "blue" }
emoji_style = { foreground = "green" }
url_style = { foreground = "blue" }
attachment_style = { foreground = "yellow" }
[theme.mentions_list]
# Note: width and height are capped to the avaliable space
# Minimum width
# 0 = make the list as wide as possible
min_width = 20
# Maximum height
# 0 = make the list as tall as needed
max_height = 0
+11 -13
View File
@@ -1,6 +1,6 @@
# output=<not set> # output=<not set>
font=JetBrainsMono-Regular:size=14 font=JetBrainsMono-Regular:size=14
dpi-aware=no dpi-aware=auto
# use-bold=no # use-bold=no
prompt="❯ " prompt="❯ "
# placeholder= # placeholder=
@@ -9,7 +9,7 @@ icon-theme=Qogir-dark
# fields=filename,name,generic # fields=filename,name,generic
# password-character=* # password-character=*
# filter-desktop=no # filter-desktop=no
# match-mode=fzf match-mode=fzf
# sort-result=yes # sort-result=yes
# match-counter=no # match-counter=no
# delayed-filter-ms=300 # delayed-filter-ms=300
@@ -43,17 +43,15 @@ exit-on-keyboard-focus-loss=no
# match-workers=<number of logical CPUs> # match-workers=<number of logical CPUs>
[colors] [colors]
background=08052bdd background=0a0a0aff
text=e3e3eaff text=ffffffff
prompt=ff7f7fff prompt=00e5ffff
# placeholder=ffd966ff input=ffffffff
input=ff7f7fff match=00e5ffff
match=FFE57Fff selection-match=00e5ffff
selection-match=FFE57Fff selection=333333ff
selection=44475add selection-text=ffffffff
selection-text=FFFFFFff border=00e5ffff
# counter=93a1a1ff
border=7f3fbf55
[border] [border]
# width=1 # width=1
+3 -3
View File
@@ -1,5 +1,5 @@
[Settings] [Settings]
gtk-theme-name=Arc-Dark gtk-theme-name=Adwaita-dark
gtk-icon-theme-name=Qogir-dark gtk-icon-theme-name=Qogir-dark
gtk-font-name=Noto Sans 10 gtk-font-name=Noto Sans 10
gtk-cursor-theme-name=Qogir-dark gtk-cursor-theme-name=Qogir-dark
@@ -8,8 +8,8 @@ gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=0 gtk-button-images=0
gtk-menu-images=0 gtk-menu-images=0
gtk-enable-event-sounds=1 gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=1 gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1 gtk-xft-antialias=1
gtk-xft-hinting=1 gtk-xft-hinting=1
gtk-xft-hintstyle=hintmedium gtk-xft-hintstyle=hintmedium
+2 -2
View File
@@ -1,5 +1,5 @@
[main] [main]
gtk-theme=Arc-Dark gtk-theme-name=Adwaita-dark
time-format=%H:%M time-format=%H:%M
start-hidden=1 start-hidden=1
modules=powerbar-module modules=powerbar-module
@@ -13,7 +13,7 @@ under-clock=true
show-labels=true show-labels=true
linked-buttons=true linked-buttons=true
reboot-command=systemctl reboot reboot-command=systemctl reboot
poweroff-command=systemctl -i poweroff poweroff-command=systemctl poweroff
suspend-command=systemctl suspend suspend-command=systemctl suspend
userswitch-command= userswitch-command=
logout-command=swaymsg exit logout-command=swaymsg exit
+18 -16
View File
@@ -1,43 +1,45 @@
* { * {
border: none; border: none;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8) text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.9);
border-radius: 0px;
} }
window { window {
background-image: url("EndeavourOS_Astronaut_SpaceWalk.png"); background-image: url("EndeavourOS_Astronaut_SpaceWalk.png");
background-size: cover; background-size: cover;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
background-color: black; background-color: #0a0a0a;
} }
#clock-label { #clock-label {
font-family: JetBrainsMono; font-family: JetBrainsMono;
font-size: 64.0px; font-size: 64px;
color: #00e5ff;
} }
#unlock-button { #unlock-button {
background: none; background-color: rgba(10, 10, 10, 0.8);
background-color: rgba(127, 63, 191, 0.4); border: 2px solid #333333;
border: 2px solid rgba(127, 63, 191, 0.5);
padding: 4px; padding: 4px;
color: #ffffff;
} }
#unlock-button:hover { #unlock-button:hover {
background-color: rgba(127, 63, 191, 0.9); border-color: #00e5ff;
background-color: #000000;
} }
#input-field { #input-field {
border-radius: 10px; background-color: rgba(0, 0, 0, 0.8);
background-color: rgba(127, 127, 255, 0.1); border: 2px solid #00e5ff;
border: 2px solid rgba(127, 63, 191, 0.5);
padding-top: 5px; padding-top: 5px;
padding-bottom: 5px; padding-bottom: 5px;
color: #ffffff;
} }
#powerbar-box button { #powerbar-box button {
background: none; background-color: rgba(10, 10, 10, 0.8);
background-color: rgba(127, 63, 191, 0.4); border: 2px solid #333333;
border: 2px solid rgba(127, 63, 191, 0.5); padding: 6px;
border-radius: 10px;
padding: 4px;
} }
#powerbar-box button:hover { #powerbar-box button:hover {
background-color: rgba(127, 63, 191, 0.9); border-color: #00e5ff;
color: #00e5ff;
} }
#input-label { #input-label {
font-size: 0px; font-size: 0px;
-53
View File
@@ -1,53 +0,0 @@
theme = "catppuccin_mocha"
[editor]
bufferline = "multiple"
true-color = true
line-number = "relative"
rulers = [100]
insert-final-newline = false
cursorline = true
[editor.cursor-shape]
insert = "bar"
normal = "block"
select = "underline"
[editor.file-picker]
git-ignore = false
[editor.indent-guides]
character = "│"
render = true
[editor.lsp]
auto-signature-help = false
display-messages = true
[editor.soft-wrap]
enable = false
# wrap-at-text-width = true
wrap-indicator = "↩ "
[editor.statusline]
left = ["mode", "spinner", "version-control", "file-name", "read-only-indicator", "file-modification-indicator"]
right = ["diagnostics", "selections", "register", "position", "position-percentage", "file-encoding", "file-line-ending"]
[editor.whitespace.characters]
space = " "
nbsp = "⍽" # Non breaking space
tab = "→"
newline = "⏎"
tabpad = "·"
[editor.whitespace.render]
space = "all"
tab = "all"
newline = "none"
[keys.normal]
X = ["extend_line_up", "extend_to_line_bounds"]
[keys.select]
X = ["extend_line_up", "extend_to_line_bounds"]
-42
View File
@@ -1,42 +0,0 @@
[[language]]
name = "go"
auto-format = true
formatter = { command = "goimports" }
[[language]]
name = "markdown"
#language-servers = [ "marksman", "ltex-ls", "mpls" ]
language-servers = [ "marksman", "ltex-ls" ]
rulers = [120]
[[language]]
name = "html"
formatter = { command = 'prettier', args = ["--parser", "html"] }
[[language]]
name = "json"
formatter = { command = 'prettier', args = ["--parser", "json"] }
[[language]]
name = "css"
formatter = { command = 'prettier', args = ["--parser", "css"] }
[[language]]
name = "javascript"
formatter = { command = 'prettier', args = ["--parser", "typescript"] }
auto-format = true
# markdown previewer https://github.com/mhersson/mpls
[language-server.mpls]
command = "mpls"
# args = ["--no-auto","--port","8989","--browser","explorer.exe"]
args = ["--browser","explorer.exe"]
[[language]]
name = "hledger-rules"
scope = "source.hledger-rules"
file-types = ["toml", { glob = "*.rules"} ]
#[language-server.ltex-ls.config]
#ltex.disabledRules = { "en-US" = ["PROFANITY"], "en-GB" = ["PROFANITY"] }
#ltex.dictionary = { "en-US" = ["builtin"], "en-GB" = ["builtin"] }
-27
View File
@@ -1,27 +0,0 @@
font=UbuntuMono 12.5
background-color=#404552
text-color=#e5e9f0
width=315
height=200
padding=10
margin=10
progress-color=over #eceff480
icon-path=/usr/share/icons/Arc-X-D
max-icon-size=70
layer=overlay
anchor=bottom-center
border-size=2
border-radius=15
border-color=#5294e2
default-timeout=0
ignore-timeout=1
[urgency=normal]
border-color=#d08770
[urgency=high]
border-color=#bf616a
default-timeout=0
-182
View File
@@ -1,182 +0,0 @@
$env.SYSTEMD_EDITOR = "/usr/bin/nvim"
$env.EDITOR = "/usr/bin/nvim"
$env.VISUAL = "/usr/bin/nvim"
$env.path ++= ["~/.local/bin"]
$env.config = {
buffer_editor: "/usr/bin/nvim"
completions: {
external: {
enable: true
max_results: 100
completer: {|spans|
let carapace_completer = {|spans: list<string>|
carapace $spans.0 nushell ...$spans
| from json
| if ($in | default [] | where value =~ '^-.*ERR$' | is-empty) { $in } else { null }
}
match $spans.0 {
_ => $carapace_completer
} | do $in $spans
}
}
}
cursor_shape: {
vi_insert: line
vi_normal: block
}
edit_mode: 'vi'
history: {
file_format: sqlite
isolation: true
}
hooks: {
env_change: {
PWD: [
{
__zoxide_hook: true,
code: {|_, dir| zoxide add -- $dir}
}
]
}
}
keybindings: [
{
name: fuzzy_history_fzf
modifier: control
keycode: char_r
mode: [emacs, vi_normal, vi_insert]
event: {
send: ExecuteHostCommand
cmd: "commandline edit --insert (
history
# | where exit_status == 0
| get command
| reverse
| uniq
| str join (char -i 0)
| fzf
--preview '{}'
--preview-window 'bottom:3:wrap'
--scheme history
--read0
--layout reverse
--bind alt-up:preview-up,alt-down:preview-down
--height 70%
--query (commandline)
| decode utf-8
| str trim
)"
}
}
{
name: fuzzy_history_fzf
modifier: none
keycode: char_/
mode: [ vi_normal ]
event: { send: menu name: fuzzy_history_fzf }
}
{
name: clear_everything
modifier: control
keycode: char_b
mode: [ emacs, vi_insert, vi_normal ]
event: [
{ send: clearscreen }
{ send: clearscrollback }
]
}
{
name: move_right_or_take_history_hint
modifier: control
keycode: char_f
mode: [ emacs, vi_insert, vi_normal ]
event: {
until: [
{ send: historyhintcomplete }
{ send: menuright }
{ send: right }
]
}
}
{
name: delete_one_word_backward
modifier: alt
keycode: backspace
mode: vi_insert
event: {edit: backspaceword}
}
]
show_banner: false
}
# from: https://github.com/nushell/nushell/issues/8166
def monitor [
--duration (-d): duration = 1sec
...args
] {
let args = $args | into string
let cmd = $args | str join ' '
loop {
let last_run = (date now)
let till = $last_run + $duration
let out = nu --config $nu.config-path --env-config $nu.env-path --commands $cmd | complete
if $out.exit_code == 0 {
clear
print $"Running every ($duration) on '(hostname)': `($cmd)`"
print $out.stdout
print $"Last run: ($last_run)"
sleep ($till - (date now))
} else {
print $out.stdout $out.stderr
break
}
}
}
# Jump to a directory using only keywords.
def --env --wrapped z [...rest: string@zoxide_completer] {
let path = match $rest {
[] => {'~'},
[ '-' ] => {'-'},
[ $arg ] if ($arg | path type) == 'dir' => {$arg}
_ => {
zoxide query --exclude $env.PWD -- ...$rest | str trim -r -c "\n"
}
}
cd $path
}
# Jump to a directory using interactive search.
def --env --wrapped zi [...rest:string] {
cd $'(zoxide query --interactive -- ...$rest | str trim -r -c "\n")'
}
def zoxide_completer [context: string] {
let parts = $context | split row " " | skip 1
{
options: {
sort: false
completion_algorithm: prefix
positional: false
case_sensitive: false
}
completions: (zoxide query --list --exclude $env.PWD -- ...$parts | lines)
}
}
# yazi helper
def --env y [...args] {
let tmp = (mktemp -t "yazi-cwd.XXXXXX")
yazi ...$args --cwd-file $tmp
let cwd = (open $tmp)
if $cwd != "" and $cwd != $env.PWD {
cd $cwd
}
rm -fp $tmp
}
source ~/.oh-my-posh.nu
+72 -27
View File
@@ -1,4 +1,4 @@
vim.g.mapleader = vim.keycode("<space>") vim.g.mapleader = vim.keycode(" ")
vim.g.maplocalleader = vim.keycode("/") vim.g.maplocalleader = vim.keycode("/")
vim.opt.langmap = "ø:" vim.opt.langmap = "ø:"
@@ -108,7 +108,7 @@ vim.diagnostic.config({
float = { source = true }, float = { source = true },
}) })
vim.api.nvim_create_autocmd("BufEnter", { vim.api.nvim_create_autocmd("FileType", {
desc = "Disable auto-commenting on new line", desc = "Disable auto-commenting on new line",
pattern = "*", pattern = "*",
callback = function() vim.opt_local.formatoptions:remove({ "r", "o" }) end, callback = function() vim.opt_local.formatoptions:remove({ "r", "o" }) end,
@@ -153,8 +153,8 @@ map("i", ".", ".<c-g>u")
map("i", ";", ";<c-g>u") map("i", ";", ";<c-g>u")
-- save file -- save file
map({ "x", "n", "s" }, "<leader>ww", "<cmd>w<cr><esc>", { desc = "Save File" }) map({ "x", "n", "s" }, "<leader>ww", "<cmd>w<cr>", { desc = "Save File" })
map({ "x", "n", "s" }, "<leader>wa", "<cmd>wa<cr><esc>", { desc = "Save Files" }) map({ "x", "n", "s" }, "<leader>wa", "<cmd>wa<cr>", { desc = "Save Files" })
-- quit -- quit
map("n", "<leader>qq", "<cmd>q<cr>", { desc = "Close Window" }) map("n", "<leader>qq", "<cmd>q<cr>", { desc = "Close Window" })
@@ -532,12 +532,16 @@ local function makespec_smearcursor()
} }
end end
local function makespec_hexokinase() local function makespec_highlight_colors()
return { return {
-- coloring of colornames "brenoprata10/nvim-highlight-colors",
"rrethy/vim-hexokinase", event = "VeryLazy",
build = function(plugin) vim.system({ "make", "hexokinase" }, { cwd = plugin.dir }):wait() end, opts = {
config = function() vim.g.Hexokinase_highlighters = { "virtual" } end, render = "virtual",
virtual_symbol = "■",
enable_named_colors = true,
enable_tailwind = false,
},
} }
end end
@@ -1150,7 +1154,17 @@ local function makespecs_mini()
"echasnovski/mini.basics", "echasnovski/mini.basics",
opts = { options = { basic = true, extra_ui = true }, mappings = { move_with_alt = true } }, opts = { options = { basic = true, extra_ui = true }, mappings = { move_with_alt = true } },
}, },
{ "echasnovski/mini.icons", opts = {} }, {
"echasnovski/mini.icons",
opts = {},
init = function()
-- catch nvim-web-devicons
package.preload["nvim-web-devicons"] = function()
require("mini.icons").mock_nvim_web_devicons()
return package.loaded["nvim-web-devicons"]
end
end,
},
{ {
"echasnovski/mini.bracketed", "echasnovski/mini.bracketed",
version = false, version = false,
@@ -1355,9 +1369,10 @@ end
local function makespec_treesitter() local function makespec_treesitter()
return { return {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
branch = "main",
build = ":TSUpdate", build = ":TSUpdate",
lazy = false, lazy = false,
main = "nvim-treesitter.configs", main = "nvim-treesitter.config",
opts = { opts = {
ensure_installed = { ensure_installed = {
"bash", "bash",
@@ -1375,6 +1390,7 @@ local function makespec_treesitter()
"lua", "lua",
"markdown", "markdown",
"markdown_inline", "markdown_inline",
"query", -- for folds
"python", "python",
"regex", "regex",
"toml", "toml",
@@ -1395,6 +1411,41 @@ local function makespec_treesitter()
} }
end end
local function makespec_blink()
return {
"saghen/blink.cmp",
version = false,
event = "InsertEnter",
build = function() require("blink.cmp").build():pwait() end,
dependencies = {
"saghen/blink.lib",
},
opts = {
keymap = { preset = "default" },
completion = {
accept = { auto_brackets = { enabled = false } },
documentation = { auto_show = true },
},
fuzzy = { sorts = { "exact", "score", "sort_text" } },
sources = {
default = { "lsp", "buffer", "path" },
providers = {
lsp = {
-- Strip any completion item that tries to inject an auto-import
transform_items = function(_, items)
return vim.tbl_filter(function(item)
-- If the LSP item includes additionalTextEdits, it's mutating
-- lines outside your cursor (e.g., adding an import at the top)
return not (item.additionalTextEdits and #item.additionalTextEdits > 0)
end, items)
end,
},
},
},
},
}
end
local function makespec_treewalker() local function makespec_treewalker()
return { return {
"aaronik/treewalker.nvim", "aaronik/treewalker.nvim",
@@ -1471,8 +1522,6 @@ end
local function makespec_conform() local function makespec_conform()
return { return {
"stevearc/conform.nvim", "stevearc/conform.nvim",
-- Load conform right before you save a file, or when you trigger a keymap
event = { "BufWritePre" },
cmd = { "ConformInfo" }, cmd = { "ConformInfo" },
keys = { keys = {
{ {
@@ -1510,6 +1559,7 @@ local function makespec_conform()
}, },
default_format_opts = { default_format_opts = {
lsp_format = "fallback", lsp_format = "fallback",
timeout_ms = 1000,
}, },
formatters = { formatters = {
javascript = { require_cwd = true }, javascript = { require_cwd = true },
@@ -1613,7 +1663,6 @@ local function makespec_noice()
override = { override = {
["vim.lsp.util.convert_input_to_markdown_lines"] = true, ["vim.lsp.util.convert_input_to_markdown_lines"] = true,
["vim.lsp.util.stylize_markdown"] = true, ["vim.lsp.util.stylize_markdown"] = true,
["cmp.entry.get_documentation"] = true,
}, },
signature = { enabled = true, auto_open = { enabled = false, throttle = 50 } }, signature = { enabled = true, auto_open = { enabled = false, throttle = 50 } },
}, },
@@ -1644,13 +1693,17 @@ local lazyspecs = {
{ "ethanholz/nvim-lastplace", opts = {} }, -- keep location upon reopening { "ethanholz/nvim-lastplace", opts = {} }, -- keep location upon reopening
"tpope/vim-eunuch", -- Move, Rename etc "tpope/vim-eunuch", -- Move, Rename etc
"tpope/vim-sleuth", -- do the right thing with tabstop and softtabstop "tpope/vim-sleuth", -- do the right thing with tabstop and softtabstop
} {
for _, spec in ipairs({ "esmuellert/codediff.nvim",
cmd = "CodeDiff",
opts = { diff = { compute_moves = true } },
},
makespec_lazydev(), -- nvim lsp helpers makespec_lazydev(), -- nvim lsp helpers
makespec_snacks(), makespec_snacks(),
makespec_conform(), -- autoformat makespec_conform(), -- autoformat
makespec_lspconfig(), makespec_lspconfig(),
makespec_treesitter(), makespec_treesitter(),
makespec_blink(),
makespec_treewalker(), makespec_treewalker(),
makespec_todocomments(), makespec_todocomments(),
makespec_autotag(), makespec_autotag(),
@@ -1666,7 +1719,7 @@ for _, spec in ipairs({
makespec_grugfar(), makespec_grugfar(),
-- visuals -- visuals
makespec_smearcursor(), makespec_smearcursor(),
makespec_hexokinase(), makespec_highlight_colors(),
makespec_lualine(), makespec_lualine(),
makespec_noice(), makespec_noice(),
-- file browsers -- file browsers
@@ -1677,18 +1730,10 @@ for _, spec in ipairs({
makespec_fugitive(), makespec_fugitive(),
makespec_diffview(), makespec_diffview(),
makespec_vimflog(), makespec_vimflog(),
}) do
table.insert(lazyspecs, spec)
end
for _, specs in ipairs({
makespecs_themes(), makespecs_themes(),
makespecs_mini(), makespecs_mini(),
makespecs_previewers(), makespecs_previewers(),
}) do }
for _, spec in ipairs(specs) do
table.insert(lazyspecs, spec)
end
end
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then if not (vim.uv or vim.loop).fs_stat(lazypath) then
vim.fn.system({ vim.fn.system({
@@ -1706,4 +1751,4 @@ require("lazy").setup({
checker = { enabled = true }, checker = { enabled = true },
rocks = { enabled = false }, rocks = { enabled = false },
}) })
vim.cmd("colorscheme sonokai") vim.cmd("colorscheme gruvbox-material")
+22 -17
View File
@@ -1,38 +1,43 @@
window { window {
background-color: rgba (38, 18, 57, 0.9); background-color: rgba(10, 10, 10, 0.95);
color: #eceff4; color: #ffffff;
border-radius: 30px border-radius: 0px;
border-right: 2px solid #00e5ff;
} }
/* search entry */ /* search entry */
entry { entry {
box-shadow: 0 0 6px 5px #2e3440; box-shadow: none;
background-color: rgba (0, 0, 0, 0.5) border: 1px solid #00e5ff;
background-color: #000000;
color: #00e5ff;
padding: 5px;
} }
button, image { button,
background-color: #3b4252; image {
background-color: transparent;
background: none; background: none;
border: none; border: 1px solid transparent;
margin: 10px margin: 5px;
} }
button:hover { button:hover {
background-color: rgba (127, 63, 191, .4); background-color: #111111;
box-shadow: 0 0 6px 5px #190C26 border: 1px solid #00e5ff;
box-shadow: none;
} }
/* in case you wanted to give category buttons a different look */
#category-button { #category-button {
margin: 0 0px 0 0px margin: 0;
} }
#pinned-box { #pinned-box {
padding-bottom: 1px; padding-bottom: 5px;
border-bottom: 1px solid gray border-bottom: 2px solid #333333;
} }
#files-box { #files-box {
padding: 1px; padding: 5px;
border: 1px solid gray border: 1px solid #333333;
} }
+23 -15
View File
@@ -86,7 +86,9 @@ c.content.blocking.adblock.lists = [
] ]
c.content.javascript.log_message.excludes = { c.content.javascript.log_message.excludes = {
"userscript:_qute_js": ["*TrustedHTML*"], "userscript:_qute_js": ["*TrustedHTML*"],
"userscript:_qute_stylesheet": ["*Refused to apply inline style because it violates the following Content Security Policy directive: *"] "userscript:_qute_stylesheet": [
"*Refused to apply inline style because it violates the following Content Security Policy directive: *"
],
} }
c.completion.web_history.max_items = 10000 c.completion.web_history.max_items = 10000
c.completion.height = "100%" c.completion.height = "100%"
@@ -148,7 +150,13 @@ c.input.insert_mode.plugins = True
c.messages.timeout = 5000 c.messages.timeout = 5000
c.qt.force_platform = "wayland" c.qt.force_platform = "wayland"
c.qt.highdpi = True c.qt.highdpi = True
c.qt.args = ["disable-features=WebAuth"] # makes BankID work c.qt.args = [
"disable-features=WebAuth", # makes BankID work
"disable-gpu", # Stops using the GPU for rendering
"disable-gpu-compositing", # Forces CPU compositing
"disable-accelerated-2d-canvas", # Offloads canvas drawing to CPU
"disable-accelerated-video-decode", # Prevents VRAM usage for videos
]
c.scrolling.bar = "always" c.scrolling.bar = "always"
c.scrolling.smooth = False c.scrolling.smooth = False
c.session.lazy_restore = False c.session.lazy_restore = False
@@ -204,20 +212,20 @@ c.fonts.web.family.fixed = "IBM Plex Mono"
c.fonts.web.family.standard = c.fonts.web.family.sans_serif c.fonts.web.family.standard = c.fonts.web.family.sans_serif
# COLORS # COLORS
base00 = "#181818" base00 = "#0A0A0A"
base01 = "#282828" base01 = "#111111"
base02 = "#383838" base02 = "#333333"
base03 = "#585858" base03 = "#585858"
base04 = "#b8b8b8" base04 = "#b8b8b8"
base05 = "#d8d8d8" base05 = "#FFFFFF"
base06 = "#e8e8e8" base06 = "#e8e8e8"
base07 = "#f8f8f8" base07 = "#f8f8f8"
base08 = "#ab4642" base08 = "#FF0033"
base09 = "#dc9656" base09 = "#dc9656"
base0A = "#f7ca88" base0A = "#FFE57F"
base0B = "#a1b56c" base0B = "#00E5FF"
base0C = "#86c1b9" base0C = "#86c1b9"
base0D = "#7cafc2" base0D = "#00E5FF"
base0E = "#ba8baf" base0E = "#ba8baf"
base0F = "#a16946" base0F = "#a16946"
c.colors.webpage.preferred_color_scheme = "light" c.colors.webpage.preferred_color_scheme = "light"
@@ -251,9 +259,9 @@ c.colors.downloads.start.bg = base0D
c.colors.downloads.stop.fg = base00 c.colors.downloads.stop.fg = base00
c.colors.downloads.stop.bg = base0C c.colors.downloads.stop.bg = base0C
c.colors.downloads.error.fg = base08 c.colors.downloads.error.fg = base08
c.colors.hints.fg = base00 c.colors.hints.bg = base00
c.colors.hints.bg = base0A c.colors.hints.fg = base0B
c.colors.hints.match.fg = base05 c.colors.hints.match.fg = base08
c.colors.keyhint.fg = base05 c.colors.keyhint.fg = base05
c.colors.keyhint.suffix.fg = base05 c.colors.keyhint.suffix.fg = base05
c.colors.keyhint.bg = base00 c.colors.keyhint.bg = base00
@@ -311,9 +319,9 @@ c.colors.tabs.pinned.selected.even.fg = base05
c.colors.tabs.pinned.selected.odd.bg = base02 c.colors.tabs.pinned.selected.odd.bg = base02
c.colors.tabs.pinned.selected.odd.fg = base05 c.colors.tabs.pinned.selected.odd.fg = base05
c.colors.tabs.selected.odd.fg = base05 c.colors.tabs.selected.odd.fg = base05
c.colors.tabs.selected.odd.bg = base02
c.colors.tabs.selected.even.fg = base05 c.colors.tabs.selected.even.fg = base05
c.colors.tabs.selected.even.bg = base02 c.colors.tabs.selected.odd.bg = base0B
c.colors.tabs.selected.even.bg = base0B
# overrides # overrides
c.colors.hints.fg = base05 c.colors.hints.fg = base05
+23 -13
View File
@@ -5,19 +5,29 @@ should_launch_new_window 1
should_launch_new_instance 1 should_launch_new_instance 1
startup_commands toggle_visual_scroll;toggle_custom_color startup_commands toggle_visual_scroll;toggle_custom_color
# - dracula: https://github.com/dracula/sioyek # Document Colors (Deep Black bg, Pure White text)
# - catppuccin: https://github.com/catppuccin/sioyek custom_background_color #0A0A0A
# - gruvbox: https://mil.ad/blog/2022/gruvbox-for-sioyek.html custom_text_color #FFFFFF
new_macro _theme_solaris setconfig_custom_text_color(#b58900);setconfig_custom_background_color(#586e75) custom_color_mode_empty_background_color #000000
new_macro _theme_normal setconfig_custom_text_color(#000000);setconfig_custom_background_color(#ffffff) page_separator_color #333333
new_macro _theme_dark setconfig_custom_text_color(#ffffff);setconfig_custom_background_color(#000000)
new_macro _theme_softlight setconfig_custom_text_color(#434c5e);setconfig_custom_background_color(#faf4ed) # UI & Status Bar (Electric Cyan & Black)
new_macro _theme_macchiato setconfig_custom_text_color(#cad3f5);setconfig_custom_background_color(#24273a) ui_background_color #111111
new_macro _theme_frappe setconfig_custom_text_color(#c6d0f5);setconfig_custom_background_color(#303446) ui_text_color #FFFFFF
new_macro _theme_moccha setconfig_custom_text_color(#cdd6f4);setconfig_custom_background_color(#1e1e2e) ui_selected_background_color #333333
new_macro _theme_latte setconfig_custom_text_color(#4c4f69);setconfig_custom_background_color(#eff1f5) ui_selected_text_color #00E5FF
new_macro _theme_gruvbox setconfig_custom_text_color(#fbf1c7);setconfig_custom_background_color(#282828)
new_macro _theme_dracula setconfig_custom_text_color(0.97255 0.97255 0.94902);setconfig_custom_background_color(0.15686 0.16471 0.21176) status_bar_color #00E5FF
status_bar_text_color #000000
# Highlights (Cyan for links, Crimson for search)
search_highlight_color #FF0033
unselected_search_highlight_color #880011
link_highlight_color #00E5FF
synctex_highlight_color #00E5FF
# Visual Mark (You autostart this, make it subtle but sharp)
visual_mark_color #333333
# page separation # page separation
page_separator_color #1d2021 page_separator_color #1d2021
+32 -25
View File
@@ -10,29 +10,31 @@ mouse_warping none
# Set inner/outer gaps # Set inner/outer gaps
smart_gaps on smart_gaps on
gaps inner 2 gaps inner 4
gaps outer 0 gaps outer 0
# Hide titlebar on windows: # Hide titlebar on windows:
default_border pixel 1 default_border pixel 2
smart_borders on
# Default Font # Default Font
font pango:Noto Sans Regular 10 font pango:Noto Sans Regular 10
# Thin borders:
smart_borders on
# Title format for windows # Title format for windows
for_window [shell="xdg_shell"] title_format "%title (%app_id)" set $focus #00E5FF
for_window [shell="x_wayland"] title_format "%class - %title" set $unfocused #333333
set $urgent #FF0033
set $bg #0A0A0A
set $text_dark #000000
set $text_dim #888888
# class border bground text indicator child_border # class border bground text indicator child_border
client.focused #556064 #F9CE5C #000000 #CB4B16 #FDF6E3 client.focused $focus $focus $text_dark $focus $focus
client.focused_inactive #CB4B16 #2F3D44 #1ABC9C #454948 #454948 client.focused_inactive $unfocused $unfocused $text_dim $unfocused $unfocused
client.unfocused #556064 #2F3D44 #1ABC9C #454948 #454948 client.unfocused $unfocused $unfocused $text_dim $unfocused $unfocused
client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2 #268BD2 client.urgent $urgent $urgent #FFFFFF $urgent $urgent
client.placeholder #000000 #0C0C0C #ffffff #000000 #000000 client.placeholder #000000 #000000 #FFFFFF #000000 #000000
client.background #2B2C2B client.background $bg
# Status Bar: # Status Bar:
bar { bar {
@@ -67,7 +69,7 @@ set $powermenu ~/.config/sway/scripts/power_menu.sh
# ------------------------------------------ # ------------------------------------------
# Launch the terminal # Launch the terminal
bindsym $mod+Return exec $term bindsym $mod+Return exec $term
bindsym Mod4+Shift+Return exec foot bash bindsym $mod+Shift+Return exec foot bash
# Kill focused window # Kill focused window
bindsym $mod+Shift+q kill bindsym $mod+Shift+q kill
# Lock screen # Lock screen
@@ -253,9 +255,14 @@ bindsym {
# Launch the file explorer # Launch the file explorer
$mod+o exec pcmanfm $mod+o exec pcmanfm
# Dismiss message # Dismiss current notification
$mod+n exec makoctl dismiss $mod+n exec swaync-client -c
$mod+Shift+n exec makoctl dismiss -a
# Dismiss all notifications
$mod+Shift+n exec swaync-client -C
# Toggle the SwayNC control center panel
$mod+Shift+m exec swaync-client -t -sw
} }
# config tools # config tools
@@ -278,6 +285,9 @@ bindsym $mod+m mode "$mode_monitor"
# Auth with polkit-gnome # Auth with polkit-gnome
exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
# Keyring
exec gnome-keyring-daemon --start --components=secrets
# Import environment variables for user systemd service manager # Import environment variables for user systemd service manager
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
@@ -287,19 +297,15 @@ exec hash dbus-update-activation-environment 2>/dev/null && \
# Idle configuration # Idle configuration
exec swayidle -w \ exec swayidle -w \
timeout 1200 'pgrep -x gtklock || gtklock -d' \ timeout 1200 'gtklock -d' \
timeout 2400 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ timeout 2400 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
before-sleep 'pgrep -x gtklock || gtklock -d' \ timeout 10 'if pgrep -x gtklock; then swaymsg "output * power off"; fi' \
after-resume 'swaymsg reload' \ before-sleep 'gtklock -d'
idlehint 240
# Start foot server # Start foot server
exec systemctl --user enable --now foot-server.service exec systemctl --user enable --now foot-server.service
exec { exec {
# Desktop notifications
exec mako
# Set wallpaper # Set wallpaper
~/.azotebg ~/.azotebg
@@ -317,6 +323,8 @@ exec {
} }
exec_always { exec_always {
pkill -x swaync; exec swaync
# nwg-drawer # nwg-drawer
nwg-drawer -r -c 7 -is 90 -mb 10 -ml 50 -mr 50 -mt 10 nwg-drawer -r -c 7 -is 90 -mb 10 -ml 50 -mr 50 -mt 10
@@ -387,4 +395,3 @@ input type:mouse {
accel_profile "flat" accel_profile "flat"
pointer_accel 0.5 pointer_accel 0.5
} }
+1 -2
View File
@@ -1,6 +1,4 @@
#!/bin/sh #!/bin/sh
# usage: import-gsettings
config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini" config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
if [ ! -f "$config" ]; then exit 1; fi if [ ! -f "$config" ]; then exit 1; fi
@@ -13,3 +11,4 @@ gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
gsettings set "$gnome_schema" icon-theme "$icon_theme" gsettings set "$gnome_schema" icon-theme "$icon_theme"
gsettings set "$gnome_schema" cursor-theme "$cursor_theme" gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
gsettings set "$gnome_schema" font-name "$font_name" gsettings set "$gnome_schema" font-name "$font_name"
gsettings set "$gnome_schema" color-scheme 'prefer-dark'
+13 -6
View File
@@ -1,6 +1,7 @@
#!/bin/bash #!/bin/bash
SELECTION="$(printf "󰌾 Lock\n󰤄 Suspend\n󰍃 Log out\n Reboot\n Reboot to UEFI\n󰐥 Shutdown" | fuzzel --dmenu -a top-right -l 6 -w 18 -p "Select an option: ")" SELECTION="$(printf "󰌾 Lock\n󰤄 Suspend\n󰍃 Log out\n Reboot\n Reboot to UEFI\n󰐥 Shutdown" | fuzzel --dmenu -a top-right -l 6 -w 18 -p "Select an option: ")"
[[ -z "$SELECTION" ]] && exit 0
confirm_action() { confirm_action() {
local action="$1" local action="$1"
@@ -10,25 +11,31 @@ confirm_action() {
case $SELECTION in case $SELECTION in
*"󰌾 Lock"*) *"󰌾 Lock"*)
gtklock;; gtklock
;;
*"󰤄 Suspend"*) *"󰤄 Suspend"*)
if confirm_action "Suspend"; then if confirm_action "Suspend"; then
systemctl suspend-then-hibernate systemctl suspend-then-hibernate
fi;; fi
;;
*"󰍃 Log out"*) *"󰍃 Log out"*)
if confirm_action "Log out"; then if confirm_action "Log out"; then
swaymsg exit swaymsg exit
fi;; fi
;;
*" Reboot"*) *" Reboot"*)
if confirm_action "Reboot"; then if confirm_action "Reboot"; then
systemctl reboot systemctl reboot
fi;; fi
;;
*" Reboot to UEFI"*) *" Reboot to UEFI"*)
if confirm_action "Reboot to UEFI"; then if confirm_action "Reboot to UEFI"; then
systemctl reboot --firmware-setup systemctl reboot --firmware-setup
fi;; fi
;;
*"󰐥 Shutdown"*) *"󰐥 Shutdown"*)
if confirm_action "Shutdown"; then if confirm_action "Shutdown"; then
systemctl poweroff systemctl poweroff
fi;; fi
;;
esac esac
+41
View File
@@ -0,0 +1,41 @@
{
"positionX": "right",
"positionY": "top",
"layer": "overlay",
"control-center-layer": "top",
"layer-shell": true,
"cssPriority": "application",
"control-center-margin-top": 8,
"control-center-margin-bottom": 8,
"control-center-margin-right": 8,
"control-center-margin-left": 8,
"notification-2d-margin": true,
"notification-window-width": 400,
"keyboard-shortcuts": true,
"image-visibility": "when-available",
"transition-length": 200,
"hide-on-clear": false,
"hide-on-action": true,
"script-fail-notify": true,
"widgets": [
"title",
"dnd",
"mpris",
"volume",
"notifications"
],
"widget-config": {
"title": {
"text": "Notifications",
"clear-all-button": true,
"button-text": "Clear All"
},
"dnd": {
"text": "Do Not Disturb"
},
"mpris": {
"image-size": 96,
"image-radius": 8
}
}
}
+52
View File
@@ -0,0 +1,52 @@
@define-color bg #0A0A0A;
@define-color border #333333;
@define-color text #FFFFFF;
@define-color focus #00E5FF;
@define-color urgent #FF0033;
* {
font-family: "Noto Sans", sans-serif;
border-radius: 0px; /* Sharp corners */
background-clip: padding-box;
}
.control-center {
background: @bg;
border-left: 2px solid @border;
color: @text;
}
.floating-notifications .notification {
background: @bg;
border: 2px solid @focus; /* Instantly clear it's a new notification */
box-shadow: none;
margin: 4px;
}
button:hover {
background: @border;
border: 1px solid @focus;
}
.widget-title {
color: @focus;
font-size: 1.2rem;
font-weight: bold;
padding: 10px;
border-bottom: 1px solid @border;
}
.widget-dnd,
.widget-mpris,
.widget-volume {
background: transparent;
border: 1px solid @border;
margin: 8px;
padding: 8px;
}
.notification-row:focus,
.notification-row:hover {
background: #111111;
border-left: 2px solid @focus;
}
+2
View File
@@ -69,6 +69,8 @@ bind generic um status-merge
bind generic - stage-update-line bind generic - stage-update-line
bind generic \ stage-split-chunk bind generic \ stage-split-chunk
bind generic y @sh -c "echo -n %(commit) | wl-copy"
bind generic c none bind generic c none
bind generic cc !git commit bind generic cc !git commit
bind generic ca !?@git commit --amend --no-edit bind generic ca !?@git commit --amend --no-edit
+14 -16
View File
@@ -14,9 +14,8 @@ set -g focus-events on
# Advertise tmux correctly to programs running inside it. # Advertise tmux correctly to programs running inside it.
set -g default-terminal "tmux-256color" set -g default-terminal "tmux-256color"
set -as terminal-features ',*:RGB'
# Tell tmux which features the outer Foot client supports. set -as terminal-features ',*:clipboard'
set -as terminal-features ',foot*:RGB,clipboard,focus,title'
# Allow image passthrough # Allow image passthrough
set -gq allow-passthrough on set -gq allow-passthrough on
@@ -90,13 +89,11 @@ bind c copy-mode
# clipboard control # clipboard control
bind p paste-buffer bind p paste-buffer
bind -T copy-mode-vi v send-keys -X begin-selection bind -T copy-mode-vi v send-keys -X begin-selection
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy" bind -T copy-mode-vi y send-keys -X copy-selection-and-cancel
bind -T copy-mode-vi Enter send-keys -X copy-selection-and-cancel bind -T copy-mode-vi Enter send-keys -X copy-selection-and-cancel
bind -T copy-mode-vi r send-keys -X rectangle-toggle bind -T copy-mode-vi r send-keys -X rectangle-toggle
bind -T copy-mode-vi Escape send-keys -X cancel bind -T copy-mode-vi Escape send-keys -X cancel
bind -T copy-mode-vi q send-keys -X clear-selection bind -T copy-mode-vi q send-keys -X clear-selection
bind -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy"
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy"
# Rename window # Rename window
bind , command-prompt "rename-window %%" bind , command-prompt "rename-window %%"
@@ -147,16 +144,17 @@ bind w choose-tree
# Change current pane to next window # Change current pane to next window
bind ` break-pane bind ` break-pane
bind 1 if 'tmux join-pane -t :1 -h' '' 'new-window -d -t :1; join-pane -t :1' # Change current pane to specific window (join if exists, break if it doesn't)
bind 2 if 'tmux join-pane -t :2 -h' '' 'new-window -d -t :2; join-pane -t :2' bind 1 if-shell 'tmux join-pane -t :1 -h' '' 'break-pane -t :1'
bind 3 if 'tmux join-pane -t :3 -h' '' 'new-window -d -t :3; join-pane -t :3' bind 2 if-shell 'tmux join-pane -t :2 -h' '' 'break-pane -t :2'
bind 4 if 'tmux join-pane -t :4 -h' '' 'new-window -d -t :4; join-pane -t :4' bind 3 if-shell 'tmux join-pane -t :3 -h' '' 'break-pane -t :3'
bind 5 if 'tmux join-pane -t :5 -h' '' 'new-window -d -t :5; join-pane -t :5' bind 4 if-shell 'tmux join-pane -t :4 -h' '' 'break-pane -t :4'
bind 6 if 'tmux join-pane -t :6 -h' '' 'new-window -d -t :6; join-pane -t :6' bind 5 if-shell 'tmux join-pane -t :5 -h' '' 'break-pane -t :5'
bind 7 if 'tmux join-pane -t :7 -h' '' 'new-window -d -t :7; join-pane -t :7' bind 6 if-shell 'tmux join-pane -t :6 -h' '' 'break-pane -t :6'
bind 8 if 'tmux join-pane -t :8 -h' '' 'new-window -d -t :8; join-pane -t :8' bind 7 if-shell 'tmux join-pane -t :7 -h' '' 'break-pane -t :7'
bind 9 if 'tmux join-pane -t :9 -h' '' 'new-window -d -t :9; join-pane -t :9' bind 8 if-shell 'tmux join-pane -t :8 -h' '' 'break-pane -t :8'
bind 0 if 'tmux join-pane -t :10 -h' '' 'new-window -d -t :10; join-pane -t :10 -h' bind 9 if-shell 'tmux join-pane -t :9 -h' '' 'break-pane -t :9'
bind 0 if-shell 'tmux join-pane -t :10 -h' '' 'break-pane -t :10'
# move windows # move windows
bind m command-prompt -p "move window to:" "move-window -t '%%'" bind m command-prompt -p "move window to:" "move-window -t '%%'"
+4 -5
View File
@@ -85,11 +85,10 @@
"on-click": "footclient --app-id floating_shell --window-size-chars 120x45 -e btop" "on-click": "footclient --app-id floating_shell --window-size-chars 120x45 -e btop"
}, },
"custom/cputemp": { "temperature": {
"exec": "sensors | grep 'CPU:' | awk '{print substr($2,2); }'", "critical-threshold": 80,
"format": " {}", "format": " {temperatureC}°C",
"on-click": "swaymsg exec 'footclient --app-id floating_shell --window-size-chars 80x45 watch sensors'", "on-click": "swaymsg exec 'footclient --app-id floating_shell --window-size-chars 80x45 -e watch sensors'"
"interval": 1
}, },
"memory": { "memory": {
+22 -40
View File
@@ -1,45 +1,35 @@
/* =============================================================================
*
* Waybar configuration
*
* Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
*
* =========================================================================== */
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* Keyframes * Keyframes & Colors
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
@define-color highlight #00E5FF;
@define-color highlight #685878 ; @define-color base1 #0A0A0A;
@define-color base1 #19191e ; @define-color text #FFFFFF;
@define-color urgent #FF0033;
@define-color dim #333333;
@keyframes blink-warning { @keyframes blink-warning {
70% { 70% {
color: white; color: @text;
} }
to { to {
color: white; color: @text;
background-color: orange; background-color: orange;
} }
} }
@keyframes blink-critical { @keyframes blink-critical {
70% { 70% {
color: white; color: @text;
} }
to { to {
color: white; color: @text;
background-color: red; background-color: @urgent;
} }
} }
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* Base styles * Base styles
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
/* Reset all styles */
* { * {
border: none; border: none;
border-radius: 0; border-radius: 0;
@@ -48,13 +38,13 @@
padding: 0; padding: 0;
} }
/* The whole bar */
#waybar { #waybar {
background: transparent; background: transparent;
color: #e3e3ea; color: @text;
background-color: @base1; background-color: @base1;
font-family: JetBrainsMono; font-family: JetBrainsMono;
font-size: 13px; font-size: 13px;
border-bottom: 2px solid @dim;
} }
/* Every modules */ /* Every modules */
@@ -76,37 +66,29 @@
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* Module styles * Module styles
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
#custom-launcher {
margin-left:15px;
margin-right:10px;
}
#workspaces {
font-size:13px;
}
#workspaces button { #workspaces button {
border-radius: 5px; border-radius: 0px;
color: #eceff4; color: @text;
padding: 1px 6px; padding: 1px 6px;
margin-right: 2px; margin-right: 2px;
margin-left: 2px; margin-left: 2px;
border-bottom: 2px solid transparent;
} }
#workspaces button.focused { #workspaces button.focused {
border: 1px solid #d8dee9; border-bottom: 2px solid @highlight;
color: @highlight;
} }
#workspaces button.urgent { #workspaces button.urgent {
border-color: #c9545d; border-color: @urgent;
color: #c9545d; color: @urgent;
} }
#mode { #mode {
background: @highlight; background: @highlight;
border-bottom: 3px transparent; color: #000000;
color:white; font-weight: bold;
margin-left: 5px; margin-left: 5px;
padding: 7px; padding: 7px;
} }
-1
View File
@@ -1,5 +1,4 @@
[screencast] [screencast]
chooser_type = dmenu chooser_type = dmenu
chooser_cmd = fuzzel --dmenu chooser_cmd = fuzzel --dmenu
output_name=DP-1
max_fps=30 max_fps=30
+19 -2
View File
@@ -4,6 +4,11 @@ show_hidden = true
sort_by = "natural" sort_by = "natural"
ratio = [ 1, 4, 5 ] ratio = [ 1, 4, 5 ]
[[mgr.prepend_keymap]]
on = "O"
run = "open --interactive"
desc = "Open with... (Interactive menu)"
[preview] [preview]
wrap = "yes" wrap = "yes"
image_delay = 50 image_delay = 50
@@ -38,6 +43,10 @@ group = "git"
url = "*/" url = "*/"
run = "git" run = "git"
[[plugin.prepend_previewers]]
url = "*/"
run = "eza-preview"
[[plugin.prepend_previewers]] [[plugin.prepend_previewers]]
url = "*.tar*" url = "*.tar*"
run = 'piper --format=url -- tar tf "$1"' run = 'piper --format=url -- tar tf "$1"'
@@ -51,8 +60,16 @@ url = "*.md"
run = 'piper -- CLICOLOR_FORCE=1 glow -w=$w -s=dark "$1"' run = 'piper -- CLICOLOR_FORCE=1 glow -w=$w -s=dark "$1"'
[[plugin.prepend_previewers]] [[plugin.prepend_previewers]]
url = "*/" url = "*.parquet"
run = 'piper -- eza -TL=3 --color=always --icons=always --group-directories-first --no-quotes "$1"' run = "parquet-preview"
[[plugin.prepend_previewers]]
url = "*.parq"
run = "parquet-preview"
[[plugin.prepend_previewers]]
url = "*.pq"
run = "parquet-preview"
[[plugin.prepend_spotters]] [[plugin.prepend_spotters]]
url = "*" url = "*"
+3 -2
View File
@@ -3,7 +3,7 @@ export SYSTEMD_EDITOR=nvim
export EDITOR=nvim export EDITOR=nvim
export VISUAL=nvim export VISUAL=nvim
export PAGER="bat --style=header,rule,snip" export PAGER="bat --style=header,rule,snip"
export PATH=~/.local/bin:$PATH export PATH=~/.local/bin:${KREW_ROOT:-$HOME/.krew}/bin:$PATH
export BROWSER=/usr/bin/qutebrowser export BROWSER=/usr/bin/qutebrowser
export HISTFILE=~/.config/zsh/history export HISTFILE=~/.config/zsh/history
export HISTSIZE=200000 export HISTSIZE=200000
@@ -21,6 +21,7 @@ catai () {
echo '```' echo '```'
done done
} }
alias sioyek="QT_QPA_PLATFORM=xcb sioyek"
# --- basic keybinds --- # --- basic keybinds ---
bindkey '^[[Z' reverse-menu-complete # shift-tab bindkey '^[[Z' reverse-menu-complete # shift-tab
@@ -44,7 +45,7 @@ autoload -Uz compinit
compinit -d "~/.config/zsh/zcompdump" compinit -d "~/.config/zsh/zcompdump"
zstyle ':completion:*' menu select zstyle ':completion:*' menu select
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' 'r:|[._-]=** r:|=**' zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' 'r:|[._-]=** r:|=**'
zstyle ':completion:*' list-colors '' zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
if command -v kubectl >/dev/null 2>&1; then if command -v kubectl >/dev/null 2>&1; then
source <(kubectl completion zsh) source <(kubectl completion zsh)
fi fi
+14 -24
View File
@@ -1,7 +1,7 @@
[core] [core]
filemode = false filemode = false
pager = delta --diff-so-fancy pager = delta
autorcrlf = true autocrlf = input
editor = nvim editor = nvim
[user] [user]
name = Henrik Bakken name = Henrik Bakken
@@ -13,8 +13,10 @@
required = true required = true
[interactive] [interactive]
diffFilter = delta --color-only diffFilter = delta --color-only
; [merge]
; conflictstyle = diff3 [merge]
conflictstyle = zdiff3
[delta] [delta]
navigate = true navigate = true
light = false light = false
@@ -29,16 +31,14 @@
plus-non-emph-style = bold green plus-non-emph-style = bold green
plus-emph-style = bold reverse green plus-emph-style = bold reverse green
[delta "interactive"] [delta "interactive"]
keep-plus-minus-markers = false[delta "decorations"] keep-plus-minus-markers = false
[delta "decorations"]
commit-decoration-style = bold yellow box ul commit-decoration-style = bold yellow box ul
file-style = bold yellow ul file-style = bold yellow ul
file-decoration-style = none file-decoration-style = none
hunk-header-decoration-style = cyan box ul hunk-header-decoration-style = cyan box ul
[init] [init]
defaultBranch = main defaultBranch = main
# better defaults
# https://blog.gitbutler.com/how-git-core-devs-configure-git/
[column] [column]
ui = auto ui = auto
[branch] [branch]
@@ -57,6 +57,8 @@
prune = true prune = true
pruneTags = true pruneTags = true
all = true all = true
[pull]
rebase = true
[help] [help]
autocorrect = prompt autocorrect = prompt
[rebase] [rebase]
@@ -64,24 +66,12 @@
autoStash = true autoStash = true
updateRefs = true updateRefs = true
# Improved colors for the highlighted bits [rerere]
# https://github.com/so-fancy/diff-so-fancy enabled = true
autoupdate = true
[color] [color]
ui = true ui = true
[color "diff-highlight"]
oldNormal = red bold
oldHighlight = red bold 52
newNormal = green bold
newHighlight = green bold 22
[color "diff"]
meta = 11
frag = magenta bold
func = 146 bold
commit = yellow bold
old = red bold
new = green bold
whitespace = red reverse
[safe] [safe]
directory = /tmp directory = /tmp
[credential] [credential]
helper = store helper = /usr/lib/git-core/git-credential-libsecret
@@ -26,7 +26,7 @@
"modules-right": [ "modules-right": [
"idle_inhibitor", "idle_inhibitor",
"cpu", "cpu",
"custom/cputemp", "temperature",
"memory", "memory",
"custom/nvidia", "custom/nvidia",
"disk#root", "disk#root",
@@ -26,7 +26,7 @@
"modules-right": [ "modules-right": [
"idle_inhibitor", "idle_inhibitor",
"cpu", "cpu",
"custom/cputemp", "temperature",
"memory", "memory",
"custom/nvidia", "custom/nvidia",
"disk#root", "disk#root",
+1 -1
View File
@@ -12,7 +12,7 @@
"modules-right": [ "modules-right": [
"idle_inhibitor", "idle_inhibitor",
"cpu", "cpu",
"custom/cputemp", "temperature",
"memory", "memory",
"disk#root", "disk#root",
"backlight", "backlight",
@@ -12,7 +12,7 @@
"modules-right": [ "modules-right": [
"idle_inhibitor", "idle_inhibitor",
"cpu", "cpu",
"custom/cputemp", "temperature",
"memory", "memory",
"disk#root", "disk#root",
"backlight", "backlight",
+5 -1
View File
@@ -56,6 +56,7 @@ installmap = dict(
"ripgrep", "ripgrep",
"npm", # required for nvim plugins "npm", # required for nvim plugins
"go", # required for vim-hexokinase build "go", # required for vim-hexokinase build
"tree-sitter-cli", # required for nvim treesitter
), ),
utils=("uv", "ncdu", "unzip", "jq", "bluetui"), utils=("uv", "ncdu", "unzip", "jq", "bluetui"),
gittools=( gittools=(
@@ -330,6 +331,7 @@ def install_filebrowsers(overwrite: bool, reinstall: bool) -> None:
"yazi-rs/plugins:smart-enter", "yazi-rs/plugins:smart-enter",
"yazi-rs/plugins:smart-filter", "yazi-rs/plugins:smart-filter",
"yazi-rs/plugins:toggle-pane", "yazi-rs/plugins:toggle-pane",
"ahkohd/eza-preview",
"boydaihungst/file-extra-metadata", "boydaihungst/file-extra-metadata",
]: ]:
run(f"ya pkg add {plugin}".split()) run(f"ya pkg add {plugin}".split())
@@ -398,7 +400,7 @@ def install_sway(overwrite: bool, reinstall: bool) -> None:
"waybar", "waybar",
"gtklock", "gtklock",
"gtk-3.0", "gtk-3.0",
"mako", "swaync",
"fuzzel", "fuzzel",
"nwg-drawer", "nwg-drawer",
"xdg-desktop-portal-wlr", "xdg-desktop-portal-wlr",
@@ -412,6 +414,8 @@ def install_sway(overwrite: bool, reinstall: bool) -> None:
helper_clone_foldercontents(CUSTOM_SRC / "CONFIG", CFG_TGT, "sway", overwrite) helper_clone_foldercontents(CUSTOM_SRC / "CONFIG", CFG_TGT, "sway", overwrite)
# custom waybar configs # custom waybar configs
helper_clone_foldercontents(CUSTOM_SRC / "CONFIG", CFG_TGT, "waybar", overwrite) helper_clone_foldercontents(CUSTOM_SRC / "CONFIG", CFG_TGT, "waybar", overwrite)
# custom swaync configs
helper_clone_foldercontents(CUSTOM_SRC / "CONFIG", CFG_TGT, "swaync", overwrite)
# desktop entries # desktop entries
helper_clone_foldercontents( helper_clone_foldercontents(
HOME_SRC, HOME_SRC,