Compare commits

...

2 Commits

Author SHA1 Message Date
ccfc2d4371 wip 2024-11-21 18:11:52 +04:00
e27c6b52a2 misc config improvments 2024-11-15 22:09:49 +04:00
15 changed files with 301 additions and 870 deletions

View File

@ -1,50 +1,39 @@
# ~/.config/betterlockscreenrc
# ~/.config/betterlockscreen/betterlockscreenrc
# default options
display_on=0
display_on=1
span_image=false
lock_timeout=300
fx_list=(dim blur dimblur pixel dimpixel color)
dim_level=40
blur_level=1
blur_level=2
pixel_scale=10,1000
solid_color=333333
solid_color=1e1e2e
wallpaper_cmd="feh --bg-fill"
quiet=false
# default theme
loginbox=00000066
loginbox=1e1e2edd
loginshadow=00000000
locktext="Taper votre mot de passe..."
locktext=""
font="FiraCode Nerd Font Mono"
ringcolor=ffffffff
insidecolor=00000000
separatorcolor=00000000
ringvercolor=ffffffff
insidevercolor=00000000
ringwrongcolor=ffffffff
insidewrongcolor=d23c3dff
timecolor=ffffffff
ringcolor=89b4faff
insidecolor=1e1e2e99
separatorcolor=89b4faff
ringvercolor=a6e3a1ff
insidevercolor=1e1e2e99
ringwrongcolor=f38ba8ff
insidewrongcolor=1e1e2e99
timecolor=cdd6f4ff
time_format="%H:%M:%S"
greetercolor=ffffffff
layoutcolor=ffffffff
keyhlcolor=d23c3dff
bshlcolor=d23c3dff
greetercolor=cdd6f4ff
layoutcolor=cdd6f4ff
keyhlcolor=f38ba8ff
bshlcolor=f38ba8ff
veriftext="Vérification..."
verifcolor=ffffffff
wrongtext="Mot de passe incorrect !"
wrongcolor=d23c3dff
modifcolor=d23c3dff
bgcolor=000000ff
verifcolor=a6e3a1ff
wrongtext=""
wrongcolor=f38ba8ff
modifcolor=f38ba8ff
bgcolor=1e1e2eff
#
# expert options (change at own risk!)
#
# i3lockcolor_bin="i3lock-color" # Manually set command for i3lock-color
# suspend_command="systemctl suspend" # Manually change action e.g. hibernate/suspend-command
# i3lock-color - custom arguments
# lockargs=() # overwriting default "(-n)"
# lockargs+=(--ignore-empty-password) # appending new argument

View File

@ -1,4 +1,5 @@
{
// Editor general settings
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.formatOnSave": true,
@ -7,28 +8,51 @@
"editor.minimap.enabled": true,
"editor.scrollbar.vertical": "auto",
"editor.scrollbar.horizontal": "auto",
"window.titleBarStyle": "custom",
"editor.selectionClipboard": false,
"editor.accessibilitySupport": "off",
// Workbench settings
"workbench.colorTheme": "Catppuccin Mocha",
"workbench.iconTheme": "catppuccin-mocha",
"workbench.tree.indent": 30,
"workbench.tree.renderIndentGuides": "always",
"workbench.tree.enableStickyScroll": true,
"workbench.tree.stickyScrollMaxItemCount": 10,
"workbench.editor.showTabs": "single",
// Window settings
"window.titleBarStyle": "custom",
"window.customTitleBarVisibility": "auto",
// Terminal settings
"terminal.integrated.defaultProfile.windows": "PowerShell",
"terminal.integrated.defaultProfile.linux": "zsh",
"terminal.integrated.fontFamily": "'FiraCode Nerd Font Mono', monospace",
"terminal.integrated.fontSize": 16,
// Debug settings
"debug.console.fontFamily": "FiraCode Nerd Font Mono",
"debug.console.fontSize": 16,
// Explorer settings
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
// File associations
"files.associations": {
"*.css": "tailwindcss"
},
// Language specific settings
// Go
"go.addTags": {
"options": "",
"promptForTags": true,
"transform": "camelcase"
},
"go.toolsManagement.autoUpdate": true,
"emeraldwalk.runonsave": {
"commands": [
{
"match": "\\.go$",
"cmd": "golines ${file} -w --base-formatter goimports-reviser -m 80 -t 2"
}
]
},
"terminal.integrated.defaultProfile.linux": "zsh",
"extensions.ignoreRecommendations": true,
// SQL
"[sql]": {
"editor.formatOnSave": false,
"editor.defaultFormatter": "inferrinizzard.prettier-sql-vscode"
@ -37,49 +61,70 @@
"Prettier-SQL.commaPosition": "after",
"Prettier-SQL.indentStyle": "tabularRight",
"Prettier-SQL.keywordCase": "upper",
// TypeScript/React
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"workbench.tree.indent": 30,
"workbench.tree.renderIndentGuides": "always",
"workbench.tree.enableStickyScroll": true,
"workbench.tree.stickyScrollMaxItemCount": 10,
"explorer.confirmDelete": false,
"typescript.updateImportsOnFileMove.enabled": "always",
// JSON/JSONC
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.associations": {
"*.css": "tailwindcss"
},
"prettier.requireConfig": true,
"editor.accessibilitySupport": "off",
"explorer.confirmDragAndDrop": false,
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// HTML
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// TOML
"[toml]": {
"editor.defaultFormatter": "tamasfe.even-better-toml"
},
"cursor.chat.smoothStreaming": true,
"debug.console.fontFamily": "FiraCode Nerd Font Mono",
"debug.console.fontSize": 16,
"git.openRepositoryInParentFolders": "never",
"typescript.updateImportsOnFileMove.enabled": "always",
"evenBetterToml.formatter.indentEntries": true,
"evenBetterToml.formatter.indentTables": true,
"evenBetterToml.formatter.trailingNewline": true,
"window.customTitleBarVisibility": "auto",
"workbench.editor.showTabs": "single",
"cursor.cpp.enablePartialAccepts": true,
"editor.selectionClipboard": false,
// Prettier
"prettier.requireConfig": true,
// Git
"git.openRepositoryInParentFolders": "never",
// Cursor specific settings
"cursor.chat.smoothStreaming": true,
"cursor.chat.showSuggestedFiles": true,
"cursor.chat.collapseInputBoxPills": true,
"cursor.chat.premiumChatAutoScrollWhenAtBottom": true,
"cursor.cmdk.useThemedDiffBackground": true
"cursor.cmdk.useThemedDiffBackground": true,
"cursor.cpp.enablePartialAccepts": true,
// Run on save
"emeraldwalk.runonsave": {
"commands": [
{
"match": "\\.go$",
"cmd": "golines ${file} -w --base-formatter goimports-reviser -m 80 -t 2"
}
]
},
// Extensions
"extensions.ignoreRecommendations": true,
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
],
"nix.formatterPath": "/run/current-system/sw/bin/nixfmt",
}

View File

@ -1,4 +1,4 @@
# Catppuccin color scheme
# Colors (Catppuccin)
set $rosewater #f5e0dc
set $flamingo #f2cdcd
set $pink #f5c2e7
@ -26,8 +26,6 @@ set $base #1e1e2e
set $mantle #181825
set $crust #11111b
# Window colors
# target title bg text indicator border
client.focused $lavender $crust $text $rosewater $lavender
client.focused_inactive $overlay0 $base $text $rosewater $overlay0
client.unfocused $overlay0 $base $text $rosewater $overlay0
@ -35,117 +33,37 @@ client.urgent $peach $base $peach $overlay0 $peach
client.placeholder $overlay0 $base $text $overlay0 $overlay0
client.background $base
# Set mod key (Mod4 = Windows key)
# Core settings
set $mod Mod4
# Window title settings
for_window [class="^.*"] title_format "%title"
title_align center
# General window behavior
# Set the default orientation for new windows (horizontal, vertical, or auto)
default_orientation auto
# Disable focus wrapping (moving focus past the edge of the screen)
focus_wrapping no
# Handle popups during fullscreen mode (leave fullscreen, display popup on current workspace, or ignore)
popup_during_fullscreen smart
# Show urgent workspace for 1000 milliseconds when a window requests attention
force_display_urgency_hint 1000 ms
# Determine how to handle focus when a window is activated (smart, urgent, focus, or none)
focus_on_window_activation urgent
# Enable quick switching between current and previous workspace
workspace_auto_back_and_forth yes
# Font for window titles and bar
font pango:FiraCode Nerd Font Mono Regular 10
floating_modifier $mod
mouse_warping none
# Border settings
# Visual settings
default_border pixel 4
default_floating_border pixel 4
smart_borders on
# Gaps settings
gaps inner 8
gaps outer 0
smart_gaps on
hide_edge_borders smart
title_align center
hide_edge_borders none
# Window behavior
for_window [class="^.*"] title_format "%title"
default_orientation auto
focus_wrapping no
popup_during_fullscreen smart
force_display_urgency_hint 1000 ms
focus_on_window_activation urgent
workspace_auto_back_and_forth yes
tiling_drag modifier titlebar
# Floating windows
# Floating rules
for_window [window_role="(?i)(?:pop-up|setup)"] floating enable
for_window [class="zoom"] floating enable
# Disable mouse warping
mouse_warping none
# Startup applications
exec --no-startup-id picom
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
# XDG desktop portal
exec --no-startup-id /usr/lib/xdg-desktop-portal &
exec --no-startup-id /usr/lib/xdg-desktop-portal-gtk &
# Start XDG autostart .desktop files using dex
exec --no-startup-id dex --autostart --environment i3
# Use Mouse+$mod to drag floating windows
floating_modifier $mod
# Allow dragging tiling windows by holding down $mod and left mouse button
tiling_drag modifier titlebar
# Keybindings
# Start a terminal
bindsym $mod+Return exec kitty
# Start a brave browser
bindsym $mod+b exec brave
bindsym $mod+c exec cursor
# Kill focused window
bindsym $mod+a kill
# Start rofi (a program launcher)
bindsym $mod+d exec --no-startup-id rofi -show run
bindsym $mod+Tab exec --no-startup-id rofi -show window
# Change focus
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move focused window
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# Split orientation
bindsym $mod+h split h
bindsym $mod+v split v
# Enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# Change container layout
bindsym $mod+s layout stacking
bindsym $mod+z layout tabbed
bindsym $mod+e layout toggle split
# Toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# Change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# Focus the parent container
bindsym $mod+q focus parent
# Workspace names
# Workspace configuration
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
@ -157,7 +75,6 @@ set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# Assign workspaces to specific outputs
workspace $ws1 output DP-0
workspace $ws2 output DP-0
workspace $ws3 output DP-0
@ -169,7 +86,43 @@ workspace $ws8 output DP-1-3
workspace $ws9 output DP-1-3
workspace $ws10 output DP-1-3
# Switch to workspace
# Application assignments
assign [class="Brave-browser"] $ws4
assign [class="thunderbird"] $ws9
assign [class="Jellyfin Media Player"] $ws8
assign [class="ZapZap"] $ws7
# Key bindings
bindsym $mod+Return exec kitty
bindsym $mod+b exec brave
bindsym $mod+c exec cursor
bindsym $mod+shift+f exec cursor ~/dotfiles
bindsym $mod+a kill
bindsym $mod+d exec --no-startup-id rofi -show run
bindsym $mod+Tab exec --no-startup-id rofi -show window
bindsym $mod+l exec betterlockscreen -l --display 1 --off 30
bindsym $mod+p --release exec scrot -s ~/Pictures/Screenshots/scrot_%F.png -e 'xclip -selection clipboard -t image/png -i $f'
# Navigation
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# Layout control
bindsym $mod+h split h
bindsym $mod+v split v
bindsym $mod+f fullscreen toggle
bindsym $mod+s layout stacking
bindsym $mod+z layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+q focus parent
# Workspace switching
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
@ -181,7 +134,6 @@ bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
@ -193,41 +145,17 @@ bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# Reload the configuration file
# System control
bindsym $mod+Shift+c reload
# Restart i3 inplace
bindsym $mod+Shift+r restart
# Exit i3
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
# Lock screen
bindsym $mod+l exec betterlockscreen -l dimblur --display 1 --off 10
# Resize window mode
bindsym $mod+r mode "resize"
mode "resize" {
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
# Screenshot
bindsym $mod+p --release exec scrot -s ~/Pictures/Screenshots/scrot_%F.png -e 'xclip -selection clipboard -t image/png -i $f'
# Assign applications to specific workspaces
assign [class="Brave-browser"] $ws4
assign [class="thunderbird"] $ws9
assign [class="Jellyfin Media Player"] $ws8
assign [class="ZapZap"] $ws7
# Autostart applications
exec --no-startup-id picom
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
exec --no-startup-id /usr/lib/xdg-desktop-portal &
exec --no-startup-id /usr/lib/xdg-desktop-portal-gtk &
exec --no-startup-id dex --autostart --environment i3
exec --no-startup-id deadd-notification-center
exec --no-startup-id brave
exec --no-startup-id thunderbird

View File

@ -1,30 +1,25 @@
{
"Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" },
"LuaSnip": { "branch": "master", "commit": "2b6860d15aaab01d3fb90859c0ba97f20ad7bc5f" },
"catppuccin": { "branch": "main", "commit": "5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe" },
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"LuaSnip": { "branch": "master", "commit": "0f7bbce41ea152a94d12aea286f2ce98e63c0f58" },
"catppuccin": { "branch": "main", "commit": "637d99e638bc6f1efedac582f6ccab08badac0c6" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"copilot.vim": { "branch": "release", "commit": "53d3091be388ff1edacdb84421ccfa19a446a84d" },
"fidget.nvim": { "branch": "main", "commit": "ef99df04a1c53a453602421bc0f756997edc8289" },
"lazy.nvim": { "branch": "main", "commit": "ff904178089582f90fdc625493f3d3bddbefd6ea" },
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "a4caa0d083aab56f6cd5acf2d42331b74614a585" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"fidget.nvim": { "branch": "main", "commit": "e2a175c2abe2d4f65357da1c98c59a5cfb2b543f" },
"lazy.nvim": { "branch": "main", "commit": "56ead98e05bb37a4ec28930a54d836d033cf00f2" },
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "43894adcf10bb1190c2184bd7c1750e8ea2b3dce" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "c5e07b8ff54187716334d585db34282e46fa2932" },
"mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" },
"new-file-template.nvim": { "branch": "master", "commit": "e4d0654225326816a80545c97f31f57407658e34" },
"none-ls.nvim": { "branch": "main", "commit": "8691504118b252d64fc5023a104aedd100ab754a" },
"nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" },
"nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" },
"nvim-lspconfig": { "branch": "master", "commit": "d1ab6b6051976b04948e127b0f302a465b1394d6" },
"nvim-treesitter": { "branch": "master", "commit": "fc9ee79f64b18bf431e862c2462d4f76d488492a" },
"nvim-web-devicons": { "branch": "master", "commit": "b77921fdc44833c994fdb389d658ccbce5490c16" },
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
"none-ls.nvim": { "branch": "main", "commit": "1f2bf17eddfdd45aed254b6922c6c68b933dba9e" },
"nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" },
"nvim-cmp": { "branch": "main", "commit": "be7bd4c5f860c79da97af3a26d489af50babfd4b" },
"nvim-lspconfig": { "branch": "master", "commit": "291a8f1a319dc712db85bcc174b0cf406f0a5b69" },
"nvim-treesitter": { "branch": "master", "commit": "cd2acc803b9e2f9377fb31fbeb993f6e363466f5" },
"nvim-web-devicons": { "branch": "master", "commit": "e87554285f581047b1bf236794b0eb812b444b87" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
"trouble.nvim": { "branch": "main", "commit": "6ce015ea999879364e35f20da3e8687583d3b719" },
"vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" },
"vim-dadbod-completion": { "branch": "master", "commit": "5d5ad196fcde223509d7dabbade0148f7884c5e3" },
"vim-dadbod-ui": { "branch": "master", "commit": "0dc68d9225a70d42f8645049482e090c1a8dce25" },
"which-key.nvim": { "branch": "main", "commit": "d87c01c9bbcc7c1c2d248dca1b11285259d66be8" }
"trouble.nvim": { "branch": "main", "commit": "3dc00c0447c016cd43e03054c3d49436a1f2076d" },
"which-key.nvim": { "branch": "main", "commit": "68e37e12913a66b60073906f5d3f14dee0de19f2" }
}

View File

@ -1,5 +0,0 @@
return {
{
"github/copilot.vim",
},
}

View File

@ -1,28 +0,0 @@
return {
{
"tpope/vim-dadbod",
dependencies = {
"kristijanhusak/vim-dadbod-completion",
},
},
{
"kristijanhusak/vim-dadbod-ui",
config = function()
vim.g.db_ui_use_nerd_fonts = 1
vim.keymap.set("n", "<leader>db", function()
vim.cmd.DBUIToggle()
end)
vim.api.nvim_create_autocmd("FileType", {
pattern = {
"sql",
"mysql",
"plsql",
},
callback = function()
require("cmp").setup.buffer({ sources = { { name = "vim-dadbod-completion" } } })
end,
})
end,
},
}

View File

@ -13,8 +13,6 @@ return {
require("mason-lspconfig").setup({
ensure_installed = {
"lua_ls",
"gopls",
"tsserver",
},
})
end,
@ -26,8 +24,6 @@ return {
require("mason-tool-installer").setup({
ensure_installed = {
"stylua",
"golines",
"goimports-reviser",
},
})
end,
@ -84,14 +80,6 @@ return {
on_attach = on_attach,
capabilities = capabilities,
})
lspconfig.gopls.setup({
on_attach = on_attach,
capabilities = capabilities,
})
lspconfig.tsserver.setup({
on_attach = on_attach,
capabilities = capabilities,
})
end,
},
{
@ -102,9 +90,6 @@ return {
null_ls.setup({
sources = {
null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.golines.with({
extra_args = { "--base-formatter", "goimports-reviser", "-m", "120", "-t", "2" },
}),
},
})

View File

@ -1,8 +0,0 @@
return {
{
"otavioschwanck/new-file-template.nvim",
config = function()
require("new-file-template").setup()
end,
},
}

View File

@ -1,14 +0,0 @@
local utils = require("new-file-template.utils")
return function(opts)
local function base_template(path)
local foldername = path:match("([^/]+)[/]?$")
return [[package ]] .. foldername .. [[\n\n|cursor|]]
end
local template = {
{ pattern = ".*", content = base_template },
}
return utils.find_entry(template, opts)
end

View File

@ -80,4 +80,3 @@ vim.opt.guicursor = {
"sm:block-blinkwait175-blinkoff150-blinkon175", -- Showmatch: block cursor with specific blinking settings
}
vim.g.db = "postgres://sorare:sorare@192.168.1.250:5436/sorare?sslmode=disable"

View File

@ -1,78 +1,66 @@
{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
"console_title_template": "{{ .Shell }} in {{ .Folder }}",
"final_space": true,
"version": 2,
"palette": {
"rosewater": "#F5E0DC",
"flamingo": "#F2CDCD",
"pink": "#F5C2E7",
"mauve": "#CBA6F7",
"red": "#F38BA8",
"maroon": "#EBA0AC",
"peach": "#FAB387",
"yellow": "#F9E2AF",
"green": "#A6E3A1",
"teal": "#94E2D5",
"sky": "#89DCEB",
"sapphire": "#74C7EC",
"blue": "#89B4FA",
"lavender": "#B4BEFE",
"text": "#CDD6F4",
"subtext1": "#BAC2DE",
"subtext0": "#A6ADC8",
"overlay2": "#9399B2",
"overlay1": "#7F849C",
"overlay0": "#6C7086",
"surface2": "#585B70",
"surface1": "#45475A",
"surface0": "#313244",
"base": "#1E1E2E",
"mantle": "#181825",
"blue": "#89B4FA",
"crust": "#11111B",
"false": "p:red",
"flamingo": "#F2CDCD",
"green": "#A6E3A1",
"lavender": "#B4BEFE",
"mantle": "#181825",
"maroon": "#EBA0AC",
"mauve": "#CBA6F7",
"overlay0": "#6C7086",
"overlay1": "#7F849C",
"overlay2": "#9399B2",
"peach": "#FAB387",
"pink": "#F5C2E7",
"red": "#F38BA8",
"rosewater": "#F5E0DC",
"sapphire": "#74C7EC",
"sky": "#89DCEB",
"subtext0": "#A6ADC8",
"subtext1": "#BAC2DE",
"surface0": "#313244",
"surface1": "#45475A",
"surface2": "#585B70",
"teal": "#94E2D5",
"text": "#CDD6F4",
"true": "p:green",
"false": "p:red"
"yellow": "#F9E2AF"
},
"transient_prompt": {
"foreground": "p:text",
"template": "{{ .PWD }} {{ now | date \"15:04:05\" }} {{ if gt .Code 0 }}<p:false></>{{ else }}<p:true></>{{ end }} "
"template": "{{ .PWD }} {{ now | date \"15:04:05\" }} {{ if gt .Code 0 }}<p:false></>{{ else }}<p:true></>{{ end }} ",
"foreground": "p:text"
},
"console_title_template": "{{ .Shell }} in {{ .Folder }}",
"blocks": [
{
"type": "prompt",
"alignment": "left",
"segments": [
{
"type": "os",
"background": "p:surface0",
"foreground": "p:text",
"leading_diamond": "",
"style": "diamond",
"template": " {{.Icon}} "
"leading_diamond": "\ue0b2",
"template": " {{.Icon}} ",
"foreground": "p:text",
"background": "p:surface0",
"type": "os"
},
{
"background": "p:lavender",
"foreground": "p:base",
"powerline_symbol": "",
"properties": {
"home_icon": "~",
"style": "full"
},
"style": "powerline",
"template": " \uf07c {{ .Path }} ",
"foreground": "p:base",
"powerline_symbol": "\ue0b0",
"background": "p:lavender",
"type": "path"
},
{
"background": "#4e9a06",
"background_templates": [
"{{ if or (.Working.Changed) (.Staging.Changed) }}#c4a000{{ end }}",
"{{ if and (gt .Ahead 0) (gt .Behind 0) }}#f26d50{{ end }}",
"{{ if gt .Ahead 0 }}#89d1dc{{ end }}",
"{{ if gt .Behind 0 }}#4e9a06{{ end }}"
],
"foreground": "#000000",
"powerline_symbol": "\ue0b0",
"properties": {
"branch_icon": "\uf126 ",
"fetch_stash_count": true,
@ -81,107 +69,116 @@
},
"style": "powerline",
"template": " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} \ueb4b {{ .StashCount }}{{ end }} ",
"type": "git"
"foreground": "#000000",
"powerline_symbol": "\ue0b0",
"background": "#4e9a06",
"type": "git",
"background_templates": [
"{{ if or (.Working.Changed) (.Staging.Changed) }}#c4a000{{ end }}",
"{{ if and (gt .Ahead 0) (gt .Behind 0) }}#f26d50{{ end }}",
"{{ if gt .Ahead 0 }}#89d1dc{{ end }}",
"{{ if gt .Behind 0 }}#4e9a06{{ end }}"
]
}
],
"type": "prompt"
]
},
{
"type": "prompt",
"alignment": "right",
"segments": [
{
"background": "#689f63",
"foreground": "#ffffff",
"invert_powerline": true,
"powerline_symbol": "\ue0b2",
"properties": {
"fetch_version": true
},
"style": "powerline",
"template": " {{ if .PackageManagerIcon }}{{ .PackageManagerIcon }} {{ end }}{{ .Full }} \ue718 ",
"type": "node"
"foreground": "#ffffff",
"powerline_symbol": "\ue0b2",
"background": "#689f63",
"type": "node",
"invert_powerline": true
},
{
"background": "#00acd7",
"foreground": "#111111",
"invert_powerline": true,
"powerline_symbol": "\ue0b2",
"properties": {
"fetch_version": true
},
"style": "powerline",
"template": " {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} \ue627 ",
"type": "go"
"foreground": "#111111",
"powerline_symbol": "\ue0b2",
"background": "#00acd7",
"type": "go",
"invert_powerline": true
},
{
"background": "#4063D8",
"foreground": "#111111",
"invert_powerline": true,
"powerline_symbol": "\ue0b2",
"properties": {
"fetch_version": true
},
"style": "powerline",
"template": " {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} \ue624 ",
"type": "julia"
"foreground": "#111111",
"powerline_symbol": "\ue0b2",
"background": "#4063D8",
"type": "julia",
"invert_powerline": true
},
{
"background": "#FFDE57",
"foreground": "#111111",
"invert_powerline": true,
"powerline_symbol": "\ue0b2",
"properties": {
"display_mode": "files",
"fetch_virtual_env": false
},
"style": "powerline",
"template": " {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} \ue235 ",
"type": "python"
"foreground": "#111111",
"powerline_symbol": "\ue0b2",
"background": "#FFDE57",
"type": "python",
"invert_powerline": true
},
{
"background": "p:yellow",
"foreground": "p:text",
"invert_powerline": true,
"powerline_symbol": "",
"style": "accordion",
"template": "  ",
"type": "root"
"template": " \uf0ad ",
"foreground": "p:text",
"powerline_symbol": "\ue0b2",
"background": "p:yellow",
"type": "root",
"invert_powerline": true
},
{
"background": "p:surface0",
"background_templates": [
"{{ if gt .Code 0 }}p:red{{ end }}"
],
"foreground": "p:text",
"foreground_templates": [
"{{ if gt .Code 0 }}p:surface0{{ end }}"
],
"invert_powerline": true,
"powerline_symbol": "",
"properties": {
"always_enabled": true
},
"style": "diamond",
"template": " {{ if gt .Code 0 }}{{ reason .Code }}{{ else }}{{ end }} ",
"trailing_diamond": "\ue0b0",
"template": " {{ if gt .Code 0 }}{{ reason .Code }}{{ else }}\uf42e{{ end }} ",
"foreground": "p:text",
"powerline_symbol": "\ue0b2",
"background": "p:surface0",
"type": "status",
"trailing_diamond": ""
}
"foreground_templates": [
"{{ if gt .Code 0 }}p:surface0{{ end }}"
],
"type": "prompt"
"background_templates": [
"{{ if gt .Code 0 }}p:red{{ end }}"
],
"invert_powerline": true
}
]
},
{
"type": "prompt",
"alignment": "left",
"newline": true,
"segments": [
{
"foreground": "p:text",
"style": "plain",
"template": "",
"foreground": "p:text",
"type": "text"
}
],
"type": "prompt"
"newline": true
}
]
],
"version": 3,
"final_space": true
}

View File

@ -1,432 +1,8 @@
#################################
# Shadows #
#################################
# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
# shadow = false
shadow = true;
# The blur radius for shadows, in pixels. (defaults to 12)
# shadow-radius = 12
shadow-radius = 7;
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
# shadow-opacity = .75
# The left offset for shadows, in pixels. (defaults to -15)
# shadow-offset-x = -15
shadow-offset-x = -7;
# The top offset for shadows, in pixels. (defaults to -15)
# shadow-offset-y = -15
shadow-offset-y = -7;
# Red color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-red = 0
# Green color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-green = 0
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-blue = 0
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
# shadow-color = "#000000"
# Specify a list of conditions of windows that should have no shadow.
#
# examples:
# shadow-exclude = "n:e:Notification";
#
# shadow-exclude = []
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
# clip-shadow-above = []
# Specify a X geometry that describes the region in which shadow should not
# be painted in, such as a dock window region. Use
# shadow-exclude-reg = "x10+0+0"
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
#
# shadow-exclude-reg = ""
# Crop shadow of a window fully on a particular monitor to that monitor. This is
# currently implemented using the X RandR extension.
# crop-shadow-to-monitor = false
#################################
# Fading #
#################################
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used.
# fading = false
fading = true;
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
# fade-in-step = 0.028
fade-in-step = 0.04;
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
# fade-out-step = 0.03
fade-out-step = 0.04;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
# fade-delta = 10
fade-delta = 8;
# Specify a list of conditions of windows that should not be faded.
# fade-exclude = []
# Do not fade on window open/close.
# no-fading-openclose = false
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
# no-fading-destroyed-argb = false
#################################
# Transparency / Opacity #
#################################
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
# inactive-opacity = 1
inactive-opacity = 1;
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
# frame-opacity = 1.0
frame-opacity = 1.0;
# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
# inactive-opacity-override = true
inactive-opacity-override = false;
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
# active-opacity = 1.0
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
# inactive-dim = 0.0
# Specify a list of conditions of windows that should never be considered focused.
# focus-exclude = []
focus-exclude = [ "class_g = 'Cairo-clock'" ];
# Use fixed inactive dim value, instead of adjusting according to window opacity.
# inactive-dim-fixed = 1.0
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
# Note we don't make any guarantee about possible conflicts with other
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
# example:
# opacity-rule = [ "80:class_g = 'URxvt'" ];
#
# opacity-rule = []
#################################
# Corners #
#################################
# Sets the radius of rounded window corners. When > 0, the compositor will
# round the corners of windows. Does not interact well with
# `transparent-clipping`.
corner-radius = 0
# Exclude conditions for rounded corners.
rounded-corners-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'"
];
#################################
# Background-Blurring #
#################################
# Parameters for background blurring, see the *BLUR* section for more information.
# blur-method =
# blur-size = 12
#
# blur-deviation = false
#
# blur-strength = 5
# Blur background of semi-transparent / ARGB windows.
# Bad in performance, with driver-dependent behavior.
# The name of the switch may change without prior notifications.
#
# blur-background = false
# Blur background of windows when the window frame is not opaque.
# Implies:
# blur-background
# Bad in performance, with driver-dependent behavior. The name may change.
#
# blur-background-frame = false
# Use fixed blur strength rather than adjusting according to window opacity.
# blur-background-fixed = false
# Specify the blur convolution kernel, with the following format:
# example:
# blur-kern = "5,5,1,1,1,1,1,1,1,1,t1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
#
# blur-kern = ""
blur-kern = "3x3box";
# Exclude conditions for background blur.
# blur-background-exclude = []
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
#################################
# General Settings #
#################################
# Enable remote control via D-Bus. See the man page for more details.
# dbus = true
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false
# Specify the backend to use: `xrender`, `glx`, `egl` or `xr_glx_hybrid`.
# `xrender` is the default one.
#
# backend = "glx"
backend = "xrender";
# Use higher precision during rendering, and apply dither when presenting the
# rendered screen. Reduces banding artifacts, but might cause performance
# degradation. Only works with OpenGL.
dithered-present = false;
# Enable/disable VSync.
# vsync = false
vsync = true;
# Try to detect WM windows (a non-override-redirect window with no
# child that has 'WM_STATE') and mark them as active.
#
# mark-wmwin-focused = false
mark-wmwin-focused = true;
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
# mark-ovredir-focused = false
mark-ovredir-focused = true;
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# detect-rounded-corners = false
detect-rounded-corners = true;
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
#
# detect-client-opacity = false
detect-client-opacity = true;
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
# provided that the WM supports it.
#
# use-ewmh-active-win = false
# Unredirect all windows if a full-screen opaque window is detected,
# to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows.
#
# unredir-if-possible = false
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
# unredir-if-possible-delay = 0
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
# unredir-if-possible-exclude = []
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# detect-transient = false
detect-transient = true;
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
# group focused at the same time. This usually means windows from the same application
# will be considered focused or unfocused at the same time.
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
#
# detect-client-leader = false
# Resize damaged region by a specific number of pixels.
# A positive value enlarges it while a negative one shrinks it.
# If the value is positive, those additional pixels will not be actually painted
# to screen, only used in blur calculation, and such. (Due to technical limitations,
# with use-damage, those pixels will still be incorrectly painted to screen.)
# Primarily used to fix the line corruption issues of blur,
# in which case you should use the blur radius value here
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
# with a 5x5 one you use `--resize-damage 2`, and so on).
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
#
# resize-damage = 1
# Specify a list of conditions of windows that should be painted with inverted color.
# Resource-hogging, and is not well tested.
#
# invert-color-include = []
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
# Might cause incorrect opacity when rendering transparent content (but never
# practically happened) and may not work with blur-background.
# My tests show a 15% performance boost. Recommended.
#
glx-no-stencil = true;
# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes,
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
# Recommended if it works.
#
# glx-no-rebind-pixmap = false
# Disable the use of damage information.
# This cause the whole screen to be redrawn every time, instead of the part of the screen
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
# The opposing option is use-damage
#
# no-use-damage = false
use-damage = true;
# Use X Sync fence to sync clients' draw calls, to make sure all draw
# calls are finished before picom starts drawing. Needed on nvidia-drivers
# with GLX backend for some users.
#
# xrender-sync-fence = false
# GLX backend: Use specified GLSL fragment shader for rendering window
# contents. Read the man page for a detailed explanation of the interface.
#
# window-shader-fg = "default"
# Use rules to set per-window shaders. Syntax is SHADER_PATH:PATTERN, similar
# to opacity-rule. SHADER_PATH can be "default". This overrides window-shader-fg.
#
# window-shader-fg-rule = [
# "my_shader.frag:window_type != 'dock'"
# ]
# Force all windows to be painted with blending. Useful if you
# have a glx-fshader-win that could turn opaque pixels transparent.
#
# force-win-blend = false
# Do not use EWMH to detect fullscreen windows.
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
#
# no-ewmh-fullscreen = false
# Dimming bright windows so their brightness doesn't exceed this set value.
# Brightness of a window is estimated by averaging all pixels in the window,
# so this could comes with a performance hit.
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
#
# max-brightness = 1.0
# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them.
#
# transparent-clipping = false
# Specify a list of conditions of windows that should never have transparent
# clipping applied. Useful for screenshot tools, where you need to be able to
# see through transparent parts of the window.
#
# transparent-clipping-exclude = []
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case doesn't matter.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# log-level = "debug"
log-level = "warn";
# Set the log file.
# If *--log-file* is never specified, logs will be written to stderr.
# Otherwise, logs will to written to the given file, though some of the early
# logs might still be written to the stderr.
# When setting this option from the config file, it is recommended to use an absolute path.
#
# log-file = "/path/to/your/log/file"
# Show all X errors (for debugging)
# show-all-xerrors = false
# Write process ID to a file.
# write-pid-path = "/path/to/your/log/file"
# Window type settings
#
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
# "tooltip", "notification", "combo", and "dnd".
#
# Following per window-type options are available: ::
#
# fade, shadow:::
# Controls window-type-specific shadow and fade settings.
#
# opacity:::
# Controls default opacity of the window type.
#
# focus:::
# Controls whether the window of this type is to be always considered focused.
# (By default, all window types except "normal" and "dialog" has this on.)
#
# full-shadow:::
# Controls whether shadow is drawn under the parts of the window that you
# normally won't be able to see. Useful when the window has parts of it
# transparent, and you want shadows in those areas.
#
# clip-shadow-above:::
# Controls whether shadows that would have been drawn above the window should
# be clipped. Useful for dock windows that should have no shadow painted on top.
#
# redir-ignore:::
# Controls whether this type of windows should cause screen to become
# redirected again after been unredirected. If you have unredir-if-possible
# set, and doesn't want certain window to cause unnecessary screen redirection,
# you can set this to `true`.
#
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
dock = { shadow = false; clip-shadow-above = true; }
dnd = { shadow = false; }
popup_menu = { opacity = 1; }
dropdown_menu = { opacity = 1; }
};

View File

@ -78,8 +78,9 @@ separator-foreground = ${colors.disabled}
font-0 = FiraCode Nerd Font Mono;2
font-1 = Symbols Nerd Font;2
modules-left = xworkspaces
modules-right = filesystem pulseaudio-control-output memory cpu wlan systray powermenu date
modules-left = filesystem
modules-center = xworkspaces
modules-right = pulseaudio-control-output systray powermenu date
cursor-click = pointer
cursor-scroll = ns-resize
@ -152,7 +153,7 @@ interval = 25
mount-0 = /
mount-1 = /home
mount-2 = /mnt/data
#mount-2 = /mnt/data
label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%
@ -206,7 +207,7 @@ type = internal/network
interval = 5
format-connected = <ramp-signal> <label-connected>
format-disconnected = <label-disconnected>
label-connected = %signal%% %downspeed:9% %{T2}%{T-} %upspeed:9% %{T2}%{T-}
label-connected = %signal%%
label-disconnected = %{T2}%{T-}
ramp-signal-0 = %{T2}󰤯%{T-}
ramp-signal-1 = %{T2}󰤟%{T-}

View File

@ -2,7 +2,7 @@ configuration{
modi: "run,drun,window";
icon-theme: "Oranchelo";
show-icons: true;
terminal: "alacritty";
terminal: "kitty";
drun-display-format: "{icon} {name}";
location: 0;
disable-history: false;

View File

@ -11,36 +11,24 @@ zinit light zsh-users/zsh-syntax-highlighting
zinit light zsh-users/zsh-completions
zinit light zsh-users/zsh-autosuggestions
zinit light Aloxaf/fzf-tab
zinit light fdw/yazi-zoxide-zsh
zinit snippet OMZP::git
zinit snippet OMZP::sudo
zinit snippet OMZP::archlinux
autoload -Uz compinit && compinit
zinit cdreplay -q
eval "$(oh-my-posh init zsh --config $HOME/.config/ohmyposh/config.json)"
# Keybindings
bindkey -e
bindkey '^p' history-search-backward
bindkey '^n' history-search-forward
bindkey '^[w' kill-region
# Bind Home key to beginning-of-line
bindkey '^[[H' beginning-of-line
bindkey '^[[1~' beginning-of-line
# Bind End key to end-of-line
bindkey '^[[F' end-of-line
bindkey '^[[4~' end-of-line
bindkey '^[[3~' delete-char
# History
HISTSIZE=5000
HISTFILE=~/.zsh_history
mkdir -p "${XDG_STATE_HOME:-$HOME/.local/state}/zsh"
HISTFILE="${XDG_STATE_HOME:-$HOME/.local/state}/zsh/history"
SAVEHIST=$HISTSIZE
HISTDUP=erase
setopt appendhistory
@ -51,6 +39,7 @@ setopt hist_save_no_dups
setopt hist_ignore_dups
setopt hist_find_no_dups
# Completion styling
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
@ -62,38 +51,20 @@ zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath'
alias ls="eza"
alias ll="eza -alh"
alias tree="eza --tree"
alias zz="cd -"
alias dcupd="docker compose up -d --remove-orphans"
alias dcdown="docker compose down"
alias dclogs="docker logs -f --tail 100"
alias vi="nvim"
alias vim="nvim"
alias lg="lazygit"
alias cc="clear"
alias sgpts="sgpt --shell"
# Shell integrations
eval "$(fzf --zsh)"
eval "$(zoxide init --cmd cd zsh)"
# bun completions
[ -s "/home/laurent/.bun/_bun" ] && source "/home/laurent/.bun/_bun"
export BUN_INSTALL="${bun_install:-$HOME/.bun}"
[ -s "$BUN_INSTALL/_bun" ] && source "$BUN_INSTALL/_bun"
# Shell-GPT integration ZSH v0.2
_sgpt_zsh() {
if [[ -n "$BUFFER" ]]; then
_sgpt_prev_cmd=$BUFFER
BUFFER+="⌛"
zle -I && zle redisplay
BUFFER=$(sgpt --shell <<< "$_sgpt_prev_cmd" --no-interaction)
zle end-of-line
fi
}
zle -N _sgpt_zsh
bindkey ^l _sgpt_zsh
# Shell-GPT integration ZSH v0.2
# bun
export BUN_INSTALL="$HOME/.bun"
export PATH="$HOME/go/bin:$BUN_INSTALL/bin:$HOME/.local/bin:$PATH"
export TERM=xterm-256color
export PATH="$HOME/go/bin:$BUN_INSTALL/bin:$HOME/.local/bin:$PATH"