Compare commits
10 Commits
364aced182
...
722eabdb52
Author | SHA1 | Date | |
---|---|---|---|
722eabdb52 | |||
fcd975484e | |||
5234d5f1b4 | |||
75358d62ec | |||
2b8fd2a8b2 | |||
78e84534b6 | |||
a5947f065d | |||
2b44f11f79 | |||
8b32ebf9c9 | |||
7c5ef5ccf5 |
27
.bashrc
27
.bashrc
@ -1,22 +1,11 @@
|
||||
# ~/.bashrc
|
||||
clear && myfetch -c 8 -C " ī¶āī“"
|
||||
eval "$(starship init bash)"
|
||||
[[ $- != *i* ]] && return
|
||||
alias lsd='eza --icons'
|
||||
alias pacup='sudo pacman -Rns $(pacman -Qdtq)'
|
||||
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 Settings="cd ~/.config && nvim"
|
||||
alias Phone="scrcpy --max-fps=60 --no-audio --keyboard=uhid --mouse=uhid"
|
||||
alias Key="cat ~/.ssh/id_rsa.pub"
|
||||
|
||||
alias untar="tar -xf"
|
||||
alias n="nvim"
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||
PS1='[\u@\h \W]\$ '
|
||||
|
||||
# For scrcpy
|
||||
export SDL_VIDEODRIVER=wayland
|
||||
|
@ -1,5 +0,0 @@
|
||||
[color]
|
||||
gradient = 1
|
||||
gradient_count = 2
|
||||
gradient_color_1 = '#8a897e'
|
||||
gradient_color_2 = '#928d81'
|
@ -1,13 +0,0 @@
|
||||
[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,9 +1,7 @@
|
||||
source = /home/$USER/.cache/wal/colors-hyprland
|
||||
|
||||
monitor = auto, 2560x1440@165, 0x0, 1
|
||||
|
||||
$terminal = kitty
|
||||
$fileManager = thunar
|
||||
$fileManager = kitty -d ~ yazi
|
||||
# $menu = wofi --show drun -n
|
||||
$menu = wofi -n
|
||||
exec-once = hypridle
|
||||
@ -39,7 +37,7 @@ plugin:dynamic-cursors {
|
||||
}
|
||||
general {
|
||||
|
||||
gaps_in = 2
|
||||
gaps_in = 3
|
||||
gaps_out = 10
|
||||
border_size = 0
|
||||
col.active_border = $color9
|
||||
@ -106,20 +104,52 @@ device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = 0
|
||||
}
|
||||
|
||||
$mainMod = SUPER
|
||||
|
||||
# App
|
||||
bind = $mainMod, Q, exec, $terminal
|
||||
bind = $mainMod, B, killactive
|
||||
bind = $mainMod, D, exec, firefox
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
# bind = $mainMod, V, exec, hyprctl --batch "dispatch togglefloating; dispatch resizeactive exact 800 800; dispatch centerwindow 1;"
|
||||
bind = $mainMod, V, togglefloating
|
||||
|
||||
# Wofi menus
|
||||
bind = $mainMod, R, exec, $menu
|
||||
bind = $mainMod, P, pseudo
|
||||
bind = $mainMod, J, togglesplit
|
||||
bind = $mainMod, P, exec, ~/.config/hypr/projects.sh
|
||||
bind = $mainMod, W, exec, ~/.config/hypr/wallpaper.sh
|
||||
|
||||
# Window management
|
||||
bind = $mainMod, B, killactive
|
||||
bind = $mainMod, V, exec, hyprctl --batch "dispatch togglefloating; dispatch resizeactive exact 800 800; dispatch centerwindow 1;"
|
||||
bind = $mainMod SHIFT, P, exec, pseudo
|
||||
bind = $mainMod, O, togglesplit
|
||||
bind = $mainMod, F, fullscreen
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Sessions
|
||||
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, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
@ -140,38 +170,12 @@ bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
||||
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
|
||||
|
||||
# Scripts divers
|
||||
bind = ALT, a, exec, ~/.config/waybar/scripts/refresh.sh
|
||||
bind = ALT, B, exec, ~/.config/waybar/scripts/select.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 = ignorezero, waybar
|
||||
layerrule = ignorealpha 0.5, waybar
|
||||
@ -182,3 +186,9 @@ layerrule = ignorezero, swaync-notification-window
|
||||
layerrule = ignorealpha 0.5, swaync-control-center
|
||||
layerrule = ignorealpha 0.5, swaync-notification-window
|
||||
layerrule = noanim, selection
|
||||
|
||||
env = LIBVA_DRIVER_NAME,nvidia
|
||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
|
||||
|
||||
|
||||
|
17
.config/hypr/projects.sh
Normal file
17
.config/hypr/projects.sh
Normal file
@ -0,0 +1,17 @@
|
||||
|
||||
#!/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,10 +18,16 @@ class = "kitty-pulsemixer"
|
||||
size = "50% 20%"
|
||||
offset = "200%"
|
||||
|
||||
[scratchpads.taskbar]
|
||||
[scratchpads.taskbarcpu]
|
||||
animation = "fromLeft"
|
||||
command = "kitty --class kitty-taskbar -e htop"
|
||||
class = "kitty-taskbar"
|
||||
size = "30% 80%"
|
||||
offset = "200%"
|
||||
|
||||
[scratchpads.taskbargpu]
|
||||
animation = "fromRight"
|
||||
command = "kitty --class kitty-taskbar -e nvtop"
|
||||
class = "kitty-taskbar"
|
||||
size = "30% 80%"
|
||||
offset = "200%"
|
||||
|
@ -14,10 +14,6 @@ main() {
|
||||
pywalfox update
|
||||
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)
|
||||
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
|
||||
}
|
||||
main
|
||||
|
@ -1,30 +1,30 @@
|
||||
foreground #c5c6c2
|
||||
background #191c0e
|
||||
foreground #c2c2c2
|
||||
background #0c0b0c
|
||||
background_opacity 1.0
|
||||
cursor #c5c6c2
|
||||
cursor #c2c2c2
|
||||
|
||||
active_tab_foreground #191c0e
|
||||
active_tab_background #c5c6c2
|
||||
inactive_tab_foreground #c5c6c2
|
||||
inactive_tab_background #191c0e
|
||||
active_tab_foreground #0c0b0c
|
||||
active_tab_background #c2c2c2
|
||||
inactive_tab_foreground #c2c2c2
|
||||
inactive_tab_background #0c0b0c
|
||||
|
||||
active_border_color #c5c6c2
|
||||
inactive_border_color #191c0e
|
||||
bell_border_color #83816e
|
||||
active_border_color #c2c2c2
|
||||
inactive_border_color #0c0b0c
|
||||
bell_border_color #4b3f3c
|
||||
|
||||
color0 #191c0e
|
||||
color8 #6c705c
|
||||
color1 #83816e
|
||||
color9 #AFAC93
|
||||
color2 #8a897e
|
||||
color10 #B9B7A8
|
||||
color3 #928d81
|
||||
color11 #C3BCAD
|
||||
color4 #8c927c
|
||||
color12 #BBC3A6
|
||||
color5 #a4a26f
|
||||
color13 #DBD995
|
||||
color6 #969489
|
||||
color14 #C9C6B7
|
||||
color7 #989a8f
|
||||
color15 #c5c6c2
|
||||
color0 #0c0b0c
|
||||
color8 #6a566a
|
||||
color1 #4b3f3c
|
||||
color9 #655451
|
||||
color2 #772d25
|
||||
color10 #9F3D32
|
||||
color3 #774942
|
||||
color11 #9F6259
|
||||
color4 #9f4e41
|
||||
color12 #D46857
|
||||
color5 #876d54
|
||||
color13 #B49271
|
||||
color6 #a5744e
|
||||
color14 #DC9B69
|
||||
color7 #968b8b
|
||||
color15 #c2c2c2
|
||||
|
53
.config/kitty/dark-theme.auto.conf
Executable file
53
.config/kitty/dark-theme.auto.conf
Executable file
@ -0,0 +1,53 @@
|
||||
## 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
|
||||
|
53
.config/kitty/no-preference-theme.auto.conf
Executable file
53
.config/kitty/no-preference-theme.auto.conf
Executable file
@ -0,0 +1,53 @@
|
||||
## 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,5 +0,0 @@
|
||||
{
|
||||
"diagnostics.globals": [
|
||||
"vim"
|
||||
]
|
||||
}
|
20
.config/nvim/.neoconf.json
Normal file
20
.config/nvim/.neoconf.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"lua_ls": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"lspconfig": {
|
||||
"lua_ls": {
|
||||
"Lua.format.enable": false
|
||||
}
|
||||
}
|
||||
}
|
7
.config/nvim/.stylua.toml
Normal file
7
.config/nvim/.stylua.toml
Normal file
@ -0,0 +1,7 @@
|
||||
column_width = 120
|
||||
line_endings = "Unix"
|
||||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
quote_style = "AutoPreferDouble"
|
||||
call_parentheses = "None"
|
||||
collapse_simple_statement = "Always"
|
34
.config/nvim/README.md
Normal file
34
.config/nvim/README.md
Normal file
@ -0,0 +1,34 @@
|
||||
# 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
Executable file ā Normal file
32
.config/nvim/init.lua
Executable file ā Normal file
@ -1,17 +1,19 @@
|
||||
-- Path for lazy.nvim plugin manager
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution
|
||||
-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk.
|
||||
local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||
if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
|
||||
-- stylua: ignore
|
||||
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
vim.cmd("set number")
|
||||
require("vim-options")
|
||||
require("lazy").setup("plugins")
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
-- validate that lazy is available
|
||||
if not pcall(require, "lazy") then
|
||||
-- stylua: ignore
|
||||
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
Executable file ā Normal file
72
.config/nvim/lazy-lock.json
Executable file ā Normal file
@ -1,29 +1,47 @@
|
||||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "9b36d497495436c135659902054ee637e0ba6021" },
|
||||
"gruvbox": { "branch": "main", "commit": "089b60e92aa0a1c6fa76ff527837cd35b6f5ac81" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "7527af40ddd4a93a02911be570b32609b9d4ea53" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
|
||||
"markview.nvim": { "branch": "main", "commit": "68902d7cba78a7fe331c13d531376b4be494a05c" },
|
||||
"mini.icons": { "branch": "main", "commit": "ec61af6e606fc89ee3b1d8f2f20166a3ca917a36" },
|
||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "5d172e8315444dbc32867d1c7b04d8e7e68ec4e1" },
|
||||
"noice.nvim": { "branch": "main", "commit": "e3c68a4d2275a01268a52e2931bfccfbfb693d15" },
|
||||
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "3d02855468f94bf435db41b661b58ec4f48a06b7" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "12509903a5723a876abd65953109f926f4634c30" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
|
||||
"nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "4988b7068001b3a772c7cc738708341e612e3c26" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "402377242b04be3f4f0f3720bd952df86e946c30" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "3707cdb1e43f5cea73afb6037e6494e7ce847a66" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "c2310c6d1ecb4d5fad701ed0aeb92adc2f0db385" },
|
||||
"tabline.nvim": { "branch": "main", "commit": "ff33d12a20d52daafa5393162cae4108faf8128b" },
|
||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"typr": { "branch": "main", "commit": "696b8724b2bc68ab950d1d7a18bf00bfc536bcca" },
|
||||
"volt": { "branch": "main", "commit": "3bedb1576db574af160643eea7df3b09dbe5ee9c" }
|
||||
"AstroNvim": { "branch": "main", "commit": "170e9cd4bf7c17ec963141399f4b0a32aa694868" },
|
||||
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
|
||||
"aerial.nvim": { "branch": "master", "commit": "3284a2cb858ba009c79da87d5e010ccee3c99c4d" },
|
||||
"astrocore": { "branch": "main", "commit": "c797dd5a592e2bd154f2503e231b8a4083659534" },
|
||||
"astrolsp": { "branch": "main", "commit": "c45d9a1863e3ef430cee834674601bc50a304a70" },
|
||||
"astrotheme": { "branch": "main", "commit": "f12dcf64b1f9a05839c3ac2146f550f43bae9dab" },
|
||||
"astroui": { "branch": "main", "commit": "fded232ee0001c6bed9b654188e3dd4b0c58317c" },
|
||||
"better-escape.nvim": { "branch": "master", "commit": "199dcc2643dec5d8dbdab4ec672cf405224dcb3b" },
|
||||
"blink.cmp": { "branch": "main", "commit": "cb5e346d9e0efa7a3eee7fd4da0b690c48d2a98e" },
|
||||
"blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" },
|
||||
"cmp-dap": { "branch": "master", "commit": "ea92773e84c0ad3288c3bc5e452ac91559669087" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "fc8f183479a472df60aa86f00e295462f2308178" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "7010000889bfb6c26065e0b0f7f1e6aa9163edd9" },
|
||||
"guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" },
|
||||
"heirline.nvim": { "branch": "master", "commit": "cc359b628266cb9a84b2d71c883f2b99e16473a0" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
|
||||
"mason-null-ls.nvim": { "branch": "main", "commit": "2b8433f76598397fcc97318d410e0c4f7a4bea6a" },
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "4c2cdc69d69fe00c15ae8648f7e954d99e5de3ea" },
|
||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "1255518cb067e038a4755f5cb3e980f79b6ab89c" },
|
||||
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
||||
"mini.icons": { "branch": "main", "commit": "910db5df9724d65371182948f921fce23c2c881e" },
|
||||
"neo-tree.nvim": { "branch": "main", "commit": "1ef260eb4f54515fe121a2267b477efb054d108a" },
|
||||
"neoconf.nvim": { "branch": "main", "commit": "8e7a5a052b0f6bc9ad35790c77780137f76c1a75" },
|
||||
"none-ls.nvim": { "branch": "main", "commit": "786460723170bda9e9f95c55a382d21436575297" },
|
||||
"nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" },
|
||||
"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" }
|
||||
}
|
||||
|
12
.config/nvim/lua/community.lua
Normal file
12
.config/nvim/lua/community.lua
Normal file
@ -0,0 +1,12 @@
|
||||
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
|
||||
}
|
32
.config/nvim/lua/lazy_setup.lua
Normal file
32
.config/nvim/lua/lazy_setup.lua
Normal file
@ -0,0 +1,32 @@
|
||||
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]])
|
@ -1,95 +0,0 @@
|
||||
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,
|
||||
}
|
85
.config/nvim/lua/plugins/astrocore.lua
Normal file
85
.config/nvim/lua/plugins/astrocore.lua
Normal file
@ -0,0 +1,85 @@
|
||||
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,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
105
.config/nvim/lua/plugins/astrolsp.lua
Normal file
105
.config/nvim/lua/plugins/astrolsp.lua
Normal file
@ -0,0 +1,105 @@
|
||||
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,
|
||||
},
|
||||
}
|
39
.config/nvim/lua/plugins/astroui.lua
Normal file
39
.config/nvim/lua/plugins/astroui.lua
Normal file
@ -0,0 +1,39 @@
|
||||
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 = "ā ",
|
||||
},
|
||||
},
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
return {
|
||||
'windwp/nvim-autopairs',
|
||||
event = "InsertEnter",
|
||||
config = true
|
||||
-- use opts = {} for passing setup options
|
||||
-- this is equivalent to setup({}) function
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
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,
|
||||
}
|
||||
|
@ -1,23 +0,0 @@
|
||||
-- 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,
|
||||
}
|
||||
|
@ -1,44 +0,0 @@
|
||||
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,
|
||||
},
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
return {
|
||||
'norcalli/nvim-colorizer.lua',
|
||||
config = function()
|
||||
require('colorizer').setup {
|
||||
'*'
|
||||
}
|
||||
end
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
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
|
||||
}
|
||||
|
@ -1,19 +0,0 @@
|
||||
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,
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
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,
|
||||
}
|
||||
|
||||
|
@ -1,4 +0,0 @@
|
||||
return {
|
||||
"OXY2DEV/markview.nvim",
|
||||
lazy = false
|
||||
};
|
28
.config/nvim/lua/plugins/mason.lua
Normal file
28
.config/nvim/lua/plugins/mason.lua
Normal file
@ -0,0 +1,28 @@
|
||||
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",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
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,
|
||||
}
|
24
.config/nvim/lua/plugins/none-ls.lua
Normal file
24
.config/nvim/lua/plugins/none-ls.lua
Normal file
@ -0,0 +1,24 @@
|
||||
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,
|
||||
}
|
@ -1,61 +0,0 @@
|
||||
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,
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
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'}
|
||||
}
|
@ -1,89 +0,0 @@
|
||||
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
Executable file ā Normal file
23
.config/nvim/lua/plugins/treesitter.lua
Executable file ā Normal file
@ -1,12 +1,15 @@
|
||||
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
||||
|
||||
-- Customize Treesitter
|
||||
|
||||
---@type LazySpec
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
config = function()
|
||||
local config = require("nvim-treesitter.configs")
|
||||
config.setup({
|
||||
auto_install = true,
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
})
|
||||
end,
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"lua",
|
||||
"vim",
|
||||
-- add more arguments for adding more treesitter parsers
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@ -1,12 +0,0 @@
|
||||
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" },
|
||||
}
|
88
.config/nvim/lua/plugins/user.lua
Normal file
88
.config/nvim/lua/plugins/user.lua
Normal file
@ -0,0 +1,88 @@
|
||||
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,
|
||||
},
|
||||
}
|
5
.config/nvim/lua/polish.lua
Normal file
5
.config/nvim/lua/polish.lua
Normal file
@ -0,0 +1,5 @@
|
||||
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
|
@ -1,5 +0,0 @@
|
||||
vim.cmd("set expandtab")
|
||||
vim.cmd("set tabstop=4")
|
||||
vim.cmd("set softtabstop=4")
|
||||
vim.cmd("set shiftwidth=4")
|
||||
vim.g.mapleader = " "
|
6
.config/nvim/neovim.yml
Normal file
6
.config/nvim/neovim.yml
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
base: lua51
|
||||
|
||||
globals:
|
||||
vim:
|
||||
any: true
|
8
.config/nvim/selene.toml
Normal file
8
.config/nvim/selene.toml
Normal file
@ -0,0 +1,8 @@
|
||||
std = "neovim"
|
||||
|
||||
[rules]
|
||||
global_usage = "allow"
|
||||
if_same_then_else = "allow"
|
||||
incorrect_standard_library_use = "allow"
|
||||
mixed_table = "allow"
|
||||
multiple_statements = "allow"
|
8
.config/wofi/projects
Normal file
8
.config/wofi/projects
Normal file
@ -0,0 +1,8 @@
|
||||
[config]
|
||||
allow_images=true
|
||||
show=drun
|
||||
width=800
|
||||
height=600
|
||||
always_parse_args=true
|
||||
show_all=true
|
||||
term=kitty
|
88
.config/wofi/style-projects.css
Normal file
88
.config/wofi/style-projects.css
Normal file
@ -0,0 +1,88 @@
|
||||
@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 {
|
||||
border: none;
|
||||
border-radius: 20px;
|
||||
background-color: alpha(@background,.2);
|
||||
background-color: rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
#entry:selected #text {
|
||||
color: @mauve;
|
||||
|
@ -1,25 +0,0 @@
|
||||
#!/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"
|
@ -1,81 +0,0 @@
|
||||
#!/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
|
@ -1,5 +0,0 @@
|
||||
#!/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 "___________________________________________"
|
@ -1,5 +0,0 @@
|
||||
#!/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/
|
@ -1,49 +0,0 @@
|
||||
#!/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
|
||||
|
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
yay -S neovim pywal lazygit
|
||||
wal -i ~/Dotfiles/wallpapers/pywallpaper.jpg
|
||||
sudo cp -a ~/Dotfiles/.config/nvim ~/.config/
|
@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
yay -S starship
|
||||
sudo cp -a ~/Dotfiles/.config/starship.toml ~/.config/
|
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
yay -S swaync gvfs pywal
|
||||
wal -i ~/Dotfiles/wallpapers/pywallpaper.jpg
|
||||
sudo cp -a ~/Dotfiles/.config/swaync ~/.config/
|
@ -1,6 +0,0 @@
|
||||
#!/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/
|
@ -1,6 +0,0 @@
|
||||
#!/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/
|
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
yay -S wlogout pywal
|
||||
wal -i ~/Dotfiles/wallpapers/pywallpaper.jpg
|
||||
sudo cp -a ~/Dotfiles/.config/wlogout ~/.config/
|
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
yay -S wofi pywal
|
||||
wal -i ~/Dotfiles/wallpapers/pywallpaper.jpg
|
||||
sudo cp -a ~/Dotfiles/.config/wofi ~/.config/
|
674
LICENSE
674
LICENSE
@ -1,674 +0,0 @@
|
||||
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
Executable file
66
install.sh
Executable file
@ -0,0 +1,66 @@
|
||||
#!/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
509
readme.md
@ -1,509 +0,0 @@
|
||||
[](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