diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml index 8db620c..6374845 100644 --- a/.config/alacritty/alacritty.toml +++ b/.config/alacritty/alacritty.toml @@ -1,16 +1,17 @@ [window] -padding = { x = 3, y = 3 } +padding = { x = 7, y = 5 } dynamic_padding = true -decorations = "None" +decorations = "Buttonless" +dynamic_title = false [font] -normal = { family = "Monaspace Argon", style = "Regular" } -bold = { family = "Monaspace Argon", style = "Bold" } -italic = { family = "Monaspace Argon", style = "Italic" } -bold_italic = { family = "Monaspace Argon", style = "Bold Italic" } -size = 14.5 +normal = { family = "Monaspace Neon", style = "Regular" } +bold = { family = "Monaspace Neon", style = "Bold" } +italic = { family = "Monaspace Neon", style = "Italic" } +bold_italic = { family = "Monaspace Neon", style = "Bold Italic" } +size = 15 -[shell] +[terminal.shell] program = "zellij" args = ["-l", "welcome"] @@ -60,30 +61,30 @@ background = "#2a2a2a" black = "#282828" red = "#ee5396" green = "#25be6a" -yellow = "#08bdba" -blue = "#78a9ff" +yellow = "#f8e17c" +blue = "#33b1ff" magenta = "#be95ff" -cyan = "#33b1ff" +cyan = "#3ddbd9" white = "#dfdfe0" [colors.bright] black = "#484848" red = "#f16da6" green = "#46c880" -yellow = "#2dc7c4" -blue = "#8cb6ff" +yellow = "#f8e17c" +blue = "#52bdff" magenta = "#c8a5ff" -cyan = "#52bdff" +cyan = "#2dc7c4" white = "#e4e4e5" [colors.dim] black = "#222222" red = "#ca4780" green = "#1fa25a" -yellow = "#07a19e" -blue = "#6690d9" +yellow = "#f8e17c" +blue = "#2b96d9" magenta = "#a27fd9" -cyan = "#2b96d9" +cyan = "#07a19e" white = "#bebebe" [[colors.indexed_colors]] @@ -97,3 +98,7 @@ color = "#ff7eb6" [cursor] style = { shape = "Underline", blinking = "On" } vi_mode_style = { shape = "Block", blinking = "Off" } + +[selection] +save_to_clipboard = true + diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc index 5b58cfb..05aa4b5 100644 --- a/.config/dunst/dunstrc +++ b/.config/dunst/dunstrc @@ -123,7 +123,7 @@ ### Text ### - font = Monospace 11 + font = "Monaspace Radon" 11 # The spacing between lines. If the height is smaller than the # font height, it will get raised to the font height. @@ -313,22 +313,24 @@ [urgency_low] # IMPORTANT: colors have to be defined in quotation marks. # Otherwise the "#" and following would be interpreted as a comment. - background = "#222222" - foreground = "#888888" + background = "#161616" + foreground = "#ffffff" + frame_color = "#ffffff" timeout = 10 # Icon for notifications with low urgency, uncomment to enable #default_icon = /path/to/icon [urgency_normal] - background = "#285577" + background = "#161616" foreground = "#ffffff" + frame_color = "#2dc7c4" timeout = 10 # Icon for notifications with normal urgency, uncomment to enable #default_icon = /path/to/icon [urgency_critical] - background = "#900000" - foreground = "#ffffff" + background = "#161616" + foreground = "#f16da6" frame_color = "#ff0000" timeout = 0 # Icon for notifications with critical urgency, uncomment to enable diff --git a/.config/environment.d/sway.conf b/.config/environment.d/sway.conf new file mode 100644 index 0000000..eedbb3b --- /dev/null +++ b/.config/environment.d/sway.conf @@ -0,0 +1,4 @@ +XDG_DATA_HOME=$HOME/.local/share +XDG_CONFIG_HOME=$HOME/.config +XDG_STATE_HOME=$HOME/.local/state +XDG_CACHE_HOME=$HOME/.cache diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 91ba22c..6e2beb8 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -5,7 +5,7 @@ vim.g.mapleader = ' ' vim.g.maplocalleader = ' ' -- Set to true if you have a Nerd Font installed and selected in the terminal -vim.g.have_nerd_font = false +vim.g.have_nerd_font = true -- Set additional path because the information is lost inside zellij local bin_paths = { diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index b2044e1..607164c 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,40 +1,40 @@ { "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, - "LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" }, + "LuaSnip": { "branch": "master", "commit": "2592b91577136dbb355a4708be1e60619456b7f6" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "310e2e95a4f832163f3f7a9fedebb1a4afc0db69" }, - "fidget.nvim": { "branch": "main", "commit": "d855eed8a06531a7e8fd0684889b2943f373c469" }, - "gitsigns.nvim": { "branch": "main", "commit": "f4928ba14eb6c667786ac7d69927f6aee6719f1e" }, - "indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" }, - "lazy.nvim": { "branch": "main", "commit": "d731a6b005fd239e85e555bd57362382f6c1e461" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "4ba55f9755ebe8297d92c419b90a946123292ae6" }, + "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, + "conform.nvim": { "branch": "master", "commit": "a203480a350b03092e473bf3001733d547160a73" }, + "fidget.nvim": { "branch": "main", "commit": "e2a175c2abe2d4f65357da1c98c59a5cfb2b543f" }, + "gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" }, + "indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" }, + "lazy.nvim": { "branch": "main", "commit": "56ead98e05bb37a4ec28930a54d836d033cf00f2" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "8e46de9241d3997927af12196bd8faa0ed08c29a" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" }, "mason-tool-installer.nvim": { "branch": "main", "commit": "c5e07b8ff54187716334d585db34282e46fa2932" }, "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, - "mini.nvim": { "branch": "main", "commit": "f20d8cd3a116ef65f022797de064a044b217ff53" }, - "neo-tree.nvim": { "branch": "main", "commit": "8c75e8a2949cd6cd35525799200a8d34471ee9eb" }, + "mini.nvim": { "branch": "main", "commit": "ad46fda7862153107124f95d4ea0e510eafc1dd8" }, + "neo-tree.nvim": { "branch": "main", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" }, "neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" }, - "nightfox.nvim": { "branch": "main", "commit": "df75a6a94910ae47854341d6b5a6fd483192c0eb" }, - "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, - "nvim-autopairs": { "branch": "master", "commit": "78a4507bb9ffc9b00f11ae0ac48243d00cb9194d" }, - "nvim-cmp": { "branch": "main", "commit": "d818fd0624205b34e14888358037fb6f5dc51234" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "08bd34bf0ed79723f62764c7f9ca70516d461d0d" }, - "nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" }, - "nvim-dap-go": { "branch": "main", "commit": "3999f0744e80d2dba5775189fc7c7a5e9846053e" }, - "nvim-dap-ui": { "branch": "master", "commit": "a5606bc5958db86f8d92803bea7400ee26a8d7e4" }, - "nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" }, - "nvim-lspconfig": { "branch": "master", "commit": "01e08d4bf1c35e5126b2ad5209725e4c552289ab" }, + "nightfox.nvim": { "branch": "main", "commit": "7557f26defd093c4e9bc17f28b08403f706f5a44" }, + "nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" }, + "nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" }, + "nvim-cmp": { "branch": "main", "commit": "ca4d3330d386e76967e53b85953c170658255ecb" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "4acf88d31b3a7a1a7f31e9c30bf2b23c6313abdb" }, + "nvim-dap": { "branch": "master", "commit": "0a0daa796a5919a51e5e5019ffa91219c94c4fef" }, + "nvim-dap-go": { "branch": "main", "commit": "6aa88167ea1224bcef578e8c7160fe8afbb44848" }, + "nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" }, + "nvim-lint": { "branch": "master", "commit": "6b46370d02cd001509a765591a3ffc481b538794" }, + "nvim-lspconfig": { "branch": "master", "commit": "f59eba2ec08edda0e09ecf34ec29ad10a429e48d" }, "nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" }, - "nvim-treesitter": { "branch": "master", "commit": "0d5e1214a5c386a168dc8e19d7da0ceb0e0bd6f2" }, - "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, - "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, + "nvim-treesitter": { "branch": "master", "commit": "69170c93149ddb71a22bd954514806395c430c02" }, + "nvim-web-devicons": { "branch": "master", "commit": "203da76ecfbb4b192cf830665b03eb651b635c94" }, + "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, - "todo-comments.nvim": { "branch": "main", "commit": "96fee098a90e7c09c9811aa7df71d773ba8b9b53" }, - "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" }, - "vim-wakatime": { "branch": "master", "commit": "3cb40867cb5a3120f9bef76eff88edc7f1dc1a23" }, - "which-key.nvim": { "branch": "main", "commit": "4390015b265adf69cf3e344cc13167539f732b2f" } + "todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" }, + "vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" }, + "vim-wakatime": { "branch": "master", "commit": "cf51327a9e08935569614d1cb24e779ee9f45519" }, + "which-key.nvim": { "branch": "main", "commit": "9b365a6428a9633e3eeb34dbef1b791511c54f70" } } diff --git a/.config/nvim/lua/kickstart/plugins/lint.lua b/.config/nvim/lua/kickstart/plugins/lint.lua index 7b955d1..3756dc6 100644 --- a/.config/nvim/lua/kickstart/plugins/lint.lua +++ b/.config/nvim/lua/kickstart/plugins/lint.lua @@ -7,7 +7,7 @@ return { local lint = require 'lint' lint.linters_by_ft = { markdown = { 'markdownlint' }, - yaml = { 'yamllint' }, + -- yaml = { 'yamllint' }, } -- To allow other plugins to add linters to require('lint').linters_by_ft, diff --git a/.config/nvim/lua/kickstart/plugins/lspconfig.lua b/.config/nvim/lua/kickstart/plugins/lspconfig.lua index 2535f03..0dc1b57 100644 --- a/.config/nvim/lua/kickstart/plugins/lspconfig.lua +++ b/.config/nvim/lua/kickstart/plugins/lspconfig.lua @@ -163,6 +163,7 @@ return { jsonls = {}, dockerls = {}, marksman = {}, + harper_ls = {}, -- pyright = {}, rust_analyzer = {}, -- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs diff --git a/.config/nvim/lua/kickstart/plugins/which-key.lua b/.config/nvim/lua/kickstart/plugins/which-key.lua index 9948b0f..f2f8c38 100644 --- a/.config/nvim/lua/kickstart/plugins/which-key.lua +++ b/.config/nvim/lua/kickstart/plugins/which-key.lua @@ -18,10 +18,9 @@ return { 'folke/which-key.nvim', event = 'VimEnter', -- Sets the loading event to 'VimEnter' opts = { - presets = 'modern', + preset = 'modern', icons = { mappings = false, - rules = false, }, }, config = function() -- This is the function that runs, AFTER loading diff --git a/.config/nvim/lua/options.lua b/.config/nvim/lua/options.lua index c97d75f..cb1e29f 100644 --- a/.config/nvim/lua/options.lua +++ b/.config/nvim/lua/options.lua @@ -59,4 +59,9 @@ vim.opt.cursorline = true -- Minimal number of screen lines to keep above and below the cursor. vim.opt.scrolloff = 10 +-- Set tabstop +vim.opt.tabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.expandtab = true + -- vim: ts=2 sts=2 sw=2 et diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi index 09c71b6..e36d3eb 100644 --- a/.config/rofi/config.rasi +++ b/.config/rofi/config.rasi @@ -1,11 +1,11 @@ configuration { /* modes: "window,drun,run,ssh";*/ -/* font: "mono 12";*/ + font: "Monaspace Radon 13"; /* location: 0;*/ /* yoffset: 0;*/ /* xoffset: 0;*/ /* fixed-num-lines: true;*/ -/* show-icons: false;*/ + show-icons: true; /* terminal: "rofi-sensible-terminal";*/ /* ssh-client: "ssh";*/ /* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/ @@ -149,4 +149,6 @@ configuration { sorting-method: "name"; } } -@theme "/usr/share/rofi/themes/gruvbox-dark-hard.rasi" +//@theme "themes/squared.rasi" +//@theme "themes/cherry.rasi" +@theme "themes/paper-float.rasi" diff --git a/.config/rofi/themes/paper-float.rasi b/.config/rofi/themes/paper-float.rasi new file mode 100644 index 0000000..3a2275e --- /dev/null +++ b/.config/rofi/themes/paper-float.rasi @@ -0,0 +1,148 @@ +/** + * A floating box version of the paper theme. + * + * User: Qball + * Copyright: Dave Davenport + */ + +* { + grey: #484848; + black: #282828; + red: #ee5396; + green: #25be6a; + yellow: #f8e17c; + blue: #33b1ff; + magenta: #be95ff; + cyan: #3ddbd9; + white: #dfdfe0; + + spacing: 2; + background-color: #00000000; + border-color: #3ddbd9; + anchor: north; + location: center; +} +window { + transparency: "screenshot"; + background-color: #00000000; + border: 0; + padding: 0% 0% 1em 0%; + x-offset: 0; + y-offset: -10%; +} +mainbox { + padding: 0px; + border: 0; + spacing: 1%; +} +prompt { + text-color: @white; + text-style: bold; +} +entry { + text-color: @white; +} +message { + border: 2px; + padding: 1em; + background-color: @black; + text-color: @white; +} +textbox normal { + text-color: @white; + padding: 0; + border: 0; +} +listview { + fixed-height: 1; + border: 2px; + padding: 1em; + reverse: false; + + columns: 1; + background-color: @black; +} +element { + border: 0; + padding: 2px; + highlight: bold ; +} +element-text { + background-color: inherit; + text-color: inherit; +} +element normal.normal { + text-color: @white; + background-color: @black; +} +element normal.urgent { + text-color: @red; + background-color: @black; +} +element normal.active { + text-color: @black; + background-color: @cyan; +} +element selected.normal { + text-color: @black; + background-color: @cyan; +} +element selected.urgent { + text-color: #F5F5F5; + background-color: @red; +} +element selected.active { + text-color: @black; + background-color: @cyan; +} +element alternate.normal { + text-color: @white; + background-color: @grey; +} +element alternate.urgent { + text-color: @red; + background-color: @grey; +} +element alternate.active { + text-color: @white; + background-color: @grey; +} +scrollbar { + border: 0; + padding: 0; +} +inputbar { + spacing: 0; + border: 2px; + padding: 0.5em 1em; + background-color: @black; + index: 0; +} +inputbar normal { + foreground-color: @white; + background-color: @white; +} +mode-switcher { + border: 2px; + padding: 0.5em 1em; + background-color: @black; + index: 10; +} +button selected { + text-color: @cyan; +} +inputbar { + children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; +} +textbox-prompt-colon { + expand: false; + str: ":"; + margin: 0px 0.3em 0em 0em ; + text-color: var(white); +} +error-message { + border: 2px; + padding: 1em; + background-color: @black; + text-color: @red; +} diff --git a/.config/sway/config b/.config/sway/config index bba7a34..d14230c 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -16,6 +16,8 @@ set $right l # Your preferred terminal emulator # Recommends: foot set $term alacritty +# set alternate terminal emulator +set $alt_term gnome-terminal # Your preferred application launcher # Note: pass the final command to swaymsg so that the resulting window can be opened # on the original workspace that the command was run on. @@ -27,6 +29,12 @@ set $rofi_cmd rofi \ # TODO: add window with the next release of rofi-wayland set $menu $rofi_cmd -show combi -combi-modes drun#run -modes combi +### Clipboard configuration + +exec wl-paste --type text --watch cliphist store +exec wl-paste --type image --watch cliphist store +set $clip cliphist list | rofi -dmenu -P "Clipboard" | cliphist decode | wl-copy + ### Output configuration # # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) @@ -35,27 +43,35 @@ output * bg /usr/share/backgrounds/zenitsu.jpg fill for_window [window_type="dialog"] floating enable for_window [window_role="dialog"] floating enable -for_window [app_id="firefox" title="Picture-in-Picture$"] floating enable sticky enable +for_window [app_id="org.mozilla.firefox" title="Picture-in-Picture"] floating enable sticky enable for_window [app_id="com.github.hluk.copyq"] floating enable # # Example configuration: # # output HDMI-A-1 resolution 1920x1080 position 1920,0 -# # You can get the names of your outputs by running: swaymsg -t get_outputs # hidpi setup # output eDP-1 scale 1.25 # output 'LG Electronics LG ULTRAWIDE 205NTSUG4894' scale 2 +## Decorations +client.focused #00ffff #262626 #ffffff #48d1cc #00ffff +client.urgent #dc143c #262626 #ffffff #f08080 #dc143c + ## Font -# default_border none -# default_floating_border none -font pango:'Monaspace Argon' Regular 11 +default_border pixel 2 +default_floating_border pixel 2 +smart_borders on +# hide_edge_borders both +# smart_gaps on +font pango:'Monaspace Radon' Regular 11 # titlebar_padding 1 # titlebar_border_thickness 0 # gaps outer 4 -# gaps inner 4 +# gaps inner 2 + + ### Idle configuration # # Example configuration: @@ -98,6 +114,7 @@ input type:keyboard { # # Start a terminal bindsym $mod+Return exec $term + bindsym $mod+Shift+Return exec $alt_term # Kill focused window bindsym $mod+Shift+q kill @@ -168,6 +185,11 @@ input type:keyboard { bindsym $mod+Shift+0 move container to workspace number 10 # Note: workspaces can have any name you want, not just numbers. # We just use 1-10 as the default. + # Touchpad swipes + bindgesture swipe:right workspace prev + bindgesture swipe:left workspace next + # Move back and forth + bindsym $mod+Tab workspace back_and_forth # # Layout stuff: # @@ -206,6 +228,12 @@ input type:keyboard { # Show the next scratchpad window or hide the focused scratchpad window. # If there are multiple scratchpad windows, this command cycles through them. bindsym $mod+minus scratchpad show +# +# Clipboard: +# + bindsym $mod+c exec $clip + + # # Resizing containers: # @@ -231,6 +259,9 @@ mode "resize" { } bindsym $mod+r mode "resize" +## gestures + + # Include configs from 3 locations: # - /usr/share/sway/config.d # - /etc/sway/config.d diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index 3fbda19..c515880 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -10,12 +10,10 @@ "modules-left": [ "sway/workspaces", "sway/mode", - "sway/scratchpad", - "custom/media" + "sway/scratchpad" ], "modules-center": [ - "sway/window", - "privacy" + "sway/window" ], "modules-right": [ "battery", @@ -28,11 +26,11 @@ "custom/spacer", "network", "custom/spacer", + "group/tray", + "custom/spacer", "clock", "custom/spacer", - "custom/dunst", - "custom/spacer", - "group/tray" + "custom/dunst" ], "group/system": { "orientation": "inherit", @@ -72,9 +70,9 @@ "rotate": 270, // "format": "" "rewrite": { - "Zellij \\((.*)\\) - .*": "Zellij [$1]", ".* - ([A-Za-z0-9 ]+)": "$1", - ".* — ([A-Za-z0-9 ]+)": "$1" + ".* — ([A-Za-z0-9 ]+)": "$1", + "^avinal@spacetime:.*": "GNOME Terminal" } }, "sway/mode": { @@ -107,33 +105,10 @@ "icon-size": 20, "spacing": 10 }, - "privacy": { - "icon-spacing": 4, - "icon-size": 18, - "transition-duration": 250, - "modules": [ - { - "type": "screenshare", - "tooltip": true, - "tooltip-icon-size": 24 - }, - { - "type": "audio-out", - "tooltip": true, - "tooltip-icon-size": 24 - }, - { - "type": "audio-in", - "tooltip": true, - "tooltip-icon-size": 24 - } - ], - "rotate": 270 - }, "clock": { "rotate": 270, "tooltip-format": "{:%Y %B}\n{calendar}", - "format": "{:%a %b %d %R}", + "format": "{:%a %b %d %R}", "calendar": { "mode": "month", "mode-mon-col": 3, @@ -170,10 +145,10 @@ "critical-threshold": 80, "format": "{icon} {temperatureC}°C", "format-icons": [ - "CHILL", - "WARM", - "HOT", - "BURN" + "Chill", + "Warm", + "Hot", + "Burn" ], "rotate": 270 }, @@ -201,11 +176,11 @@ "network": { "interval": 10, "format-wifi": "{essid} {frequency} ({signalStrength}%)", - "format-ethernet": "Ethernet: {ipaddr}/{cidr}", - "format-linked": "Linked: No Internet!", + "format-ethernet": "Wired {ifname}", + "format-linked": "No Internet!", "tooltip-format-disconnected": "Please connect to a network.", "tooltip-format": "Up: {bandwidthUpBits:4} Down: {bandwidthDownBits:4}", - "format-disconnected": "No Network", + "format-disconnected": "Disconnected!", "rotate": 270 }, "pulseaudio": { diff --git a/.config/waybar/scripts/dunst.sh b/.config/waybar/scripts/dunst.sh index 1e02c0c..5f19d59 100755 --- a/.config/waybar/scripts/dunst.sh +++ b/.config/waybar/scripts/dunst.sh @@ -13,5 +13,5 @@ else tooltip+="paused" fi -if [ $COUNT != 0 ]; then text+=":$COUNT"; fi +if [ "$COUNT" != 0 ]; then status+=":$COUNT"; fi printf '{"text":"%s","tooltip":"%s","class":"%s"}' "$status" "$tooltip" "$class" | jq --unbuffered --compact-output diff --git a/.config/waybar/style.css b/.config/waybar/style.css index cac2c1b..a7c9ec4 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -1,6 +1,6 @@ * { /* `otf-font-awesome` is required to be installed for icons */ - font-family: 'Monaspace Argon'; + font-family: 'Monaspace Radon'; font-size: 15px; padding: 2px 0; margin: 2px 0; @@ -39,27 +39,27 @@ button:hover { } #workspaces button { - padding: 0 0px; + padding: 2px 3px; background-color: transparent; - /* border-left: 2px solid #3ddbd9; */ color: #ffffff; + /* margin-left: -6px; */ } #workspaces button:hover { background: #66cc99; } -#workspaces button.focused { - /* background-color: #64727D;*/ - /* box-shadow: inset -2px -2px #ffffff, inset 2px 2px #ffffff; */ - color: palevioletred; - /* outline-offset: 4px; */ -} - #workspaces button.urgent { background-color: #eb4d4b; } + +#workspaces button.focused { + border-top: 2px solid cyan; + border-bottom: 2px solid cyan; + color: palevioletred; +} + #mode { /* background-color: #64727D; */ animation-name: blink; @@ -213,7 +213,7 @@ label:focus { } #custom-wakatime { - color: turquoise + color: darksalmon; } #custom-dunst { diff --git a/.config/zellij/config.kdl b/.config/zellij/config.kdl index ead95da..cd2c9f5 100644 --- a/.config/zellij/config.kdl +++ b/.config/zellij/config.kdl @@ -27,7 +27,7 @@ keybinds clear-defaults=true { bind "z" { TogglePaneFrames; SwitchToMode "Normal"; } bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; } bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; } - bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;} + bind "r" { SwitchToMode "RenamePane"; PaneNameInput 0;} } move { bind "Alt m" { SwitchToMode "Normal"; } @@ -45,17 +45,6 @@ keybinds clear-defaults=true { bind "x" { CloseTab; SwitchToMode "Normal"; } bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; } bind "b" { BreakPane; SwitchToMode "Normal"; } - bind "]" { BreakPaneRight; SwitchToMode "Normal"; } - bind "[" { BreakPaneLeft; SwitchToMode "Normal"; } - bind "1" { GoToTab 1; SwitchToMode "Normal"; } - bind "2" { GoToTab 2; SwitchToMode "Normal"; } - bind "3" { GoToTab 3; SwitchToMode "Normal"; } - bind "4" { GoToTab 4; SwitchToMode "Normal"; } - bind "5" { GoToTab 5; SwitchToMode "Normal"; } - bind "6" { GoToTab 6; SwitchToMode "Normal"; } - bind "7" { GoToTab 7; SwitchToMode "Normal"; } - bind "8" { GoToTab 8; SwitchToMode "Normal"; } - bind "9" { GoToTab 9; SwitchToMode "Normal"; } bind "Tab" { ToggleTab; } } scroll { @@ -96,7 +85,7 @@ keybinds clear-defaults=true { } session { bind "Alt o" { SwitchToMode "Normal"; } - bind "Ctrl s" { SwitchToMode "Scroll"; } + bind "Alt s" { SwitchToMode "Scroll"; } bind "d" { Detach; } bind "w" { LaunchOrFocusPlugin "session-manager" { @@ -126,18 +115,27 @@ keybinds clear-defaults=true { } shared_except "locked" { bind "Ctrl Space" { SwitchToMode "Locked"; } - bind "Ctrl q" { Quit; } + bind "Alt q" { Quit; } bind "Alt n" { NewPane; } - bind "Alt i" { MoveTab "Left"; } - bind "Alt o" { MoveTab "Right"; } - bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; } - bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; } - bind "Alt j" "Alt Down" { MoveFocus "Down"; } - bind "Alt k" "Alt Up" { MoveFocus "Up"; } + bind "Alt <" "Alt ," { GoToPreviousTab; } + bind "Alt >" "Alt ." { GoToNextTab; } + bind "Alt Left" { MoveFocus "Left"; } + bind "Alt Right" { MoveFocus "Right"; } + bind "Alt Down" { MoveFocus "Down"; } + bind "Alt Up" { MoveFocus "Up"; } bind "Alt =" "Alt +" { Resize "Increase"; } bind "Alt -" { Resize "Decrease"; } bind "Alt [" { PreviousSwapLayout; } bind "Alt ]" { NextSwapLayout; } + bind "Alt 1" { GoToTab 1; SwitchToMode "Normal"; } + bind "Alt 2" { GoToTab 2; SwitchToMode "Normal"; } + bind "Alt 3" { GoToTab 3; SwitchToMode "Normal"; } + bind "Alt 4" { GoToTab 4; SwitchToMode "Normal"; } + bind "Alt 5" { GoToTab 5; SwitchToMode "Normal"; } + bind "Alt 6" { GoToTab 6; SwitchToMode "Normal"; } + bind "Alt 7" { GoToTab 7; SwitchToMode "Normal"; } + bind "Alt 8" { GoToTab 8; SwitchToMode "Normal"; } + bind "Alt 9" { GoToTab 9; SwitchToMode "Normal"; } } shared_except "normal" "locked" { bind "Enter" "Esc" { SwitchToMode "Normal"; } @@ -172,11 +170,37 @@ plugins { compact-bar location="zellij:compact-bar" session-manager location="zellij:session-manager" welcome-screen location="zellij:session-manager" { - welcome_screen true + welcome_screen false } filepicker location="zellij:strider" { cwd "/" } + zjstatus location="file:~/.config/zellij/plugins/zjstatus.wasm" { + format_left "{tabs}" + format_center "" + format_right "{mode} | {datetime} | #[fg=#66cc99]{session}" + format_space "" + + hide_frame_for_single_pane "false" + + mode_normal "#[fg=#00ffff] {name}" + mode_locked "#[fg=#ff0000] {name}" + mode_tmux "#[fg=#ffc387] {name}" + + tab_normal "{index}:#[fg=#ffffff]{name} #[fg=#90b1b1]{sync_indicator}{floating_indicator}{fullscreen_indicator}" + tab_active "{index}:#[fg=#db7093,bold]{name} #[fg=#90b1b1]{sync_indicator}{floating_indicator}{fullscreen_indicator}" + + tab_display_count "9" + tab_separator "| " + tab_sync_indicator "S" + tab_fullscreen_indicator "F" + tab_floating_indicator "W" + + datetime "#[fg=#db7093] {format}" + datetime_format "%a %b %d %H:%M" + datetime_timezone "Asia/Kolkata" + } + } // Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP @@ -192,7 +216,7 @@ plugins { // - true // - false (Default) // -// simplified_ui true +simplified_ui true // Choose the path to the default shell that zellij will use for opening new panes // Default: $SHELL @@ -222,19 +246,19 @@ plugins { // - true (default) // - false // -// session_serialization false +session_serialization true // Whether pane viewports are serialized along with the session, default is false // Options: // - true // - false (default) -// serialize_pane_viewport true +serialize_pane_viewport true // Scrollback lines to serialize along with the pane viewport when serializing sessions, 0 // defaults to the scrollback size. If this number is higher than the scrollback size, it will // also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true. // -// scrollback_lines_to_serialize 10000 +scrollback_lines_to_serialize 100000 // Define color themes for Zellij // For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes @@ -246,13 +270,13 @@ themes { fg "#f2f4f8" red "#ee5396" green "#25be6a" - blue "#78a9ff" - yellow "#08bdba" + blue "#33b1ff" + yellow "#f8e17c" magenta "#be95ff" - orange "#3ddbd9" - cyan "#33b1ff" + orange "#ffa87b" + cyan "#3ddbd9" black "#353535" - white "#b6b8bb" + white "#ffffff" } } @@ -264,7 +288,7 @@ theme "carbonfox" // The name of the default layout to load on startup // Default: "compact" // -default_layout "compact" +default_layout "terminal" // Choose the mode that zellij uses when starting up. // Default: normal @@ -286,7 +310,7 @@ default_layout "compact" // Valid values: positive integers // Default value: 10000 // -// scroll_buffer_size 10000 +scroll_buffer_size 100000 // Provide a command to execute when copying text. The text will be piped to // the stdin of the program to perform the copy. This can be used with @@ -342,4 +366,4 @@ scrollback_editor "/usr/bin/nvim" // metadata info on this session) // Default: false // -// disable_session_metadata true +disable_session_metadata false diff --git a/.config/zellij/layouts/compact-ide.kdl b/.config/zellij/layouts/compact-ide.kdl index 3ee125f..1cabbeb 100644 --- a/.config/zellij/layouts/compact-ide.kdl +++ b/.config/zellij/layouts/compact-ide.kdl @@ -1,4 +1,33 @@ layout { + pane { + borderless true + size 1 + plugin location="file:~/.config/zellij/plugins/zjstatus.wasm" { + format_left "{tabs}" + format_center "" + format_right "{mode} | {datetime} | #[fg=#66cc99]{session}" + format_space "" + + hide_frame_for_single_pane "false" + + mode_normal "#[fg=#00ffff] {name}" + mode_locked "#[fg=#ff0000] {name}" + mode_tmux "#[fg=#ffc387] {name}" + + tab_normal "{index}:#[fg=#ffffff]{name} #[fg=#90b1b1]{sync_indicator}{floating_indicator}{fullscreen_indicator}" + tab_active "{index}:#[fg=#db7093]{name} #[fg=#90b1b1]{sync_indicator}{floating_indicator}{fullscreen_indicator}" + + tab_display_count "9" + tab_separator "| " + tab_sync_indicator "S" + tab_fullscreen_indicator "F" + tab_floating_indicator "W" + + datetime "#[fg=#db7093] {format}" + datetime_format "%a %b %d %H:%M" + datetime_timezone "Asia/Kolkata" + } + } pane split_direction="horizontal" { pane { edit "." @@ -11,9 +40,5 @@ layout { } } - pane { - plugin location="zellij:compact-bar" - borderless true - size 1 - } + } diff --git a/.config/zellij/layouts/ide-layout.kdl b/.config/zellij/layouts/ide-layout.kdl index 2782e0f..c28215f 100644 --- a/.config/zellij/layouts/ide-layout.kdl +++ b/.config/zellij/layouts/ide-layout.kdl @@ -1,4 +1,31 @@ layout { + pane borderless=true size=1 { + plugin location="file:~/.config/zellij/plugins/zjstatus.wasm" { + format_left "{tabs}" + format_center "" + format_right "{mode} | {datetime} | #[fg=#66cc99]{session}" + format_space "" + + hide_frame_for_single_pane "false" + + mode_normal "#[fg=#00ffff] {name}" + mode_locked "#[fg=#ff0000] {name}" + mode_tmux "#[fg=#ffc387] {name}" + + tab_normal "{index}:#[fg=#ffffff]{name} #[fg=#90b1b1]{sync_indicator}{floating_indicator}{fullscreen_indicator}" + tab_active "{index}:#[fg=#db7093]{name} #[fg=#90b1b1]{sync_indicator}{floating_indicator}{fullscreen_indicator}" + + tab_display_count "9" + tab_separator " | " + tab_sync_indicator "S" + tab_fullscreen_indicator "F" + tab_floating_indicator "W" + + datetime "#[fg=#db7093] {format} " + datetime_format "%a %b %d %H:%M" + datetime_timezone "Asia/Kolkata" + } + } pane split_direction="vertical" { pane { edit "." @@ -16,7 +43,4 @@ layout { } } } - pane size=1 borderless=true { - plugin location="zellij:compact-bar" - } } diff --git a/.config/zellij/layouts/terminal.kdl b/.config/zellij/layouts/terminal.kdl new file mode 100644 index 0000000..0dd3d90 --- /dev/null +++ b/.config/zellij/layouts/terminal.kdl @@ -0,0 +1,32 @@ +layout { + pane { + borderless true + size 1 + plugin location="file:~/.config/zellij/plugins/zjstatus.wasm" { + format_left "{tabs}" + format_center "" + format_right "{mode} | {datetime} | #[fg=#66cc99]{session}" + format_space "" + + hide_frame_for_single_pane "false" + + mode_normal "#[fg=#00ffff]{name}" + mode_locked "#[fg=#ff0000]{name}" + mode_tmux "#[fg=#ffc387]{name}" + + tab_normal "{index}:#[fg=#ffffff]{name} #[fg=#90b1b1]{sync_indicator}{floating_indicator}{fullscreen_indicator} " + tab_active "{index}:#[fg=#db7093]{name} #[fg=#90b1b1]{sync_indicator}{floating_indicator}{fullscreen_indicator} " + + tab_display_count "9" + tab_separator " | " + tab_sync_indicator "S" + tab_fullscreen_indicator "F" + tab_floating_indicator "W" + + datetime "#[fg=#db7093]{format} " + datetime_format "%a %b %d %H:%M" + datetime_timezone "Asia/Kolkata" + } + } + pane +} diff --git a/.zshrc b/.zshrc index ad63bb2..03db8ac 100644 --- a/.zshrc +++ b/.zshrc @@ -2,8 +2,12 @@ export PATH=$HOME/bin:/usr/local/bin:$HOME/.local/bin:$PATH export PATH=$PATH:/usr/local/go/bin export PATH=$PATH:/home/avinal/go/bin +export PATH=$PATH:/home/linuxbrew/.linuxbrew/bin export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH" - +export XDG_DATA_HOME="$HOME/.local/share" +export XDG_CONFIG_HOME="$HOME/.config" +export XDG_STATE_HOME="$HOME/.local/state" +export XDG_CACHE_HOME="$HOME/.cache" # Generated for envman. Do not edit. [ -s "$HOME/.config/envman/load.sh" ] && source "$HOME/.config/envman/load.sh" @@ -144,6 +148,16 @@ zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath' # alias ohmyzsh="mate ~/.oh-my-zsh" # +## Custom Functions +znew() { + local layout_name="$1" + local tab_name="$2" + local folder_name="$3" + + zellij action new-tab --layout "$layout_name" --name "$tab_name" --cwd "$folder_name" +} + + export FZF_DEFAULT_OPTS='--height 25% --layout=reverse --border' alias work-git='git config user.email "avinal@redhat.com"' @@ -153,3 +167,7 @@ eval "$(zoxide init zsh)" eval "$(atuin init zsh)" + +eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" + +. "$HOME/.atuin/bin/env"