Compare commits
16 Commits
d140ad2cd6
...
dde9c63864
| Author | SHA1 | Date | |
|---|---|---|---|
| dde9c63864 | |||
| bf2194f0ed | |||
| e2021d969b | |||
| 58bdf67146 | |||
| 5da01ea977 | |||
| ddf445e085 | |||
| 9395d5afa6 | |||
| 76e3e04725 | |||
| f0dd72746c | |||
| b203e679cd | |||
| 12d88a89d3 | |||
| b472681050 | |||
| 7cd4fc3ae0 | |||
| f94f3bf9be | |||
| f5de836082 | |||
| a798eea4cd |
35
.config/hypr/animations.conf
Normal file
35
.config/hypr/animations.conf
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
##################
|
||||||
|
### ANIMATIONS ###
|
||||||
|
##################
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = yes, please :)
|
||||||
|
|
||||||
|
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = easeOutQuint,0.23,1,0.32,1
|
||||||
|
bezier = easeInOutCubic,0.65,0.05,0.36,1
|
||||||
|
bezier = linear,0,0,1,1
|
||||||
|
bezier = almostLinear,0.5,0.5,0.75,1.0
|
||||||
|
bezier = quick,0.15,0,0.1,1
|
||||||
|
|
||||||
|
animation = global, 1, 10, default
|
||||||
|
animation = border, 1, 5.39, easeOutQuint
|
||||||
|
animation = windows, 1, 4.79, easeOutQuint
|
||||||
|
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
||||||
|
animation = windowsOut, 1, 1.49, linear, popin 87%
|
||||||
|
animation = fadeIn, 1, 1.73, almostLinear
|
||||||
|
animation = fadeOut, 1, 1.46, almostLinear
|
||||||
|
animation = fade, 1, 3.03, quick
|
||||||
|
animation = layers, 1, 3.81, easeOutQuint
|
||||||
|
animation = layersIn, 1, 4, easeOutQuint, fade
|
||||||
|
animation = layersOut, 1, 1.5, linear, fade
|
||||||
|
animation = fadeLayersIn, 1, 1.79, almostLinear
|
||||||
|
animation = fadeLayersOut, 1, 1.39, almostLinear
|
||||||
|
animation = workspaces, 1, 1.94, almostLinear, fade
|
||||||
|
animation = workspacesIn, 1, 1.21, almostLinear, fade
|
||||||
|
animation = workspacesOut, 1, 1.94, almostLinear, fade
|
||||||
|
}
|
||||||
|
|
||||||
66
.config/hypr/appearance.conf
Normal file
66
.config/hypr/appearance.conf
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
###############
|
||||||
|
### GENERAL ###
|
||||||
|
###############
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||||
|
|
||||||
|
general {
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 15
|
||||||
|
|
||||||
|
border_size = 3
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||||
|
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||||
|
col.inactive_border = rgba(595959aa)
|
||||||
|
|
||||||
|
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||||
|
resize_on_border = false
|
||||||
|
|
||||||
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||||
|
allow_tearing = false
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
##################
|
||||||
|
### DECORATION ###
|
||||||
|
##################
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
rounding = 10
|
||||||
|
rounding_power = 5
|
||||||
|
|
||||||
|
# Change transparency of focused and unfocused windows
|
||||||
|
active_opacity = 1.0
|
||||||
|
inactive_opacity = 0.95
|
||||||
|
|
||||||
|
shadow {
|
||||||
|
enabled = true
|
||||||
|
range = 4
|
||||||
|
render_power = 3
|
||||||
|
color = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
|
||||||
|
vibrancy = 0.1696
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
############
|
||||||
|
### MISC ###
|
||||||
|
############
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||||
|
|
||||||
|
misc {
|
||||||
|
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
|
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
||||||
|
}
|
||||||
|
|
||||||
8
.config/hypr/autostart.conf
Normal file
8
.config/hypr/autostart.conf
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#################
|
||||||
|
### AUTOSTART ###
|
||||||
|
#################
|
||||||
|
|
||||||
|
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||||
|
|
||||||
|
exec-once = /home/iborrelli/.config/hypr/waybar.sh
|
||||||
|
|
||||||
9
.config/hypr/env.conf
Normal file
9
.config/hypr/env.conf
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#############################
|
||||||
|
### ENVIRONMENT VARIABLES ###
|
||||||
|
#############################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||||
|
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = HYPRCURSOR_SIZE,24
|
||||||
|
|
||||||
14
.config/hypr/hyprland.conf
Normal file
14
.config/hypr/hyprland.conf
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
$hypr_config_dir = ~/.config/hypr
|
||||||
|
source = $hypr_config_dir/monitors.conf
|
||||||
|
source = $hypr_config_dir/programs.conf
|
||||||
|
source = $hypr_config_dir/autostart.conf
|
||||||
|
source = $hypr_config_dir/env.conf
|
||||||
|
source = $hypr_config_dir/appearance.conf
|
||||||
|
source = $hypr_config_dir/layout.conf
|
||||||
|
source = $hypr_config_dir/animations.conf
|
||||||
|
source = $hypr_config_dir/input.conf
|
||||||
|
source = $hypr_config_dir/keybindings.conf
|
||||||
|
source = $hypr_config_dir/rules.conf
|
||||||
|
|
||||||
|
# Wiki
|
||||||
|
# https://wiki.hyprland.org/Configuring/
|
||||||
33
.config/hypr/input.conf
Normal file
33
.config/hypr/input.conf
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#############
|
||||||
|
### INPUT ###
|
||||||
|
#############
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||||
|
input {
|
||||||
|
kb_layout = us
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||||
|
gestures {
|
||||||
|
workspace_swipe = false
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||||
|
device {
|
||||||
|
name = epic-mouse-v1
|
||||||
|
sensitivity = -0.5
|
||||||
|
}
|
||||||
|
|
||||||
91
.config/hypr/keybindings.conf
Normal file
91
.config/hypr/keybindings.conf
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
###################
|
||||||
|
### KEYBINDINGS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||||
|
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||||
|
$mod2 = ALT
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod, Q, exec, $terminal
|
||||||
|
bind = $mainMod, Return, exec, $terminal
|
||||||
|
bind = $mainMod, C, killactive,
|
||||||
|
bind = $mainMod, M, exit,
|
||||||
|
bind = $mainMod, E, exec, $fileManager
|
||||||
|
bind = $mainMod, V, togglefloating,
|
||||||
|
bind = $mainMod, R, exec, $menu
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod, J, togglesplit, # dwindle
|
||||||
|
bind = $mainMod, F, fullscreen
|
||||||
|
bind = $mainMod, B, exec, $browser
|
||||||
|
|
||||||
|
# Shift workspace to next monitor
|
||||||
|
bind = $mainMod, Semicolon, movecurrentworkspacetomonitor, +1
|
||||||
|
bind = $mainMod Shift, Semicolon, movecurrentworkspacetomonitor, -1
|
||||||
|
|
||||||
|
# Move focus with mainMod + (arrow keys / hjkl)
|
||||||
|
bind = $mainMod, left, movefocus, l
|
||||||
|
bind = $mainMod, right, movefocus, r
|
||||||
|
bind = $mainMod, up, movefocus, u
|
||||||
|
bind = $mainMod, down, movefocus, d
|
||||||
|
bind = $mainMod, h, movefocus, l
|
||||||
|
bind = $mainMod, l, movefocus, r
|
||||||
|
bind = $mainMod, k, movefocus, u
|
||||||
|
bind = $mainMod, j, movefocus, d
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
# Example special workspace (scratchpad)
|
||||||
|
bind = $mainMod, S, togglespecialworkspace, magic
|
||||||
|
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll or mod2 + (arrow keys / hjkl)
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
bind = $mod2, right, workspace, e+1
|
||||||
|
bind = $mod2, left, workspace, e-1
|
||||||
|
bind = $mod2, h, workspace, e-1
|
||||||
|
bind = $mod2, j, workspace, e-1
|
||||||
|
bind = $mod2, k, workspace, e+1
|
||||||
|
bind = $mod2, l, workspace, e+1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Laptop multimedia keys for volume and LCD brightness
|
||||||
|
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||||
|
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||||
|
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||||
|
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||||
|
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
||||||
|
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
||||||
|
|
||||||
|
# Requires playerctl
|
||||||
|
bindl = , XF86AudioNext, exec, playerctl next
|
||||||
|
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||||
|
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||||
|
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||||
|
|
||||||
19
.config/hypr/layout.conf
Normal file
19
.config/hypr/layout.conf
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
##############
|
||||||
|
### LAYOUT ###
|
||||||
|
##############
|
||||||
|
|
||||||
|
general {
|
||||||
|
layout = dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
dwindle {
|
||||||
|
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = true # You probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||||
|
master {
|
||||||
|
new_status = master
|
||||||
|
}
|
||||||
|
|
||||||
8
.config/hypr/monitors.conf
Normal file
8
.config/hypr/monitors.conf
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
################
|
||||||
|
### MONITORS ###
|
||||||
|
################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
|
||||||
|
monitor=,preferred,auto,auto
|
||||||
|
|
||||||
12
.config/hypr/programs.conf
Normal file
12
.config/hypr/programs.conf
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
###################
|
||||||
|
### MY PROGRAMS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||||
|
|
||||||
|
$terminal = kitty
|
||||||
|
$fileManager = zsh -c 'source ~/.zshrc && kitty yazi'
|
||||||
|
$menu = wofi --show drun
|
||||||
|
$browser = firefox
|
||||||
|
$email = thunderbird
|
||||||
|
|
||||||
14
.config/hypr/rules.conf
Normal file
14
.config/hypr/rules.conf
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
##############################
|
||||||
|
### WINDOWS AND WORKSPACES ###
|
||||||
|
##############################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||||
|
|
||||||
|
# Ignore maximize requests from apps. You'll probably like this.
|
||||||
|
windowrule = suppressevent maximize, class:.*
|
||||||
|
|
||||||
|
# Fix some dragging issues with XWayland
|
||||||
|
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||||
|
|
||||||
11
.config/hypr/waybar.sh
Executable file
11
.config/hypr/waybar.sh
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
CONFIG_FILES="$HOME/.config/waybar/config.jsonc $HOME/.config/waybar/style.css"
|
||||||
|
|
||||||
|
trap "killall waybar" EXIT
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
waybar &
|
||||||
|
inotifywait -e create,modify $CONFIG_FILES
|
||||||
|
killall waybar
|
||||||
|
done
|
||||||
10
.config/nvim/init.lua
Normal file
10
.config/nvim/init.lua
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
-- Setup leader keys before loading lazy.nvim
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
vim.g.maplocalleader = "\\"
|
||||||
|
|
||||||
|
-- Initialize lazy.nvim
|
||||||
|
require("config.lazy")
|
||||||
|
|
||||||
|
-- Source other configuration files
|
||||||
|
require("keybindings")
|
||||||
|
require("settings")
|
||||||
37
.config/nvim/lua/config/lazy.lua
Normal file
37
.config/nvim/lua/config/lazy.lua
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
-- Bootstrap lazy.nvim
|
||||||
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
|
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||||
|
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||||
|
if vim.v.shell_error ~= 0 then
|
||||||
|
vim.api.nvim_echo({
|
||||||
|
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||||
|
{ out, "WarningMsg" },
|
||||||
|
{ "\nPress any key to exit..." },
|
||||||
|
}, true, {})
|
||||||
|
vim.fn.getchar()
|
||||||
|
os.exit(1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
-- Setup lazy.nvim
|
||||||
|
require("lazy").setup({
|
||||||
|
spec = {
|
||||||
|
-- import your plugins
|
||||||
|
{ import = "plugins" },
|
||||||
|
{ import = "plugins.file_navigation" },
|
||||||
|
{ import = "plugins.language_support" },
|
||||||
|
{ import = "plugins.lsp" },
|
||||||
|
{ import = "plugins.ui" },
|
||||||
|
{ import = "plugins.util" },
|
||||||
|
},
|
||||||
|
|
||||||
|
-- colorscheme that will be used when installing plugins.
|
||||||
|
install = { colorscheme = { "habamax" } },
|
||||||
|
-- automatically check for plugin updates
|
||||||
|
checker = { enabled = true },
|
||||||
|
-- don't notify on changes to configs
|
||||||
|
change_detection = { enabled = false },
|
||||||
|
})
|
||||||
14
.config/nvim/lua/keybindings.lua
Normal file
14
.config/nvim/lua/keybindings.lua
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
local map = vim.api.nvim_set_keymap
|
||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
|
||||||
|
opts.desc = "Navigate window left"
|
||||||
|
map("n", "<leader>h", "<C-w>h", opts)
|
||||||
|
|
||||||
|
opts.desc = "Navigate window down"
|
||||||
|
map("n", "<leader>j", "<C-w>j", opts)
|
||||||
|
|
||||||
|
opts.desc = "Navigate window up"
|
||||||
|
map("n", "<leader>k", "<C-w>k", opts)
|
||||||
|
|
||||||
|
opts.desc = "Navigate window right"
|
||||||
|
map("n", "<leader>l", "<C-w>l", opts)
|
||||||
74
.config/nvim/lua/plugins/theme.lua
Normal file
74
.config/nvim/lua/plugins/theme.lua
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"comfysage/cuddlefish.nvim",
|
||||||
|
config = function()
|
||||||
|
require("cuddlefish").setup({
|
||||||
|
theme = {
|
||||||
|
accent = "pink",
|
||||||
|
},
|
||||||
|
editor = {
|
||||||
|
transparent_background = false,
|
||||||
|
},
|
||||||
|
style = {
|
||||||
|
tabline = { "reverse" },
|
||||||
|
search = { "italic", "reverse" },
|
||||||
|
incsearch = { "italic", "reverse" },
|
||||||
|
types = { "italic" },
|
||||||
|
keyword = { "italic" },
|
||||||
|
comment = { "italic" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{ "maxmx03/dracula.nvim" },
|
||||||
|
{
|
||||||
|
"rebelot/kanagawa.nvim",
|
||||||
|
},
|
||||||
|
{ "2giosangmitom/nightfall.nvim" },
|
||||||
|
{
|
||||||
|
"olimorris/onedarkpro.nvim",
|
||||||
|
},
|
||||||
|
{ "pauchiner/pastelnight.nvim" },
|
||||||
|
{ "numToStr/Sakura.nvim" },
|
||||||
|
{
|
||||||
|
"folke/tokyonight.nvim",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"yorumicolors/yorumi.nvim",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"zaldih/themery.nvim",
|
||||||
|
lazy = false,
|
||||||
|
priority = 1000,
|
||||||
|
config = function()
|
||||||
|
vim.cmd("colorscheme deeper-night")
|
||||||
|
local themery = require("themery")
|
||||||
|
|
||||||
|
themery.setup({
|
||||||
|
-- List of swappable colorschemes.
|
||||||
|
themes = {
|
||||||
|
"cuddlefish",
|
||||||
|
"deeper-night",
|
||||||
|
"onedark_dark",
|
||||||
|
"dracula",
|
||||||
|
"yorumi",
|
||||||
|
"nord",
|
||||||
|
"tokyonight-moon",
|
||||||
|
"kanagawa-dragon",
|
||||||
|
"sakura",
|
||||||
|
"pastelnight",
|
||||||
|
},
|
||||||
|
livePreview = true, -- Apply theme while picking. Default to true.
|
||||||
|
})
|
||||||
|
|
||||||
|
themery.setThemeByIndex(1, true)
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>tt", function()
|
||||||
|
local numberOfThemes = #themery.getAvailableThemes()
|
||||||
|
local currentThemeIndex = themery.getCurrentTheme().index
|
||||||
|
local nextThemeIndex = (currentThemeIndex % numberOfThemes) + 1
|
||||||
|
themery.setThemeByIndex(nextThemeIndex, true)
|
||||||
|
end, { noremap = true })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
13
.config/nvim/lua/settings.lua
Normal file
13
.config/nvim/lua/settings.lua
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
-- Set basic options
|
||||||
|
vim.o.number = true -- Show line numbers
|
||||||
|
vim.o.relativenumber = true -- Show relative line numbers
|
||||||
|
vim.o.tabstop = 4 -- Number of spaces tabs count for
|
||||||
|
vim.o.shiftwidth = 4 -- Number of spaces to use for each step of (auto)indent
|
||||||
|
vim.o.expandtab = true -- Convert tabs to spaces
|
||||||
|
vim.o.smartindent = true -- Insert indents automatically
|
||||||
|
|
||||||
|
vim.filetype.add({
|
||||||
|
pattern = {
|
||||||
|
[".*/etc/nginx/.*/.*%.conf"] = "nginx", -- Make conf files in the nginx folder can be formatted with nginx formatter
|
||||||
|
},
|
||||||
|
})
|
||||||
35
.config/tmux/catppuccin.conf
Normal file
35
.config/tmux/catppuccin.conf
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
##################
|
||||||
|
### CATPPUCCIN ###
|
||||||
|
##################
|
||||||
|
|
||||||
|
set -g @catppuccin_flavor "frappe"
|
||||||
|
|
||||||
|
set -g status-right-length 100
|
||||||
|
set -g status-left-length 100
|
||||||
|
|
||||||
|
# Window
|
||||||
|
set -g @catppuccin_window_status_style "rounded"
|
||||||
|
|
||||||
|
run ~/.config/tmux/plugins/tmux/catppuccin.tmux
|
||||||
|
|
||||||
|
## Window global/default configuration
|
||||||
|
set -g @catppuccin_window_text " #W"
|
||||||
|
set -g @catppuccin_window_status "icon"
|
||||||
|
set -g @catppuccin_window_default_fill "number"
|
||||||
|
set -g @catppuccin_window_number_position "left"
|
||||||
|
|
||||||
|
## Window current configuration
|
||||||
|
set -g @catppuccin_window_current_text " #W"
|
||||||
|
set -g @catppuccin_window_current_fill "all"
|
||||||
|
set -g @catppuccin_window_current_number_color "#{@thm_maroon}"
|
||||||
|
|
||||||
|
set -g @catppuccin_window_text_color "#{@thm_surface_0}"
|
||||||
|
set -g @catppuccin_window_number_color "#{@thm_rosewater}"
|
||||||
|
|
||||||
|
# Status
|
||||||
|
set -gF status-left ""
|
||||||
|
set -gF status-right "#{@catppuccin_status_session}"
|
||||||
|
set -agF status-right "#{@catppuccin_status_directory}"
|
||||||
|
set -agF status-right "#{@catppuccin_status_user}"
|
||||||
|
set -agF status-right "#{@catppuccin_status_host}"
|
||||||
|
set -agF status-right "#{E:@catppuccin_status_date_time}"
|
||||||
111
.config/tmux/tmux.conf
Normal file
111
.config/tmux/tmux.conf
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
###############
|
||||||
|
### PLUGINS ###
|
||||||
|
###############
|
||||||
|
|
||||||
|
set -g default-terminal "tmux-256color"
|
||||||
|
|
||||||
|
set -g @plugin 'catppuccin/tmux#v2.1.3'
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||||
|
set -g @plugin 'tmux-plugins/tpm'
|
||||||
|
|
||||||
|
|
||||||
|
################
|
||||||
|
### BINDINGS ###
|
||||||
|
################
|
||||||
|
|
||||||
|
### PREFIXED ###
|
||||||
|
|
||||||
|
# r : RELOAD
|
||||||
|
bind r source-file ~/.config/tmux/tmux.conf
|
||||||
|
|
||||||
|
# | : HORIZONTAL SPLIT
|
||||||
|
bind | split-window -h
|
||||||
|
|
||||||
|
# - : VERTICAL SPLIT
|
||||||
|
bind - split-window -v
|
||||||
|
|
||||||
|
# X : KILL PANE
|
||||||
|
bind X kill-pane
|
||||||
|
|
||||||
|
# Alt-arrow : RESIZE 1 ROW
|
||||||
|
bind M-Left resize-pane -L 1 \; switch-client -T prefix
|
||||||
|
bind M-Down resize-pane -D 1 \; switch-client -T prefix
|
||||||
|
bind M-Up resize-pane -U 1 \; switch-client -T prefix
|
||||||
|
bind M-Right resize-pane -R 1 \; switch-client -T prefix
|
||||||
|
|
||||||
|
# C-arrow : RESIZE 5 ROWS
|
||||||
|
bind C-Left resize-pane -L 5 \; switch-client -T prefix
|
||||||
|
bind C-Down resize-pane -D 5 \; switch-client -T prefix
|
||||||
|
bind C-Up resize-pane -U 5 \; switch-client -T prefix
|
||||||
|
bind C-Right resize-pane -R 5 \; switch-client -T prefix
|
||||||
|
|
||||||
|
# Alt-c : CHANGE SESSION ROOT DIR
|
||||||
|
bind M-c attach-session -c "#{pane_current_path}"
|
||||||
|
|
||||||
|
|
||||||
|
### UNPREFIXED ###
|
||||||
|
|
||||||
|
# Alt-arrow : SWITCH PANES
|
||||||
|
bind -n M-Left select-pane -L
|
||||||
|
bind -n M-Down select-pane -D
|
||||||
|
bind -n M-Up select-pane -U
|
||||||
|
bind -n M-Right select-pane -R
|
||||||
|
|
||||||
|
# Alt-hjkl : SWITCH PANES
|
||||||
|
bind -n M-h select-pane -L
|
||||||
|
bind -n M-j select-pane -D
|
||||||
|
bind -n M-k select-pane -U
|
||||||
|
bind -n M-l select-pane -R
|
||||||
|
|
||||||
|
# Alt-z : FULL SCREEN
|
||||||
|
bind -n M-z resize-pane -Z
|
||||||
|
|
||||||
|
|
||||||
|
################
|
||||||
|
### SETTINGS ###
|
||||||
|
################
|
||||||
|
|
||||||
|
# Enable mouse
|
||||||
|
set -g mouse on
|
||||||
|
|
||||||
|
# Don't rename windows automatically
|
||||||
|
set-option -g allow-rename off
|
||||||
|
|
||||||
|
# Don't do anything when a 'bell' rings
|
||||||
|
set -g visual-activity off
|
||||||
|
set -g visual-bell off
|
||||||
|
set -g visual-silence off
|
||||||
|
setw -g monitor-activity off
|
||||||
|
set -g bell-action none
|
||||||
|
|
||||||
|
|
||||||
|
#######################
|
||||||
|
### VI MODE COPYING ###
|
||||||
|
#######################
|
||||||
|
|
||||||
|
# Enable Vi keybindings in copy mode
|
||||||
|
set-window-option -g mode-keys vi
|
||||||
|
|
||||||
|
# Bind 'v' to start selection in copy mode
|
||||||
|
bind-key -T copy-mode-vi v send -X begin-selection
|
||||||
|
|
||||||
|
# Bind 'y' to copy the selection to the system clipboard
|
||||||
|
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel
|
||||||
|
|
||||||
|
# Bind 'Y' to copy the entire buffer to the system clipboard
|
||||||
|
bind-key -T copy-mode-vi Y send -X copy-pipe-and-cancel
|
||||||
|
|
||||||
|
|
||||||
|
############
|
||||||
|
### LOAD ###
|
||||||
|
############
|
||||||
|
|
||||||
|
# Catppuccin conf
|
||||||
|
source-file ~/.config/tmux/catppuccin.conf
|
||||||
|
|
||||||
|
# Local conf if using
|
||||||
|
if-shell "[ -f ~/.config/tmux/local.tmux.conf ]" "source-file ~/.config/tmux/local.tmux.conf"
|
||||||
|
|
||||||
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||||
|
# Install with git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm
|
||||||
|
run ~/.config/tmux/plugins/tpm/tpm
|
||||||
35
.config/waybar/config.jsonc
Normal file
35
.config/waybar/config.jsonc
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"modules-left": [],
|
||||||
|
"modules-center": ["hyprland/workspaces"],
|
||||||
|
"modules-right": ["battery", "clock"],
|
||||||
|
"battery": {
|
||||||
|
"format": "{capacity}% {icon}",
|
||||||
|
"format-icons": ["", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"format": "{:%H:%M} ",
|
||||||
|
"format-alt": "{:%A, %B %d, %Y (%R)} ",
|
||||||
|
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||||
|
"calendar": {
|
||||||
|
"mode" : "year",
|
||||||
|
"mode-mon-col" : 3,
|
||||||
|
"weeks-pos" : "right",
|
||||||
|
"on-scroll" : 1,
|
||||||
|
"format": {
|
||||||
|
"months": "<span color='#ffead3'><b>{}</b></span>",
|
||||||
|
"days": "<span color='#ecc6d9'><b>{}</b></span>",
|
||||||
|
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
|
||||||
|
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
|
||||||
|
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"actions": {
|
||||||
|
"on-click-right": "mode",
|
||||||
|
"on-scroll-up": "tz_up",
|
||||||
|
"on-scroll-down": "tz_down",
|
||||||
|
"on-scroll-up": "shift_up",
|
||||||
|
"on-scroll-down": "shift_down"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
3
.config/waybar/style.css
Normal file
3
.config/waybar/style.css
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
* {
|
||||||
|
font-family: "CaskaydiaCove Nerd Font Mono, Meslo LGS Nerd Font Sans Mono";
|
||||||
|
}
|
||||||
22
.gitignore
vendored
Normal file
22
.gitignore
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# Ignore all
|
||||||
|
*
|
||||||
|
|
||||||
|
# Except
|
||||||
|
!.config/hypr/*
|
||||||
|
|
||||||
|
!.config/neofetch/*
|
||||||
|
|
||||||
|
!.config/nvim/init.lua
|
||||||
|
!.config/nvim/lua/*
|
||||||
|
|
||||||
|
!.config/tmux/tmux.conf
|
||||||
|
!.config/tmux/catppuccin.conf
|
||||||
|
.config/tmux/local.tmux.config
|
||||||
|
|
||||||
|
!.config/waybar/*
|
||||||
|
|
||||||
|
!.gitignore
|
||||||
|
!.p10k.zsh
|
||||||
|
!.zinit.zsh
|
||||||
|
!.zshrc
|
||||||
|
!.zstyle.zsh
|
||||||
67
.zinit.zsh
Normal file
67
.zinit.zsh
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
#####################
|
||||||
|
### INSTALL ZINIT ###
|
||||||
|
#####################
|
||||||
|
|
||||||
|
if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then
|
||||||
|
print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f"
|
||||||
|
command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit"
|
||||||
|
command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git" && \
|
||||||
|
print -P "%F{33} %F{34}Installation successful.%f%b" || \
|
||||||
|
print -P "%F{160} The clone has failed.%f%b"
|
||||||
|
fi
|
||||||
|
|
||||||
|
###################
|
||||||
|
### START ZINIT ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
source "$HOME/.local/share/zinit/zinit.git/zinit.zsh"
|
||||||
|
autoload -Uz _zinit
|
||||||
|
(( ${+_comps} )) && _comps[zinit]=_zinit
|
||||||
|
|
||||||
|
#############
|
||||||
|
### THEME ###
|
||||||
|
#############
|
||||||
|
|
||||||
|
zinit ice depth=1; zinit light romkatv/powerlevel10k
|
||||||
|
|
||||||
|
###############
|
||||||
|
### PLUGINS ###
|
||||||
|
###############
|
||||||
|
|
||||||
|
# FZF
|
||||||
|
zinit ice from="gh-r" as="command" bpick="*linux_amd64*"
|
||||||
|
zinit light junegunn/fzf
|
||||||
|
|
||||||
|
# FZF BYNARY AND TMUX HELPER SCRIPT
|
||||||
|
zinit ice lucid wait'0c' as="command" id-as="junegunn/fzf-tmux" pick="bin/fzf-tmux"
|
||||||
|
zinit light junegunn/fzf
|
||||||
|
|
||||||
|
# BIND MULTIPLE WIDGETS USING FZF
|
||||||
|
zinit ice lucid wait'0c' multisrc"shell/{completion,key-bindings}.zsh" id-as="junegunn/fzf_completions" pick="/dev/null"
|
||||||
|
zinit light junegunn/fzf
|
||||||
|
|
||||||
|
# FZF-TAB
|
||||||
|
zinit ice wait="1" lucid
|
||||||
|
zinit light Aloxaf/fzf-tab
|
||||||
|
|
||||||
|
# AUTOSUGGESTIONS, TRIGGER PRECMD HOOK UPON LOAD
|
||||||
|
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
|
||||||
|
zinit ice wait="0a" lucid atload="_zsh_autosuggest_start"
|
||||||
|
zinit light zsh-users/zsh-autosuggestions
|
||||||
|
|
||||||
|
# ENHANCD
|
||||||
|
zinit ice wait="0b" lucid
|
||||||
|
zinit light b4b4r07/enhancd
|
||||||
|
export ENHANCD_FILTER=fzf:fzy:peco
|
||||||
|
|
||||||
|
# ZOXIDE
|
||||||
|
zinit ice wait="0" lucid from="gh-r" as="program" pick="zoxide-*/zoxide -> zoxide" cp="zoxide-*/completions/_zoxide -> _zoxide" atclone="./zoxide init zsh > init.zsh" atpull="%atclone" src="init.zsh"
|
||||||
|
zinit light ajeetdsouza/zoxide
|
||||||
|
|
||||||
|
# TAB COMPLETIONS
|
||||||
|
zinit ice wait="0b" lucid blockf
|
||||||
|
zinit light zsh-users/zsh-completions
|
||||||
|
|
||||||
|
# SYNTAX HIGHLIGHTING
|
||||||
|
zinit ice wait="0c" lucid atinit="zpcompinit;zpcdreplay"
|
||||||
|
zinit light zdharma-continuum/fast-syntax-highlighting
|
||||||
52
.zshrc
Normal file
52
.zshrc
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
if [[ ! $(tmux ls) ]] 2> /dev/null; then
|
||||||
|
tmux new -s λ
|
||||||
|
fi
|
||||||
|
|
||||||
|
############
|
||||||
|
### P10K ###
|
||||||
|
############
|
||||||
|
|
||||||
|
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||||
|
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||||
|
|
||||||
|
#############
|
||||||
|
### ZINIT ###
|
||||||
|
#############
|
||||||
|
|
||||||
|
source ~/.zinit.zsh
|
||||||
|
source ~/.zstyle.zsh
|
||||||
|
|
||||||
|
#############
|
||||||
|
### PATHS ###
|
||||||
|
#############
|
||||||
|
|
||||||
|
# n
|
||||||
|
export N_PREFIX=$HOME/.n
|
||||||
|
export PATH=$N_PREFIX/bin:$PATH
|
||||||
|
|
||||||
|
#####################
|
||||||
|
### ENV VARIABLES ###
|
||||||
|
#####################
|
||||||
|
|
||||||
|
export SUDO_EDITOR="nvim"
|
||||||
|
export EDITOR="nvim"
|
||||||
|
export VISUAL="nvim"
|
||||||
|
|
||||||
|
HISTSIZE=10000
|
||||||
|
SAVEHIST=50000
|
||||||
|
HISTFILE=${XDG_STATE_HOME:-$HOME/.local/state}/.zsh_history
|
||||||
|
|
||||||
|
###############
|
||||||
|
### ALIASES ###
|
||||||
|
###############
|
||||||
|
|
||||||
|
alias svim="sudo -E -s nvim"
|
||||||
|
alias dots='/usr/bin/git --git-dir=$HOME/.git/ --work-tree=$HOME'
|
||||||
|
alias vim="nvim"
|
||||||
|
alias vi="nvim"
|
||||||
|
alias team="teamocil"
|
||||||
|
|
||||||
|
[[ ! -f ~/.localrc.zsh ]] || source ~/.localrc.zsh
|
||||||
63
.zstyle.zsh
Normal file
63
.zstyle.zsh
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
###################
|
||||||
|
### COMPLETIONS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
compctl -g '~/.teamocil/*(:t:r)' teamocil
|
||||||
|
|
||||||
|
# Specify the order of completers to use:
|
||||||
|
# - `_expand`: Expand variables and globs.
|
||||||
|
# - `_complete`: Standard completion.
|
||||||
|
# - `_ignored`: Ignore certain completions.
|
||||||
|
# - `_approximate`: Approximate matching for fuzzy completions.
|
||||||
|
zstyle ':completion:*' completer _expand _complete _ignored _approximate
|
||||||
|
|
||||||
|
# Enable case-insensitive matching
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||||||
|
|
||||||
|
# Disable the menu selection feature (automatically select the first match)
|
||||||
|
zstyle ':completion:*' menu no
|
||||||
|
|
||||||
|
# Customize the prompt shown when scrolling through completions
|
||||||
|
# - `%SScrolling active: current selection at %p%s`: Shows a message indicating that scrolling is active and the current selection.
|
||||||
|
zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s'
|
||||||
|
|
||||||
|
# Format descriptions in completion lists
|
||||||
|
# - `[%d]`: Wrap descriptions in square brackets.
|
||||||
|
zstyle ':completion:*:descriptions' format '[%d]'
|
||||||
|
|
||||||
|
# Specify the command to use for completing process names
|
||||||
|
# - `ps -au$USER`: List processes for the current user.
|
||||||
|
zstyle ':completion:*:processes' command 'ps -au$USER'
|
||||||
|
|
||||||
|
# Specify the command to use for completing process names with fzf-tab
|
||||||
|
# - `ps -u $USER -o pid,user,comm,cmd -w -w`: List processes with detailed information.
|
||||||
|
zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm,cmd -w -w"
|
||||||
|
|
||||||
|
# Disable sorting of completion options
|
||||||
|
zstyle ':completion:complete:*:options' sort false
|
||||||
|
|
||||||
|
# Disable sorting of git checkout completions
|
||||||
|
zstyle ":completion:*:git-checkout:*" sort false
|
||||||
|
|
||||||
|
# Apply LS_COLORS to completion lists for colored output
|
||||||
|
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
|
||||||
|
|
||||||
|
# Configure fzf-tab behavior
|
||||||
|
|
||||||
|
# Use the input string as the query string for _zlua completions
|
||||||
|
zstyle ':fzf-tab:complete:_zlua:*' query-string input
|
||||||
|
|
||||||
|
# Customize the kill command completion with fzf-tab
|
||||||
|
# - `extra-opts`: Additional options for fzf, including a preview window showing the command of the selected process.
|
||||||
|
zstyle ':fzf-tab:complete:kill:argument-rest' extra-opts --preview=$extract'ps --pid=$in[(w)1] -o cmd --no-headers -w -w' --preview-window=down:3:wrap
|
||||||
|
|
||||||
|
# Customize the cd command completion with fzf-tab
|
||||||
|
# - `fzf-preview`: Show a preview of directories using `eza` (a modern replacement for `ls`).
|
||||||
|
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath'
|
||||||
|
|
||||||
|
# Customize the z command completion with fzf-tab
|
||||||
|
# - `fzf-preview`: Show a preview of directories using `eza`.
|
||||||
|
zstyle ':fzf-tab:complete:z:*' fzf-preview 'eza -1 --color=always $realpath'
|
||||||
|
|
||||||
|
# Use default fzf options for fzf-tab
|
||||||
|
zstyle ':fzf-tab:*' use-fzf-default-opts yes
|
||||||
Loading…
x
Reference in New Issue
Block a user