Compare commits
No commits in common. "722eabdb521bedb1b030a5b914e97d9fcbdaa247" and "364aced18237757a8b91c467c94986e900633591" have entirely different histories.
722eabdb52
...
364aced182
27
.bashrc
27
.bashrc
@ -1,11 +1,22 @@
|
|||||||
# ~/.bashrc
|
# ~/.bashrc
|
||||||
|
clear && myfetch -c 8 -C " █"
|
||||||
eval "$(starship init bash)"
|
eval "$(starship init bash)"
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
alias Settings="cd ~/.config && nvim"
|
alias lsd='eza --icons'
|
||||||
alias Phone="scrcpy --max-fps=60 --no-audio --keyboard=uhid --mouse=uhid"
|
alias pacup='sudo pacman -Rns $(pacman -Qdtq)'
|
||||||
alias Key="cat ~/.ssh/id_rsa.pub"
|
alias grep='grep --color=auto'
|
||||||
|
alias pool='clear && asciiquarium'
|
||||||
|
alias f='clear && myfetch -i e -f -c 16 -C " "'
|
||||||
|
alias bye='sudo shutdown -h now'
|
||||||
|
alias loop='sudo reboot'
|
||||||
|
alias h='dbus-launch Hyprland'
|
||||||
|
alias fonts='fc-list -f "%{family}\n"'
|
||||||
|
alias tasks='btm'
|
||||||
|
alias Docs="cd ~/Documents && nvim"
|
||||||
|
alias Settings="cd ~/.config/hypr && nvim"
|
||||||
|
alias spot="ncspot"
|
||||||
alias untar="tar -xf"
|
alias untar="tar -xf"
|
||||||
|
alias n="nvim"
|
||||||
# For scrcpy
|
export NVM_DIR="$HOME/.nvm"
|
||||||
export SDL_VIDEODRIVER=wayland
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||||
|
PS1='[\u@\h \W]\$ '
|
||||||
|
5
.config/cava/config
Executable file
5
.config/cava/config
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
[color]
|
||||||
|
gradient = 1
|
||||||
|
gradient_count = 2
|
||||||
|
gradient_color_1 = '#8a897e'
|
||||||
|
gradient_color_2 = '#928d81'
|
13
.config/clock-rs/conf.toml
Normal file
13
.config/clock-rs/conf.toml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[general]
|
||||||
|
color = "magenta"
|
||||||
|
blink = true
|
||||||
|
bold = true
|
||||||
|
|
||||||
|
[position]
|
||||||
|
horizontal = "center"
|
||||||
|
vertical = "center"
|
||||||
|
|
||||||
|
[date]
|
||||||
|
fmt = "%A, %B %d, %Y"
|
||||||
|
use_12h = true
|
||||||
|
hide_seconds = true
|
@ -1,7 +1,9 @@
|
|||||||
source = /home/$USER/.cache/wal/colors-hyprland
|
source = /home/$USER/.cache/wal/colors-hyprland
|
||||||
|
|
||||||
|
monitor = auto, 2560x1440@165, 0x0, 1
|
||||||
|
|
||||||
$terminal = kitty
|
$terminal = kitty
|
||||||
$fileManager = kitty -d ~ yazi
|
$fileManager = thunar
|
||||||
# $menu = wofi --show drun -n
|
# $menu = wofi --show drun -n
|
||||||
$menu = wofi -n
|
$menu = wofi -n
|
||||||
exec-once = hypridle
|
exec-once = hypridle
|
||||||
@ -37,7 +39,7 @@ plugin:dynamic-cursors {
|
|||||||
}
|
}
|
||||||
general {
|
general {
|
||||||
|
|
||||||
gaps_in = 3
|
gaps_in = 2
|
||||||
gaps_out = 10
|
gaps_out = 10
|
||||||
border_size = 0
|
border_size = 0
|
||||||
col.active_border = $color9
|
col.active_border = $color9
|
||||||
@ -104,52 +106,20 @@ device {
|
|||||||
name = epic-mouse-v1
|
name = epic-mouse-v1
|
||||||
sensitivity = 0
|
sensitivity = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
$mainMod = SUPER
|
$mainMod = SUPER
|
||||||
|
|
||||||
# App
|
|
||||||
bind = $mainMod, Q, exec, $terminal
|
bind = $mainMod, Q, exec, $terminal
|
||||||
bind = $mainMod, D, exec, firefox
|
|
||||||
bind = $mainMod, E, exec, $fileManager
|
|
||||||
|
|
||||||
# Wofi menus
|
|
||||||
bind = $mainMod, R, exec, $menu
|
|
||||||
bind = $mainMod, P, exec, ~/.config/hypr/projects.sh
|
|
||||||
bind = $mainMod, W, exec, ~/.config/hypr/wallpaper.sh
|
|
||||||
|
|
||||||
# Window management
|
|
||||||
bind = $mainMod, B, killactive
|
bind = $mainMod, B, killactive
|
||||||
bind = $mainMod, V, exec, hyprctl --batch "dispatch togglefloating; dispatch resizeactive exact 800 800; dispatch centerwindow 1;"
|
bind = $mainMod, E, exec, $fileManager
|
||||||
bind = $mainMod SHIFT, P, exec, pseudo
|
# bind = $mainMod, V, exec, hyprctl --batch "dispatch togglefloating; dispatch resizeactive exact 800 800; dispatch centerwindow 1;"
|
||||||
bind = $mainMod, O, togglesplit
|
bind = $mainMod, V, togglefloating
|
||||||
|
bind = $mainMod, R, exec, $menu
|
||||||
|
bind = $mainMod, P, pseudo
|
||||||
|
bind = $mainMod, J, togglesplit
|
||||||
bind = $mainMod, F, fullscreen
|
bind = $mainMod, F, fullscreen
|
||||||
bindm = $mainMod, mouse:272, movewindow
|
bind = $mainMod, left, movefocus, l
|
||||||
bindm = $mainMod, mouse:273, resizewindow
|
bind = $mainMod, right, movefocus, r
|
||||||
|
bind = $mainMod, up, movefocus, u
|
||||||
# Sessions
|
bind = $mainMod, down, movefocus, d
|
||||||
bind = $mainMod, comma, exec, hyprlock
|
|
||||||
bind = $mainMod SHIFT, M, exec, wlogout -b 2
|
|
||||||
bind = $mainMod, M, exit
|
|
||||||
|
|
||||||
# Pypr
|
|
||||||
bind = $mainMod, SPACE, exec, pypr toggle term
|
|
||||||
bind = $mainMod, G, exec, pypr toggle music
|
|
||||||
bind = $mainMod, T, exec, pypr toggle taskbarcpu
|
|
||||||
bind = $mainMod, Y, exec, pypr toggle taskbargpu
|
|
||||||
|
|
||||||
# Vim type motion
|
|
||||||
bind = $mainMod, H, movefocus, l
|
|
||||||
bind = $mainMod, L, movefocus, r
|
|
||||||
bind = $mainMod, J, movefocus, d
|
|
||||||
bind = $mainMod, K, movefocus, u
|
|
||||||
bind = $mainMod ALT, H, movewindow, l
|
|
||||||
bind = $mainMod ALT, L, movewindow, r
|
|
||||||
bind = $mainMod ALT, J, movewindow, d
|
|
||||||
bind = $mainMod ALT, K, movewindow, u
|
|
||||||
|
|
||||||
# Workspace
|
|
||||||
bind = $mainMod, S, togglespecialworkspace, magic
|
|
||||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
|
||||||
bind = $mainMod, 1, workspace, 1
|
bind = $mainMod, 1, workspace, 1
|
||||||
bind = $mainMod, 2, workspace, 2
|
bind = $mainMod, 2, workspace, 2
|
||||||
bind = $mainMod, 3, workspace, 3
|
bind = $mainMod, 3, workspace, 3
|
||||||
@ -170,12 +140,38 @@ bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
|||||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||||
# Scripts divers
|
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%-
|
||||||
|
bindl = , XF86AudioNext, exec, playerctl next
|
||||||
|
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||||
|
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||||
|
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||||
|
bind = ALT, left, movewindow, l
|
||||||
|
bind = ALT, right, movewindow, r
|
||||||
|
bind = ALT, up, movewindow, u
|
||||||
|
bind = ALT, down, movewindow, d
|
||||||
|
bind = CTRL, Print, exec, hyprshot -m region -o ~/Screenshots/
|
||||||
|
bind = , Print, exec, hyprshot -m window -o ~/Screenshots/
|
||||||
|
bind = ALT, Print, exec, hyprshot -m active -m output -o ~/Screenshots/
|
||||||
|
bind = $mainMod, l, exec, hyprlock
|
||||||
|
bind = $mainMod, S, togglespecialworkspace, magic
|
||||||
|
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
bind = ALT, TAB, exec, wlogout -b 2
|
||||||
|
bind = ALT, w, exec, ~/.config/hypr/wallpaper.sh
|
||||||
bind = ALT, a, exec, ~/.config/waybar/scripts/refresh.sh
|
bind = ALT, a, exec, ~/.config/waybar/scripts/refresh.sh
|
||||||
bind = ALT, B, exec, ~/.config/waybar/scripts/select.sh
|
bind = ALT, B, exec, ~/.config/waybar/scripts/select.sh
|
||||||
bind = ALT, r, exec, ~/.config/swaync/refresh.sh
|
bind = ALT, r, exec, ~/.config/swaync/refresh.sh
|
||||||
|
bind = $mainMod, M, exit
|
||||||
|
bind = $mainMod, SPACE, exec, pypr toggle term
|
||||||
|
bind = $mainMod, G, exec, pypr toggle music
|
||||||
|
bind = $mainMod, T, exec, pypr toggle taskbar
|
||||||
|
#bind = CTRL, ESCAPE, exec, gksu #Dont worry about this
|
||||||
layerrule = blur, waybar
|
layerrule = blur, waybar
|
||||||
layerrule = ignorezero, waybar
|
layerrule = ignorezero, waybar
|
||||||
layerrule = ignorealpha 0.5, waybar
|
layerrule = ignorealpha 0.5, waybar
|
||||||
@ -186,9 +182,3 @@ layerrule = ignorezero, swaync-notification-window
|
|||||||
layerrule = ignorealpha 0.5, swaync-control-center
|
layerrule = ignorealpha 0.5, swaync-control-center
|
||||||
layerrule = ignorealpha 0.5, swaync-notification-window
|
layerrule = ignorealpha 0.5, swaync-notification-window
|
||||||
layerrule = noanim, selection
|
layerrule = noanim, selection
|
||||||
|
|
||||||
env = LIBVA_DRIVER_NAME,nvidia
|
|
||||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
#!/bin/bash
|
|
||||||
PROJECTS_DIR="$HOME/Projects"
|
|
||||||
|
|
||||||
menu() {
|
|
||||||
find "$PROJECTS_DIR" -mindepth 1 -maxdepth 1 -type d | while read -r dir; do
|
|
||||||
basename=$(basename "$dir")
|
|
||||||
echo "$basename"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
choice=$(menu | wofi -c ~/.config/wofi/projects -s ~/.config/wofi/style-projects.css --show dmenu --prompt "Select Project:" -n)
|
|
||||||
selected_dir=$(echo "$choice" | cut -d':' -f2-)
|
|
||||||
[ -d "$PROJECTS_DIR/$selected_dir" ] && kitty -d "$PROJECTS_DIR/$selected_dir" nvim
|
|
||||||
}
|
|
||||||
main
|
|
@ -18,16 +18,10 @@ class = "kitty-pulsemixer"
|
|||||||
size = "50% 20%"
|
size = "50% 20%"
|
||||||
offset = "200%"
|
offset = "200%"
|
||||||
|
|
||||||
[scratchpads.taskbarcpu]
|
[scratchpads.taskbar]
|
||||||
animation = "fromLeft"
|
animation = "fromLeft"
|
||||||
command = "kitty --class kitty-taskbar -e htop"
|
command = "kitty --class kitty-taskbar -e htop"
|
||||||
class = "kitty-taskbar"
|
class = "kitty-taskbar"
|
||||||
size = "30% 80%"
|
size = "30% 80%"
|
||||||
offset = "200%"
|
offset = "200%"
|
||||||
|
|
||||||
[scratchpads.taskbargpu]
|
|
||||||
animation = "fromRight"
|
|
||||||
command = "kitty --class kitty-taskbar -e nvtop"
|
|
||||||
class = "kitty-taskbar"
|
|
||||||
size = "30% 80%"
|
|
||||||
offset = "200%"
|
|
||||||
|
@ -14,6 +14,10 @@ main() {
|
|||||||
pywalfox update
|
pywalfox update
|
||||||
color1=$(awk 'match($0, /color2=\47(.*)\47/,a) { print a[1] }' ~/.cache/wal/colors.sh)
|
color1=$(awk 'match($0, /color2=\47(.*)\47/,a) { print a[1] }' ~/.cache/wal/colors.sh)
|
||||||
color2=$(awk 'match($0, /color3=\47(.*)\47/,a) { print a[1] }' ~/.cache/wal/colors.sh)
|
color2=$(awk 'match($0, /color3=\47(.*)\47/,a) { print a[1] }' ~/.cache/wal/colors.sh)
|
||||||
|
cava_config="$HOME/.config/cava/config"
|
||||||
|
sed -i "s/^gradient_color_1 = .*/gradient_color_1 = '$color1'/" $cava_config
|
||||||
|
sed -i "s/^gradient_color_2 = .*/gradient_color_2 = '$color2'/" $cava_config
|
||||||
|
pkill -USR2 cava 2>/dev/null
|
||||||
source ~/.cache/wal/colors.sh && cp -r $wallpaper ~/wallpapers/pywallpaper.jpg
|
source ~/.cache/wal/colors.sh && cp -r $wallpaper ~/wallpapers/pywallpaper.jpg
|
||||||
}
|
}
|
||||||
main
|
main
|
||||||
|
@ -1,30 +1,30 @@
|
|||||||
foreground #c2c2c2
|
foreground #c5c6c2
|
||||||
background #0c0b0c
|
background #191c0e
|
||||||
background_opacity 1.0
|
background_opacity 1.0
|
||||||
cursor #c2c2c2
|
cursor #c5c6c2
|
||||||
|
|
||||||
active_tab_foreground #0c0b0c
|
active_tab_foreground #191c0e
|
||||||
active_tab_background #c2c2c2
|
active_tab_background #c5c6c2
|
||||||
inactive_tab_foreground #c2c2c2
|
inactive_tab_foreground #c5c6c2
|
||||||
inactive_tab_background #0c0b0c
|
inactive_tab_background #191c0e
|
||||||
|
|
||||||
active_border_color #c2c2c2
|
active_border_color #c5c6c2
|
||||||
inactive_border_color #0c0b0c
|
inactive_border_color #191c0e
|
||||||
bell_border_color #4b3f3c
|
bell_border_color #83816e
|
||||||
|
|
||||||
color0 #0c0b0c
|
color0 #191c0e
|
||||||
color8 #6a566a
|
color8 #6c705c
|
||||||
color1 #4b3f3c
|
color1 #83816e
|
||||||
color9 #655451
|
color9 #AFAC93
|
||||||
color2 #772d25
|
color2 #8a897e
|
||||||
color10 #9F3D32
|
color10 #B9B7A8
|
||||||
color3 #774942
|
color3 #928d81
|
||||||
color11 #9F6259
|
color11 #C3BCAD
|
||||||
color4 #9f4e41
|
color4 #8c927c
|
||||||
color12 #D46857
|
color12 #BBC3A6
|
||||||
color5 #876d54
|
color5 #a4a26f
|
||||||
color13 #B49271
|
color13 #DBD995
|
||||||
color6 #a5744e
|
color6 #969489
|
||||||
color14 #DC9B69
|
color14 #C9C6B7
|
||||||
color7 #968b8b
|
color7 #989a8f
|
||||||
color15 #c2c2c2
|
color15 #c5c6c2
|
||||||
|
@ -1,53 +0,0 @@
|
|||||||
## name: Rosé Pine
|
|
||||||
## author: mvllow
|
|
||||||
## license: MIT
|
|
||||||
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine.conf
|
|
||||||
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
|
||||||
|
|
||||||
foreground #e0def4
|
|
||||||
background #191724
|
|
||||||
selection_foreground #e0def4
|
|
||||||
selection_background #403d52
|
|
||||||
|
|
||||||
cursor #524f67
|
|
||||||
cursor_text_color #e0def4
|
|
||||||
|
|
||||||
url_color #c4a7e7
|
|
||||||
|
|
||||||
active_tab_foreground #e0def4
|
|
||||||
active_tab_background #26233a
|
|
||||||
inactive_tab_foreground #6e6a86
|
|
||||||
inactive_tab_background #191724
|
|
||||||
|
|
||||||
# black
|
|
||||||
color0 #26233a
|
|
||||||
color8 #6e6a86
|
|
||||||
|
|
||||||
# red
|
|
||||||
color1 #eb6f92
|
|
||||||
color9 #eb6f92
|
|
||||||
|
|
||||||
# green
|
|
||||||
color2 #31748f
|
|
||||||
color10 #31748f
|
|
||||||
|
|
||||||
# yellow
|
|
||||||
color3 #f6c177
|
|
||||||
color11 #f6c177
|
|
||||||
|
|
||||||
# blue
|
|
||||||
color4 #9ccfd8
|
|
||||||
color12 #9ccfd8
|
|
||||||
|
|
||||||
# magenta
|
|
||||||
color5 #c4a7e7
|
|
||||||
color13 #c4a7e7
|
|
||||||
|
|
||||||
# cyan
|
|
||||||
color6 #ebbcba
|
|
||||||
color14 #ebbcba
|
|
||||||
|
|
||||||
# white
|
|
||||||
color7 #e0def4
|
|
||||||
color15 #e0def4
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
|||||||
## name: Rosé Pine
|
|
||||||
## author: mvllow
|
|
||||||
## license: MIT
|
|
||||||
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine.conf
|
|
||||||
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
|
||||||
|
|
||||||
foreground #e0def4
|
|
||||||
background #191724
|
|
||||||
selection_foreground #e0def4
|
|
||||||
selection_background #403d52
|
|
||||||
|
|
||||||
cursor #524f67
|
|
||||||
cursor_text_color #e0def4
|
|
||||||
|
|
||||||
url_color #c4a7e7
|
|
||||||
|
|
||||||
active_tab_foreground #e0def4
|
|
||||||
active_tab_background #26233a
|
|
||||||
inactive_tab_foreground #6e6a86
|
|
||||||
inactive_tab_background #191724
|
|
||||||
|
|
||||||
# black
|
|
||||||
color0 #26233a
|
|
||||||
color8 #6e6a86
|
|
||||||
|
|
||||||
# red
|
|
||||||
color1 #eb6f92
|
|
||||||
color9 #eb6f92
|
|
||||||
|
|
||||||
# green
|
|
||||||
color2 #31748f
|
|
||||||
color10 #31748f
|
|
||||||
|
|
||||||
# yellow
|
|
||||||
color3 #f6c177
|
|
||||||
color11 #f6c177
|
|
||||||
|
|
||||||
# blue
|
|
||||||
color4 #9ccfd8
|
|
||||||
color12 #9ccfd8
|
|
||||||
|
|
||||||
# magenta
|
|
||||||
color5 #c4a7e7
|
|
||||||
color13 #c4a7e7
|
|
||||||
|
|
||||||
# cyan
|
|
||||||
color6 #ebbcba
|
|
||||||
color14 #ebbcba
|
|
||||||
|
|
||||||
# white
|
|
||||||
color7 #e0def4
|
|
||||||
color15 #e0def4
|
|
||||||
|
|
5
.config/nvim/.luarc.json
Executable file
5
.config/nvim/.luarc.json
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"diagnostics.globals": [
|
||||||
|
"vim"
|
||||||
|
]
|
||||||
|
}
|
@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"neodev": {
|
|
||||||
"library": {
|
|
||||||
"enabled": true,
|
|
||||||
"plugins": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"neoconf": {
|
|
||||||
"plugins": {
|
|
||||||
"lua_ls": {
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lspconfig": {
|
|
||||||
"lua_ls": {
|
|
||||||
"Lua.format.enable": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
column_width = 120
|
|
||||||
line_endings = "Unix"
|
|
||||||
indent_type = "Spaces"
|
|
||||||
indent_width = 2
|
|
||||||
quote_style = "AutoPreferDouble"
|
|
||||||
call_parentheses = "None"
|
|
||||||
collapse_simple_statement = "Always"
|
|
@ -1,34 +0,0 @@
|
|||||||
# AstroNvim Template
|
|
||||||
|
|
||||||
**NOTE:** This is for AstroNvim v5+
|
|
||||||
|
|
||||||
A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim)
|
|
||||||
|
|
||||||
## 🛠️ Installation
|
|
||||||
|
|
||||||
#### Make a backup of your current nvim and shared folder
|
|
||||||
|
|
||||||
```shell
|
|
||||||
mv ~/.config/nvim ~/.config/nvim.bak
|
|
||||||
mv ~/.local/share/nvim ~/.local/share/nvim.bak
|
|
||||||
mv ~/.local/state/nvim ~/.local/state/nvim.bak
|
|
||||||
mv ~/.cache/nvim ~/.cache/nvim.bak
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Create a new user repository from this template
|
|
||||||
|
|
||||||
Press the "Use this template" button above to create a new repository to store your user configuration.
|
|
||||||
|
|
||||||
You can also just clone this repository directly if you do not want to track your user configuration in GitHub.
|
|
||||||
|
|
||||||
#### Clone the repository
|
|
||||||
|
|
||||||
```shell
|
|
||||||
git clone https://github.com/<your_user>/<your_repository> ~/.config/nvim
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Start Neovim
|
|
||||||
|
|
||||||
```shell
|
|
||||||
nvim
|
|
||||||
```
|
|
32
.config/nvim/init.lua
Normal file → Executable file
32
.config/nvim/init.lua
Normal file → Executable file
@ -1,19 +1,17 @@
|
|||||||
-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution
|
-- Path for lazy.nvim plugin manager
|
||||||
-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk.
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
|
vim.fn.system({
|
||||||
-- stylua: ignore
|
"git",
|
||||||
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
"clone",
|
||||||
|
"--filter=blob:none",
|
||||||
|
"https://github.com/folke/lazy.nvim.git",
|
||||||
|
"--branch=stable", -- latest stable release
|
||||||
|
lazypath,
|
||||||
|
})
|
||||||
end
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
vim.cmd("set number")
|
||||||
-- validate that lazy is available
|
require("vim-options")
|
||||||
if not pcall(require, "lazy") then
|
require("lazy").setup("plugins")
|
||||||
-- stylua: ignore
|
vim.opt.termguicolors = true
|
||||||
vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
|
|
||||||
vim.fn.getchar()
|
|
||||||
vim.cmd.quit()
|
|
||||||
end
|
|
||||||
|
|
||||||
require "lazy_setup"
|
|
||||||
require "polish"
|
|
||||||
|
72
.config/nvim/lazy-lock.json
Normal file → Executable file
72
.config/nvim/lazy-lock.json
Normal file → Executable file
@ -1,47 +1,29 @@
|
|||||||
{
|
{
|
||||||
"AstroNvim": { "branch": "main", "commit": "170e9cd4bf7c17ec963141399f4b0a32aa694868" },
|
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
|
||||||
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
|
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
|
||||||
"aerial.nvim": { "branch": "master", "commit": "3284a2cb858ba009c79da87d5e010ccee3c99c4d" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
||||||
"astrocore": { "branch": "main", "commit": "c797dd5a592e2bd154f2503e231b8a4083659534" },
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
"astrolsp": { "branch": "main", "commit": "c45d9a1863e3ef430cee834674601bc50a304a70" },
|
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
||||||
"astrotheme": { "branch": "main", "commit": "f12dcf64b1f9a05839c3ac2146f550f43bae9dab" },
|
"gitsigns.nvim": { "branch": "main", "commit": "9b36d497495436c135659902054ee637e0ba6021" },
|
||||||
"astroui": { "branch": "main", "commit": "fded232ee0001c6bed9b654188e3dd4b0c58317c" },
|
"gruvbox": { "branch": "main", "commit": "089b60e92aa0a1c6fa76ff527837cd35b6f5ac81" },
|
||||||
"better-escape.nvim": { "branch": "master", "commit": "199dcc2643dec5d8dbdab4ec672cf405224dcb3b" },
|
"lazy.nvim": { "branch": "main", "commit": "7527af40ddd4a93a02911be570b32609b9d4ea53" },
|
||||||
"blink.cmp": { "branch": "main", "commit": "cb5e346d9e0efa7a3eee7fd4da0b690c48d2a98e" },
|
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
|
||||||
"blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" },
|
"markview.nvim": { "branch": "main", "commit": "68902d7cba78a7fe331c13d531376b4be494a05c" },
|
||||||
"cmp-dap": { "branch": "master", "commit": "ea92773e84c0ad3288c3bc5e452ac91559669087" },
|
"mini.icons": { "branch": "main", "commit": "ec61af6e606fc89ee3b1d8f2f20166a3ca917a36" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "fc8f183479a472df60aa86f00e295462f2308178" },
|
"neo-tree.nvim": { "branch": "v3.x", "commit": "5d172e8315444dbc32867d1c7b04d8e7e68ec4e1" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "7010000889bfb6c26065e0b0f7f1e6aa9163edd9" },
|
"noice.nvim": { "branch": "main", "commit": "e3c68a4d2275a01268a52e2931bfccfbfb693d15" },
|
||||||
"guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" },
|
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
|
||||||
"heirline.nvim": { "branch": "master", "commit": "cc359b628266cb9a84b2d71c883f2b99e16473a0" },
|
"nvim-autopairs": { "branch": "master", "commit": "3d02855468f94bf435db41b661b58ec4f48a06b7" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
"nvim-cmp": { "branch": "main", "commit": "12509903a5723a876abd65953109f926f4634c30" },
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" },
|
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
|
"nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" },
|
||||||
"mason-null-ls.nvim": { "branch": "main", "commit": "2b8433f76598397fcc97318d410e0c4f7a4bea6a" },
|
"nvim-treesitter": { "branch": "master", "commit": "4988b7068001b3a772c7cc738708341e612e3c26" },
|
||||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "4c2cdc69d69fe00c15ae8648f7e954d99e5de3ea" },
|
"nvim-web-devicons": { "branch": "master", "commit": "402377242b04be3f4f0f3720bd952df86e946c30" },
|
||||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "1255518cb067e038a4755f5cb3e980f79b6ab89c" },
|
"plenary.nvim": { "branch": "master", "commit": "3707cdb1e43f5cea73afb6037e6494e7ce847a66" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
"snacks.nvim": { "branch": "main", "commit": "c2310c6d1ecb4d5fad701ed0aeb92adc2f0db385" },
|
||||||
"mini.icons": { "branch": "main", "commit": "910db5df9724d65371182948f921fce23c2c881e" },
|
"tabline.nvim": { "branch": "main", "commit": "ff33d12a20d52daafa5393162cae4108faf8128b" },
|
||||||
"neo-tree.nvim": { "branch": "main", "commit": "1ef260eb4f54515fe121a2267b477efb054d108a" },
|
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||||
"neoconf.nvim": { "branch": "main", "commit": "8e7a5a052b0f6bc9ad35790c77780137f76c1a75" },
|
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||||
"none-ls.nvim": { "branch": "main", "commit": "786460723170bda9e9f95c55a382d21436575297" },
|
"typr": { "branch": "main", "commit": "696b8724b2bc68ab950d1d7a18bf00bfc536bcca" },
|
||||||
"nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" },
|
"volt": { "branch": "main", "commit": "3bedb1576db574af160643eea7df3b09dbe5ee9c" }
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
|
|
||||||
"nvim-dap": { "branch": "master", "commit": "98bf130702eaafad8567c0e3ea1171c2552d58bb" },
|
|
||||||
"nvim-dap-ui": { "branch": "master", "commit": "851f6f00480dc9366f37b6b91f3aeadb3b6ba04f" },
|
|
||||||
"nvim-highlight-colors": { "branch": "main", "commit": "b42a5ccec7457b44e89f7ed3b3afb1b375bb2093" },
|
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "5af60bbb835d5b6efdc64cdff2a5b27cde4120de" },
|
|
||||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "684eeac91ed8e297685a97ef70031d19ac1de25a" },
|
|
||||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "205e3369bc83d8cb83f7409c36120e24611f8c5c" },
|
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
|
||||||
"nvim-window-picker": { "branch": "main", "commit": "6382540b2ae5de6c793d4aa2e3fe6dbb518505ec" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
|
||||||
"resession.nvim": { "branch": "master", "commit": "cc819b0489938d03e4f3532a583354f0287c015b" },
|
|
||||||
"smart-splits.nvim": { "branch": "master", "commit": "ddb23c1a1cf1507bda487cda7f6e4690965ef9f5" },
|
|
||||||
"snacks.nvim": { "branch": "main", "commit": "5eac729fa290248acfe10916d92a5ed5e5c0f9ed" },
|
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
|
||||||
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
|
|
||||||
"vim-illuminate": { "branch": "master", "commit": "1fa4b23409e22a03823648e344c77f260e2572cb" },
|
|
||||||
"which-key.nvim": { "branch": "main", "commit": "fcbf4eea17cb299c02557d576f0d568878e354a4" }
|
|
||||||
}
|
}
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
|
||||||
|
|
||||||
-- AstroCommunity: import any community modules here
|
|
||||||
-- We import this file in `lazy_setup.lua` before the `plugins/` folder.
|
|
||||||
-- This guarantees that the specs are processed before any user plugins.
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
"AstroNvim/astrocommunity",
|
|
||||||
{ import = "astrocommunity.pack.lua" },
|
|
||||||
-- import/override with your plugins folder
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
require("lazy").setup({
|
|
||||||
{
|
|
||||||
"AstroNvim/AstroNvim",
|
|
||||||
version = "^5", -- Remove version tracking to elect for nightly AstroNvim
|
|
||||||
import = "astronvim.plugins",
|
|
||||||
opts = { -- AstroNvim options must be set here with the `import` key
|
|
||||||
mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up
|
|
||||||
maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up
|
|
||||||
icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available)
|
|
||||||
pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override
|
|
||||||
update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{ import = "community" },
|
|
||||||
{ import = "plugins" },
|
|
||||||
} --[[@as LazySpec]], {
|
|
||||||
-- Configure any other `lazy.nvim` configuration options here
|
|
||||||
install = { colorscheme = { "astrotheme", "habamax" } },
|
|
||||||
ui = { backdrop = 100 },
|
|
||||||
performance = {
|
|
||||||
rtp = {
|
|
||||||
-- disable some rtp plugins, add more to your liking
|
|
||||||
disabled_plugins = {
|
|
||||||
"gzip",
|
|
||||||
"netrwPlugin",
|
|
||||||
"tarPlugin",
|
|
||||||
"tohtml",
|
|
||||||
"zipPlugin",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
} --[[@as LazyConfig]])
|
|
95
.config/nvim/lua/plugins/alpha.lua
Executable file
95
.config/nvim/lua/plugins/alpha.lua
Executable file
@ -0,0 +1,95 @@
|
|||||||
|
return {
|
||||||
|
"goolord/alpha-nvim",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
},
|
||||||
|
|
||||||
|
config = function()
|
||||||
|
local dashboard = require("alpha.themes.dashboard")
|
||||||
|
vim.cmd("source ~/.cache/wal/colors-wal.vim")
|
||||||
|
local color9 = vim.g.color9 or "#ffffff"
|
||||||
|
local color3 = vim.g.color3 or "#ffffff"
|
||||||
|
local color4 = vim.g.color4 or "#ffffff"
|
||||||
|
local color5 = vim.g.color5 or "#ffffff"
|
||||||
|
local color6 = vim.g.color6 or "#ffffff"
|
||||||
|
|
||||||
|
-- helper function for utf8 chars
|
||||||
|
local function getCharLen(s, pos)
|
||||||
|
local byte = string.byte(s, pos)
|
||||||
|
if not byte then
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
return (byte < 0x80 and 1) or (byte < 0xE0 and 2) or (byte < 0xF0 and 3) or (byte < 0xF8 and 4) or 1
|
||||||
|
end
|
||||||
|
|
||||||
|
local function applyColors(logo, colors, logoColors)
|
||||||
|
dashboard.section.header.val = logo
|
||||||
|
|
||||||
|
for key, color in pairs(colors) do
|
||||||
|
local name = "Alpha" .. key
|
||||||
|
vim.api.nvim_set_hl(0, name, color)
|
||||||
|
colors[key] = name
|
||||||
|
end
|
||||||
|
|
||||||
|
dashboard.section.header.opts.hl = {}
|
||||||
|
for i, line in ipairs(logoColors) do
|
||||||
|
local highlights = {}
|
||||||
|
local pos = 0
|
||||||
|
|
||||||
|
for j = 1, #line do
|
||||||
|
local opos = pos
|
||||||
|
pos = pos + getCharLen(logo[i], opos + 1)
|
||||||
|
|
||||||
|
local color_name = colors[line:sub(j, j)]
|
||||||
|
if color_name then
|
||||||
|
table.insert(highlights, { color_name, opos, pos })
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
table.insert(dashboard.section.header.opts.hl, highlights)
|
||||||
|
end
|
||||||
|
return dashboard.opts
|
||||||
|
end
|
||||||
|
|
||||||
|
require("alpha").setup(applyColors({
|
||||||
|
[[███████╗ ██████╗ ]],
|
||||||
|
[[██╔════╝ ██╔═══╝ ]],
|
||||||
|
[[█████╗ ██████╗ ]],
|
||||||
|
[[██╔══╝ ██╔═══╝ ]],
|
||||||
|
[[███████╗ ██║ ]],
|
||||||
|
[[╚══════╝ ╚═╝ ]],
|
||||||
|
[[N E O V I M ]],
|
||||||
|
}, {
|
||||||
|
["a"] = { fg = color9, ctermfg = 33},
|
||||||
|
["b"] = { fg = color3, ctermfg = 33},
|
||||||
|
["c"] = { fg = color4, ctermfg = 33},
|
||||||
|
["d"] = { fg = color5, ctermfg = 33},
|
||||||
|
["e"] = { fg = color6, ctermfg = 33},
|
||||||
|
}, {
|
||||||
|
[[bbbbbbba cccccca ]],
|
||||||
|
[[bbaaaaaa ccaaaaa ]],
|
||||||
|
[[bbbbba cccccca ]],
|
||||||
|
[[bbaaaa ccaaaaa ]],
|
||||||
|
[[bbbbbbba cca ]],
|
||||||
|
[[aaaaaaaa aaa ]],
|
||||||
|
[[d d d e e e ]],
|
||||||
|
}))
|
||||||
|
dashboard.section.buttons.val = {
|
||||||
|
dashboard.button( "e", " > New file" , ":ene <BAR> startinsert <CR>"),
|
||||||
|
dashboard.button( "f", " > Find file", ":lua require('telescope.builtin').find_files({ find_command = { 'rg', '--files' } })<CR>"),
|
||||||
|
dashboard.button( "F", " > Find folder", ":lua search_and_scope_into_directory()<CR>"),
|
||||||
|
dashboard.button( "r", " > Recent" , ":Telescope oldfiles<CR>"),
|
||||||
|
dashboard.button( "c", " > Config" , ":cd ~/.config/nvim | Telescope find_files<CR>"),
|
||||||
|
dashboard.button( "l", " > Lazy", ":Lazy<CR>"),
|
||||||
|
dashboard.button( "h", " > Settings" , ":cd ~/.config/hypr | Telescope find_files<CR>"),
|
||||||
|
dashboard.button( "q", " > Quit", ":qa<CR>"),
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
dashboard.section.footer.val = {
|
||||||
|
"",
|
||||||
|
"Welcome!",
|
||||||
|
}
|
||||||
|
|
||||||
|
end,
|
||||||
|
}
|
@ -1,85 +0,0 @@
|
|||||||
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
|
||||||
|
|
||||||
-- AstroCore provides a central place to modify mappings, vim options, autocommands, and more!
|
|
||||||
-- Configuration documentation can be found with `:h astrocore`
|
|
||||||
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
|
||||||
-- as this provides autocomplete and documentation while editing
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
"AstroNvim/astrocore",
|
|
||||||
---@type AstroCoreOpts
|
|
||||||
opts = {
|
|
||||||
-- Configure core features of AstroNvim
|
|
||||||
features = {
|
|
||||||
large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter
|
|
||||||
autopairs = true, -- enable autopairs at start
|
|
||||||
cmp = true, -- enable completion at start
|
|
||||||
diagnostics = { virtual_text = true, virtual_lines = false }, -- diagnostic settings on startup
|
|
||||||
highlighturl = true, -- highlight URLs at start
|
|
||||||
notifications = true, -- enable notifications at start
|
|
||||||
},
|
|
||||||
-- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on
|
|
||||||
diagnostics = {
|
|
||||||
virtual_text = true,
|
|
||||||
underline = true,
|
|
||||||
},
|
|
||||||
-- passed to `vim.filetype.add`
|
|
||||||
filetypes = {
|
|
||||||
-- see `:h vim.filetype.add` for usage
|
|
||||||
extension = {
|
|
||||||
foo = "fooscript",
|
|
||||||
},
|
|
||||||
filename = {
|
|
||||||
[".foorc"] = "fooscript",
|
|
||||||
},
|
|
||||||
pattern = {
|
|
||||||
[".*/etc/foo/.*"] = "fooscript",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- vim options can be configured here
|
|
||||||
options = {
|
|
||||||
opt = { -- vim.opt.<key>
|
|
||||||
relativenumber = true, -- sets vim.opt.relativenumber
|
|
||||||
number = true, -- sets vim.opt.number
|
|
||||||
spell = false, -- sets vim.opt.spell
|
|
||||||
signcolumn = "yes", -- sets vim.opt.signcolumn to yes
|
|
||||||
wrap = false, -- sets vim.opt.wrap
|
|
||||||
},
|
|
||||||
g = { -- vim.g.<key>
|
|
||||||
-- configure global vim variables (vim.g)
|
|
||||||
-- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup`
|
|
||||||
-- This can be found in the `lua/lazy_setup.lua` file
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- Mappings can be configured through AstroCore as well.
|
|
||||||
-- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized
|
|
||||||
mappings = {
|
|
||||||
-- first key is the mode
|
|
||||||
n = {
|
|
||||||
-- second key is the lefthand side of the map
|
|
||||||
|
|
||||||
-- navigate buffer tabs
|
|
||||||
["]b"] = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" },
|
|
||||||
["[b"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" },
|
|
||||||
|
|
||||||
-- mappings seen under group name "Buffer"
|
|
||||||
["<Leader>bd"] = {
|
|
||||||
function()
|
|
||||||
require("astroui.status.heirline").buffer_picker(
|
|
||||||
function(bufnr) require("astrocore.buffer").close(bufnr) end
|
|
||||||
)
|
|
||||||
end,
|
|
||||||
desc = "Close buffer from tabline",
|
|
||||||
},
|
|
||||||
|
|
||||||
-- tables with just a `desc` key will be registered with which-key if it's installed
|
|
||||||
-- this is useful for naming menus
|
|
||||||
-- ["<Leader>b"] = { desc = "Buffers" },
|
|
||||||
|
|
||||||
-- setting a mapping to false will disable it
|
|
||||||
-- ["<C-S>"] = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
@ -1,105 +0,0 @@
|
|||||||
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
|
||||||
|
|
||||||
-- AstroLSP allows you to customize the features in AstroNvim's LSP configuration engine
|
|
||||||
-- Configuration documentation can be found with `:h astrolsp`
|
|
||||||
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
|
||||||
-- as this provides autocomplete and documentation while editing
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
"AstroNvim/astrolsp",
|
|
||||||
---@type AstroLSPOpts
|
|
||||||
opts = {
|
|
||||||
-- Configuration table of features provided by AstroLSP
|
|
||||||
features = {
|
|
||||||
codelens = true, -- enable/disable codelens refresh on start
|
|
||||||
inlay_hints = false, -- enable/disable inlay hints on start
|
|
||||||
semantic_tokens = true, -- enable/disable semantic token highlighting
|
|
||||||
},
|
|
||||||
-- customize lsp formatting options
|
|
||||||
formatting = {
|
|
||||||
-- control auto formatting on save
|
|
||||||
format_on_save = {
|
|
||||||
enabled = true, -- enable or disable format on save globally
|
|
||||||
allow_filetypes = { -- enable format on save for specified filetypes only
|
|
||||||
-- "go",
|
|
||||||
},
|
|
||||||
ignore_filetypes = { -- disable format on save for specified filetypes
|
|
||||||
-- "python",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
disabled = { -- disable formatting capabilities for the listed language servers
|
|
||||||
-- disable lua_ls formatting capability if you want to use StyLua to format your lua code
|
|
||||||
-- "lua_ls",
|
|
||||||
},
|
|
||||||
timeout_ms = 1000, -- default format timeout
|
|
||||||
-- filter = function(client) -- fully override the default formatting function
|
|
||||||
-- return true
|
|
||||||
-- end
|
|
||||||
},
|
|
||||||
-- enable servers that you already have installed without mason
|
|
||||||
servers = {
|
|
||||||
-- "pyright"
|
|
||||||
},
|
|
||||||
-- customize language server configuration options passed to `lspconfig`
|
|
||||||
---@diagnostic disable: missing-fields
|
|
||||||
config = {
|
|
||||||
-- clangd = { capabilities = { offsetEncoding = "utf-8" } },
|
|
||||||
},
|
|
||||||
-- customize how language servers are attached
|
|
||||||
handlers = {
|
|
||||||
-- a function without a key is simply the default handler, functions take two parameters, the server name and the configured options table for that server
|
|
||||||
-- function(server, opts) require("lspconfig")[server].setup(opts) end
|
|
||||||
|
|
||||||
-- the key is the server that is being setup with `lspconfig`
|
|
||||||
-- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server
|
|
||||||
-- pyright = function(_, opts) require("lspconfig").pyright.setup(opts) end -- or a custom handler function can be passed
|
|
||||||
},
|
|
||||||
-- Configure buffer local auto commands to add when attaching a language server
|
|
||||||
autocmds = {
|
|
||||||
-- first key is the `augroup` to add the auto commands to (:h augroup)
|
|
||||||
lsp_codelens_refresh = {
|
|
||||||
-- Optional condition to create/delete auto command group
|
|
||||||
-- can either be a string of a client capability or a function of `fun(client, bufnr): boolean`
|
|
||||||
-- condition will be resolved for each client on each execution and if it ever fails for all clients,
|
|
||||||
-- the auto commands will be deleted for that buffer
|
|
||||||
cond = "textDocument/codeLens",
|
|
||||||
-- cond = function(client, bufnr) return client.name == "lua_ls" end,
|
|
||||||
-- list of auto commands to set
|
|
||||||
{
|
|
||||||
-- events to trigger
|
|
||||||
event = { "InsertLeave", "BufEnter" },
|
|
||||||
-- the rest of the autocmd options (:h nvim_create_autocmd)
|
|
||||||
desc = "Refresh codelens (buffer)",
|
|
||||||
callback = function(args)
|
|
||||||
if require("astrolsp").config.features.codelens then vim.lsp.codelens.refresh { bufnr = args.buf } end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- mappings to be set up on attaching of a language server
|
|
||||||
mappings = {
|
|
||||||
n = {
|
|
||||||
-- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean
|
|
||||||
gD = {
|
|
||||||
function() vim.lsp.buf.declaration() end,
|
|
||||||
desc = "Declaration of current symbol",
|
|
||||||
cond = "textDocument/declaration",
|
|
||||||
},
|
|
||||||
["<Leader>uY"] = {
|
|
||||||
function() require("astrolsp.toggles").buffer_semantic_tokens() end,
|
|
||||||
desc = "Toggle LSP semantic highlight (buffer)",
|
|
||||||
cond = function(client)
|
|
||||||
return client.supports_method "textDocument/semanticTokens/full" and vim.lsp.semantic_tokens ~= nil
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- A custom `on_attach` function to be run after the default `on_attach` function
|
|
||||||
-- takes two parameters `client` and `bufnr` (`:h lspconfig-setup`)
|
|
||||||
on_attach = function(client, bufnr)
|
|
||||||
-- this would disable semanticTokensProvider for all clients
|
|
||||||
-- client.server_capabilities.semanticTokensProvider = nil
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
@ -1,39 +0,0 @@
|
|||||||
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
|
||||||
|
|
||||||
-- AstroUI provides the basis for configuring the AstroNvim User Interface
|
|
||||||
-- Configuration documentation can be found with `:h astroui`
|
|
||||||
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
|
||||||
-- as this provides autocomplete and documentation while editing
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
"AstroNvim/astroui",
|
|
||||||
---@type AstroUIOpts
|
|
||||||
opts = {
|
|
||||||
-- change colorscheme
|
|
||||||
colorscheme = "astrodark",
|
|
||||||
-- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes
|
|
||||||
highlights = {
|
|
||||||
init = { -- this table overrides highlights in all themes
|
|
||||||
-- Normal = { bg = "#000000" },
|
|
||||||
},
|
|
||||||
astrodark = { -- a table of overrides/changes when applying the astrotheme theme
|
|
||||||
-- Normal = { bg = "#000000" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- Icons can be configured throughout the interface
|
|
||||||
icons = {
|
|
||||||
-- configure the loading of the lsp in the status line
|
|
||||||
LSPLoading1 = "⠋",
|
|
||||||
LSPLoading2 = "⠙",
|
|
||||||
LSPLoading3 = "⠹",
|
|
||||||
LSPLoading4 = "⠸",
|
|
||||||
LSPLoading5 = "⠼",
|
|
||||||
LSPLoading6 = "⠴",
|
|
||||||
LSPLoading7 = "⠦",
|
|
||||||
LSPLoading8 = "⠧",
|
|
||||||
LSPLoading9 = "⠇",
|
|
||||||
LSPLoading10 = "⠏",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
7
.config/nvim/lua/plugins/autopair.lua
Normal file
7
.config/nvim/lua/plugins/autopair.lua
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
return {
|
||||||
|
'windwp/nvim-autopairs',
|
||||||
|
event = "InsertEnter",
|
||||||
|
config = true
|
||||||
|
-- use opts = {} for passing setup options
|
||||||
|
-- this is equivalent to setup({}) function
|
||||||
|
}
|
38
.config/nvim/lua/plugins/cmdline.lua
Executable file
38
.config/nvim/lua/plugins/cmdline.lua
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
return {
|
||||||
|
"folke/noice.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
-- add any options here
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
"rcarriga/nvim-notify",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
vim.cmd("source ~/.cache/wal/colors-wal.vim")
|
||||||
|
local color9 = vim.g.color9 or "#808080"
|
||||||
|
local color5 = vim.g.color5 or "#ffffff"
|
||||||
|
require("noice").setup({
|
||||||
|
lsp = {
|
||||||
|
override = {
|
||||||
|
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||||
|
["vim.lsp.util.stylize_markdown"] = true,
|
||||||
|
["cmp.entry.get_documentation"] = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
presets = {
|
||||||
|
bottom_search = false,
|
||||||
|
command_palette = true,
|
||||||
|
long_message_to_split = true,
|
||||||
|
inc_rename = false,
|
||||||
|
lsp_doc_border = false,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
vim.cmd('highlight NoiceCmdlineIcon guifg=' .. color9)
|
||||||
|
vim.cmd('highlight NoiceCmdlinePopupBorder guifg=' .. color5)
|
||||||
|
vim.cmd('highlight NotifyINFOBorder guifg=' .. color5)
|
||||||
|
vim.cmd('highlight NotifyINFOIcon guifg=' .. color9)
|
||||||
|
vim.cmd('highlight NotifyINFOTitle guifg=' .. color5)
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
23
.config/nvim/lua/plugins/colors.lua
Executable file
23
.config/nvim/lua/plugins/colors.lua
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
-- return {
|
||||||
|
-- "ellisonleao/gruvbox.nvim",
|
||||||
|
-- lazy = false,
|
||||||
|
-- name = "gruvbox",
|
||||||
|
-- priority = 997,
|
||||||
|
-- config = function()
|
||||||
|
-- vim.cmd.colorscheme("gruvbox")
|
||||||
|
-- end,
|
||||||
|
-- }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return {
|
||||||
|
"AlphaTechnolog/pywal.nvim",
|
||||||
|
lazy = false,
|
||||||
|
priority = 1000,
|
||||||
|
config = function()
|
||||||
|
-- Set up pywal and load the colors
|
||||||
|
require("pywal").setup()
|
||||||
|
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
44
.config/nvim/lua/plugins/completions.lua
Executable file
44
.config/nvim/lua/plugins/completions.lua
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"hrsh7th/cmp-nvim-lsp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
dependencies = {
|
||||||
|
"saadparwaiz1/cmp_luasnip",
|
||||||
|
"rafamadriz/friendly-snippets",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hrsh7th/nvim-cmp",
|
||||||
|
config = function()
|
||||||
|
local cmp = require("cmp")
|
||||||
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
require("luasnip").lsp_expand(args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
completion = cmp.config.window.bordered(),
|
||||||
|
documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
||||||
|
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||||
|
["<C-Space>"] = cmp.mapping.complete(),
|
||||||
|
["<C-e>"] = cmp.mapping.abort(),
|
||||||
|
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||||
|
}),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = "nvim_lsp" },
|
||||||
|
{ name = "luasnip" }, -- For luasnip users.
|
||||||
|
}, {
|
||||||
|
{ name = "buffer" },
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
8
.config/nvim/lua/plugins/csscolors.lua
Executable file
8
.config/nvim/lua/plugins/csscolors.lua
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
return {
|
||||||
|
'norcalli/nvim-colorizer.lua',
|
||||||
|
config = function()
|
||||||
|
require('colorizer').setup {
|
||||||
|
'*'
|
||||||
|
}
|
||||||
|
end
|
||||||
|
}
|
56
.config/nvim/lua/plugins/git.lua
Executable file
56
.config/nvim/lua/plugins/git.lua
Executable file
@ -0,0 +1,56 @@
|
|||||||
|
return {
|
||||||
|
"lewis6991/gitsigns.nvim", -- Add a comma here
|
||||||
|
config = function()
|
||||||
|
require('gitsigns').setup {
|
||||||
|
signs = {
|
||||||
|
add = { text = '┃' },
|
||||||
|
change = { text = '┃' },
|
||||||
|
delete = { text = '_' },
|
||||||
|
topdelete = { text = '‾' },
|
||||||
|
changedelete = { text = '~' },
|
||||||
|
untracked = { text = '┆' },
|
||||||
|
},
|
||||||
|
signs_staged = {
|
||||||
|
add = { text = '┃' },
|
||||||
|
change = { text = '┃' },
|
||||||
|
delete = { text = '_' },
|
||||||
|
topdelete = { text = '‾' },
|
||||||
|
changedelete = { text = '~' },
|
||||||
|
untracked = { text = '┆' },
|
||||||
|
},
|
||||||
|
signs_staged_enable = true,
|
||||||
|
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
||||||
|
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
|
||||||
|
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
||||||
|
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
||||||
|
watch_gitdir = {
|
||||||
|
follow_files = true
|
||||||
|
},
|
||||||
|
auto_attach = true,
|
||||||
|
attach_to_untracked = false,
|
||||||
|
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
||||||
|
current_line_blame_opts = {
|
||||||
|
virt_text = true,
|
||||||
|
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
|
||||||
|
delay = 1000,
|
||||||
|
ignore_whitespace = false,
|
||||||
|
virt_text_priority = 100,
|
||||||
|
use_focus = true,
|
||||||
|
},
|
||||||
|
current_line_blame_formatter = '<author>, <author_time:%R> - <summary>',
|
||||||
|
sign_priority = 6,
|
||||||
|
update_debounce = 100,
|
||||||
|
status_formatter = nil, -- Use default
|
||||||
|
max_file_length = 40000, -- Disable if file is longer than this (in lines)
|
||||||
|
preview_config = {
|
||||||
|
-- Options passed to nvim_open_win
|
||||||
|
border = 'single',
|
||||||
|
style = 'minimal',
|
||||||
|
relative = 'cursor',
|
||||||
|
row = 0,
|
||||||
|
col = 1
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
19
.config/nvim/lua/plugins/icons.lua
Executable file
19
.config/nvim/lua/plugins/icons.lua
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
return {
|
||||||
|
"echasnovski/mini.icons",
|
||||||
|
lazy = true,
|
||||||
|
opts = {
|
||||||
|
file = {
|
||||||
|
[".keep"] = { glyph = "", hl = "MiniIconsGrey" },
|
||||||
|
["devcontainer.json"] = { glyph = "", hl = "MiniIconsAzure" },
|
||||||
|
},
|
||||||
|
filetype = {
|
||||||
|
dotenv = { glyph = "", hl = "MiniIconsYellow" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
init = function()
|
||||||
|
package.preload["nvim-web-devicons"] = function()
|
||||||
|
require("mini.icons").mock_nvim_web_devicons()
|
||||||
|
return package.loaded["nvim-web-devicons"]
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
}
|
57
.config/nvim/lua/plugins/lualine.lua
Executable file
57
.config/nvim/lua/plugins/lualine.lua
Executable file
@ -0,0 +1,57 @@
|
|||||||
|
return {
|
||||||
|
"nvim-lualine/lualine.nvim",
|
||||||
|
dependencies = { "nvim-tree/nvim-web-devicons","kdheepak/tabline.nvim" },
|
||||||
|
|
||||||
|
config = function()
|
||||||
|
require('lualine').setup {
|
||||||
|
options = {
|
||||||
|
icons_enabled = true,
|
||||||
|
theme = 'auto',
|
||||||
|
component_separators = '',
|
||||||
|
section_separators = { left = '', right = '' },
|
||||||
|
component_separators = {'', ''},
|
||||||
|
disabled_filetypes = {
|
||||||
|
statusline = {},
|
||||||
|
winbar = {},
|
||||||
|
},
|
||||||
|
ignore_focus = {},
|
||||||
|
always_divide_middle = true,
|
||||||
|
always_show_tabline = true,
|
||||||
|
globalstatus = false,
|
||||||
|
refresh = {
|
||||||
|
statusline = 100,
|
||||||
|
tabline = 100,
|
||||||
|
winbar = 100,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
sections = {
|
||||||
|
lualine_a = {'mode'},
|
||||||
|
lualine_b = {'branch'},
|
||||||
|
lualine_c = {},
|
||||||
|
lualine_x = {'filetype'},
|
||||||
|
lualine_y = {'progress'},
|
||||||
|
lualine_z = {'location'}
|
||||||
|
},
|
||||||
|
inactive_sections = {
|
||||||
|
lualine_a = {},
|
||||||
|
lualine_b = {},
|
||||||
|
lualine_c = {'filename'},
|
||||||
|
lualine_x = {},
|
||||||
|
lualine_y = {},
|
||||||
|
lualine_z = {}
|
||||||
|
},
|
||||||
|
tabline = {
|
||||||
|
lualine_a = {},
|
||||||
|
lualine_b = {},
|
||||||
|
lualine_c = { require'tabline'.tabline_buffers },
|
||||||
|
lualine_x = { require'tabline'.tabline_tabs },
|
||||||
|
lualine_y = {},
|
||||||
|
lualine_z = {},
|
||||||
|
},
|
||||||
|
winbar = {},
|
||||||
|
inactive_winbar = {},
|
||||||
|
extensions = {}
|
||||||
|
} end,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
4
.config/nvim/lua/plugins/markdown.lua
Normal file
4
.config/nvim/lua/plugins/markdown.lua
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
return {
|
||||||
|
"OXY2DEV/markview.nvim",
|
||||||
|
lazy = false
|
||||||
|
};
|
@ -1,28 +0,0 @@
|
|||||||
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
|
||||||
|
|
||||||
-- Customize Mason
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
-- use mason-tool-installer for automatically installing Mason packages
|
|
||||||
{
|
|
||||||
"WhoIsSethDaniel/mason-tool-installer.nvim",
|
|
||||||
-- overrides `require("mason-tool-installer").setup(...)`
|
|
||||||
opts = {
|
|
||||||
-- Make sure to use the names found in `:Mason`
|
|
||||||
ensure_installed = {
|
|
||||||
-- install language servers
|
|
||||||
"lua-language-server",
|
|
||||||
|
|
||||||
-- install formatters
|
|
||||||
"stylua",
|
|
||||||
|
|
||||||
-- install debuggers
|
|
||||||
"debugpy",
|
|
||||||
|
|
||||||
-- install any other package
|
|
||||||
"tree-sitter-cli",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
12
.config/nvim/lua/plugins/neo-tree.lua
Executable file
12
.config/nvim/lua/plugins/neo-tree.lua
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
return {
|
||||||
|
"nvim-neo-tree/neo-tree.nvim",
|
||||||
|
branch = "v3.x",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
vim.keymap.set("n", "<C-n>", ":Neotree filesystem reveal left<CR>")
|
||||||
|
end,
|
||||||
|
}
|
@ -1,24 +0,0 @@
|
|||||||
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
|
||||||
|
|
||||||
-- Customize None-ls sources
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
"nvimtools/none-ls.nvim",
|
|
||||||
opts = function(_, opts)
|
|
||||||
-- opts variable is the default configuration table for the setup function call
|
|
||||||
-- local null_ls = require "null-ls"
|
|
||||||
|
|
||||||
-- Check supported formatters and linters
|
|
||||||
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/formatting
|
|
||||||
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
|
|
||||||
|
|
||||||
-- Only insert new sources, do not replace the existing ones
|
|
||||||
-- (If you wish to replace, use `opts.sources = {}` instead of the `list_insert_unique` function)
|
|
||||||
opts.sources = require("astrocore").list_insert_unique(opts.sources, {
|
|
||||||
-- Set a formatter
|
|
||||||
-- null_ls.builtins.formatting.stylua,
|
|
||||||
-- null_ls.builtins.formatting.prettier,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
61
.config/nvim/lua/plugins/snacks.lua
Executable file
61
.config/nvim/lua/plugins/snacks.lua
Executable file
@ -0,0 +1,61 @@
|
|||||||
|
return {
|
||||||
|
"folke/snacks.nvim",
|
||||||
|
priority = 1000,
|
||||||
|
lazy = false,
|
||||||
|
---@type snacks.Config
|
||||||
|
opts = {
|
||||||
|
bigfile = { enabled = true },
|
||||||
|
indent = { enabled = true },
|
||||||
|
input = { enabled = true },
|
||||||
|
quickfile = { enabled = true },
|
||||||
|
scroll = { enabled = true },
|
||||||
|
statuscolumn = { enabled = true },
|
||||||
|
words = { enabled = true },
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{ "<leader>z", function() Snacks.zen() end, desc = "Toggle Zen Mode" },
|
||||||
|
{ "<leader>s", function() Snacks.scratch() end, desc = "Toggle Scratch Buffer" },
|
||||||
|
{ "<leader>S", function() Snacks.scratch.select() end, desc = "Select Scratch Buffer" },
|
||||||
|
{ "<c-/>", function() Snacks.terminal() end, desc = "Toggle Terminal" },
|
||||||
|
{ "<leader>gB", function() Snacks.gitbrowse() end, desc = "Git Browse", mode = { "n", "v" } },
|
||||||
|
{ "<leader>gb", function() Snacks.git.blame_line() end, desc = "Git Blame Line" },
|
||||||
|
{ "<leader>gf", function() Snacks.lazygit.log_file() end, desc = "Lazygit Current File History" },
|
||||||
|
{ "<leader>gg", function() Snacks.lazygit() end, desc = "Lazygit" },
|
||||||
|
{ "<leader>gl", function() Snacks.lazygit.log() end, desc = "Lazygit Log (cwd)" },
|
||||||
|
{
|
||||||
|
"<leader>N",
|
||||||
|
desc = "Neovim News",
|
||||||
|
function()
|
||||||
|
Snacks.win({
|
||||||
|
file = vim.api.nvim_get_runtime_file("doc/news.txt", false)[1],
|
||||||
|
width = 0.6,
|
||||||
|
height = 0.8,
|
||||||
|
wo = {
|
||||||
|
spell = false,
|
||||||
|
wrap = false,
|
||||||
|
signcolumn = "yes",
|
||||||
|
statuscolumn = " ",
|
||||||
|
conceallevel = 3,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
init = function()
|
||||||
|
vim.api.nvim_create_autocmd("User", {
|
||||||
|
pattern = "VeryLazy",
|
||||||
|
callback = function()
|
||||||
|
_G.dd = function(...)
|
||||||
|
Snacks.debug.inspect(...)
|
||||||
|
end
|
||||||
|
_G.bt = function()
|
||||||
|
Snacks.debug.backtrace()
|
||||||
|
end
|
||||||
|
vim.print = _G.dd
|
||||||
|
-- Create some toggle mappings
|
||||||
|
Snacks.toggle.option("spell", { name = "Spelling" }):map("<leader>us")
|
||||||
|
Snacks.toggle.option("wrap", { name = "Wrap" }):map("<leader>uw")
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
20
.config/nvim/lua/plugins/tab.lua
Executable file
20
.config/nvim/lua/plugins/tab.lua
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
return {
|
||||||
|
'kdheepak/tabline.nvim',
|
||||||
|
config = function()
|
||||||
|
require'tabline'.setup {
|
||||||
|
enable = true,
|
||||||
|
options = {
|
||||||
|
section_separators = { '', ''},
|
||||||
|
component_separators = {'|', "|"},
|
||||||
|
max_bufferline_percent = 80,
|
||||||
|
show_tabs_always = true,
|
||||||
|
show_devicons = true,
|
||||||
|
show_bufnr = false,
|
||||||
|
show_filename_only = true,
|
||||||
|
modified_italic = true,
|
||||||
|
show_tabs_only = false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
requires = {'hoob3rt/lualine.nvim', 'kyazdani42/nvim-web-devicons'}
|
||||||
|
}
|
89
.config/nvim/lua/plugins/telescope.lua
Executable file
89
.config/nvim/lua/plugins/telescope.lua
Executable file
@ -0,0 +1,89 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
tag = "0.1.8",
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
config = function()
|
||||||
|
local builtin = require("telescope.builtin")
|
||||||
|
vim.keymap.set("n", "<C-p>", builtin.find_files, {})
|
||||||
|
vim.keymap.set("n", "<A-f>", builtin.live_grep, {})
|
||||||
|
|
||||||
|
-- Function for searching and scoping into a directory
|
||||||
|
function search_and_scope_into_directory()
|
||||||
|
builtin.find_files({
|
||||||
|
prompt_title = "Search Directories",
|
||||||
|
find_command = {"fd", "--type", "d", "--hidden", "--follow"},
|
||||||
|
attach_mappings = function(prompt_bufnr, map)
|
||||||
|
local actions = require("telescope.actions")
|
||||||
|
actions.select_default:replace(function()
|
||||||
|
local selection = require("telescope.actions.state").get_selected_entry()
|
||||||
|
local selected_dir = selection.path
|
||||||
|
|
||||||
|
-- Change the current working directory to the selected directory
|
||||||
|
vim.cmd("cd " .. selected_dir)
|
||||||
|
actions.close(prompt_bufnr)
|
||||||
|
end)
|
||||||
|
return true
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Keybinding to trigger directory search and scoping
|
||||||
|
vim.keymap.set("n", "<A-d>", search_and_scope_into_directory)
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-telescope/telescope-ui-select.nvim",
|
||||||
|
config = function()
|
||||||
|
require("telescope").setup({
|
||||||
|
extensions = {
|
||||||
|
["ui-select"] = {
|
||||||
|
require("telescope.themes").get_dropdown({}),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
defaults = {
|
||||||
|
file_ignore_patterns = {
|
||||||
|
"node_modules", "build", "dist", "yarn.lock"
|
||||||
|
},
|
||||||
|
vimgrep_arguments = {
|
||||||
|
"rg",
|
||||||
|
"--follow",
|
||||||
|
"--hidden",
|
||||||
|
"--no-heading",
|
||||||
|
"--with-filename",
|
||||||
|
"--line-number",
|
||||||
|
"--column",
|
||||||
|
"--smart-case",
|
||||||
|
"--glob=!**/.git/*",
|
||||||
|
"--glob=!**/.idea/*",
|
||||||
|
"--glob=!**/.vscode/*",
|
||||||
|
"--glob=!**/build/*",
|
||||||
|
"--glob=!**/dist/*",
|
||||||
|
"--glob=!**/yarn.lock",
|
||||||
|
"--glob=!**/package-lock.json",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
pickers = {
|
||||||
|
find_files = {
|
||||||
|
hidden = true,
|
||||||
|
find_command = {
|
||||||
|
"rg",
|
||||||
|
"--files",
|
||||||
|
"--hidden",
|
||||||
|
"--glob=!**/.git/*",
|
||||||
|
"--glob=!**/.idea/*",
|
||||||
|
"--glob=!**/.vscode/*",
|
||||||
|
"--glob=!**/build/*",
|
||||||
|
"--glob=!**/dist/*",
|
||||||
|
"--glob=!**/yarn.lock",
|
||||||
|
"--glob=!**/package-lock.json",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
require("telescope").load_extension("ui-select")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
23
.config/nvim/lua/plugins/treesitter.lua
Normal file → Executable file
23
.config/nvim/lua/plugins/treesitter.lua
Normal file → Executable file
@ -1,15 +1,12 @@
|
|||||||
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
|
||||||
|
|
||||||
-- Customize Treesitter
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
return {
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
opts = {
|
build = ":TSUpdate",
|
||||||
ensure_installed = {
|
config = function()
|
||||||
"lua",
|
local config = require("nvim-treesitter.configs")
|
||||||
"vim",
|
config.setup({
|
||||||
-- add more arguments for adding more treesitter parsers
|
auto_install = true,
|
||||||
},
|
highlight = { enable = true },
|
||||||
},
|
indent = { enable = true },
|
||||||
|
})
|
||||||
|
end,
|
||||||
}
|
}
|
||||||
|
12
.config/nvim/lua/plugins/typr.lua
Executable file
12
.config/nvim/lua/plugins/typr.lua
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
return {
|
||||||
|
"nvzone/typr",
|
||||||
|
dependencies = "nvzone/volt",
|
||||||
|
opts = {
|
||||||
|
kblayout = {
|
||||||
|
{ "q", "w", "e", "r", "t", "y", "u", "i", "o", "p" },
|
||||||
|
{ "a", "s", "d", "f", "g", "h", "j", "k", "l", ";" },
|
||||||
|
{ "z", "x", "c", "v", "b", "n", "m", ",", ".", "/" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
cmd = { "Typr", "TyprStats" },
|
||||||
|
}
|
@ -1,88 +0,0 @@
|
|||||||
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
|
||||||
|
|
||||||
-- You can also add or configure plugins by creating files in this `plugins/` folder
|
|
||||||
-- PLEASE REMOVE THE EXAMPLES YOU HAVE NO INTEREST IN BEFORE ENABLING THIS FILE
|
|
||||||
-- Here are some examples:
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
|
|
||||||
-- == Examples of Adding Plugins ==
|
|
||||||
|
|
||||||
"andweeb/presence.nvim",
|
|
||||||
{
|
|
||||||
"ray-x/lsp_signature.nvim",
|
|
||||||
event = "BufRead",
|
|
||||||
config = function() require("lsp_signature").setup() end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- == Examples of Overriding Plugins ==
|
|
||||||
|
|
||||||
-- customize dashboard options
|
|
||||||
{
|
|
||||||
"folke/snacks.nvim",
|
|
||||||
opts = {
|
|
||||||
dashboard = {
|
|
||||||
preset = {
|
|
||||||
header = table.concat({
|
|
||||||
" █████ ███████ ████████ ██████ ██████ ",
|
|
||||||
"██ ██ ██ ██ ██ ██ ██ ██",
|
|
||||||
"███████ ███████ ██ ██████ ██ ██",
|
|
||||||
"██ ██ ██ ██ ██ ██ ██ ██",
|
|
||||||
"██ ██ ███████ ██ ██ ██ ██████ ",
|
|
||||||
"",
|
|
||||||
"███ ██ ██ ██ ██ ███ ███",
|
|
||||||
"████ ██ ██ ██ ██ ████ ████",
|
|
||||||
"██ ██ ██ ██ ██ ██ ██ ████ ██",
|
|
||||||
"██ ██ ██ ██ ██ ██ ██ ██ ██",
|
|
||||||
"██ ████ ████ ██ ██ ██",
|
|
||||||
}, "\n"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- You can disable default plugins as follows:
|
|
||||||
{ "max397574/better-escape.nvim", enabled = false },
|
|
||||||
|
|
||||||
-- You can also easily customize additional setup of plugins that is outside of the plugin's setup call
|
|
||||||
{
|
|
||||||
"L3MON4D3/LuaSnip",
|
|
||||||
config = function(plugin, opts)
|
|
||||||
require "astronvim.plugins.configs.luasnip"(plugin, opts) -- include the default astronvim config that calls the setup call
|
|
||||||
-- add more custom luasnip configuration such as filetype extend or custom snippets
|
|
||||||
local luasnip = require "luasnip"
|
|
||||||
luasnip.filetype_extend("javascript", { "javascriptreact" })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"windwp/nvim-autopairs",
|
|
||||||
config = function(plugin, opts)
|
|
||||||
require "astronvim.plugins.configs.nvim-autopairs"(plugin, opts) -- include the default astronvim config that calls the setup call
|
|
||||||
-- add more custom autopairs configuration such as custom rules
|
|
||||||
local npairs = require "nvim-autopairs"
|
|
||||||
local Rule = require "nvim-autopairs.rule"
|
|
||||||
local cond = require "nvim-autopairs.conds"
|
|
||||||
npairs.add_rules(
|
|
||||||
{
|
|
||||||
Rule("$", "$", { "tex", "latex" })
|
|
||||||
-- don't add a pair if the next character is %
|
|
||||||
:with_pair(cond.not_after_regex "%%")
|
|
||||||
-- don't add a pair if the previous character is xxx
|
|
||||||
:with_pair(
|
|
||||||
cond.not_before_regex("xxx", 3)
|
|
||||||
)
|
|
||||||
-- don't move right when repeat character
|
|
||||||
:with_move(cond.none())
|
|
||||||
-- don't delete if the next character is xx
|
|
||||||
:with_del(cond.not_after_regex "xx")
|
|
||||||
-- disable adding a newline when you press <cr>
|
|
||||||
:with_cr(cond.none()),
|
|
||||||
},
|
|
||||||
-- disable for .vim files, but it work for another filetypes
|
|
||||||
Rule("a", "a", "-vim")
|
|
||||||
)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
@ -1,5 +0,0 @@
|
|||||||
if true then return end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
|
||||||
|
|
||||||
-- This will run last in the setup process.
|
|
||||||
-- This is just pure lua so anything that doesn't
|
|
||||||
-- fit in the normal config locations above can go here
|
|
5
.config/nvim/lua/vim-options.lua
Executable file
5
.config/nvim/lua/vim-options.lua
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
vim.cmd("set expandtab")
|
||||||
|
vim.cmd("set tabstop=4")
|
||||||
|
vim.cmd("set softtabstop=4")
|
||||||
|
vim.cmd("set shiftwidth=4")
|
||||||
|
vim.g.mapleader = " "
|
@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
base: lua51
|
|
||||||
|
|
||||||
globals:
|
|
||||||
vim:
|
|
||||||
any: true
|
|
@ -1,8 +0,0 @@
|
|||||||
std = "neovim"
|
|
||||||
|
|
||||||
[rules]
|
|
||||||
global_usage = "allow"
|
|
||||||
if_same_then_else = "allow"
|
|
||||||
incorrect_standard_library_use = "allow"
|
|
||||||
mixed_table = "allow"
|
|
||||||
multiple_statements = "allow"
|
|
@ -1,8 +0,0 @@
|
|||||||
[config]
|
|
||||||
allow_images=true
|
|
||||||
show=drun
|
|
||||||
width=800
|
|
||||||
height=600
|
|
||||||
always_parse_args=true
|
|
||||||
show_all=true
|
|
||||||
term=kitty
|
|
@ -1,88 +0,0 @@
|
|||||||
@import url("/home/eli/.cache/wal/colors-waybar.css");
|
|
||||||
@define-color mauve @color9;
|
|
||||||
@define-color red @color9;
|
|
||||||
@define-color lavender @color7;
|
|
||||||
@define-color text @color7;
|
|
||||||
* {
|
|
||||||
all: unset;
|
|
||||||
font-family: "CodeNewRoman Nerd Font Mono", monospace;
|
|
||||||
font-size: 18px;
|
|
||||||
outline: none;
|
|
||||||
border: none;
|
|
||||||
text-shadow: none;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
window {
|
|
||||||
all: unset;
|
|
||||||
padding: 20px;
|
|
||||||
border-radius: 0px;
|
|
||||||
background-color: alpha(@background, 0.5);
|
|
||||||
}
|
|
||||||
#inner-box {
|
|
||||||
margin: 2px;
|
|
||||||
padding: 5px;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
#outer-box {
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
#scroll {
|
|
||||||
margin: 0px;
|
|
||||||
padding: 30px;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
#input {
|
|
||||||
all: unset;
|
|
||||||
margin-left: 20px;
|
|
||||||
margin-right: 20px;
|
|
||||||
margin-top: 20px;
|
|
||||||
padding: 20px;
|
|
||||||
border: none;
|
|
||||||
outline: none;
|
|
||||||
color: @text;
|
|
||||||
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
|
|
||||||
border-radius: 10;
|
|
||||||
background-color: alpha(@background, 0.2);
|
|
||||||
}
|
|
||||||
#input image {
|
|
||||||
border: none;
|
|
||||||
color: @red;
|
|
||||||
padding-right: 10px;
|
|
||||||
}
|
|
||||||
#input * {
|
|
||||||
border: none;
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#input:focus {
|
|
||||||
outline: none;
|
|
||||||
border: none;
|
|
||||||
|
|
||||||
border-radius: 10;
|
|
||||||
}
|
|
||||||
#text {
|
|
||||||
margin: 5px;
|
|
||||||
border: none;
|
|
||||||
color: @text;
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
#entry {
|
|
||||||
all: unset;
|
|
||||||
padding: 20 0 20 45;
|
|
||||||
}
|
|
||||||
#entry arrow {
|
|
||||||
border: none;
|
|
||||||
color: @lavender;
|
|
||||||
}
|
|
||||||
#entry:selected {
|
|
||||||
border: none;
|
|
||||||
border-radius: 20px;
|
|
||||||
background-color: rgba(0, 0, 0, 0.15);
|
|
||||||
}
|
|
||||||
#entry:selected #text {
|
|
||||||
color: @mauve;
|
|
||||||
}
|
|
||||||
#entry:drop(active) {
|
|
||||||
background-color: @lavender !important;
|
|
||||||
}
|
|
@ -80,7 +80,7 @@ window {
|
|||||||
#entry:selected {
|
#entry:selected {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
background-color: rgba(0, 0, 0, 0.15);
|
background-color: alpha(@background,.2);
|
||||||
}
|
}
|
||||||
#entry:selected #text {
|
#entry:selected #text {
|
||||||
color: @mauve;
|
color: @mauve;
|
||||||
|
25
InstallScripts/fullinstall-backup.sh
Normal file
25
InstallScripts/fullinstall-backup.sh
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
sudo chmod -R 777 $HOME
|
||||||
|
yay -S reflector rsync
|
||||||
|
sudo reflector --country 'US' --latest 10 --sort rate --save /etc/pacman.d/mirrorlist
|
||||||
|
yay -S pywal swww
|
||||||
|
wal -i ~/Dotfiles/wallpapers/walls/r82.jpg -n
|
||||||
|
yay -S waybar swaync starship myfetch neovim python-pywalfox hypridle hyprpicker hyprshot hyprlock pyprland wlogout fd cava brightnessctl clock-rs-git
|
||||||
|
yay -S nerd-fonts
|
||||||
|
yay -S nwg-look qogir-icon-theme materia-gtk-theme illogical-impulse-bibata-modern-classic-bin
|
||||||
|
yay -S thunar gvfs tumbler eza bottom htop
|
||||||
|
yay -S libreoffice-fresh
|
||||||
|
yay -S spotify ncspot discord code
|
||||||
|
yay -S blueman bluez
|
||||||
|
systemctl enable bluetooth
|
||||||
|
yay -S pipewire pipewire-pulse pipewire-alsa pipewire-jack pavucontrol pulsemixer
|
||||||
|
systemctl --user enable pipewire.service pipewire-pulse.service
|
||||||
|
systemctl --user start pipewire.service pipewire-pulse.service
|
||||||
|
yay -S gnome-network-displays gst-plugins-bad
|
||||||
|
sudo systemctl enable avahi-daemon
|
||||||
|
hyprpm add https://github.com/virtcode/hypr-dynamic-cursors
|
||||||
|
hyprpm enable dynamic-cursors
|
||||||
|
sudo cp -f -r ~/Dotfiles/wallpapers ~/
|
||||||
|
sudo cp -r -f ~/Dotfiles/.config/* ~/.config/
|
||||||
|
sudo cp -r -f ~/Dotfiles/.bashrc ~/
|
||||||
|
notify-send "Open Terminal with MOD+Q" "Hello $USER,\nThank you for downloading my Dotfiles\n-EF"
|
81
InstallScripts/fullinstall.sh
Executable file
81
InstallScripts/fullinstall.sh
Executable file
@ -0,0 +1,81 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Ask if they want automatic or manual installation
|
||||||
|
read -p "Do you want automatic (default) or manual installation? (a/m): " install_choice
|
||||||
|
install_choice=${install_choice:-a} # Default to 'a' if empty
|
||||||
|
# Ask if they want to backup their .config
|
||||||
|
read -p "Do you want to backup your current .config directory? (y/n, default: y): " backup_choice
|
||||||
|
backup_choice=${backup_choice:-y} # Default to 'y' if empty
|
||||||
|
if [[ "$backup_choice" == "y" ]]; then
|
||||||
|
cp -r ~/.config ~/.config_backup
|
||||||
|
echo "Backup of .config created at ~/.config_backup"
|
||||||
|
fi
|
||||||
|
# Automatic install section
|
||||||
|
if [[ $install_choice == "a" ]]; then
|
||||||
|
sudo chmod -R 777 $HOME
|
||||||
|
yay -S reflector rsync python-pywal16 swww waybar swaync starship myfetch neovim python-pywalfox hypridle hyprpicker hyprshot hyprlock pyprland wlogout fd cava brightnessctl clock-rs-git nerd-fonts nwg-look qogir-icon-theme materia-gtk-theme illogical-impulse-bibata-modern-classic-bin thunar gvfs tumbler eza bottom htop libreoffice-fresh spotify ncspot discord code blueman bluez pipewire pipewire-pulse pipewire-alsa pipewire-jack pavucontrol pulsemixer gnome-network-displays gst-plugins-bad
|
||||||
|
sudo reflector --country 'US' --latest 10 --sort rate --save /etc/pacman.d/mirrorlist
|
||||||
|
systemctl enable bluetooth
|
||||||
|
systemctl --user enable pipewire.service
|
||||||
|
systemctl --user enable pipewire-pulse.service
|
||||||
|
systemctl --user start pipewire.service
|
||||||
|
systemctl --user start pipewire-pulse.service
|
||||||
|
sudo systemctl enable avahi-daemon
|
||||||
|
# Set wallpaper
|
||||||
|
wal -i ~/Dotfiles/wallpapers/pywallpaper.jpg -n
|
||||||
|
# Dynamic-Cursors setup
|
||||||
|
hyprpm add https://github.com/virtcode/hypr-dynamic-cursors
|
||||||
|
hyprpm enable dynamic-cursors
|
||||||
|
# Copy files
|
||||||
|
sudo cp -a ~/Dotfiles/wallpapers ~/
|
||||||
|
sudo cp -a ~/Dotfiles/.config/* ~/.config/
|
||||||
|
sudo cp -a ~/Dotfiles/.bashrc ~/
|
||||||
|
notify-send "Open Terminal with MOD+Q" "Hello $USER,\nThank you for downloading my Dotfiles\n-EF"
|
||||||
|
# Manual install section
|
||||||
|
elif [[ $install_choice == "m" ]]; then
|
||||||
|
sudo chmod -R 777 $HOME
|
||||||
|
read -p "Do you want to change your mirrorlist to the best one for US? (y/n, default: y): " mirror_choice
|
||||||
|
mirror_choice=${mirror_choice:-y} # Default to 'y' if empty
|
||||||
|
if [[ "$mirror_choice" == "y" ]]; then
|
||||||
|
yay -S reflector rsync
|
||||||
|
sudo reflector --country 'US' --latest 10 --sort rate --save /etc/pacman.d/mirrorlist
|
||||||
|
fi
|
||||||
|
# Confirm each package installation
|
||||||
|
for package in python-pywal16 swww waybar swaync starship myfetch neovim python-pywalfox hypridle hyprpicker hyprshot hyprlock pyprland wlogout fd cava brightnessctl clock-rs-git nerd-fonts nwg-look qogir-icon-theme materia-gtk-theme illogical-impulse-bibata-modern-classic-bin thunar gvfs tumbler eza bottom htop libreoffice-fresh spotify ncspot discord code; do
|
||||||
|
read -p "Do you want to install $package? (y/n, default: y): " choice
|
||||||
|
choice=${choice:-y} # Default to 'y' if empty
|
||||||
|
if [[ "$choice" == "y" ]]; then
|
||||||
|
yay -S $package
|
||||||
|
clear
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
wal -i ~/Dotfiles/wallpapers/pywallpaper.jpg -n
|
||||||
|
# Ask for bluetooth
|
||||||
|
read -p "Do you want to install Bluetooth support? (y/n, default: y): " bluetooth_choice
|
||||||
|
bluetooth_choice=${bluetooth_choice:-y} # Default to 'y' if empty
|
||||||
|
if [[ "$bluetooth_choice" == "y" ]]; then
|
||||||
|
yay -S blueman bluez
|
||||||
|
systemctl enable bluetooth
|
||||||
|
fi
|
||||||
|
# Ask for Pipewire and Network Displays
|
||||||
|
read -p "Do you want to configure Pipewire and Network Displays? (y/n, default: y): " pipewire_choice
|
||||||
|
pipewire_choice=${pipewire_choice:-y} # Default to 'y' if empty
|
||||||
|
if [[ "$pipewire_choice" == "y" ]]; then
|
||||||
|
yay -S pipewire pipewire-pulse pipewire-alsa pipewire-jack pavucontrol pulsemixer gnome-network-displays gst-plugins-bad
|
||||||
|
systemctl --user enable pipewire.service
|
||||||
|
systemctl --user enable pipewire-pulse.service
|
||||||
|
systemctl --user start pipewire.service
|
||||||
|
systemctl --user start pipewire-pulse.service
|
||||||
|
fi
|
||||||
|
# Dynamic-Cursors setup
|
||||||
|
read -p "Do you want to enable Dynamic-Cursors? (y/n, default: y): " cursors_choice
|
||||||
|
cursors_choice=${cursors_choice:-y} # Default to 'y' if empty
|
||||||
|
if [[ "$cursors_choice" == "y" ]]; then
|
||||||
|
hyprpm add https://github.com/virtcode/hypr-dynamic-cursors
|
||||||
|
hyprpm enable dynamic-cursors
|
||||||
|
fi
|
||||||
|
# Copy files
|
||||||
|
sudo cp -a ~/Dotfiles/wallpapers ~/
|
||||||
|
sudo cp -a ~/Dotfiles/.config/* ~/.config/
|
||||||
|
sudo cp -a ~/Dotfiles/.bashrc ~/
|
||||||
|
notify-send "Open Terminal with MOD+Q" "Hello $USER,\nThank you for downloading my Dotfiles\n-EF"
|
||||||
|
fi
|
5
InstallScripts/gtkthemesinstall.sh
Executable file
5
InstallScripts/gtkthemesinstall.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
yay -S nwg-look qogir-icon-theme materia-gtk-theme illogical-impulse-bibata-modern-classic-bin
|
||||||
|
echo "___________________________________________"
|
||||||
|
echo "Use nwg-look to set gtk themes for hyprland"
|
||||||
|
echo "___________________________________________"
|
5
InstallScripts/hyprlockinstall.sh
Executable file
5
InstallScripts/hyprlockinstall.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
yay -S hyprlock pywal
|
||||||
|
wal -i ~/Dotfiles/wallpapers/pywallpaper.jpg
|
||||||
|
sudo cp -a ~/Dotfiles/.config/wal ~/.config/
|
||||||
|
sudo cp -a ~/Dotfiles/.config/hypr/hyprlock.conf ~/.config/hypr/
|
49
InstallScripts/install.sh
Executable file
49
InstallScripts/install.sh
Executable file
@ -0,0 +1,49 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
clear
|
||||||
|
echo "1. All"
|
||||||
|
echo "2. waybar"
|
||||||
|
echo "3. wofi"
|
||||||
|
echo "4. swaync"
|
||||||
|
echo "5. hyprlock"
|
||||||
|
echo "6. nvim"
|
||||||
|
echo "7. wlogout"
|
||||||
|
echo "8. wallpaper solution"
|
||||||
|
echo "9. starship"
|
||||||
|
echo "0. GTK themes"
|
||||||
|
read -p "Please choose what to install (1,2,3,4,5,6,7,8,9,0): " choice
|
||||||
|
|
||||||
|
if [ "$choice" -eq 1 ]; then
|
||||||
|
clear
|
||||||
|
chmod +x ~/Dotfiles/InstallScripts/fullinstall.sh && ~/Dotfiles/InstallScripts/fullinstall.sh
|
||||||
|
elif [ "$choice" -eq 2 ]; then
|
||||||
|
clear
|
||||||
|
chmod +x ~/Dotfiles/InstallScripts/waybarinstall.sh && ~/Dotfiles/InstallScripts/waybarinstall.sh
|
||||||
|
elif [ "$choice" -eq 3 ]; then
|
||||||
|
clear
|
||||||
|
chmod +x ~/Dotfiles/InstallScripts/wofiinstall.sh && ~/Dotfiles/InstallScripts/wofiinstall.sh
|
||||||
|
elif [ "$choice" -eq 4 ]; then
|
||||||
|
clear
|
||||||
|
chmod +x ~/Dotfiles/InstallScripts/swayncinstall.sh && ~/Dotfiles/InstallScripts/swayncinstall.sh
|
||||||
|
elif [ "$choice" -eq 5 ]; then
|
||||||
|
clear
|
||||||
|
chmod +x ~/Dotfiles/InstallScripts/hyprlockinstall.sh && ~/Dotfiles/InstallScripts/hyprlockinstall.sh
|
||||||
|
elif [ "$choice" -eq 6 ]; then
|
||||||
|
clear
|
||||||
|
chmod +x ~/Dotfiles/InstallScripts/nviminstall.sh && ~/Dotfiles/InstallScripts/nviminstall.sh
|
||||||
|
elif [ "$choice" -eq 7 ]; then
|
||||||
|
clear
|
||||||
|
chmod +x ~/Dotfiles/InstallScripts/wlogoutinstall.sh && ~/Dotfiles/InstallScripts/wlogoutinstall.sh
|
||||||
|
elif [ "$choice" -eq 8 ]; then
|
||||||
|
clear
|
||||||
|
chmod +x ~/Dotfiles/InstallScripts/wallpapersolution.sh && ~/Dotfiles/InstallScripts/wallpapersolution.sh
|
||||||
|
elif [ "$choice" -eq 9 ]; then
|
||||||
|
clear
|
||||||
|
chmod +x ~/Dotfiles/InstallScripts/starshipinstall.sh && ~/Dotfiles/InstallScripts/starshipinstall.sh
|
||||||
|
elif [ "$choice" -eq 0 ]; then
|
||||||
|
clear
|
||||||
|
chmod +x ~/Dotfiles/InstallScripts/gtkthemesinstall.sh && ~/Dotfiles/InstallScripts/gtkthemesinstall.sh
|
||||||
|
else
|
||||||
|
echo "Invalid choice. Try Again"
|
||||||
|
fi
|
||||||
|
|
4
InstallScripts/nviminstall.sh
Executable file
4
InstallScripts/nviminstall.sh
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
yay -S neovim pywal lazygit
|
||||||
|
wal -i ~/Dotfiles/wallpapers/pywallpaper.jpg
|
||||||
|
sudo cp -a ~/Dotfiles/.config/nvim ~/.config/
|
3
InstallScripts/starshipinstall.sh
Executable file
3
InstallScripts/starshipinstall.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
yay -S starship
|
||||||
|
sudo cp -a ~/Dotfiles/.config/starship.toml ~/.config/
|
4
InstallScripts/swayncinstall.sh
Executable file
4
InstallScripts/swayncinstall.sh
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
yay -S swaync gvfs pywal
|
||||||
|
wal -i ~/Dotfiles/wallpapers/pywallpaper.jpg
|
||||||
|
sudo cp -a ~/Dotfiles/.config/swaync ~/.config/
|
6
InstallScripts/wallpapersolution.sh
Executable file
6
InstallScripts/wallpapersolution.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
yay -S swww pywal fd wofi
|
||||||
|
wal -i ~/Dotfiles/wallpapers/pywallpaper.jpg
|
||||||
|
sudo cp -a ~/Dotfiles/.config/hypr/wallpaper.sh ~/.config/hypr/wallpaper.sh
|
||||||
|
sudo cp -a ~/Dotfiles/.config/wofi/config1 ~/.config/wofi/
|
||||||
|
sudo cp -a ~/Dotfiles/.config/wofi/style1.css ~/.config/wofi/
|
6
InstallScripts/waybarinstall.sh
Executable file
6
InstallScripts/waybarinstall.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
yay -S waybar hyprpicker otf-codenewroman-nerd pywal
|
||||||
|
wal -i ~/Dotfiles/wallpapers/pywallpaper.jpg
|
||||||
|
yay -S blueman bluez
|
||||||
|
systemctl enable bluetooth
|
||||||
|
sudo cp -a ~/Dotfiles/.config/waybar ~/.config/
|
4
InstallScripts/wlogoutinstall.sh
Executable file
4
InstallScripts/wlogoutinstall.sh
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
yay -S wlogout pywal
|
||||||
|
wal -i ~/Dotfiles/wallpapers/pywallpaper.jpg
|
||||||
|
sudo cp -a ~/Dotfiles/.config/wlogout ~/.config/
|
4
InstallScripts/wofiinstall.sh
Executable file
4
InstallScripts/wofiinstall.sh
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
yay -S wofi pywal
|
||||||
|
wal -i ~/Dotfiles/wallpapers/pywallpaper.jpg
|
||||||
|
sudo cp -a ~/Dotfiles/.config/wofi ~/.config/
|
674
LICENSE
Normal file
674
LICENSE
Normal file
@ -0,0 +1,674 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The GNU General Public License is a free, copyleft license for
|
||||||
|
software and other kinds of works.
|
||||||
|
|
||||||
|
The licenses for most software and other practical works are designed
|
||||||
|
to take away your freedom to share and change the works. By contrast,
|
||||||
|
the GNU General Public License is intended to guarantee your freedom to
|
||||||
|
share and change all versions of a program--to make sure it remains free
|
||||||
|
software for all its users. We, the Free Software Foundation, use the
|
||||||
|
GNU General Public License for most of our software; it applies also to
|
||||||
|
any other work released this way by its authors. You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
them if you wish), that you receive source code or can get it if you
|
||||||
|
want it, that you can change the software or use pieces of it in new
|
||||||
|
free programs, and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to prevent others from denying you
|
||||||
|
these rights or asking you to surrender the rights. Therefore, you have
|
||||||
|
certain responsibilities if you distribute copies of the software, or if
|
||||||
|
you modify it: responsibilities to respect the freedom of others.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must pass on to the recipients the same
|
||||||
|
freedoms that you received. You must make sure that they, too, receive
|
||||||
|
or can get the source code. And you must show them these terms so they
|
||||||
|
know their rights.
|
||||||
|
|
||||||
|
Developers that use the GNU GPL protect your rights with two steps:
|
||||||
|
(1) assert copyright on the software, and (2) offer you this License
|
||||||
|
giving you legal permission to copy, distribute and/or modify it.
|
||||||
|
|
||||||
|
For the developers' and authors' protection, the GPL clearly explains
|
||||||
|
that there is no warranty for this free software. For both users' and
|
||||||
|
authors' sake, the GPL requires that modified versions be marked as
|
||||||
|
changed, so that their problems will not be attributed erroneously to
|
||||||
|
authors of previous versions.
|
||||||
|
|
||||||
|
Some devices are designed to deny users access to install or run
|
||||||
|
modified versions of the software inside them, although the manufacturer
|
||||||
|
can do so. This is fundamentally incompatible with the aim of
|
||||||
|
protecting users' freedom to change the software. The systematic
|
||||||
|
pattern of such abuse occurs in the area of products for individuals to
|
||||||
|
use, which is precisely where it is most unacceptable. Therefore, we
|
||||||
|
have designed this version of the GPL to prohibit the practice for those
|
||||||
|
products. If such problems arise substantially in other domains, we
|
||||||
|
stand ready to extend this provision to those domains in future versions
|
||||||
|
of the GPL, as needed to protect the freedom of users.
|
||||||
|
|
||||||
|
Finally, every program is threatened constantly by software patents.
|
||||||
|
States should not allow patents to restrict development and use of
|
||||||
|
software on general-purpose computers, but in those that do, we wish to
|
||||||
|
avoid the special danger that patents applied to a free program could
|
||||||
|
make it effectively proprietary. To prevent this, the GPL assures that
|
||||||
|
patents cannot be used to render the program non-free.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
0. Definitions.
|
||||||
|
|
||||||
|
"This License" refers to version 3 of the GNU General Public License.
|
||||||
|
|
||||||
|
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||||
|
works, such as semiconductor masks.
|
||||||
|
|
||||||
|
"The Program" refers to any copyrightable work licensed under this
|
||||||
|
License. Each licensee is addressed as "you". "Licensees" and
|
||||||
|
"recipients" may be individuals or organizations.
|
||||||
|
|
||||||
|
To "modify" a work means to copy from or adapt all or part of the work
|
||||||
|
in a fashion requiring copyright permission, other than the making of an
|
||||||
|
exact copy. The resulting work is called a "modified version" of the
|
||||||
|
earlier work or a work "based on" the earlier work.
|
||||||
|
|
||||||
|
A "covered work" means either the unmodified Program or a work based
|
||||||
|
on the Program.
|
||||||
|
|
||||||
|
To "propagate" a work means to do anything with it that, without
|
||||||
|
permission, would make you directly or secondarily liable for
|
||||||
|
infringement under applicable copyright law, except executing it on a
|
||||||
|
computer or modifying a private copy. Propagation includes copying,
|
||||||
|
distribution (with or without modification), making available to the
|
||||||
|
public, and in some countries other activities as well.
|
||||||
|
|
||||||
|
To "convey" a work means any kind of propagation that enables other
|
||||||
|
parties to make or receive copies. Mere interaction with a user through
|
||||||
|
a computer network, with no transfer of a copy, is not conveying.
|
||||||
|
|
||||||
|
An interactive user interface displays "Appropriate Legal Notices"
|
||||||
|
to the extent that it includes a convenient and prominently visible
|
||||||
|
feature that (1) displays an appropriate copyright notice, and (2)
|
||||||
|
tells the user that there is no warranty for the work (except to the
|
||||||
|
extent that warranties are provided), that licensees may convey the
|
||||||
|
work under this License, and how to view a copy of this License. If
|
||||||
|
the interface presents a list of user commands or options, such as a
|
||||||
|
menu, a prominent item in the list meets this criterion.
|
||||||
|
|
||||||
|
1. Source Code.
|
||||||
|
|
||||||
|
The "source code" for a work means the preferred form of the work
|
||||||
|
for making modifications to it. "Object code" means any non-source
|
||||||
|
form of a work.
|
||||||
|
|
||||||
|
A "Standard Interface" means an interface that either is an official
|
||||||
|
standard defined by a recognized standards body, or, in the case of
|
||||||
|
interfaces specified for a particular programming language, one that
|
||||||
|
is widely used among developers working in that language.
|
||||||
|
|
||||||
|
The "System Libraries" of an executable work include anything, other
|
||||||
|
than the work as a whole, that (a) is included in the normal form of
|
||||||
|
packaging a Major Component, but which is not part of that Major
|
||||||
|
Component, and (b) serves only to enable use of the work with that
|
||||||
|
Major Component, or to implement a Standard Interface for which an
|
||||||
|
implementation is available to the public in source code form. A
|
||||||
|
"Major Component", in this context, means a major essential component
|
||||||
|
(kernel, window system, and so on) of the specific operating system
|
||||||
|
(if any) on which the executable work runs, or a compiler used to
|
||||||
|
produce the work, or an object code interpreter used to run it.
|
||||||
|
|
||||||
|
The "Corresponding Source" for a work in object code form means all
|
||||||
|
the source code needed to generate, install, and (for an executable
|
||||||
|
work) run the object code and to modify the work, including scripts to
|
||||||
|
control those activities. However, it does not include the work's
|
||||||
|
System Libraries, or general-purpose tools or generally available free
|
||||||
|
programs which are used unmodified in performing those activities but
|
||||||
|
which are not part of the work. For example, Corresponding Source
|
||||||
|
includes interface definition files associated with source files for
|
||||||
|
the work, and the source code for shared libraries and dynamically
|
||||||
|
linked subprograms that the work is specifically designed to require,
|
||||||
|
such as by intimate data communication or control flow between those
|
||||||
|
subprograms and other parts of the work.
|
||||||
|
|
||||||
|
The Corresponding Source need not include anything that users
|
||||||
|
can regenerate automatically from other parts of the Corresponding
|
||||||
|
Source.
|
||||||
|
|
||||||
|
The Corresponding Source for a work in source code form is that
|
||||||
|
same work.
|
||||||
|
|
||||||
|
2. Basic Permissions.
|
||||||
|
|
||||||
|
All rights granted under this License are granted for the term of
|
||||||
|
copyright on the Program, and are irrevocable provided the stated
|
||||||
|
conditions are met. This License explicitly affirms your unlimited
|
||||||
|
permission to run the unmodified Program. The output from running a
|
||||||
|
covered work is covered by this License only if the output, given its
|
||||||
|
content, constitutes a covered work. This License acknowledges your
|
||||||
|
rights of fair use or other equivalent, as provided by copyright law.
|
||||||
|
|
||||||
|
You may make, run and propagate covered works that you do not
|
||||||
|
convey, without conditions so long as your license otherwise remains
|
||||||
|
in force. You may convey covered works to others for the sole purpose
|
||||||
|
of having them make modifications exclusively for you, or provide you
|
||||||
|
with facilities for running those works, provided that you comply with
|
||||||
|
the terms of this License in conveying all material for which you do
|
||||||
|
not control copyright. Those thus making or running the covered works
|
||||||
|
for you must do so exclusively on your behalf, under your direction
|
||||||
|
and control, on terms that prohibit them from making any copies of
|
||||||
|
your copyrighted material outside their relationship with you.
|
||||||
|
|
||||||
|
Conveying under any other circumstances is permitted solely under
|
||||||
|
the conditions stated below. Sublicensing is not allowed; section 10
|
||||||
|
makes it unnecessary.
|
||||||
|
|
||||||
|
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||||
|
|
||||||
|
No covered work shall be deemed part of an effective technological
|
||||||
|
measure under any applicable law fulfilling obligations under article
|
||||||
|
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||||
|
similar laws prohibiting or restricting circumvention of such
|
||||||
|
measures.
|
||||||
|
|
||||||
|
When you convey a covered work, you waive any legal power to forbid
|
||||||
|
circumvention of technological measures to the extent such circumvention
|
||||||
|
is effected by exercising rights under this License with respect to
|
||||||
|
the covered work, and you disclaim any intention to limit operation or
|
||||||
|
modification of the work as a means of enforcing, against the work's
|
||||||
|
users, your or third parties' legal rights to forbid circumvention of
|
||||||
|
technological measures.
|
||||||
|
|
||||||
|
4. Conveying Verbatim Copies.
|
||||||
|
|
||||||
|
You may convey verbatim copies of the Program's source code as you
|
||||||
|
receive it, in any medium, provided that you conspicuously and
|
||||||
|
appropriately publish on each copy an appropriate copyright notice;
|
||||||
|
keep intact all notices stating that this License and any
|
||||||
|
non-permissive terms added in accord with section 7 apply to the code;
|
||||||
|
keep intact all notices of the absence of any warranty; and give all
|
||||||
|
recipients a copy of this License along with the Program.
|
||||||
|
|
||||||
|
You may charge any price or no price for each copy that you convey,
|
||||||
|
and you may offer support or warranty protection for a fee.
|
||||||
|
|
||||||
|
5. Conveying Modified Source Versions.
|
||||||
|
|
||||||
|
You may convey a work based on the Program, or the modifications to
|
||||||
|
produce it from the Program, in the form of source code under the
|
||||||
|
terms of section 4, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) The work must carry prominent notices stating that you modified
|
||||||
|
it, and giving a relevant date.
|
||||||
|
|
||||||
|
b) The work must carry prominent notices stating that it is
|
||||||
|
released under this License and any conditions added under section
|
||||||
|
7. This requirement modifies the requirement in section 4 to
|
||||||
|
"keep intact all notices".
|
||||||
|
|
||||||
|
c) You must license the entire work, as a whole, under this
|
||||||
|
License to anyone who comes into possession of a copy. This
|
||||||
|
License will therefore apply, along with any applicable section 7
|
||||||
|
additional terms, to the whole of the work, and all its parts,
|
||||||
|
regardless of how they are packaged. This License gives no
|
||||||
|
permission to license the work in any other way, but it does not
|
||||||
|
invalidate such permission if you have separately received it.
|
||||||
|
|
||||||
|
d) If the work has interactive user interfaces, each must display
|
||||||
|
Appropriate Legal Notices; however, if the Program has interactive
|
||||||
|
interfaces that do not display Appropriate Legal Notices, your
|
||||||
|
work need not make them do so.
|
||||||
|
|
||||||
|
A compilation of a covered work with other separate and independent
|
||||||
|
works, which are not by their nature extensions of the covered work,
|
||||||
|
and which are not combined with it such as to form a larger program,
|
||||||
|
in or on a volume of a storage or distribution medium, is called an
|
||||||
|
"aggregate" if the compilation and its resulting copyright are not
|
||||||
|
used to limit the access or legal rights of the compilation's users
|
||||||
|
beyond what the individual works permit. Inclusion of a covered work
|
||||||
|
in an aggregate does not cause this License to apply to the other
|
||||||
|
parts of the aggregate.
|
||||||
|
|
||||||
|
6. Conveying Non-Source Forms.
|
||||||
|
|
||||||
|
You may convey a covered work in object code form under the terms
|
||||||
|
of sections 4 and 5, provided that you also convey the
|
||||||
|
machine-readable Corresponding Source under the terms of this License,
|
||||||
|
in one of these ways:
|
||||||
|
|
||||||
|
a) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by the
|
||||||
|
Corresponding Source fixed on a durable physical medium
|
||||||
|
customarily used for software interchange.
|
||||||
|
|
||||||
|
b) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by a
|
||||||
|
written offer, valid for at least three years and valid for as
|
||||||
|
long as you offer spare parts or customer support for that product
|
||||||
|
model, to give anyone who possesses the object code either (1) a
|
||||||
|
copy of the Corresponding Source for all the software in the
|
||||||
|
product that is covered by this License, on a durable physical
|
||||||
|
medium customarily used for software interchange, for a price no
|
||||||
|
more than your reasonable cost of physically performing this
|
||||||
|
conveying of source, or (2) access to copy the
|
||||||
|
Corresponding Source from a network server at no charge.
|
||||||
|
|
||||||
|
c) Convey individual copies of the object code with a copy of the
|
||||||
|
written offer to provide the Corresponding Source. This
|
||||||
|
alternative is allowed only occasionally and noncommercially, and
|
||||||
|
only if you received the object code with such an offer, in accord
|
||||||
|
with subsection 6b.
|
||||||
|
|
||||||
|
d) Convey the object code by offering access from a designated
|
||||||
|
place (gratis or for a charge), and offer equivalent access to the
|
||||||
|
Corresponding Source in the same way through the same place at no
|
||||||
|
further charge. You need not require recipients to copy the
|
||||||
|
Corresponding Source along with the object code. If the place to
|
||||||
|
copy the object code is a network server, the Corresponding Source
|
||||||
|
may be on a different server (operated by you or a third party)
|
||||||
|
that supports equivalent copying facilities, provided you maintain
|
||||||
|
clear directions next to the object code saying where to find the
|
||||||
|
Corresponding Source. Regardless of what server hosts the
|
||||||
|
Corresponding Source, you remain obligated to ensure that it is
|
||||||
|
available for as long as needed to satisfy these requirements.
|
||||||
|
|
||||||
|
e) Convey the object code using peer-to-peer transmission, provided
|
||||||
|
you inform other peers where the object code and Corresponding
|
||||||
|
Source of the work are being offered to the general public at no
|
||||||
|
charge under subsection 6d.
|
||||||
|
|
||||||
|
A separable portion of the object code, whose source code is excluded
|
||||||
|
from the Corresponding Source as a System Library, need not be
|
||||||
|
included in conveying the object code work.
|
||||||
|
|
||||||
|
A "User Product" is either (1) a "consumer product", which means any
|
||||||
|
tangible personal property which is normally used for personal, family,
|
||||||
|
or household purposes, or (2) anything designed or sold for incorporation
|
||||||
|
into a dwelling. In determining whether a product is a consumer product,
|
||||||
|
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||||
|
product received by a particular user, "normally used" refers to a
|
||||||
|
typical or common use of that class of product, regardless of the status
|
||||||
|
of the particular user or of the way in which the particular user
|
||||||
|
actually uses, or expects or is expected to use, the product. A product
|
||||||
|
is a consumer product regardless of whether the product has substantial
|
||||||
|
commercial, industrial or non-consumer uses, unless such uses represent
|
||||||
|
the only significant mode of use of the product.
|
||||||
|
|
||||||
|
"Installation Information" for a User Product means any methods,
|
||||||
|
procedures, authorization keys, or other information required to install
|
||||||
|
and execute modified versions of a covered work in that User Product from
|
||||||
|
a modified version of its Corresponding Source. The information must
|
||||||
|
suffice to ensure that the continued functioning of the modified object
|
||||||
|
code is in no case prevented or interfered with solely because
|
||||||
|
modification has been made.
|
||||||
|
|
||||||
|
If you convey an object code work under this section in, or with, or
|
||||||
|
specifically for use in, a User Product, and the conveying occurs as
|
||||||
|
part of a transaction in which the right of possession and use of the
|
||||||
|
User Product is transferred to the recipient in perpetuity or for a
|
||||||
|
fixed term (regardless of how the transaction is characterized), the
|
||||||
|
Corresponding Source conveyed under this section must be accompanied
|
||||||
|
by the Installation Information. But this requirement does not apply
|
||||||
|
if neither you nor any third party retains the ability to install
|
||||||
|
modified object code on the User Product (for example, the work has
|
||||||
|
been installed in ROM).
|
||||||
|
|
||||||
|
The requirement to provide Installation Information does not include a
|
||||||
|
requirement to continue to provide support service, warranty, or updates
|
||||||
|
for a work that has been modified or installed by the recipient, or for
|
||||||
|
the User Product in which it has been modified or installed. Access to a
|
||||||
|
network may be denied when the modification itself materially and
|
||||||
|
adversely affects the operation of the network or violates the rules and
|
||||||
|
protocols for communication across the network.
|
||||||
|
|
||||||
|
Corresponding Source conveyed, and Installation Information provided,
|
||||||
|
in accord with this section must be in a format that is publicly
|
||||||
|
documented (and with an implementation available to the public in
|
||||||
|
source code form), and must require no special password or key for
|
||||||
|
unpacking, reading or copying.
|
||||||
|
|
||||||
|
7. Additional Terms.
|
||||||
|
|
||||||
|
"Additional permissions" are terms that supplement the terms of this
|
||||||
|
License by making exceptions from one or more of its conditions.
|
||||||
|
Additional permissions that are applicable to the entire Program shall
|
||||||
|
be treated as though they were included in this License, to the extent
|
||||||
|
that they are valid under applicable law. If additional permissions
|
||||||
|
apply only to part of the Program, that part may be used separately
|
||||||
|
under those permissions, but the entire Program remains governed by
|
||||||
|
this License without regard to the additional permissions.
|
||||||
|
|
||||||
|
When you convey a copy of a covered work, you may at your option
|
||||||
|
remove any additional permissions from that copy, or from any part of
|
||||||
|
it. (Additional permissions may be written to require their own
|
||||||
|
removal in certain cases when you modify the work.) You may place
|
||||||
|
additional permissions on material, added by you to a covered work,
|
||||||
|
for which you have or can give appropriate copyright permission.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, for material you
|
||||||
|
add to a covered work, you may (if authorized by the copyright holders of
|
||||||
|
that material) supplement the terms of this License with terms:
|
||||||
|
|
||||||
|
a) Disclaiming warranty or limiting liability differently from the
|
||||||
|
terms of sections 15 and 16 of this License; or
|
||||||
|
|
||||||
|
b) Requiring preservation of specified reasonable legal notices or
|
||||||
|
author attributions in that material or in the Appropriate Legal
|
||||||
|
Notices displayed by works containing it; or
|
||||||
|
|
||||||
|
c) Prohibiting misrepresentation of the origin of that material, or
|
||||||
|
requiring that modified versions of such material be marked in
|
||||||
|
reasonable ways as different from the original version; or
|
||||||
|
|
||||||
|
d) Limiting the use for publicity purposes of names of licensors or
|
||||||
|
authors of the material; or
|
||||||
|
|
||||||
|
e) Declining to grant rights under trademark law for use of some
|
||||||
|
trade names, trademarks, or service marks; or
|
||||||
|
|
||||||
|
f) Requiring indemnification of licensors and authors of that
|
||||||
|
material by anyone who conveys the material (or modified versions of
|
||||||
|
it) with contractual assumptions of liability to the recipient, for
|
||||||
|
any liability that these contractual assumptions directly impose on
|
||||||
|
those licensors and authors.
|
||||||
|
|
||||||
|
All other non-permissive additional terms are considered "further
|
||||||
|
restrictions" within the meaning of section 10. If the Program as you
|
||||||
|
received it, or any part of it, contains a notice stating that it is
|
||||||
|
governed by this License along with a term that is a further
|
||||||
|
restriction, you may remove that term. If a license document contains
|
||||||
|
a further restriction but permits relicensing or conveying under this
|
||||||
|
License, you may add to a covered work material governed by the terms
|
||||||
|
of that license document, provided that the further restriction does
|
||||||
|
not survive such relicensing or conveying.
|
||||||
|
|
||||||
|
If you add terms to a covered work in accord with this section, you
|
||||||
|
must place, in the relevant source files, a statement of the
|
||||||
|
additional terms that apply to those files, or a notice indicating
|
||||||
|
where to find the applicable terms.
|
||||||
|
|
||||||
|
Additional terms, permissive or non-permissive, may be stated in the
|
||||||
|
form of a separately written license, or stated as exceptions;
|
||||||
|
the above requirements apply either way.
|
||||||
|
|
||||||
|
8. Termination.
|
||||||
|
|
||||||
|
You may not propagate or modify a covered work except as expressly
|
||||||
|
provided under this License. Any attempt otherwise to propagate or
|
||||||
|
modify it is void, and will automatically terminate your rights under
|
||||||
|
this License (including any patent licenses granted under the third
|
||||||
|
paragraph of section 11).
|
||||||
|
|
||||||
|
However, if you cease all violation of this License, then your
|
||||||
|
license from a particular copyright holder is reinstated (a)
|
||||||
|
provisionally, unless and until the copyright holder explicitly and
|
||||||
|
finally terminates your license, and (b) permanently, if the copyright
|
||||||
|
holder fails to notify you of the violation by some reasonable means
|
||||||
|
prior to 60 days after the cessation.
|
||||||
|
|
||||||
|
Moreover, your license from a particular copyright holder is
|
||||||
|
reinstated permanently if the copyright holder notifies you of the
|
||||||
|
violation by some reasonable means, this is the first time you have
|
||||||
|
received notice of violation of this License (for any work) from that
|
||||||
|
copyright holder, and you cure the violation prior to 30 days after
|
||||||
|
your receipt of the notice.
|
||||||
|
|
||||||
|
Termination of your rights under this section does not terminate the
|
||||||
|
licenses of parties who have received copies or rights from you under
|
||||||
|
this License. If your rights have been terminated and not permanently
|
||||||
|
reinstated, you do not qualify to receive new licenses for the same
|
||||||
|
material under section 10.
|
||||||
|
|
||||||
|
9. Acceptance Not Required for Having Copies.
|
||||||
|
|
||||||
|
You are not required to accept this License in order to receive or
|
||||||
|
run a copy of the Program. Ancillary propagation of a covered work
|
||||||
|
occurring solely as a consequence of using peer-to-peer transmission
|
||||||
|
to receive a copy likewise does not require acceptance. However,
|
||||||
|
nothing other than this License grants you permission to propagate or
|
||||||
|
modify any covered work. These actions infringe copyright if you do
|
||||||
|
not accept this License. Therefore, by modifying or propagating a
|
||||||
|
covered work, you indicate your acceptance of this License to do so.
|
||||||
|
|
||||||
|
10. Automatic Licensing of Downstream Recipients.
|
||||||
|
|
||||||
|
Each time you convey a covered work, the recipient automatically
|
||||||
|
receives a license from the original licensors, to run, modify and
|
||||||
|
propagate that work, subject to this License. You are not responsible
|
||||||
|
for enforcing compliance by third parties with this License.
|
||||||
|
|
||||||
|
An "entity transaction" is a transaction transferring control of an
|
||||||
|
organization, or substantially all assets of one, or subdividing an
|
||||||
|
organization, or merging organizations. If propagation of a covered
|
||||||
|
work results from an entity transaction, each party to that
|
||||||
|
transaction who receives a copy of the work also receives whatever
|
||||||
|
licenses to the work the party's predecessor in interest had or could
|
||||||
|
give under the previous paragraph, plus a right to possession of the
|
||||||
|
Corresponding Source of the work from the predecessor in interest, if
|
||||||
|
the predecessor has it or can get it with reasonable efforts.
|
||||||
|
|
||||||
|
You may not impose any further restrictions on the exercise of the
|
||||||
|
rights granted or affirmed under this License. For example, you may
|
||||||
|
not impose a license fee, royalty, or other charge for exercise of
|
||||||
|
rights granted under this License, and you may not initiate litigation
|
||||||
|
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||||
|
any patent claim is infringed by making, using, selling, offering for
|
||||||
|
sale, or importing the Program or any portion of it.
|
||||||
|
|
||||||
|
11. Patents.
|
||||||
|
|
||||||
|
A "contributor" is a copyright holder who authorizes use under this
|
||||||
|
License of the Program or a work on which the Program is based. The
|
||||||
|
work thus licensed is called the contributor's "contributor version".
|
||||||
|
|
||||||
|
A contributor's "essential patent claims" are all patent claims
|
||||||
|
owned or controlled by the contributor, whether already acquired or
|
||||||
|
hereafter acquired, that would be infringed by some manner, permitted
|
||||||
|
by this License, of making, using, or selling its contributor version,
|
||||||
|
but do not include claims that would be infringed only as a
|
||||||
|
consequence of further modification of the contributor version. For
|
||||||
|
purposes of this definition, "control" includes the right to grant
|
||||||
|
patent sublicenses in a manner consistent with the requirements of
|
||||||
|
this License.
|
||||||
|
|
||||||
|
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||||
|
patent license under the contributor's essential patent claims, to
|
||||||
|
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||||
|
propagate the contents of its contributor version.
|
||||||
|
|
||||||
|
In the following three paragraphs, a "patent license" is any express
|
||||||
|
agreement or commitment, however denominated, not to enforce a patent
|
||||||
|
(such as an express permission to practice a patent or covenant not to
|
||||||
|
sue for patent infringement). To "grant" such a patent license to a
|
||||||
|
party means to make such an agreement or commitment not to enforce a
|
||||||
|
patent against the party.
|
||||||
|
|
||||||
|
If you convey a covered work, knowingly relying on a patent license,
|
||||||
|
and the Corresponding Source of the work is not available for anyone
|
||||||
|
to copy, free of charge and under the terms of this License, through a
|
||||||
|
publicly available network server or other readily accessible means,
|
||||||
|
then you must either (1) cause the Corresponding Source to be so
|
||||||
|
available, or (2) arrange to deprive yourself of the benefit of the
|
||||||
|
patent license for this particular work, or (3) arrange, in a manner
|
||||||
|
consistent with the requirements of this License, to extend the patent
|
||||||
|
license to downstream recipients. "Knowingly relying" means you have
|
||||||
|
actual knowledge that, but for the patent license, your conveying the
|
||||||
|
covered work in a country, or your recipient's use of the covered work
|
||||||
|
in a country, would infringe one or more identifiable patents in that
|
||||||
|
country that you have reason to believe are valid.
|
||||||
|
|
||||||
|
If, pursuant to or in connection with a single transaction or
|
||||||
|
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||||
|
covered work, and grant a patent license to some of the parties
|
||||||
|
receiving the covered work authorizing them to use, propagate, modify
|
||||||
|
or convey a specific copy of the covered work, then the patent license
|
||||||
|
you grant is automatically extended to all recipients of the covered
|
||||||
|
work and works based on it.
|
||||||
|
|
||||||
|
A patent license is "discriminatory" if it does not include within
|
||||||
|
the scope of its coverage, prohibits the exercise of, or is
|
||||||
|
conditioned on the non-exercise of one or more of the rights that are
|
||||||
|
specifically granted under this License. You may not convey a covered
|
||||||
|
work if you are a party to an arrangement with a third party that is
|
||||||
|
in the business of distributing software, under which you make payment
|
||||||
|
to the third party based on the extent of your activity of conveying
|
||||||
|
the work, and under which the third party grants, to any of the
|
||||||
|
parties who would receive the covered work from you, a discriminatory
|
||||||
|
patent license (a) in connection with copies of the covered work
|
||||||
|
conveyed by you (or copies made from those copies), or (b) primarily
|
||||||
|
for and in connection with specific products or compilations that
|
||||||
|
contain the covered work, unless you entered into that arrangement,
|
||||||
|
or that patent license was granted, prior to 28 March 2007.
|
||||||
|
|
||||||
|
Nothing in this License shall be construed as excluding or limiting
|
||||||
|
any implied license or other defenses to infringement that may
|
||||||
|
otherwise be available to you under applicable patent law.
|
||||||
|
|
||||||
|
12. No Surrender of Others' Freedom.
|
||||||
|
|
||||||
|
If conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot convey a
|
||||||
|
covered work so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you may
|
||||||
|
not convey it at all. For example, if you agree to terms that obligate you
|
||||||
|
to collect a royalty for further conveying from those to whom you convey
|
||||||
|
the Program, the only way you could satisfy both those terms and this
|
||||||
|
License would be to refrain entirely from conveying the Program.
|
||||||
|
|
||||||
|
13. Use with the GNU Affero General Public License.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, you have
|
||||||
|
permission to link or combine any covered work with a work licensed
|
||||||
|
under version 3 of the GNU Affero General Public License into a single
|
||||||
|
combined work, and to convey the resulting work. The terms of this
|
||||||
|
License will continue to apply to the part which is the covered work,
|
||||||
|
but the special requirements of the GNU Affero General Public License,
|
||||||
|
section 13, concerning interaction through a network will apply to the
|
||||||
|
combination as such.
|
||||||
|
|
||||||
|
14. Revised Versions of this License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions of
|
||||||
|
the GNU General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Program specifies that a certain numbered version of the GNU General
|
||||||
|
Public License "or any later version" applies to it, you have the
|
||||||
|
option of following the terms and conditions either of that numbered
|
||||||
|
version or of any later version published by the Free Software
|
||||||
|
Foundation. If the Program does not specify a version number of the
|
||||||
|
GNU General Public License, you may choose any version ever published
|
||||||
|
by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Program specifies that a proxy can decide which future
|
||||||
|
versions of the GNU General Public License can be used, that proxy's
|
||||||
|
public statement of acceptance of a version permanently authorizes you
|
||||||
|
to choose that version for the Program.
|
||||||
|
|
||||||
|
Later license versions may give you additional or different
|
||||||
|
permissions. However, no additional obligations are imposed on any
|
||||||
|
author or copyright holder as a result of your choosing to follow a
|
||||||
|
later version.
|
||||||
|
|
||||||
|
15. Disclaimer of Warranty.
|
||||||
|
|
||||||
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||||
|
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||||
|
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||||
|
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||||
|
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||||
|
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
16. Limitation of Liability.
|
||||||
|
|
||||||
|
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||||
|
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||||
|
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||||
|
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||||
|
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||||
|
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||||
|
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||||
|
SUCH DAMAGES.
|
||||||
|
|
||||||
|
17. Interpretation of Sections 15 and 16.
|
||||||
|
|
||||||
|
If the disclaimer of warranty and limitation of liability provided
|
||||||
|
above cannot be given local legal effect according to their terms,
|
||||||
|
reviewing courts shall apply local law that most closely approximates
|
||||||
|
an absolute waiver of all civil liability in connection with the
|
||||||
|
Program, unless a warranty or assumption of liability accompanies a
|
||||||
|
copy of the Program in return for a fee.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
state the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program does terminal interaction, make it output a short
|
||||||
|
notice like this when it starts in an interactive mode:
|
||||||
|
|
||||||
|
<program> Copyright (C) <year> <name of author>
|
||||||
|
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, your program's commands
|
||||||
|
might be different; for a GUI interface, you would use an "about box".
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or school,
|
||||||
|
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||||
|
For more information on this, and how to apply and follow the GNU GPL, see
|
||||||
|
<https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
The GNU General Public License does not permit incorporating your program
|
||||||
|
into proprietary programs. If your program is a subroutine library, you
|
||||||
|
may consider it more useful to permit linking proprietary applications with
|
||||||
|
the library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License. But first, please read
|
||||||
|
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
66
install.sh
66
install.sh
@ -1,66 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Install pacman packages
|
|
||||||
for package in \
|
|
||||||
scrcpy \
|
|
||||||
base-devel \
|
|
||||||
lazygit \
|
|
||||||
starship \
|
|
||||||
; do
|
|
||||||
sudo pacman -S --noconfirm $package
|
|
||||||
clear
|
|
||||||
done
|
|
||||||
|
|
||||||
git clone https://aur.archlinux.org/yay.git
|
|
||||||
cd yay
|
|
||||||
makepkg -si
|
|
||||||
cd ~
|
|
||||||
|
|
||||||
# Install yay packages
|
|
||||||
for package in \
|
|
||||||
python-pywal16 \
|
|
||||||
python-pywalfox \
|
|
||||||
swww waybar \
|
|
||||||
myfetch \
|
|
||||||
neovim \
|
|
||||||
python-pywalfox \
|
|
||||||
hypridle \
|
|
||||||
hyprshot \
|
|
||||||
hyprlock \
|
|
||||||
pyprland \
|
|
||||||
swaync \
|
|
||||||
wlogout \
|
|
||||||
nerd-fonts \
|
|
||||||
htop \
|
|
||||||
nvtop \
|
|
||||||
yazi \
|
|
||||||
discord \
|
|
||||||
firefox \
|
|
||||||
; do
|
|
||||||
yay -S --noconfirm $package
|
|
||||||
clear
|
|
||||||
done
|
|
||||||
|
|
||||||
# Install Configs
|
|
||||||
sudo cp -rf ~/Dotfiles/.config/* ~/.config/
|
|
||||||
sudo cp ~/Dotfiles/.bashrc ~/.bashrc
|
|
||||||
|
|
||||||
git config --global user.email "adrien.bouvais.pro@gmail.com"
|
|
||||||
git config --global user.name "adrien"
|
|
||||||
ssh-keygen -t rsa -b 4096 -C "adrien.bouvais.pro@gmail.com" -f ~/.ssh/id_rsa -N ""
|
|
||||||
|
|
||||||
# Wallpaper
|
|
||||||
mkdir ~/wallpapers
|
|
||||||
sudo cp -rf ~/Dotfiles/wallpapers/* ~/wallpapers/
|
|
||||||
wal -i ~/wallpapers/pywallpaper.jpg
|
|
||||||
pywalfox install
|
|
||||||
|
|
||||||
swww img ~/.config/pywallpaper.jpg --transition-type any --transition-fps 60 --transition-duration .5
|
|
||||||
wal -i ~/.config/pywallpaper.jpg -n --cols16
|
|
||||||
swaync-client --reload-css
|
|
||||||
cat ~/.cache/wal/colors-kitty.conf > ~/.config/kitty/current-theme.conf
|
|
||||||
pywalfox update
|
|
||||||
hyprctl reload
|
|
||||||
|
|
||||||
echo "Dont forget to add Pywalfox extension to Firefox https://addons.mozilla.org/en-US/firefox/addon/pywalfox/"
|
|
||||||
echo "Then run 'pywalfox update'"
|
|
509
readme.md
Normal file
509
readme.md
Normal file
@ -0,0 +1,509 @@
|
|||||||
|
[](https://git.io/typing-svg)
|
||||||
|
|
||||||
|
<img src="https://github.com/elifouts/Dotfiles/blob/main/images/rice7.png" width = "50%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/rice1.png" width = "50%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/rice4.png" width = "50%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/rice5.png" width = "50%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/rice6.png" width = "50%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/rice3.png" width = "50%">
|
||||||
|
|
||||||
|
This contains My **Arch** Linux Dotfiles for a clean-looking lightweight **Hyprland** setup.
|
||||||
|
|
||||||
|
***ENJOY!!***
|
||||||
|
|
||||||
|
-Eli F.
|
||||||
|
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
>
|
||||||
|
> All Configurations were meant to be used with `Pywal`
|
||||||
|
>
|
||||||
|
|
||||||
|
If you do not want this, **you can remove it in the given applications `style.css` and add valid color values.** Although I highly recommend `Pywal` It's Pretty cool!
|
||||||
|
|
||||||
|
# Install
|
||||||
|
|
||||||
|
> [!CAUTION]
|
||||||
|
>
|
||||||
|
> This script is experimental and might not work properly. Please make sure you know what you are doing ***Please Please Please***
|
||||||
|
<details>
|
||||||
|
<summary>Arch Install Script</summary>
|
||||||
|
|
||||||
|
- With this script you should be able to install everything together, or the applications and their configs individually.
|
||||||
|
- Dont worry it only really installs what is needed unless you select the everything script.
|
||||||
|
|
||||||
|
```
|
||||||
|
cd && git clone https://github.com/elifouts/Dotfiles.git
|
||||||
|
cd ~/Dotfiles/InstallScripts
|
||||||
|
chmod +x install.sh
|
||||||
|
./install.sh
|
||||||
|
```
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
## My Applications
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>🚥 Waybar</summary>
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
This is my minimal Waybar setup for Hyprland, designed to be clean and efficient. It includes all the essential features I wanted in Waybar. For additional needs like volume control, I use `swaync`, which can be triggered from Waybar.
|
||||||
|
|
||||||
|
## Workspaces
|
||||||
|
I’ve configured the workspaces so that if there is content on a workspace, the dot appears darker. This helps you keep track of your open content! Inspiration from [Gbar](https://github.com/scorpion-26/gBar).
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Expanding Waybar
|
||||||
|
In the screenshot below, you’ll see a method to hide and reveal certain widgets you don’t need all the time. You can easily add or remove widgets in `~/.config/waybar/config` under the `group/expand` section.
|
||||||
|
|
||||||
|
- **Network Widget**: I’ve configured it to not display your IP by default (it did that for some reason). Clicking the network widget opens `nmtui` in `kitty`.
|
||||||
|
|
||||||
|
- **Hyprpicker Widget**: This custom widget lets you use `hyprpicker`, display values when hovered, and copy the hex value to your clipboard.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
### *How To Install*
|
||||||
|
1. **Install [Waybar](https://github.com/Alexays/Waybar)**
|
||||||
|
2. Copy the `Dotfiles/.config/waybar` folder into `~/.config`
|
||||||
|
|
||||||
|
***NOTE*** *Make sure you have a Pywal theme set or else waybar will not load*
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
```
|
||||||
|
waybar
|
||||||
|
hyprpicker
|
||||||
|
pywal
|
||||||
|
blueman
|
||||||
|
bluez
|
||||||
|
networkmanager
|
||||||
|
swaync
|
||||||
|
yay
|
||||||
|
```
|
||||||
|
|
||||||
|
### How to Add Blur
|
||||||
|
|
||||||
|
Add this to the end of your `hyprland.conf`:
|
||||||
|
|
||||||
|
```
|
||||||
|
layerrule = blur, waybar
|
||||||
|
layerrule = ignorezero, waybar
|
||||||
|
layerrule = ignorealpha 0.5, waybar
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>🔍 Wofi</summary>
|
||||||
|
<img src="https://github.com/elifouts/Dotfiles/blob/main/images/wofi1.png" width = "35%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/wofi2.png" width = "35%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/wofi3.png" width = "35%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/wofi4.png" width = "35%">
|
||||||
|
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
### *How To Install*
|
||||||
|
|
||||||
|
1. **Install `Wofi`:**
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo pacman -S wofi
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Copy the `Dotfiles/.config/wofi` folder into `~/.config`
|
||||||
|
3. **Launching Wofi**
|
||||||
|
- I launch wofi like this:
|
||||||
|
|
||||||
|
```config
|
||||||
|
wofi --show drun -n
|
||||||
|
```
|
||||||
|
|
||||||
|
### How to Add Blur to Wofi
|
||||||
|
|
||||||
|
Add this to the end of your `hyprland.conf`:
|
||||||
|
|
||||||
|
```
|
||||||
|
layerrule = blur, wofi
|
||||||
|
layerrule = ignorezero, wofi
|
||||||
|
layerrule = ignorealpha 0.5, wofi
|
||||||
|
```
|
||||||
|
|
||||||
|
### `Pywal` with Wofi
|
||||||
|
|
||||||
|
**If you want Pywal colors**
|
||||||
|
- In `~/.config/wofi/style.css`, update the hostname in the file path to your `pywal` colors.
|
||||||
|
**If you don't want Pywal colors**
|
||||||
|
- You can remove the top line of your style.css and replace the colors at the top with your desired choice.
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>🔔 Swaync</summary>
|
||||||
|
<img src="https://github.com/elifouts/Dotfiles/blob/main/images/swaync1.png" width = "20%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/swaync2.png" width = "20%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/swaync3.png" width = "20%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/swaync4.png" width = "20%">
|
||||||
|
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
### *How To Install*
|
||||||
|
|
||||||
|
1. **Install [Swaync](https://github.com/ErikReider/SwayNotificationCenter)**
|
||||||
|
2. Copy the `Dotfiles/.config/swaync` folder into `~/.config`
|
||||||
|
|
||||||
|
### Dependencies for `Swaync`
|
||||||
|
```
|
||||||
|
swaync
|
||||||
|
pywal
|
||||||
|
gvfs
|
||||||
|
libnotify
|
||||||
|
```
|
||||||
|
|
||||||
|
### How to Add Blur to Swaync
|
||||||
|
|
||||||
|
Add this to the end of your `hyprland.conf`:
|
||||||
|
|
||||||
|
```
|
||||||
|
layerrule = blur, swaync-control-center
|
||||||
|
layerrule = blur, swaync-notification-window
|
||||||
|
layerrule = ignorezero, swaync-control-center
|
||||||
|
layerrule = ignorezero, swaync-notification-window
|
||||||
|
layerrule = ignorealpha 0.5, swaync-control-center
|
||||||
|
layerrule = ignorealpha 0.5, swaync-notification-window
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>🔒 Hyprlock</summary>
|
||||||
|
<img src="https://github.com/elifouts/Dotfiles/blob/main/images/lock1.PNG" width = "50%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/lock2.png" width = "50%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/lock3.png" width = "50%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/lock4.png" width = "50%">
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
- Hyprlock uses the current wallpaper from Pywal to generate a background, displays a greeting with your username, and applies Pywal colors.
|
||||||
|
- You can bind Hyprlock to a key, use it with `hypridle`, or configure it however you prefer.
|
||||||
|
- If you want to configure `hypridle` as well, I’ve included a `hypridle.conf` file in the same directory as Hyprlock.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
### *How To Install*
|
||||||
|
1. **Install [Hyprlock](https://github.com/hyprwm/hyprlock/)**
|
||||||
|
2. Copy `Dotfiles/.config/hypr/hyprlock.conf` to `~/.config/hypr`
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>📝 Nvim</summary>
|
||||||
|
<img src="https://github.com/elifouts/Dotfiles/blob/main/images/nvim1.png" width = "30%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/nvim2.png" width = "30%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/nvim3.png" width = "30%">
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
- This Neovim "rice" is a simplified version of Lazyvim, created with custom Lua files. It’s lightweight and includes only what you need. I just installed lazy and configured only the pluggins I wanted.
|
||||||
|
- It features:
|
||||||
|
- Alpha-nvim
|
||||||
|
- Pywal theme
|
||||||
|
- Autocompletion
|
||||||
|
- Lualine
|
||||||
|
- Tabline
|
||||||
|
- Glow
|
||||||
|
- Noice
|
||||||
|
- Mini-icons
|
||||||
|
- Snacks
|
||||||
|
- bigfile
|
||||||
|
- indent
|
||||||
|
- input
|
||||||
|
- quickfile
|
||||||
|
- scroll
|
||||||
|
- statuscolumn
|
||||||
|
- words
|
||||||
|
- Neo-tree
|
||||||
|
- Telescope
|
||||||
|
- Treesitter
|
||||||
|
- Gitsigns
|
||||||
|
- Colorizer
|
||||||
|
|
||||||
|
### *How To Install*
|
||||||
|
1. **Install `Neovim`:**
|
||||||
|
```bash
|
||||||
|
yay -S neovim
|
||||||
|
```
|
||||||
|
2. Copy `Dotfiles/.config/nvim` into `~/.config/`
|
||||||
|
|
||||||
|
3. Start `nvim` and watch it install all necessary components.
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>🚪 Wlogout</summary>
|
||||||
|
<img src="https://github.com/elifouts/Dotfiles/blob/main/images/wlogout1.png" width = "40%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/wlogout2.png" width = "40%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/wlogout3.png" width = "40%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/wlogout4.png" width = "40%">
|
||||||
|
|
||||||
|
### *How To Install*
|
||||||
|
1. **Install `wlogout`:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yay -S wlogout
|
||||||
|
```
|
||||||
|
2. Copy `Dotfiles/.config/wlogout` into `~/.config/`
|
||||||
|
3. If not already set make sure you set a key bind in hyprland.conf to launch wlogout.
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>🖼️ Wallpaper Solution/Pywal</summary>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## General Overview
|
||||||
|
|
||||||
|
- The `wallpaper.sh` script in `Dotfiles/.config/hypr/` applies a wallpaper using `swww` and sets the `Pywal` theme. It also updates Kitty's color scheme, Cava, nvim (if configured), and any other application using `pywal`.
|
||||||
|
- The script uses Wofi to select wallpapers. I have not been able to optimize the wallpaper loading so it might load slowly but it should work.
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- `swww`
|
||||||
|
- `pywal`
|
||||||
|
- `wofi`
|
||||||
|
- `fd`
|
||||||
|
|
||||||
|
### *How To Install*
|
||||||
|
- Install dependencies:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yay -S swww pywal wofi fd
|
||||||
|
```
|
||||||
|
|
||||||
|
1. **Copy Configuration Files:**
|
||||||
|
- Copy `Dotfiles/.config/wal` to `~/.config/` to provide `pywal` with the necessary template for Hyprland.
|
||||||
|
- Copy `Dotfiles/.config/hypr/wallpaper.sh` to `~/.config/hypr/`.
|
||||||
|
- Copy `Dotfiles/.config/wofi` to `~/.config/`. ( Check the Wofi tab for how to configure blur )
|
||||||
|
|
||||||
|
2. Bind the script to a key combination of your choice to easily change your wallpaper.
|
||||||
|
|
||||||
|
3. Make sure to add the following line to your `hyprland.conf`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
exec-once = swww-daemon
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>🦊 Pywalfox</summary>
|
||||||
|
<img src="https://github.com/elifouts/Dotfiles/blob/main/images/fox1.png" width = "40%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/fox2.png" width = "40%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/fox3.png" width = "40%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/fox4.png" width = "40%">
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
- This is a way to configure `Firefox` so that it uses `Pywal` colors. After proper configuration, `Firefox` will change automatically when `Pywal` updates its color scheme.
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
```
|
||||||
|
Firefox
|
||||||
|
Python
|
||||||
|
Pywal
|
||||||
|
```
|
||||||
|
|
||||||
|
### *How To Install*
|
||||||
|
1. **Install [Pywalfox](https://github.com/Frewacom/pywalfox)**
|
||||||
|
2. Run `pywalfox install`
|
||||||
|
3. Install Firefox add-on for PywalFox
|
||||||
|
4. Run `pywalfox update` in your terminal or add it to a script to update the `Firefox` theme after generating `Pywal` colors.
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>🚀 Starship</summary>
|
||||||
|
<img src="https://github.com/elifouts/Dotfiles/blob/main/images/starship.png" width = "30%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/starship1.png" width = "30%"><img src="https://github.com/elifouts/Dotfiles/blob/main/images/starship2.png" width = "30%">
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
- This is a custom Starship config that is minimal but yet has everything you need/want from a terminal prompt.
|
||||||
|
|
||||||
|
### *How To Install*
|
||||||
|
1. **Install [Starship](https://github.com/starship/starship?tab=readme-ov-file#-installation)**
|
||||||
|
2. Copy the `Dotfiles/.config/starship.toml` folder into `~/.config`
|
||||||
|
3. Add this to your `.bashrc` file:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
eval "$(starship init bash)"
|
||||||
|
```
|
||||||
|
- Or go [here](https://github.com/starship/starship?tab=readme-ov-file#step-2-set-up-your-shell-to-use-starship) to find what you need for your shell.
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>🎨 GTK Themes</summary>
|
||||||
|
|
||||||
|
### I use these GTK themes
|
||||||
|
|
||||||
|
- Widget Theme: Materia-dark
|
||||||
|
- Icon Theme: Qogir-dark
|
||||||
|
</details>
|
||||||
|
|
||||||
|
## Keybinds
|
||||||
|
|
||||||
|
`Mod+Q` - Open Terminal
|
||||||
|
|
||||||
|
`Mod+R` - Open App Launcher (Wofi)
|
||||||
|
|
||||||
|
`Mod+M` - Quit Hyprland
|
||||||
|
|
||||||
|
`Mod+B` - Close
|
||||||
|
|
||||||
|
`Mod+F` - Fullscreen
|
||||||
|
|
||||||
|
`Mod+V` - Popout
|
||||||
|
|
||||||
|
`Mod+Space` - Terminal Scratch Pad
|
||||||
|
|
||||||
|
`Mod-E` - Opens Thunar
|
||||||
|
|
||||||
|
`Alt+B` - Waybar Style Selector (Wofi)
|
||||||
|
|
||||||
|
`Alt+A` - Toggle Waybar
|
||||||
|
|
||||||
|
`Alt+R` - Reload Swaync
|
||||||
|
|
||||||
|
`Alt+W` - Wallpaper Selector (Wofi)
|
||||||
|
|
||||||
|
`Alt+Tab` - wlogout
|
||||||
|
|
||||||
|
> [!Tip]
|
||||||
|
> This isnt every Keybind. Just some highlighted ones.
|
||||||
|
>
|
||||||
|
> More can be found and changed in `~/.confing/hypr/hyprland.conf`
|
||||||
|
|
||||||
|
## Help
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Apps Fuzzy or Blurry?</summary>
|
||||||
|
|
||||||
|
#### This may be because they need to be run with Wayland or are Electron applications
|
||||||
|
|
||||||
|
- The solution I found is to add the following to `/usr/share/applications/{app}.desktop` after `exec=/app/executable/app`
|
||||||
|
- Works on `Spotify` `Discord`
|
||||||
|
|
||||||
|
```
|
||||||
|
--enable-features=UseOzonePlatform --ozone-platform=wayland --uri=%U
|
||||||
|
```
|
||||||
|
|
||||||
|
- ***NOTE*** This gets removed if the app is redownloaded! I'm not sure how to make this a global thing. I have tried and failed. Help?
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Cant Find a file that is in .cache?</summary>
|
||||||
|
|
||||||
|
### You may be looking for a file that looks something like this:
|
||||||
|
|
||||||
|
`@import url('/home/eli/.cache/wal/colors-waybar.css');`
|
||||||
|
|
||||||
|
That file is one of many that is created by `Pywal`. Try replacing eli with your $USER and see if that works. Alternatively, you can do one of the following:
|
||||||
|
|
||||||
|
- create your own file which would look something like this:
|
||||||
|
```
|
||||||
|
@define-color background <Replace>;
|
||||||
|
@define-color color0 <Replace>;
|
||||||
|
@define-color color9 <Repace>;
|
||||||
|
```
|
||||||
|
Instead of those colors, you can use whichever color is needed by the style.css file.
|
||||||
|
|
||||||
|
- create the colors manually in the style.css files you took those paths from.
|
||||||
|
```
|
||||||
|
@define-color <ColorName> <Color>;
|
||||||
|
```
|
||||||
|
|
||||||
|
- Find the sections of that file that are calling the missing file, such as `$color2` or `@color2` and replace it with a valid value.
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- If you want Cava to work with `Pywal`, it is already in the wallpaper.sh, but find the section needed and copy the config file I have into your `~/.config` directory.
|
||||||
|
- Am about to start working on an eww dashboard so look out for that
|
||||||
|
<details>
|
||||||
|
<summary>📥 Download Suggestions</summary>
|
||||||
|
|
||||||
|
- This is everything I think is essential to have. At least for me. I would suggest doing your own research before blindly downloading everything here. This is here just so if I break my computer which we all know I will, I can remember what I need/want!
|
||||||
|
|
||||||
|
```txt
|
||||||
|
git
|
||||||
|
wlogout
|
||||||
|
nvim
|
||||||
|
zip unzip
|
||||||
|
pipewire
|
||||||
|
hyprpicker
|
||||||
|
hypridle
|
||||||
|
hyprlock
|
||||||
|
hyprshot
|
||||||
|
code
|
||||||
|
bpytop
|
||||||
|
nerdfetch
|
||||||
|
yay
|
||||||
|
wl-clipboard
|
||||||
|
wl-copy
|
||||||
|
nerd-fonts
|
||||||
|
starship
|
||||||
|
thunar
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
gnome-network-displays
|
||||||
|
discord
|
||||||
|
Firefox
|
||||||
|
spotify ncspot
|
||||||
|
pacman-contrib
|
||||||
|
swaync
|
||||||
|
pywal
|
||||||
|
waybar
|
||||||
|
swww
|
||||||
|
blueman
|
||||||
|
bluez
|
||||||
|
networkmanager
|
||||||
|
gvfs
|
||||||
|
libnotify
|
||||||
|
pavucontrol
|
||||||
|
pipewire-pulse
|
||||||
|
nwg-look
|
||||||
|
wofi
|
||||||
|
s-tui
|
||||||
|
python-pywalfox
|
||||||
|
auto-cpufreq
|
||||||
|
powertop
|
||||||
|
qogir-icon-theme
|
||||||
|
fd
|
||||||
|
noto-fonts
|
||||||
|
libreoffice-fresh
|
||||||
|
materia-dark-gtk
|
||||||
|
```
|
||||||
|
|
||||||
|
Fun to have
|
||||||
|
|
||||||
|
```
|
||||||
|
asciiquarium
|
||||||
|
libcaca
|
||||||
|
cowsay
|
||||||
|
snake
|
||||||
|
2048
|
||||||
|
terminal-mines mines-tui
|
||||||
|
genact
|
||||||
|
no-more-secrets
|
||||||
|
lolcat
|
||||||
|
```
|
||||||
|
Cool things you don't need
|
||||||
|
```
|
||||||
|
waypaper
|
||||||
|
ranger
|
||||||
|
howdoi
|
||||||
|
bottom
|
||||||
|
```
|
||||||
|
</details>
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user