Compare commits
267 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0206ce5773 | ||
|
|
04c718410b | ||
|
|
a3b7fa400c | ||
|
|
975098c9f4 | ||
|
|
ac9a0c9807 | ||
|
|
0add98bc03 | ||
|
|
23920aab0a | ||
|
|
14dd2a2511 | ||
|
|
f572060942 | ||
|
|
44a540fa6e | ||
|
|
a4bed9b909 | ||
|
|
d55092af33 | ||
|
|
0d52c2dd65 | ||
|
|
41f3f3499c | ||
|
|
ec15a6212e | ||
|
|
d093460c5b | ||
|
|
222958790f | ||
|
|
aef25d07fd | ||
|
|
e5cf8b26c4 | ||
|
|
6595bb0efc | ||
|
|
b97df66620 | ||
|
|
1fb43470a8 | ||
|
|
d292736b31 | ||
|
|
008caf935f | ||
|
|
7786fe7782 | ||
|
|
4eb550a7bf | ||
|
|
7e8435dbd8 | ||
|
|
464df8fc0f | ||
|
|
c14329ce16 | ||
|
|
0004ea4bdc | ||
|
|
984c2dae23 | ||
|
|
23b5dfbebc | ||
|
|
ef2944e066 | ||
|
|
aa916b7e3d | ||
|
|
e8114c9f94 | ||
|
|
f124e07cb6 | ||
|
|
3c3c4a6913 | ||
|
|
ae398eac24 | ||
|
|
46f8bd8cf4 | ||
|
|
93ba16b78d | ||
|
|
1653187813 | ||
|
|
42240dd6f6 | ||
|
|
f558e4ff10 | ||
|
|
d16efda58f | ||
|
|
acb07fa341 | ||
|
|
16106a9563 | ||
|
|
affaecf218 | ||
|
|
6f022d0eca | ||
|
|
c1a5fc5030 | ||
|
|
6e5450224c | ||
|
|
6360a10b21 | ||
|
|
08e8f65046 | ||
|
|
6d717b946b | ||
|
|
f2c9c8a6d5 | ||
|
|
f4193776d2 | ||
|
|
f984068975 | ||
|
|
5df0545186 | ||
|
|
bb41d9ca40 | ||
|
|
5cc4901b0c | ||
|
|
e83f946bb5 | ||
|
|
0fbc930b28 | ||
|
|
e4c9e79471 | ||
|
|
531285342b | ||
|
|
5bb5d11721 | ||
|
|
b7329cb951 | ||
|
|
b6f63359b1 | ||
|
|
c1fc5ecf1d | ||
|
|
0e26cd26dd | ||
|
|
1b58092306 | ||
|
|
c8516db4af | ||
|
|
825284d441 | ||
|
|
57218d352a | ||
|
|
d922632469 | ||
|
|
06680db137 | ||
|
|
d6f1c447b7 | ||
|
|
9032fd2076 | ||
|
|
054e8dc592 | ||
|
|
a25e266987 | ||
|
|
0d27f17050 | ||
|
|
0094e076c9 | ||
|
|
c0e0752f68 | ||
|
|
36ca9005a6 | ||
|
|
1f017b110d | ||
|
|
88d6522c4f | ||
|
|
01f2abb83b | ||
|
|
4c2ad9d68a | ||
|
|
c4a6446ff6 | ||
|
|
db9a6551ef | ||
|
|
aab42872eb | ||
|
|
77cb5a64d0 | ||
|
|
2a3ba95248 | ||
|
|
9f2263c829 | ||
|
|
589abf65f9 | ||
|
|
1d22bef8e0 | ||
|
|
dae73ffaee | ||
|
|
3397431e09 | ||
|
|
fe400dca55 | ||
|
|
59e0adb5cf | ||
|
|
5bfbee85ec | ||
|
|
b01c0b8a25 | ||
|
|
cfea22fb50 | ||
|
|
8d4b7eb0d9 | ||
|
|
93a2c3931b | ||
|
|
aa21417920 | ||
|
|
d72d7a14bc | ||
|
|
c07bdd4fa3 | ||
|
|
1e46b3cf00 | ||
|
|
63a19cbcf3 | ||
|
|
fe8156e7bd | ||
|
|
7595baf643 | ||
|
|
4abffe4145 | ||
|
|
b66ede1304 | ||
|
|
2815045c9a | ||
|
|
c5cfc8791f | ||
|
|
31f3b9e1b2 | ||
|
|
6265faa787 | ||
|
|
43fd674bba | ||
|
|
c9a092f3b6 | ||
|
|
d0d2fa9b28 | ||
|
|
2ae6ec5cd9 | ||
|
|
507a3d143d | ||
|
|
ea4161df5d | ||
|
|
4a069507d6 | ||
|
|
fa66e6adb3 | ||
|
|
1b582aed80 | ||
|
|
5308879695 | ||
|
|
5e94ccee67 | ||
|
|
93f0bf3894 | ||
|
|
4bf929729e | ||
|
|
ca135d69e4 | ||
|
|
23100d5f1a | ||
|
|
7f471527da | ||
|
|
1cdd637ff1 | ||
|
|
a841d57ab7 | ||
|
|
541068ddbb | ||
|
|
b0da8493c9 | ||
|
|
eaa293d0b2 | ||
|
|
d0ed7ae927 | ||
|
|
8604568209 | ||
|
|
9b56495c1a | ||
|
|
08c16948e3 | ||
|
|
54a13e2a16 | ||
|
|
77c450ec6f | ||
|
|
92b193e01c | ||
|
|
14dd2b885a | ||
|
|
aed8ceea7e | ||
|
|
dde95a31ef | ||
|
|
ba08ba58e4 | ||
|
|
3892c58dab | ||
|
|
d785e17ce6 | ||
|
|
4c5b51b11a | ||
|
|
06adb681f9 | ||
|
|
6d7d2b24b8 | ||
|
|
eb9467d495 | ||
|
|
f312ea0601 | ||
|
|
1eac6a3470 | ||
|
|
4edfe352e6 | ||
|
|
232c7630d8 | ||
|
|
45c700788d | ||
|
|
e0908b7484 | ||
|
|
ce3d639559 | ||
|
|
71417cfaee | ||
|
|
4ff5fbc264 | ||
|
|
55001d251e | ||
|
|
48e1b294f4 | ||
|
|
49441c9f12 | ||
|
|
dc5a1c0224 | ||
|
|
2fbdaa2e24 | ||
|
|
09e7658618 | ||
|
|
4e7e08a380 | ||
|
|
52c6808ea2 | ||
|
|
280623ffa1 | ||
|
|
28fd8bac2c | ||
|
|
7f38ef3f32 | ||
|
|
ce36d27f1c | ||
|
|
2ef404f6cd | ||
|
|
48f6a68454 | ||
|
|
7a2ae3600c | ||
|
|
ed23c33b5a | ||
|
|
392147f5c8 | ||
|
|
b7901a08bb | ||
|
|
1252a27212 | ||
|
|
3c9670c0af | ||
|
|
f6d949a345 | ||
|
|
f5bb626fa7 | ||
|
|
66230dfba2 | ||
|
|
0f91f2cf19 | ||
|
|
320ef09010 | ||
|
|
48cceb8af8 | ||
|
|
4507e2c462 | ||
|
|
58e37c9985 | ||
|
|
8f0e4a17b1 | ||
|
|
a2bbc2c5bd | ||
|
|
f0e2fc9cf3 | ||
|
|
a64babe620 | ||
|
|
ed396f7238 | ||
|
|
3c21b077ba | ||
|
|
7798e8360c | ||
|
|
076fe3ab81 | ||
|
|
e4fe39c7ea | ||
|
|
135bc6091d | ||
|
|
e7049c81eb | ||
|
|
af05aae09a | ||
|
|
1610d3a732 | ||
|
|
1106ae4dd6 | ||
|
|
e279eceabc | ||
|
|
9bc0942484 | ||
|
|
f5832bcc1b | ||
|
|
7328525e2a | ||
|
|
75a2388624 | ||
|
|
49470320d1 | ||
|
|
682584db88 | ||
|
|
a7d97cd084 | ||
|
|
5902b78f82 | ||
|
|
e05bd168e8 | ||
|
|
13ae175732 | ||
|
|
649f5c92be | ||
|
|
a2f4d14a04 | ||
|
|
e4088880a3 | ||
|
|
1b866b41ef | ||
|
|
f81c6d818d | ||
|
|
8f2a2bebf4 | ||
|
|
3c23a4f37d | ||
|
|
fd49ab9d7d | ||
|
|
957506bbde | ||
|
|
0c3b4acd89 | ||
|
|
516641f28a | ||
|
|
a5d663d9e9 | ||
|
|
e0ed8e6e31 | ||
|
|
f8dc6e43bd | ||
|
|
5e732bb226 | ||
|
|
830503352d | ||
|
|
8f6195b305 | ||
|
|
732e37bf00 | ||
|
|
fbbf61c102 | ||
|
|
6970d560e1 | ||
|
|
15f0855916 | ||
|
|
bf59c1a190 | ||
|
|
c751da48fd | ||
|
|
065a8377ad | ||
|
|
dd655573d5 | ||
|
|
3df9bf6f4a | ||
|
|
032302ce66 | ||
|
|
618e8bbe9e | ||
|
|
b2e48654ea | ||
|
|
6c4c1a99b0 | ||
|
|
9858798869 | ||
|
|
5fe5321293 | ||
|
|
c597dec786 | ||
|
|
bc469bfa08 | ||
|
|
87003571bd | ||
|
|
460bd73aed | ||
|
|
01dae7e4ca | ||
|
|
c552b9e351 | ||
|
|
d7052e7d1a | ||
|
|
5fd86150ef | ||
|
|
84bb969fe7 | ||
|
|
bab589f9fa | ||
|
|
8aca0c51e5 | ||
|
|
91392c3956 | ||
|
|
1632c12ac7 | ||
|
|
d143091f45 | ||
|
|
feeb529a02 | ||
|
|
96a6e65232 | ||
|
|
02d6e292e7 | ||
|
|
162367e593 | ||
|
|
39ae9dad6d |
325 changed files with 1177 additions and 30509 deletions
6
.alacritty.toml
Normal file
6
.alacritty.toml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
[window]
|
||||||
|
decorations = "Transparent"
|
||||||
|
|
||||||
|
[font]
|
||||||
|
normal = { family = "JetBrainsMono NF", style = "Regular" }
|
||||||
|
size = 12
|
||||||
2
.bashrc
2
.bashrc
|
|
@ -2,6 +2,8 @@
|
||||||
# ~/.bashrc
|
# ~/.bashrc
|
||||||
#
|
#
|
||||||
|
|
||||||
|
eval "$(mise activate bash)"
|
||||||
|
|
||||||
# If not running interactively, don't do anything
|
# If not running interactively, don't do anything
|
||||||
[[ $- != *i* ]] && return
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
|
|
|
||||||
13
.gitconfig
Normal file
13
.gitconfig
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
[credential "https://github.com"]
|
||||||
|
helper =
|
||||||
|
helper = !/usr/bin/gh auth git-credential
|
||||||
|
[credential "https://gist.github.com"]
|
||||||
|
helper =
|
||||||
|
helper = !/usr/bin/gh auth git-credential
|
||||||
|
[credential "https://git.palko.ca"]
|
||||||
|
helper =
|
||||||
|
[user]
|
||||||
|
email = benjaminpalko@hotmail.com
|
||||||
|
name = Benjamin Palko
|
||||||
|
[credential]
|
||||||
|
helper = store
|
||||||
6
.gitignore
vendored
6
.gitignore
vendored
|
|
@ -3,3 +3,9 @@
|
||||||
./cava/config
|
./cava/config
|
||||||
cava/config
|
cava/config
|
||||||
|
|
||||||
|
# Discocss
|
||||||
|
./discocss
|
||||||
|
discocss/
|
||||||
|
!./discocss/custom.css
|
||||||
|
!discocss/custom.css
|
||||||
|
|
||||||
|
|
|
||||||
6
.gitmodules
vendored
Normal file
6
.gitmodules
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
[submodule "nvim"]
|
||||||
|
path = nvim
|
||||||
|
url = https://git.palko.ca/baobeld/nvim.git
|
||||||
|
[submodule "lux-shell"]
|
||||||
|
path = quickshell
|
||||||
|
url = https://git.palko.ca/baobeld/lux-shell.git
|
||||||
19
.install/add-asdf-plugins.sh
Executable file
19
.install/add-asdf-plugins.sh
Executable file
|
|
@ -0,0 +1,19 @@
|
||||||
|
asdfPlugins=(
|
||||||
|
"nodejs"
|
||||||
|
"bun"
|
||||||
|
"python"
|
||||||
|
"rust"
|
||||||
|
"golang"
|
||||||
|
)
|
||||||
|
|
||||||
|
_addPlugins() {
|
||||||
|
for plugin; do
|
||||||
|
asdf plugin add "${plugin}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Add asdf plugins
|
||||||
|
_addPlugins "${asdfPlugins[@]}"
|
||||||
|
|
||||||
|
# Install plugins
|
||||||
|
asdf install
|
||||||
4
.install/docker-permissions.sh
Executable file
4
.install/docker-permissions.sh
Executable file
|
|
@ -0,0 +1,4 @@
|
||||||
|
if [ ! "$(getent group docker)" ]; then
|
||||||
|
sudo groupadd docker
|
||||||
|
fi
|
||||||
|
sudo usermod -aG docker "${USER}"
|
||||||
76
.install/includes/library.sh
Normal file
76
.install/includes/library.sh
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# _ _ _
|
||||||
|
# | | (_) |__ _ __ __ _ _ __ _ _
|
||||||
|
# | | | | '_ \| '__/ _` | '__| | | |
|
||||||
|
# | |___| | |_) | | | (_| | | | |_| |
|
||||||
|
# |_____|_|_.__/|_| \__,_|_| \__, |
|
||||||
|
# |___/
|
||||||
|
#
|
||||||
|
# by Benjamin Palko [based on Stephan Raabe] (2023)
|
||||||
|
# -----------------------------------------------------
|
||||||
|
|
||||||
|
# ------------------------------------------------------
|
||||||
|
# Function: Is package installed
|
||||||
|
# ------------------------------------------------------
|
||||||
|
_isInstalledPacman() {
|
||||||
|
package="$1"
|
||||||
|
check="$(sudo pacman -Qs --color always "${package}" | grep "local" | grep "${package} ")"
|
||||||
|
if [ -n "${check}" ]; then
|
||||||
|
echo 0 #'0' means 'true' in Bash
|
||||||
|
return #true
|
||||||
|
fi
|
||||||
|
echo 1 #'1' means 'false' in Bash
|
||||||
|
return #false
|
||||||
|
}
|
||||||
|
|
||||||
|
_isInstalledYay() {
|
||||||
|
package="$1"
|
||||||
|
check="$(yay -Qs --color always "${package}" | grep "local" | grep "\." | grep "${package} ")"
|
||||||
|
if [ -n "${check}" ]; then
|
||||||
|
echo 0 #'0' means 'true' in Bash
|
||||||
|
return #true
|
||||||
|
fi
|
||||||
|
echo 1 #'1' means 'false' in Bash
|
||||||
|
return #false
|
||||||
|
}
|
||||||
|
|
||||||
|
# ------------------------------------------------------
|
||||||
|
# Function Install all package if not installed
|
||||||
|
# ------------------------------------------------------
|
||||||
|
_installPackagesPacman() {
|
||||||
|
toInstall=()
|
||||||
|
for pkg; do
|
||||||
|
if [[ $(_isInstalledPacman "${pkg}") == 0 ]]; then
|
||||||
|
echo ":: ${pkg} is already installed."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
toInstall+=("${pkg}")
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ "${toInstall[@]}" == "" ]]; then
|
||||||
|
# echo "All pacman packages are already installed.";
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# printf "Package not installed:\n%s\n" "${toInstall[@]}";
|
||||||
|
sudo pacman --noconfirm -S "${toInstall[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
_installPackagesYay() {
|
||||||
|
toInstall=()
|
||||||
|
for pkg; do
|
||||||
|
if [[ $(_isInstalledYay "${pkg}") == 0 ]]; then
|
||||||
|
echo ":: ${pkg} is already installed."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
toInstall+=("${pkg}")
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ "${toInstall[@]}" == "" ]]; then
|
||||||
|
# echo "All packages are already installed.";
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# printf "AUR packags not installed:\n%s\n" "${toInstall[@]}";
|
||||||
|
yay --noconfirm -S "${toInstall[@]}"
|
||||||
|
}
|
||||||
3
.install/install-oh-my-zsh.sh
Executable file
3
.install/install-oh-my-zsh.sh
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
if [ ! -d ~/.oh-my-zsh/ ]; then
|
||||||
|
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended --keep-zshrc
|
||||||
|
fi
|
||||||
17
.install/install-yay.sh
Executable file
17
.install/install-yay.sh
Executable file
|
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if sudo pacman -Qs yay > /dev/null ; then
|
||||||
|
echo ":: yay is already installed!"
|
||||||
|
else
|
||||||
|
echo ":: yay is not installed. Starting the installation!"
|
||||||
|
_installPackagesPacman "base-devel"
|
||||||
|
SCRIPT=$(realpath "$0")
|
||||||
|
temp_path=$(dirname "$SCRIPT")
|
||||||
|
echo $temp_path
|
||||||
|
git clone https://aur.archlinux.org/yay-git.git ~/yay-git
|
||||||
|
cd ~/yay-git
|
||||||
|
makepkg -si
|
||||||
|
cd $temp_path
|
||||||
|
echo ":: yay has been installed successfully."
|
||||||
|
fi
|
||||||
|
|
||||||
20
.install/packages/applications.sh
Normal file
20
.install/packages/applications.sh
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
packagesPacman=(
|
||||||
|
"mplayer"
|
||||||
|
"discord"
|
||||||
|
"signal"
|
||||||
|
"spotify-launcher"
|
||||||
|
"obsidian"
|
||||||
|
"krita"
|
||||||
|
"inkscape"
|
||||||
|
"gimp"
|
||||||
|
"blender"
|
||||||
|
"godot-mono"
|
||||||
|
"thunderbird"
|
||||||
|
"prismlauncher"
|
||||||
|
)
|
||||||
|
|
||||||
|
packagesYay=(
|
||||||
|
"zen-browser-bin"
|
||||||
|
"aseprite"
|
||||||
|
"davinci-resolve"
|
||||||
|
)
|
||||||
20
.install/packages/base.sh
Normal file
20
.install/packages/base.sh
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
packagesPacman=(
|
||||||
|
"grep"
|
||||||
|
"wget"
|
||||||
|
"curl"
|
||||||
|
"unzip"
|
||||||
|
"xclip"
|
||||||
|
"inotify-tools"
|
||||||
|
"pipewire"
|
||||||
|
"wireplumber"
|
||||||
|
"pipewire-audio"
|
||||||
|
"pipewire-alsa"
|
||||||
|
"pipewire-pulse"
|
||||||
|
"python-pywal",
|
||||||
|
"noto-fonts",
|
||||||
|
"noto-fonts-cjk",
|
||||||
|
"noto-fonts-emoji"
|
||||||
|
)
|
||||||
|
|
||||||
|
packagesYay=(
|
||||||
|
)
|
||||||
3
.install/packages/boot.sh
Normal file
3
.install/packages/boot.sh
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
packagesPacman=(
|
||||||
|
"plymouth"
|
||||||
|
)
|
||||||
4
.install/packages/gnome.sh
Normal file
4
.install/packages/gnome.sh
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
packagesPacman=(
|
||||||
|
"xdg-desktop-portal"
|
||||||
|
"xdg-desktop-portal-gnome"
|
||||||
|
)
|
||||||
26
.install/packages/hyprland.sh
Normal file
26
.install/packages/hyprland.sh
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
packagesPacman=(
|
||||||
|
"hyprland"
|
||||||
|
"hypridle"
|
||||||
|
"hyprlock"
|
||||||
|
"polkit"
|
||||||
|
"rofi-wayland"
|
||||||
|
"swaync"
|
||||||
|
"swww"
|
||||||
|
"waybar"
|
||||||
|
"bluez"
|
||||||
|
"bluez-utils"
|
||||||
|
"blueman"
|
||||||
|
"xdg-desktop-portal-hyprland"
|
||||||
|
"gtk3"
|
||||||
|
"gtk4"
|
||||||
|
"grim"
|
||||||
|
"slurp"
|
||||||
|
"swappy"
|
||||||
|
"cliphist"
|
||||||
|
"xorg-xrdb"
|
||||||
|
)
|
||||||
|
|
||||||
|
packagesYay=(
|
||||||
|
"nwg-look"
|
||||||
|
"aylurs-gtk-shell"
|
||||||
|
)
|
||||||
31
.install/packages/shell.sh
Normal file
31
.install/packages/shell.sh
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
packagesPacman=(
|
||||||
|
"kitty"
|
||||||
|
"zsh"
|
||||||
|
"zsh-autosuggestions"
|
||||||
|
"zsh-syntax-highlighting"
|
||||||
|
"git"
|
||||||
|
"github-cli"
|
||||||
|
"lazygit"
|
||||||
|
"neofetch"
|
||||||
|
"ripgrep"
|
||||||
|
'fzf'
|
||||||
|
"neovim"
|
||||||
|
"ttf-jetbrains-mono-nerd"
|
||||||
|
"mise"
|
||||||
|
"btop"
|
||||||
|
"cmatrix"
|
||||||
|
"dotnet-runtime"
|
||||||
|
"dotnet-sdk"
|
||||||
|
"aspnet-runtime"
|
||||||
|
"wine"
|
||||||
|
"docker"
|
||||||
|
"docker-compose"
|
||||||
|
"meson"
|
||||||
|
"glfw"
|
||||||
|
"glad"
|
||||||
|
)
|
||||||
|
|
||||||
|
packagesYay=(
|
||||||
|
"lazydocker"
|
||||||
|
"cava"
|
||||||
|
)
|
||||||
|
|
@ -1,12 +1,33 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# files
|
||||||
|
files=(
|
||||||
|
".bashrc"
|
||||||
|
".gitconfig"
|
||||||
|
".zshrc"
|
||||||
|
)
|
||||||
|
|
||||||
|
_symlinkFiles() {
|
||||||
|
for file; do
|
||||||
|
if [ -h ~/${file} ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
if [ -f ~/${file} ]; then
|
||||||
|
rm ~/${file}
|
||||||
|
fi
|
||||||
|
ln -s ~/dotfiles/${file} ~/${file}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
# directories
|
# directories
|
||||||
directories=(
|
directories=(
|
||||||
"cava"
|
"cava"
|
||||||
"gtk-3.0"
|
|
||||||
"gtk-4.0"
|
|
||||||
"hypr"
|
"hypr"
|
||||||
|
"kitty"
|
||||||
|
"mise"
|
||||||
|
"neofetch"
|
||||||
"nvim"
|
"nvim"
|
||||||
|
"quickshell"
|
||||||
"rofi"
|
"rofi"
|
||||||
"swappy"
|
"swappy"
|
||||||
"swaync"
|
"swaync"
|
||||||
|
|
@ -16,15 +37,16 @@ directories=(
|
||||||
|
|
||||||
_symlinkDirs() {
|
_symlinkDirs() {
|
||||||
for dir; do
|
for dir; do
|
||||||
if [ -h ~/.config/"${dir}" ]; then
|
if [ -h ~/.config/${dir} ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if [ -d ~/.config/"${dir}"/ ]; then
|
if [ -d ~/.config/${dir}/ ]; then
|
||||||
echo "Deleting existing directory ${dir}"
|
echo "Deleting existing directory ${dir}"
|
||||||
rm -rf ~/.config/"${dir}"/
|
rm -rf ~/.config/${dir}/
|
||||||
fi
|
fi
|
||||||
ln -s ~/dotfiles/"${dir}"/ ~/.config/
|
ln -s ~/dotfiles/${dir}/ ~/.config/
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_symlinkFiles "${files[@]}"
|
||||||
_symlinkDirs "${directories[@]}"
|
_symlinkDirs "${directories[@]}"
|
||||||
|
|
|
||||||
11
.scripts/pywal-swww.sh
Executable file
11
.scripts/pywal-swww.sh
Executable file
|
|
@ -0,0 +1,11 @@
|
||||||
|
# -n tells `wal` to skip setting the wallpaper.
|
||||||
|
wal -i ~/Wallpapers/ -n
|
||||||
|
|
||||||
|
# Using feh to tile the wallpaper now.
|
||||||
|
# We grab the wallpaper location from wal's cache so
|
||||||
|
# that this works even when a directory is passed.
|
||||||
|
swww img "$(< "${HOME}/.cache/wal/wal")" --transition-type wipe --transition-angle 45 --transition-fps 90
|
||||||
|
|
||||||
|
# Copy cava and update config
|
||||||
|
cp ~/.cache/wal/cava-config ~/dotfiles/cava/config && pkill -USR2 cava
|
||||||
|
|
||||||
3
.scripts/pywal.sh
Executable file
3
.scripts/pywal.sh
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
wal -i ~/Wallpapers/ -n
|
||||||
|
gsettings set org.gnome.desktop.background picture-uri-dark "file://$(cat ~/.cache/wal/wal)"
|
||||||
|
cp ~/.cache/wal/cava-config ~/dotfiles/cava/config && pkill -USR2 cava
|
||||||
3
.scripts/set-shell.sh
Normal file
3
.scripts/set-shell.sh
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
chsh -s "$(which zsh)"
|
||||||
129
.zshrc
Normal file
129
.zshrc
Normal file
|
|
@ -0,0 +1,129 @@
|
||||||
|
# If you come from bash you might have to change your $PATH.
|
||||||
|
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
||||||
|
|
||||||
|
# Path to your oh-my-zsh installation.
|
||||||
|
export ZSH="$HOME/.oh-my-zsh"
|
||||||
|
|
||||||
|
# Set name of the theme to load --- if set to "random", it will
|
||||||
|
# load a random theme each time oh-my-zsh is loaded, in which case,
|
||||||
|
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
||||||
|
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||||
|
ZSH_THEME="robbyrussell"
|
||||||
|
|
||||||
|
# Load pywal palette
|
||||||
|
cat ~/.cache/wal/sequences
|
||||||
|
|
||||||
|
# Set list of themes to pick from when loading at random
|
||||||
|
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
||||||
|
# a theme from this variable instead of looking in $ZSH/themes/
|
||||||
|
# If set to an empty array, this variable will have no effect.
|
||||||
|
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
||||||
|
|
||||||
|
# Uncomment the following line to use case-sensitive completion.
|
||||||
|
# CASE_SENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to use hyphen-insensitive completion.
|
||||||
|
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
||||||
|
# HYPHEN_INSENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment one of the following lines to change the auto-update behavior
|
||||||
|
# zstyle ':omz:update' mode disabled # disable automatic updates
|
||||||
|
# zstyle ':omz:update' mode auto # update automatically without asking
|
||||||
|
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
|
||||||
|
|
||||||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||||||
|
# zstyle ':omz:update' frequency 13
|
||||||
|
|
||||||
|
# Uncomment the following line if pasting URLs and other text is messed up.
|
||||||
|
# DISABLE_MAGIC_FUNCTIONS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable colors in ls.
|
||||||
|
# DISABLE_LS_COLORS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable auto-setting terminal title.
|
||||||
|
# DISABLE_AUTO_TITLE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to enable command auto-correction.
|
||||||
|
# ENABLE_CORRECTION="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||||
|
# You can also set it to another string to have that shown instead of the default red dots.
|
||||||
|
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
||||||
|
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
||||||
|
# COMPLETION_WAITING_DOTS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to change the command execution time
|
||||||
|
# stamp shown in the history command output.
|
||||||
|
# You can set one of the optional three formats:
|
||||||
|
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||||
|
# or set a custom format using the strftime function format specifications,
|
||||||
|
# see 'man strftime' for details.
|
||||||
|
# HIST_STAMPS="mm/dd/yyyy"
|
||||||
|
|
||||||
|
# Would you like to use another custom folder than $ZSH/custom?
|
||||||
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# Which plugins would you like to load?
|
||||||
|
# Standard plugins can be found in $ZSH/plugins/
|
||||||
|
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(git gh bun npm yarn mise)
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
# export LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
# if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
# export EDITOR='vim'
|
||||||
|
# else
|
||||||
|
# export EDITOR='mvim'
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
|
|
||||||
|
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||||||
|
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
#
|
||||||
|
# Example aliases
|
||||||
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
alias dotfiles="~/dotfiles/"
|
||||||
|
alias nv="nvim"
|
||||||
|
alias pywal="~/dotfiles/.scripts/pywal.sh"
|
||||||
|
|
||||||
|
# Lines configured by zsh-newuser-install
|
||||||
|
HISTFILE=~/.histfile
|
||||||
|
HISTSIZE=50
|
||||||
|
SAVEHIST=1000
|
||||||
|
bindkey -v
|
||||||
|
# End of lines configured by zsh-newuser-install
|
||||||
|
# The following lines were added by compinstall
|
||||||
|
zstyle :compinstall filename '$HOME/.zshrc'
|
||||||
|
|
||||||
|
autoload -Uz compinit
|
||||||
|
compinit
|
||||||
|
# End of lines added by compinstall
|
||||||
|
|
||||||
|
eval "$(mise activate zsh)"
|
||||||
|
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
export EDITOR=nvim
|
||||||
|
|
||||||
|
neofetch --ascii ~/dotfiles/ascii.txt
|
||||||
|
|
||||||
|
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||||
87
README.md
Normal file → Executable file
87
README.md
Normal file → Executable file
|
|
@ -1,4 +1,85 @@
|
||||||
# Dotfiles
|
# Arch Linux Setup
|
||||||
|
|
||||||
- [Arch](<https://github.com/BenjaminPalko/dotfiles/tree/arch(btw)>)
|
This is a work in progress setup for my first Arch Linux install
|
||||||
- [NixOS](https://github.com/BenjaminPalko/dotfiles/tree/nixos)
|
|
||||||
|
## Arch install
|
||||||
|
|
||||||
|
Start by creating a bootable USB from an Arch ISO, you can download from [here](https://archlinux.org/download/)
|
||||||
|
|
||||||
|
Boot into the USB...
|
||||||
|
|
||||||
|
Connect to wifi...
|
||||||
|
|
||||||
|
```
|
||||||
|
iwctl
|
||||||
|
```
|
||||||
|
|
||||||
|
Test connection with `ping google.ca`
|
||||||
|
|
||||||
|
Run the arch install command
|
||||||
|
|
||||||
|
```shell
|
||||||
|
archinstall
|
||||||
|
```
|
||||||
|
|
||||||
|
Running through the options...
|
||||||
|
|
||||||
|
- Disc config: Best-effort
|
||||||
|
- Boot loader: Grub
|
||||||
|
- User account: Create one and give super
|
||||||
|
- Profile: Minimal
|
||||||
|
- Audio: Pipewire
|
||||||
|
- Additional packages: `git`
|
||||||
|
- Network: Copy ISE network configuration
|
||||||
|
|
||||||
|
Install...
|
||||||
|
|
||||||
|
### Enable multilib
|
||||||
|
|
||||||
|
```conf
|
||||||
|
/etc/pacman.conf
|
||||||
|
--------------------
|
||||||
|
[multilib]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
```
|
||||||
|
|
||||||
|
## Packages
|
||||||
|
|
||||||
|
This is a list of packages sorted by the package manager used to install them along with a small description of what they do as well as a link to their website/docs
|
||||||
|
|
||||||
|
### Pacman
|
||||||
|
|
||||||
|
- zsh - Shell
|
||||||
|
- git - Version control
|
||||||
|
- github-cli - Github CLI
|
||||||
|
- lazygit - CLI git client
|
||||||
|
- neofetch - System display
|
||||||
|
- neovim - CLI based editor and IDE
|
||||||
|
- ttf-jetbrains-mono-nerd - Nerd font pack
|
||||||
|
- wget - retrive files over http(s)
|
||||||
|
- curl - same as wget
|
||||||
|
- xclip - Clipboard util
|
||||||
|
- ripgrep - CLI grep tool (used for neovim text search across files)
|
||||||
|
- btop - resource monitor
|
||||||
|
- cmatrix - THE MATRIX
|
||||||
|
- swappy - screenshot tool
|
||||||
|
- spotify - Music App
|
||||||
|
- discord - Messaging
|
||||||
|
- obsidian - markdown and stuff
|
||||||
|
|
||||||
|
#### Hyprland
|
||||||
|
|
||||||
|
- swww - wallpaper animations
|
||||||
|
- hypridle - hyprland idle daemon
|
||||||
|
- hyprlock - hyprland lock screen
|
||||||
|
- pywal - generates color palettes from wallpaper
|
||||||
|
|
||||||
|
### Yay
|
||||||
|
|
||||||
|
- cava - audio visualizer
|
||||||
|
|
||||||
|
### Brew
|
||||||
|
|
||||||
|
- zsh-completions - zsh plugin that adds CLI completions
|
||||||
|
- zsh-autosuggestions - zsh that adds suggestions
|
||||||
|
- asdf - runtime manager (nodejs, python, bun, etc...)
|
||||||
|
|
|
||||||
0
aperture.txt → ascii.txt
Normal file → Executable file
0
aperture.txt → ascii.txt
Normal file → Executable file
4
caprine/.gitignore
vendored
4
caprine/.gitignore
vendored
|
|
@ -1,4 +0,0 @@
|
||||||
*
|
|
||||||
!.gitignore
|
|
||||||
!config.json
|
|
||||||
!custom.css
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
{
|
|
||||||
"theme": "system",
|
|
||||||
"privateMode": false,
|
|
||||||
"showPrivateModePrompt": true,
|
|
||||||
"vibrancy": "none",
|
|
||||||
"zoomFactor": 1,
|
|
||||||
"lastWindowState": {
|
|
||||||
"x": 513,
|
|
||||||
"y": 594,
|
|
||||||
"width": 1244,
|
|
||||||
"height": 1358,
|
|
||||||
"isMaximized": false
|
|
||||||
},
|
|
||||||
"menuBarMode": false,
|
|
||||||
"showDockIcon": true,
|
|
||||||
"showTrayIcon": true,
|
|
||||||
"alwaysOnTop": false,
|
|
||||||
"showAlwaysOnTopPrompt": true,
|
|
||||||
"bounceDockOnMessage": false,
|
|
||||||
"showUnreadBadge": true,
|
|
||||||
"showMessageButtons": true,
|
|
||||||
"launchMinimized": false,
|
|
||||||
"flashWindowOnMessage": true,
|
|
||||||
"notificationMessagePreview": true,
|
|
||||||
"block": {
|
|
||||||
"chatSeen": false,
|
|
||||||
"typingIndicator": false,
|
|
||||||
"deliveryReceipt": false
|
|
||||||
},
|
|
||||||
"emojiStyle": "facebook-3-0",
|
|
||||||
"useWorkChat": false,
|
|
||||||
"sidebar": "default",
|
|
||||||
"autoHideMenuBar": true,
|
|
||||||
"autoUpdate": true,
|
|
||||||
"notificationsMuted": false,
|
|
||||||
"callRingtoneMuted": false,
|
|
||||||
"hardwareAcceleration": true,
|
|
||||||
"quitOnWindowClose": false,
|
|
||||||
"keepMeSignedIn": true,
|
|
||||||
"autoplayVideos": true,
|
|
||||||
"isSpellCheckerEnabled": true,
|
|
||||||
"spellCheckerLanguages": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,227 +0,0 @@
|
||||||
:root {
|
|
||||||
--base: #1e1e2e;
|
|
||||||
--base-ninety: rgb(255 255 255 / 90%);
|
|
||||||
--base-seventy-five: rgb(255 255 255 / 75%);
|
|
||||||
--base-seventy: rgb(255 255 255 / 70%);
|
|
||||||
--base-fifty: rgb(255 255 255 / 50%);
|
|
||||||
--base-fourty: rgb(255 255 255 / 40%);
|
|
||||||
--base-thirty: rgb(255 255 255 / 30%);
|
|
||||||
--base-twenty: rgb(255 255 255 / 20%);
|
|
||||||
--base-ten: rgb(255 255 255 / 10%);
|
|
||||||
--base-nine: rgb(255 255 255 / 9%);
|
|
||||||
--base-five: rgb(255 255 255 / 5%);
|
|
||||||
--container-color: #11111b;
|
|
||||||
--container-dark-color: #181825;
|
|
||||||
--list-header-color: #1e1e2e;
|
|
||||||
--blue: #89b4fa;
|
|
||||||
--white: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.__fb-dark-mode {
|
|
||||||
--icon-primary-color: #f38ba8;
|
|
||||||
--messenger-card-background: var(--container-dark-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
div.__fb-dark-mode {
|
|
||||||
--messenger-card-background: var(--list-header-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
html.__fb-dark-mode-mode body {
|
|
||||||
color: var(--base-seventy);
|
|
||||||
background: var(--container-color) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Fixes appearance of "Verify Account" screen text */
|
|
||||||
html.__fb-dark-mode-mode ._3-mr ._3-mt,
|
|
||||||
html.__fb-dark-mode-mode ._3-mr ._3-mu {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.__fb-dark-mode-mode ._3v_o, /* Login screen */
|
|
||||||
html.__fb-dark-mode-mode body.UIPage_LoggedOut ._li, /* 2FA screen */
|
|
||||||
html.__fb-dark-mode-mode body.UIPage_LoggedOut ._4-u5 /* 2FA screen */ {
|
|
||||||
background-color: var(--container-dark-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Login title and names */
|
|
||||||
html.__fb-dark-mode-mode ._5hy4,
|
|
||||||
html.__fb-dark-mode-mode ._3403 {
|
|
||||||
color: var(--base-fourty) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Login inputs */
|
|
||||||
html.__fb-dark-mode-mode ._3v_o ._55r1 {
|
|
||||||
background: var(--base-five);
|
|
||||||
color: var(--base-seventy);
|
|
||||||
}
|
|
||||||
html.__fb-dark-mode-mode ._3v_o ._55r1::-webkit-input-placeholder {
|
|
||||||
color: var(--base-thirty) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* "Keep me signed in" checkbox */
|
|
||||||
html.__fb-dark-mode-mode .uiInputLabelInput {
|
|
||||||
filter: opacity(70%);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* "Keep me signed in" text */
|
|
||||||
html.__fb-dark-mode-mode .uiInputLabelLabel {
|
|
||||||
color: var(--base-fourty) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 2FA screen modal */
|
|
||||||
html.__fb-dark-mode-mode body.UIPage_LoggedOut ._4-u8 {
|
|
||||||
background: var(--container-color);
|
|
||||||
border-color: var(--base-five) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 2FA screen modal title */
|
|
||||||
html.__fb-dark-mode-mode body.UIPage_LoggedOut ._2e9n {
|
|
||||||
border-color: var(--base-five);
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 2FA screen modal separator */
|
|
||||||
html.__fb-dark-mode-mode body.UIPage_LoggedOut ._p0k ._5hzs {
|
|
||||||
border-color: var(--base-five);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 2FA screen modal separators */
|
|
||||||
html.__fb-dark-mode-mode body.UIPage_LoggedOut a {
|
|
||||||
color: var(--blue);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 2FA screen modal input */
|
|
||||||
html.__fb-dark-mode-mode body.UIPage_LoggedOut input {
|
|
||||||
background: var(--base-ten);
|
|
||||||
border-color: var(--base-ten);
|
|
||||||
color: var(--base-ninety);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Cookies notification: background */
|
|
||||||
html.__fb-dark-mode-mode ._9o-w ._9o-c {
|
|
||||||
background: var(--container-color) !important;
|
|
||||||
}
|
|
||||||
/* Cookies notification: text */
|
|
||||||
html.__fb-dark-mode-mode ._9o-g {
|
|
||||||
color: var(--base-seventy) !important;
|
|
||||||
}
|
|
||||||
/* Cookies notification: collapsible headers */
|
|
||||||
html.__fb-dark-mode-mode ._9o-l {
|
|
||||||
color: var(--base-seventy) !important;
|
|
||||||
}
|
|
||||||
/* Cookies notification: subheaders */
|
|
||||||
html.__fb-dark-mode-mode ._9si- {
|
|
||||||
color: var(--base-seventy) !important;
|
|
||||||
}
|
|
||||||
/* Cookies notification: hamburger menu */
|
|
||||||
html.__fb-dark-mode-mode
|
|
||||||
._42ft._4jy0._55pi._2agf._4o_4._9o-e._p._4jy3._517h._51sy {
|
|
||||||
background: var(--container-color) !important;
|
|
||||||
}
|
|
||||||
/* Cookies notification: hamburger menu background */
|
|
||||||
html.__fb-dark-mode-mode ._54ng {
|
|
||||||
background: var(--container-color) !important;
|
|
||||||
}
|
|
||||||
/* Cookies notification: hamburger menu text */
|
|
||||||
html.__fb-dark-mode-mode ._54nh {
|
|
||||||
color: var(--base-seventy) !important;
|
|
||||||
}
|
|
||||||
/* Cookies notification: hamburger menu column borders */
|
|
||||||
html.__fb-dark-mode-mode ._54nc {
|
|
||||||
border-color: var(--container-color) !important;
|
|
||||||
}
|
|
||||||
/* Cookies notification: icons */
|
|
||||||
html.__fb-dark-mode-mode .img.sp_ng1YXMZLXub {
|
|
||||||
filter: invert(0.66);
|
|
||||||
}
|
|
||||||
/* Cookies notification: rectangular boxes */
|
|
||||||
html.__fb-dark-mode-mode .pam._9o-n.uiBoxGray {
|
|
||||||
background-color: var(--base-ten) !important;
|
|
||||||
}
|
|
||||||
html.__fb-dark-mode-mode ._9xq0 {
|
|
||||||
color: var(--base-seventy) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Top bar: App menu button color */
|
|
||||||
/* Top bar: New message button color */
|
|
||||||
.j83agx80.pfnyh3mw .ozuftl9m .a8c37x1j.ms05siws.hwsy1cff.b7h9ocf4 {
|
|
||||||
fill: currentcolor;
|
|
||||||
color: var(--primary-text);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Chat list: Mute icon */
|
|
||||||
.bp9cbjyn.j83agx80.btwxx1t3 .dlv3wnog.lupvgy83 .a8c37x1j {
|
|
||||||
fill: #11111b;
|
|
||||||
color: var(--primary-text);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Right sidebar: icons */
|
|
||||||
.x1qhmfi1.x14yjl9h.xudhj91.x18nykt9.xww2gxu.x1fgtraw.x1264ykn.x78zum5.x6s0dn4.xl56j7k
|
|
||||||
svg
|
|
||||||
path {
|
|
||||||
fill: currentcolor;
|
|
||||||
color: var(--primary-text);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Contact list: delivered icon color */
|
|
||||||
.aahdfvyu [role="grid"] .a8c37x1j.ms05siws.hwsy1cff.b7h9ocf4 {
|
|
||||||
fill: currentcolor;
|
|
||||||
color: var(--primary-text);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Messenger settings: Privacy & safety icon color */
|
|
||||||
.x1lliihq.x1k90msu.x2h7rmj.x1qfuztq.x198g3q0.xxk0z11.xvy4d1p {
|
|
||||||
fill: currentcolor;
|
|
||||||
color: var(--primary-text);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Removing top gap */
|
|
||||||
/* TODO: Remove when fixed by fb */
|
|
||||||
.__fb-dark-mode {
|
|
||||||
--header-height: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Message list: fix for received messages text color in dark mode */
|
|
||||||
/* TODO: Remove when fixed by fb */
|
|
||||||
.__fb-dark-mode .__fb-light-mode {
|
|
||||||
--primary-text: #cdd6f4;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Radio buttons */
|
|
||||||
.x14yjl9h.xudhj91.x18nykt9.xww2gxu.x13fuv20.xu3j5b3.x1q0q8m5.x26u7qi.xamhcws.xol2nv.xlxy82.x19p7ews.x9f619.x1rg5ohu.x2lah0s.x1n2onr6.x1tz4bnf.xmds5ef.x25epmt.x11y6y4w.xxk0z11.xvy4d1p {
|
|
||||||
--accent: var(--primary-text);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Backgrounds of various buttons ("Join room", "Visit Group", Audio call, etc.) */
|
|
||||||
/* TODO: Remove when fixed by fb, since -floating should not be here */
|
|
||||||
html.__fb-dark-mode-mode
|
|
||||||
.x14yjl9h.xudhj91.x18nykt9.xww2gxu.x6s0dn4.x972fbf.xcfux6l.x1qhh985.xm0m39n.x9f619.x3nfvp2.xl56j7k.x1n2onr6.x1qhmfi1.xc9qbxq.x14qfxbe,
|
|
||||||
html.__fb-dark-mode-mode
|
|
||||||
.x1n2onr6.x1ja2u2z.x78zum5.x2lah0s.xl56j7k.x6s0dn4.xozqiw3.x1q0g3np.xi112ho.x17zwfj4.x585lrc.x1403ito.x972fbf.xcfux6l.x1qhh985.xm0m39n.x9f619.xn6708d.x1ye3gou.x1qhmfi1.x1r1pt67 {
|
|
||||||
background-color: var(--secondary-button-background-floating) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Search results: Close button */
|
|
||||||
/* TODO: Remove when fixed by fb, since --always-white is not good here */
|
|
||||||
html.__fb-dark-mode-mode .x14hiurz.x1r1pt67 {
|
|
||||||
background-color: var(--secondary-button-background) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Attachment background color in Chat Box */
|
|
||||||
/* TODO: Remove when fixed by fb, since #d6d9dd is too bright here */
|
|
||||||
/* Current Background-Color is same style as add attachment button */
|
|
||||||
html.__fb-dark-mode-mode .x1ybostu {
|
|
||||||
background-color: rgba(134 142 153 / 25%);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Recipient Pills in new message form */
|
|
||||||
/* TODO: Remove when fixed by fb, since #f3f3f4 is too bright here */
|
|
||||||
/* It seems FB uses shades of blue here */
|
|
||||||
html.__fb-dark-mode-mode .x4noic3 {
|
|
||||||
background-color: var(--secondary-button-background);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Create room icon color */
|
|
||||||
html.__fb-dark-mode-mode .x1p6odiv {
|
|
||||||
color: var(--primary-icon);
|
|
||||||
}
|
|
||||||
79
cava/shaders/bar_spectrum.frag
Executable file
79
cava/shaders/bar_spectrum.frag
Executable file
|
|
@ -0,0 +1,79 @@
|
||||||
|
#version 330
|
||||||
|
|
||||||
|
in vec2 fragCoord;
|
||||||
|
out vec4 fragColor;
|
||||||
|
|
||||||
|
// bar values. defaults to left channels first (low to high), then right (high to low).
|
||||||
|
uniform float bars[512];
|
||||||
|
|
||||||
|
uniform int bars_count; // number of bars (left + right) (configurable)
|
||||||
|
uniform int bar_width; // bar width (configurable), not used here
|
||||||
|
uniform int bar_spacing; // space bewteen bars (configurable)
|
||||||
|
|
||||||
|
uniform vec3 u_resolution; // window resolution
|
||||||
|
|
||||||
|
//colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
|
||||||
|
uniform vec3 bg_color; // background color
|
||||||
|
uniform vec3 fg_color; // foreground color
|
||||||
|
|
||||||
|
uniform int gradient_count;
|
||||||
|
uniform vec3 gradient_colors[8]; // gradient colors
|
||||||
|
|
||||||
|
vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max)
|
||||||
|
{
|
||||||
|
//create color based on fraction of this color and next color
|
||||||
|
float yr = (y - y_min) / (y_max - y_min);
|
||||||
|
return col_1 * (1.0 - yr) + col_2 * yr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
// find which bar to use based on where we are on the x axis
|
||||||
|
float x = u_resolution.x * fragCoord.x;
|
||||||
|
int bar = int(bars_count * fragCoord.x);
|
||||||
|
|
||||||
|
//calculate a bar size
|
||||||
|
float bar_size = u_resolution.x / bars_count;
|
||||||
|
|
||||||
|
//the y coordinate and bar values are the same
|
||||||
|
float y = bars[bar];
|
||||||
|
|
||||||
|
// make sure there is a thin line at bottom
|
||||||
|
if (y * u_resolution.y < 1.0)
|
||||||
|
{
|
||||||
|
y = 1.0 / u_resolution.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
//draw the bar up to current height
|
||||||
|
if (y > fragCoord.y)
|
||||||
|
{
|
||||||
|
//make some space between bars basen on settings
|
||||||
|
if (x > (bar + 1) * (bar_size) - bar_spacing)
|
||||||
|
{
|
||||||
|
fragColor = vec4(bg_color,1.0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (gradient_count == 0)
|
||||||
|
{
|
||||||
|
fragColor = vec4(fg_color,1.0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//find which color in the configured gradient we are at
|
||||||
|
int color = int((gradient_count - 1) * fragCoord.y);
|
||||||
|
|
||||||
|
//find where on y this and next color is supposed to be
|
||||||
|
float y_min = color / (gradient_count - 1.0);
|
||||||
|
float y_max = (color + 1.0) / (gradient_count - 1.0);
|
||||||
|
|
||||||
|
//make color
|
||||||
|
fragColor = vec4(normalize_C(fragCoord.y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fragColor = vec4(bg_color,1.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
34
cava/shaders/northern_lights.frag
Executable file
34
cava/shaders/northern_lights.frag
Executable file
|
|
@ -0,0 +1,34 @@
|
||||||
|
#version 330
|
||||||
|
|
||||||
|
in vec2 fragCoord;
|
||||||
|
out vec4 fragColor;
|
||||||
|
|
||||||
|
// bar values. defaults to left channels first (low to high), then right (high to low).
|
||||||
|
uniform float bars[512];
|
||||||
|
|
||||||
|
uniform int bars_count; // number of bars (left + right) (configurable)
|
||||||
|
|
||||||
|
uniform vec3 u_resolution; // window resolution, not used here
|
||||||
|
|
||||||
|
//colors, configurable in cava config file
|
||||||
|
uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here
|
||||||
|
uniform vec3 fg_color; // foreground color, not used here
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
// find which bar to use based on where we are on the x axis
|
||||||
|
int bar = int(bars_count * fragCoord.x);
|
||||||
|
|
||||||
|
float bar_y = 1.0 - abs((fragCoord.y - 0.5)) * 2.0;
|
||||||
|
float y = (bars[bar]) * bar_y;
|
||||||
|
|
||||||
|
float bar_x = (fragCoord.x - float(bar) / float(bars_count)) * bars_count;
|
||||||
|
float bar_r = 1.0 - abs((bar_x - 0.5)) * 2;
|
||||||
|
|
||||||
|
bar_r = bar_r * bar_r * 2;
|
||||||
|
|
||||||
|
// set color
|
||||||
|
fragColor.r = fg_color.x * y * bar_r;
|
||||||
|
fragColor.g = fg_color.y * y * bar_r;
|
||||||
|
fragColor.b = fg_color.z * y * bar_r;
|
||||||
|
}
|
||||||
14
cava/shaders/pass_through.vert
Executable file
14
cava/shaders/pass_through.vert
Executable file
|
|
@ -0,0 +1,14 @@
|
||||||
|
#version 330
|
||||||
|
|
||||||
|
|
||||||
|
// Input vertex data, different for all executions of this shader.
|
||||||
|
layout(location = 0) in vec3 vertexPosition_modelspace;
|
||||||
|
|
||||||
|
// Output data ; will be interpolated for each fragment.
|
||||||
|
out vec2 fragCoord;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
gl_Position = vec4(vertexPosition_modelspace,1);
|
||||||
|
fragCoord = (vertexPosition_modelspace.xy+vec2(1,1))/2.0;
|
||||||
|
}
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
<home-manager/nixos>
|
|
||||||
./nixos/nixos.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
48
flake.lock
generated
48
flake.lock
generated
|
|
@ -1,48 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": {
|
|
||||||
"home-manager": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1724412708,
|
|
||||||
"narHash": "sha256-tLr1k+UZLVumyqXRU8E5lBtLjsvHSy8e2NiamfkjpYg=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "b18f3ebc4029c22d437e3424014c8597a8b459a0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1724224976,
|
|
||||||
"narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "c374d94f1536013ca8e92341b540eba4c22f9c62",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
|
||||||
"inputs": {
|
|
||||||
"home-manager": "home-manager",
|
|
||||||
"nixpkgs": "nixpkgs"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": "root",
|
|
||||||
"version": 7
|
|
||||||
}
|
|
||||||
33
flake.nix
33
flake.nix
|
|
@ -1,33 +0,0 @@
|
||||||
{
|
|
||||||
description = "Benjamin Palko's dotfiles";
|
|
||||||
|
|
||||||
inputs = {
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
||||||
home-manager.url = "github:nix-community/home-manager";
|
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs =
|
|
||||||
{ home-manager, nixpkgs, ... }@inputs:
|
|
||||||
let
|
|
||||||
system = "x86_64-linux";
|
|
||||||
username = "benjamin";
|
|
||||||
hostname = "nixos";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
# nixos config
|
|
||||||
nixosConfigurations."${hostname}" = nixpkgs.lib.nixosSystem {
|
|
||||||
inherit system;
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs;
|
|
||||||
inherit username;
|
|
||||||
inherit hostname;
|
|
||||||
};
|
|
||||||
modules = [
|
|
||||||
./nixos/nixos.nix
|
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
{ networking.hostName = "${hostname}"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
# browser
|
|
||||||
firefox
|
|
||||||
vivaldi
|
|
||||||
# messaging
|
|
||||||
discord
|
|
||||||
caprine-bin
|
|
||||||
# game-dev
|
|
||||||
godot_4
|
|
||||||
aseprite
|
|
||||||
# organization
|
|
||||||
obsidian
|
|
||||||
];
|
|
||||||
|
|
||||||
xdg.configFile.Caprine = {
|
|
||||||
source = config.lib.file.mkOutOfStoreSymlink ../caprine;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "Benjamin Palko";
|
|
||||||
userEmail = "Benjaminpalko@hotmail.com";
|
|
||||||
};
|
|
||||||
programs.gh = {
|
|
||||||
enable = true;
|
|
||||||
gitCredentialHelper.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
imports = [ ./gtk.nix ];
|
|
||||||
|
|
||||||
home.pointerCursor = {
|
|
||||||
gtk.enable = true;
|
|
||||||
# x11.enable = true;
|
|
||||||
name = "volantes_cursors";
|
|
||||||
package = pkgs.volantes-cursors;
|
|
||||||
size = 24;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
rofi-wayland
|
|
||||||
swaynotificationcenter
|
|
||||||
volantes-cursors
|
|
||||||
pywal
|
|
||||||
(pkgs.writeShellScriptBin "pywal" ''
|
|
||||||
# -n tells `wal` to skip setting the wallpaper.
|
|
||||||
wal -i ~/Wallpapers/ -n
|
|
||||||
|
|
||||||
# Using feh to tile the wallpaper now.
|
|
||||||
# We grab the wallpaper location from wal's cache so
|
|
||||||
# that this works even when a directory is passed.
|
|
||||||
swww img "$(<"${config.home.homeDirectory}/.cache/wal/wal")" --transition-type wipe --transition-angle 45 --transition-fps 90
|
|
||||||
|
|
||||||
# Copy cava and update config
|
|
||||||
cp ~/.cache/wal/cava-config ~/.config/cava/config && pkill -USR2 cava
|
|
||||||
'')
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.waybar = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.configFile = {
|
|
||||||
hypr = {
|
|
||||||
source = config.lib.file.mkOutOfStoreSymlink ../../hypr;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
rofi = {
|
|
||||||
source = config.lib.file.mkOutOfStoreSymlink ../../rofi;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
swaync = {
|
|
||||||
source = config.lib.file.mkOutOfStoreSymlink ../../swaync;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
wal = {
|
|
||||||
source = config.lib.file.mkOutOfStoreSymlink ../../wal;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
waybar = {
|
|
||||||
source = config.lib.file.mkOutOfStoreSymlink ../../waybar;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
xfce4 = {
|
|
||||||
source = config.lib.file.mkOutOfStoreSymlink ../../xfce4;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
gtk3.extraConfig = {
|
|
||||||
gtk-application-prefer-dark-theme = 1;
|
|
||||||
};
|
|
||||||
gtk4.extraConfig = {
|
|
||||||
gtk-application-prefer-dark-theme = 1;
|
|
||||||
};
|
|
||||||
theme = {
|
|
||||||
name = "WhiteSur-Dark";
|
|
||||||
package = pkgs.whitesur-gtk-theme.override {
|
|
||||||
colorVariants = [ "Dark" ];
|
|
||||||
opacityVariants = [ "normal" ];
|
|
||||||
darkerColor = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
iconTheme = {
|
|
||||||
name = "WhiteSur-dark";
|
|
||||||
package = pkgs.whitesur-icon-theme.override { themeVariants = [ "default" ]; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
home.sessionVariables.GTK_THEME = "WhiteSur-Dark";
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
spotify
|
|
||||||
mplayer
|
|
||||||
];
|
|
||||||
programs.cava = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
# Languages
|
|
||||||
lua
|
|
||||||
(python3.withPackages (
|
|
||||||
p: with p; [
|
|
||||||
pygobject3
|
|
||||||
gst-python
|
|
||||||
]
|
|
||||||
))
|
|
||||||
# C++
|
|
||||||
meson
|
|
||||||
mesonlsp
|
|
||||||
pkg-config
|
|
||||||
ninja
|
|
||||||
cmake
|
|
||||||
gnumake
|
|
||||||
clang
|
|
||||||
clang-tools
|
|
||||||
# OpenGL
|
|
||||||
glslls
|
|
||||||
fmt
|
|
||||||
fmt.dev
|
|
||||||
glfw-wayland
|
|
||||||
libGL
|
|
||||||
libGL.dev
|
|
||||||
# Other
|
|
||||||
nodejs
|
|
||||||
bun
|
|
||||||
rustc
|
|
||||||
go
|
|
||||||
cargo
|
|
||||||
# Extensions
|
|
||||||
ripgrep
|
|
||||||
xclip
|
|
||||||
fzf
|
|
||||||
nixfmt-rfc-style
|
|
||||||
lazygit
|
|
||||||
];
|
|
||||||
|
|
||||||
xdg.configFile.nvim = {
|
|
||||||
source = config.lib.file.mkOutOfStoreSymlink ../nvim;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
|
||||||
EDITOR = "nvim";
|
|
||||||
VCPKG_ROOT = "${pkgs.vcpkg.outPath}/share/vcpkg";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.kitty = {
|
|
||||||
enable = true;
|
|
||||||
shellIntegration.enableZshIntegration = true;
|
|
||||||
font = {
|
|
||||||
name = "JetBrainsMono NF";
|
|
||||||
size = 11;
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
enable_audio_bell = "no";
|
|
||||||
window_margin_width = 10;
|
|
||||||
background_opacity = "0.5";
|
|
||||||
confirm_os_window_close = 0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
autocd = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
autosuggestion.enable = true;
|
|
||||||
syntaxHighlighting.enable = true;
|
|
||||||
initExtra = ''
|
|
||||||
neofetch --ascii ~/dotfiles/aperture.txt
|
|
||||||
'';
|
|
||||||
|
|
||||||
shellAliases = {
|
|
||||||
neofetch = "neofetch --ascii ~/dotfiles/aperture.txt";
|
|
||||||
rebuild = "sudo nixos-rebuild switch --flake ~/dotfiles";
|
|
||||||
clean = "nix-store --gc";
|
|
||||||
dotfiles = "cd ~/dotfiles/";
|
|
||||||
nv = "nvim";
|
|
||||||
};
|
|
||||||
|
|
||||||
oh-my-zsh = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [
|
|
||||||
"git"
|
|
||||||
"gh"
|
|
||||||
"bun"
|
|
||||||
];
|
|
||||||
theme = "robbyrussell";
|
|
||||||
};
|
|
||||||
|
|
||||||
history = {
|
|
||||||
path = "${config.xdg.dataHome}/zsh/history";
|
|
||||||
size = 10000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs.starship = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
add_newline = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs.btop = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
theme = "system";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
neofetch
|
|
||||||
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [ deluge ];
|
|
||||||
}
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
# -----------------------------------------------------
|
|
||||||
# Environment Variables
|
|
||||||
# name: "Nvidia"
|
|
||||||
# -----------------------------------------------------
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Nvidia/
|
|
||||||
env = LIBVA_DRIVER_NAME,nvidia
|
|
||||||
env = XDG_SESSION_TYPE,wayland
|
|
||||||
env = GBM_BACKEND,nvidia-drm
|
|
||||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|
||||||
cursor {
|
|
||||||
no_hardware_cursors = true
|
|
||||||
}
|
|
||||||
env = NVD_BACKEND,direct
|
|
||||||
|
|
||||||
env = XCURSOR_SIZE,24
|
|
||||||
env = QT_QPA_PLATFORM,wayland
|
|
||||||
env = WLR_NO_HARDWARE_CURSORS,1
|
|
||||||
env = __GL_VRR_ALLOWED,1
|
|
||||||
env = WLR_DRM_NO_ATOMIC,1
|
|
||||||
|
|
||||||
env = ELECTRON_OZONE_PLATFORM_HINT,auto
|
|
||||||
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
|
|
||||||
# Example windowrule v1
|
|
||||||
# windowrule = float, ^(kitty)$
|
|
||||||
# Example windowrule v2
|
|
||||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
|
||||||
windowrulev2 = nomaxsize, class:.* # You'll probably like this.
|
|
||||||
# windowrulev2 = opacity 1 0.6, class:.*
|
|
||||||
|
|
||||||
|
|
||||||
# Apps
|
|
||||||
|
|
||||||
windowrule = float, title:rofi
|
|
||||||
|
|
||||||
windowrule = workspace special:terminal, kitty
|
|
||||||
windowrule = workspace special:music, title:^Spotify Premium$
|
|
||||||
windowrulev2 = opacity 0.85 0.8, initialTitle:^Spotify Premium$
|
|
||||||
|
|
||||||
windowrulev2 = workspace 1,class:(discord)
|
|
||||||
|
|
||||||
windowrulev2 = workspace 1,class:(Caprine)
|
|
||||||
windowrule = opacity 0.999, Caprine
|
|
||||||
|
|
||||||
windowrule = workspace 2, firefox
|
|
||||||
windowrule = opacity 0.999, firefox
|
|
||||||
|
|
||||||
windowrulev2 = workspace 4,float,class:(steam)
|
|
||||||
windowrule = workspace 4, class:^(steam_app_*)$
|
|
||||||
|
|
||||||
# Workspaces
|
|
||||||
workspace = 1, persistent:true
|
|
||||||
workspace = 2, persistent:true
|
|
||||||
workspace = 3, persistent:true
|
|
||||||
workspace = 4, persistent:true
|
|
||||||
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
# Notification Daemon
|
|
||||||
exec-once = bash ~/.config/hypr/scripts/start-swaync.sh
|
|
||||||
# Idle Daemon
|
|
||||||
exec-once = hypridle
|
|
||||||
# Status-bar
|
|
||||||
exec-once = bash ~/.config/hypr/scripts/start-waybar.sh
|
|
||||||
# Emotes
|
|
||||||
exec-once = emote
|
|
||||||
# Wallpaper Daemon
|
|
||||||
exec-once = swww-daemon
|
|
||||||
|
|
||||||
exec-once = [workspace 1 silent] discord --enable-features=UseOzonePlatform --ozone-platform=wayland
|
|
||||||
exec-once = [workspace 1 silent] caprine --enable-features=UseOzonePlatform --ozone-platform=wayland
|
|
||||||
exec-once = [workspace 2 silent] firefox
|
|
||||||
exec-once = [workspace special:music silent] spotify
|
|
||||||
|
|
||||||
|
|
@ -28,8 +28,8 @@ listener {
|
||||||
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
|
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
|
||||||
}
|
}
|
||||||
|
|
||||||
listener {
|
# listener {
|
||||||
timeout = 1800 # 30min
|
# timeout = 1800 # 30min
|
||||||
on-timeout = systemctl suspend # suspend pc
|
# on-timeout = systemctl suspend # suspend pc
|
||||||
}
|
# }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,48 +1,19 @@
|
||||||
|
|
||||||
# #######################################################################################
|
|
||||||
# AUTOGENERATED HYPR CONFIG.
|
|
||||||
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
|
|
||||||
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
|
||||||
# #######################################################################################
|
|
||||||
|
|
||||||
#
|
|
||||||
# Please note not all available settings / options are set here.
|
|
||||||
# For a full list, see the wiki
|
|
||||||
#
|
|
||||||
|
|
||||||
#autogenerated = 1 # remove this line to remove the warning
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
|
||||||
monitor=DP-1,2560x1440@144,auto,auto
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
|
||||||
# Execute your favorite apps at launch
|
# Programs
|
||||||
# exec-once = waybar & hyprpaper & firefox
|
$terminal = alacritty
|
||||||
source = ~/.config/hypr/config/startup.conf
|
$fileManager = nautilus
|
||||||
|
|
||||||
# PyWal Colors
|
|
||||||
source = ~/.cache/wal/colors-hyprland.conf
|
|
||||||
|
|
||||||
# Source a file (multi-file configs)
|
|
||||||
# source = ~/.config/hypr/myColors.conf
|
|
||||||
|
|
||||||
# Set programs that you use
|
|
||||||
$terminal = kitty
|
|
||||||
$fileManager = Thunar
|
|
||||||
$menu = ~/.config/rofi/scripts/launcher_t1
|
|
||||||
$powerMenu = ~/.config/rofi/scripts/powermenu_t1
|
|
||||||
$lockScreen = hyprlock
|
$lockScreen = hyprlock
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
$mainMod = SUPER
|
$mainMod = SUPER
|
||||||
|
|
||||||
exec-once=hyprctl setcursor volantes_cursors 24
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
env = XCURSOR_THEME,
|
# PC
|
||||||
|
monitor=DP-1,2560x1440@144,auto,auto
|
||||||
|
|
||||||
source = ~/.config/hypr/config/environments/nvidia.conf
|
# Laptop
|
||||||
source = ~/.config/hypr/config/keybinds.conf
|
monitor=eDP-1,1920x1080@60,auto,1.20
|
||||||
source = ~/.config/hypr/config/rules.conf
|
|
||||||
|
|
||||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||||
input {
|
input {
|
||||||
|
|
@ -65,10 +36,8 @@ general {
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
gaps_in = 10
|
gaps_in = 10
|
||||||
gaps_out = 20
|
gaps_out = 10
|
||||||
border_size = 3
|
border_size = 3
|
||||||
col.active_border = $color4 $color13 45deg
|
|
||||||
col.inactive_border = $color0
|
|
||||||
|
|
||||||
layout = dwindle
|
layout = dwindle
|
||||||
|
|
||||||
|
|
@ -76,39 +45,6 @@ general {
|
||||||
allow_tearing = true
|
allow_tearing = true
|
||||||
}
|
}
|
||||||
|
|
||||||
decoration {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
||||||
|
|
||||||
rounding = 10
|
|
||||||
|
|
||||||
blur {
|
|
||||||
enabled = true
|
|
||||||
size = 3
|
|
||||||
passes = 1
|
|
||||||
ignore_opacity = true
|
|
||||||
}
|
|
||||||
|
|
||||||
drop_shadow = yes
|
|
||||||
shadow_range = 4
|
|
||||||
shadow_render_power = 3
|
|
||||||
col.shadow = rgba(1a1a1aee)
|
|
||||||
}
|
|
||||||
|
|
||||||
animations {
|
|
||||||
enabled = yes
|
|
||||||
|
|
||||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
||||||
|
|
||||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
|
||||||
|
|
||||||
animation = windows, 1, 7, myBezier
|
|
||||||
animation = windowsOut, 1, 7, default, popin 80%
|
|
||||||
animation = border, 1, 10, default
|
|
||||||
animation = borderangle, 1, 8, default
|
|
||||||
animation = fade, 1, 7, default
|
|
||||||
animation = workspaces, 1, 6, default
|
|
||||||
}
|
|
||||||
|
|
||||||
dwindle {
|
dwindle {
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
|
@ -119,11 +55,6 @@ master {
|
||||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||||
}
|
}
|
||||||
|
|
||||||
gestures {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
||||||
workspace_swipe = off
|
|
||||||
}
|
|
||||||
|
|
||||||
misc {
|
misc {
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
|
|
@ -136,3 +67,12 @@ device {
|
||||||
sensitivity = -0.5
|
sensitivity = -0.5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$hypr = ~/.config/hypr/hyprland
|
||||||
|
|
||||||
|
source = $hypr/animations.conf
|
||||||
|
source = $hypr/colours.conf
|
||||||
|
source = $hypr/decorations.conf
|
||||||
|
source = $hypr/env.conf
|
||||||
|
source = $hypr/execs.conf
|
||||||
|
source = $hypr/keybinds.conf
|
||||||
|
source = $hypr/rules.conf
|
||||||
|
|
|
||||||
14
hypr/hyprland/animations.conf
Normal file
14
hypr/hyprland/animations.conf
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
animations {
|
||||||
|
enabled = yes
|
||||||
|
|
||||||
|
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
||||||
7
hypr/hyprland/colours.conf
Normal file
7
hypr/hyprland/colours.conf
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
# PyWal Colors
|
||||||
|
source = ~/.cache/wal/colors-hyprland.conf
|
||||||
|
|
||||||
|
general {
|
||||||
|
col.active_border = $color4 $color13 45deg
|
||||||
|
col.inactive_border = $color0
|
||||||
|
}
|
||||||
19
hypr/hyprland/decorations.conf
Normal file
19
hypr/hyprland/decorations.conf
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
decoration {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
rounding = 6
|
||||||
|
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 4
|
||||||
|
passes = 1
|
||||||
|
ignore_opacity = true
|
||||||
|
}
|
||||||
|
|
||||||
|
shadow {
|
||||||
|
enabled = true
|
||||||
|
range = 4
|
||||||
|
render_power = 3
|
||||||
|
color = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
}
|
||||||
46
hypr/hyprland/env.conf
Normal file
46
hypr/hyprland/env.conf
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# Environment Variables
|
||||||
|
# -----------------------------------------------------
|
||||||
|
|
||||||
|
# General
|
||||||
|
env = XDG_SESSION_TYPE,wayland
|
||||||
|
env = QT_QPA_PLATFORM,wayland
|
||||||
|
|
||||||
|
# Nvidia
|
||||||
|
# https://wiki.hyprland.org/Nvidia/
|
||||||
|
env = LIBVA_DRIVER_NAME,nvidia
|
||||||
|
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
|
env = NVD_BACKEND,direct
|
||||||
|
|
||||||
|
env = GBM_BACKEND,nvidia-drm
|
||||||
|
env = __GL_VRR_ALLOWED,1
|
||||||
|
|
||||||
|
# Electron
|
||||||
|
env = ELECTRON_OZONE_PLATFORM_HINT,auto
|
||||||
|
|
||||||
|
# Themes
|
||||||
|
env = GTK_THEME,WhiteSur-Dark
|
||||||
|
env = ICON_THEME,WhiteSur-Dark
|
||||||
|
env = COLOR_SCHEME,prefer-dark
|
||||||
|
|
||||||
|
#Cursors
|
||||||
|
cursor {
|
||||||
|
no_hardware_cursors = true
|
||||||
|
}
|
||||||
|
# env = XCURSOR_THEME,Volantes Cursors
|
||||||
|
# env = XCURSOR_SIZE,24
|
||||||
|
env = HYPRCURSOR_THEME,Volantes Cursors
|
||||||
|
env = HYPRCURSOR_SIZE,24
|
||||||
|
exec-once = hyprctl setcursor $cursorTheme $cursorSize
|
||||||
|
# exec-once = gsettings set org.gnome.desktop.interface cursor-theme '$cursorTheme'
|
||||||
|
# exec-once = gsettings set org.gnome.desktop.interface cursor-size $cursorSize
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
env = FONT_NAME,JetBrainsMono Nerd Font 24
|
||||||
|
env = DOCUMENT_FONT_NAME,Cantarell 24
|
||||||
|
env = MONOSPACE_FONT_NAME,JetBrainsMono Nerd Font 5
|
||||||
|
env = FONT_ANTIALIASING,rgba
|
||||||
|
env = FONT_HINTING,full
|
||||||
|
|
||||||
|
# uwsm/app2unit
|
||||||
|
env = APP2UNIT_SLICES,'a=app-graphical.slice b=background-graphical.slice s=session-graphical.slice'
|
||||||
22
hypr/hyprland/execs.conf
Normal file
22
hypr/hyprland/execs.conf
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
# Key ring
|
||||||
|
exec-once = gnome-keyring-daemon --start --components=secrets
|
||||||
|
|
||||||
|
# Idle Daemon
|
||||||
|
exec-once = hypridle
|
||||||
|
# Lux-shell
|
||||||
|
exec-once = quickshell
|
||||||
|
# Emotes
|
||||||
|
exec-once = emote
|
||||||
|
# Wallpaper Daemon
|
||||||
|
exec-once = swww-daemon
|
||||||
|
|
||||||
|
exec-once = [workspace 1 silent] thunderbird
|
||||||
|
exec-once = [workspace 1 silent] proton-mail --password-store="gnome-libsecret"
|
||||||
|
exec-once = [workspace 2 silent] discord --enable-features=UseOzonePlatform --ozone-platform=wayland
|
||||||
|
exec-once = [workspace 2 silent] signal-desktop --password-store="gnome-libsecret"
|
||||||
|
exec-once = [workspace 3 silent] zen-browser
|
||||||
|
exec-once = [workspace 4 silent] alacritty
|
||||||
|
exec-once = [workspace 5 silent] steam
|
||||||
|
exec-once = [workspace special:terminal silent] alacritty
|
||||||
|
exec-once = [workspace special:music silent] tidal-hifi --enable-features=UseOzonePlatform --ozone-platform=wayland
|
||||||
|
|
||||||
|
|
@ -1,16 +1,26 @@
|
||||||
|
|
||||||
|
# Lux Keybinds
|
||||||
|
bind = $mainMod, ESCAPE, global, lux:power-menu
|
||||||
|
bind = $mainMod, R, global, lux:launcher
|
||||||
|
bind = $mainMod, M, global, lux:pomodoro
|
||||||
|
bind = $mainMod, W, global, lux:storybook
|
||||||
|
bind = $mainMod, grave, global, lux:configuration
|
||||||
|
|
||||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
|
||||||
|
# Global
|
||||||
|
bind = SUPER, F10, sendshortcut, CTRL, F10, class:^(com\.obsproject\.Studio)$
|
||||||
|
|
||||||
|
# Programs
|
||||||
bind = $mainMod, T, exec, $terminal
|
bind = $mainMod, T, exec, $terminal
|
||||||
bind = $mainMod, X, killactive,
|
bind = $mainMod, X, killactive,
|
||||||
bind = $mainMod, ESCAPE, exec, $powerMenu
|
|
||||||
bind = $mainMod, E, exec, $fileManager
|
bind = $mainMod, E, exec, $fileManager
|
||||||
bind = $mainMod, F, togglefloating,
|
bind = $mainMod, F, togglefloating,
|
||||||
bind = $mainMod, R, exec, $menu
|
|
||||||
bind = $mainMod, P, pseudo, # dwindle
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
bind = $mainMod, V, togglesplit, # dwindle
|
bind = $mainMod, V, togglesplit, # dwindle
|
||||||
bind = $mainMod, L, exec, $lockScreen # hyprlock
|
bind = $mainMod, L, exec, $lockScreen # hyprlock
|
||||||
bind = $mainMod, period, exec, emote
|
bind = $mainMod, period, exec, gnome-characters
|
||||||
bind = $mainMod, B, exec, firefox
|
bind = $mainMod, B, exec, zen-browser
|
||||||
bind = $mainMod CTRL, F, fullscreen
|
bind = $mainMod CTRL, F, fullscreen
|
||||||
bind = , PRINT, exec, grim -g "$(slurp)" - | swappy -f -
|
bind = , PRINT, exec, grim -g "$(slurp)" - | swappy -f -
|
||||||
|
|
||||||
|
|
@ -50,12 +60,12 @@ bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
# Scratchpad
|
# Scratchpad
|
||||||
bind = CTRL SHIFT, S, togglespecialworkspace, magic
|
bind = CTRL SHIFT, S, togglespecialworkspace, magic
|
||||||
bind = CTRL $mainMod, S, movetoworkspace, special:magic
|
bind = CTRL $mainMod, S, movetoworkspace, special:magic
|
||||||
|
|
||||||
# Terminal
|
# Terminal
|
||||||
bind = CTRL SHIFT, T, togglespecialworkspace, terminal
|
bind = CTRL SHIFT, T, togglespecialworkspace, terminal
|
||||||
bind = CTRL $mainMod, T, movetoworkspace, special:terminal
|
|
||||||
# Music
|
# Music
|
||||||
bind = CTRL SHIFT, M, togglespecialworkspace, music
|
bind = CTRL SHIFT, M, togglespecialworkspace, music
|
||||||
bind = CTRL $mainMod, M, movetoworkspace, special:music
|
|
||||||
|
|
||||||
# Scroll through existing workspaces with mainMod + scroll
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
bind = $mainMod, mouse_down, workspace, e+1
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
|
@ -78,3 +88,6 @@ bind = , XF86AudioStop, exec,
|
||||||
bind = , XF86AudioPrev, exec, playerctl previous
|
bind = , XF86AudioPrev, exec, playerctl previous
|
||||||
bind = , XF86AudioNext, exec, playerctl next
|
bind = , XF86AudioNext, exec, playerctl next
|
||||||
|
|
||||||
|
# Gestures
|
||||||
|
# https://wiki.hypr.land/Configuring/Gestures/
|
||||||
|
gesture = 4, horizontal, workspace
|
||||||
30
hypr/hyprland/rules.conf
Normal file
30
hypr/hyprland/rules.conf
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
windowrule = nomaxsize, class:.* # You'll probably like this.
|
||||||
|
|
||||||
|
# Apps
|
||||||
|
windowrule = idleinhibit fullscreen, class:^(*)$
|
||||||
|
windowrule = idleinhibit fullscreen, title:^(*)$
|
||||||
|
windowrule = idleinhibit fullscreen, fullscreen:1
|
||||||
|
windowrule = float, center, modal:1
|
||||||
|
|
||||||
|
# windowrule = workspace special:terminal, kitty
|
||||||
|
windowrule = workspace special:music, initialClass:tidal-hifi
|
||||||
|
|
||||||
|
windowrule = workspace 1, class:thunderbird
|
||||||
|
windowrule = workspace 2, class:(discord)
|
||||||
|
windowrule = workspace 2,class:(signal)
|
||||||
|
windowrule = opacity 0.999, class:signal
|
||||||
|
windowrule = workspace 3, class:firefox
|
||||||
|
windowrule = opacity 0.999, class:firefox
|
||||||
|
windowrule = workspace 5,float,class:(steam)
|
||||||
|
windowrule = workspace 5, class:^(steam_app_*)$
|
||||||
|
|
||||||
|
windowrule = float, class:org.gnome.Calculator
|
||||||
|
|
||||||
|
# Workspaces
|
||||||
|
workspace = 1, persistent:true
|
||||||
|
workspace = 2, persistent:true
|
||||||
|
workspace = 3, persistent:true
|
||||||
|
workspace = 4, persistent:true
|
||||||
|
workspace = 5, persistent:true
|
||||||
|
|
||||||
|
|
@ -1,52 +1,141 @@
|
||||||
# _ _ _
|
source = $HOME/.config/hypr/mocha.conf
|
||||||
# | |__ _ _ _ __ _ __| | ___ ___| | __
|
|
||||||
# | '_ \| | | | '_ \| '__| |/ _ \ / __| |/ /
|
|
||||||
# | | | | |_| | |_) | | | | (_) | (__| <
|
|
||||||
# |_| |_|\__, | .__/|_| |_|\___/ \___|_|\_\
|
|
||||||
# |___/|_|
|
|
||||||
#
|
|
||||||
|
|
||||||
|
$primary = rgb(1fb854)
|
||||||
|
$secondary = rgb(1eb88e)
|
||||||
|
$accent = rgb(1fb8ab)
|
||||||
|
$accentAlpha = f5e0dc
|
||||||
|
$neutral = rgb(19362d)
|
||||||
|
$base100 = rgb(1b1717)
|
||||||
|
$base200 = rgb(161212)
|
||||||
|
$base300 = rgb(110d0d)
|
||||||
|
$basecontent = rgb(cac9c9)
|
||||||
|
$basecontentAlpha = cac9c9
|
||||||
|
|
||||||
|
$info = rgb(00b5ff)
|
||||||
|
$success = rgb(00a96e)
|
||||||
|
$warning = rgb(ffbe00)
|
||||||
|
$error = rgb(ff5861)
|
||||||
|
|
||||||
|
$text = $basecontent
|
||||||
|
$textAlpha = $basecontentAlpha
|
||||||
|
$font = JetBrainsMono Nerd Font
|
||||||
|
|
||||||
|
# GENERAL
|
||||||
|
general {
|
||||||
|
disable_loading_bar = false
|
||||||
|
hide_cursor = true
|
||||||
|
ignore_empty_input = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# BACKGROUND
|
||||||
background {
|
background {
|
||||||
monitor =
|
monitor =
|
||||||
#path = $HOME/dotfiles/.settings/lockscreen.png # only png supported for now
|
path = $HOME/.cache/hyprlock/wallpaper
|
||||||
color = rgba(25, 20, 20, 1.0)
|
reload_cmd = "cp $(cat $HOME/.cache/wal/wal) $HOME/.cache/hyprlock/wallpaper"
|
||||||
|
blur_passes = 1
|
||||||
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
|
blur_size = 3
|
||||||
blur_passes = 4 # 0 disables blurring
|
# color = $base
|
||||||
blur_size = 2
|
|
||||||
noise = 0.0117
|
|
||||||
contrast = 0.8916
|
|
||||||
brightness = 0.8172
|
|
||||||
vibrancy = 0.1696
|
|
||||||
vibrancy_darkness = 0.0
|
|
||||||
}
|
|
||||||
|
|
||||||
input-field {
|
|
||||||
monitor =
|
|
||||||
size = 200, 50
|
|
||||||
outline_thickness = 1
|
|
||||||
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
|
||||||
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
|
|
||||||
dots_center = true
|
|
||||||
outer_color = rgb(000000)
|
|
||||||
inner_color = rgb(200, 200, 200)
|
|
||||||
font_color = rgb(10, 10, 10)
|
|
||||||
fade_on_empty = true
|
|
||||||
placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty.
|
|
||||||
hide_input = false
|
|
||||||
position = 0, -20
|
|
||||||
halign = center
|
|
||||||
valign = center
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# LAYOUT
|
||||||
label {
|
label {
|
||||||
monitor =
|
monitor =
|
||||||
text = Enter your password to unlock
|
shadow_passes = 1
|
||||||
color = rgba(200, 200, 200, 1.0)
|
text = Layout: $LAYOUT
|
||||||
|
color = $text
|
||||||
font_size = 25
|
font_size = 25
|
||||||
font_family = Noto Sans
|
font_family = $font
|
||||||
|
position = 20, 20
|
||||||
|
halign = left
|
||||||
|
valign = bottom
|
||||||
|
}
|
||||||
|
|
||||||
position = 0, 200
|
# TIME
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
shadow_passes = 1
|
||||||
|
text = cmd[update:1000] date +"%T"
|
||||||
|
color = $text
|
||||||
|
font_size = 90
|
||||||
|
font_family = $font
|
||||||
|
position = 0, -20
|
||||||
|
halign = center
|
||||||
|
valign = top
|
||||||
|
}
|
||||||
|
|
||||||
|
# DATE
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
shadow_passes = 1
|
||||||
|
text = cmd[update:43200000] date +"%A, %d %B %Y"
|
||||||
|
color = $text
|
||||||
|
font_size = 25
|
||||||
|
font_family = $font
|
||||||
|
position = -10, -10
|
||||||
|
halign = right
|
||||||
|
valign = top
|
||||||
|
}
|
||||||
|
|
||||||
|
# USER AVATAR
|
||||||
|
image {
|
||||||
|
monitor =
|
||||||
|
path = $HOME/.face
|
||||||
|
shadow_passes = 1
|
||||||
|
size = 150
|
||||||
|
border_color = $base100
|
||||||
|
border_size = 2
|
||||||
|
position = 0, 60
|
||||||
halign = center
|
halign = center
|
||||||
valign = center
|
valign = center
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# GREETING
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
shadow_passes = 1
|
||||||
|
text = <span foreground="##$textAlpha">Welcome back <span foreground="##$accentAlpha">$USER</span></span>
|
||||||
|
color = $text
|
||||||
|
font_size = 30
|
||||||
|
font_family = $font
|
||||||
|
position = 0, 280
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# INPUT FIELD
|
||||||
|
input-field {
|
||||||
|
monitor =
|
||||||
|
size = 300, 60
|
||||||
|
shadow_passes = 1
|
||||||
|
rounding = 20
|
||||||
|
outline_thickness = 0
|
||||||
|
dots_size = 0.2
|
||||||
|
dots_spacing = 0.2
|
||||||
|
dots_center = true
|
||||||
|
outer_color = $base100
|
||||||
|
inner_color = $base100
|
||||||
|
font_color = $text
|
||||||
|
fade_on_empty = false
|
||||||
|
placeholder_text = <span foreground="##$textAlpha"><i>Input password...</i></span>
|
||||||
|
hide_input = false
|
||||||
|
check_color = $info
|
||||||
|
fail_color = $error
|
||||||
|
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
|
||||||
|
capslock_color = $warning
|
||||||
|
position = 0, -90
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# QUOTE
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
shadow_passes = 1
|
||||||
|
text = cmd[update:60000] echo "<i>$(fortune)</i>"
|
||||||
|
color = $text
|
||||||
|
font_size = 12
|
||||||
|
font_family = $font
|
||||||
|
position = 0, 200
|
||||||
|
halign = center
|
||||||
|
valign = bottom
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
CONFIG_FILES="$HOME/.config/swaync/ $HOME/.cache/wal/"
|
|
||||||
|
|
||||||
trap "killall swaync" EXIT
|
|
||||||
swaync &
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
inotifywait -e create,modify -r $CONFIG_FILES
|
|
||||||
swaync-client -R & swaync-client -rs
|
|
||||||
done
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
CONFIG_FILES="$HOME/.config/waybar/ $HOME/.cache/wal/"
|
|
||||||
|
|
||||||
trap "killall .waybar-wrapped" EXIT
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
sleep 1.6
|
|
||||||
waybar &
|
|
||||||
inotifywait -e create,modify -r $CONFIG_FILES
|
|
||||||
killall .waybar-wrapped
|
|
||||||
done
|
|
||||||
46
install.sh
Executable file
46
install.sh
Executable file
|
|
@ -0,0 +1,46 @@
|
||||||
|
#!/bin/bash
|
||||||
|
source .install/includes/library.sh
|
||||||
|
clear
|
||||||
|
|
||||||
|
cat <<"EOF"
|
||||||
|
|
||||||
|
_ _ __ _ _
|
||||||
|
__| | ___ | |_ / _(_) | ___ ___
|
||||||
|
/ _` |/ _ \| __| |_| | |/ _ \/ __|
|
||||||
|
| (_| | (_) | |_| _| | | __/\__ \
|
||||||
|
\__,_|\___/ \__|_| |_|_|\___||___/
|
||||||
|
|
||||||
|
|
||||||
|
EOF
|
||||||
|
echo -e "${NONE}"
|
||||||
|
|
||||||
|
if [ ! -d ~/Development/ ]; then
|
||||||
|
mkdir ~/Development/
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install package managers
|
||||||
|
source .install/install-yay.sh
|
||||||
|
|
||||||
|
# Symantic links
|
||||||
|
source .install/symlink.sh
|
||||||
|
|
||||||
|
# Install general packages
|
||||||
|
source .install/packages/base.sh
|
||||||
|
source .install/packages/shell.sh
|
||||||
|
source .install/packages/applications.sh
|
||||||
|
# source .install/packages/hyprland.sh
|
||||||
|
|
||||||
|
echo "Installing pacman packages..."
|
||||||
|
_installPackagesPacman "${packagesPacman[@]}"
|
||||||
|
|
||||||
|
echo "Installing yay packages..."
|
||||||
|
_installPackagesYay "${packagesYay[@]}"
|
||||||
|
|
||||||
|
# oh-my-zsh
|
||||||
|
source .install/install-oh-my-zsh.sh
|
||||||
|
|
||||||
|
# Set Shell
|
||||||
|
source .scripts/set-shell.sh
|
||||||
|
|
||||||
|
# Add asdf plugins
|
||||||
|
source .install/add-asdf-plugins.sh
|
||||||
30
lux/empty-theme.json
Normal file
30
lux/empty-theme.json
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"palette": {
|
||||||
|
"primary": "",
|
||||||
|
"primarycontent": "",
|
||||||
|
"secondary": "",
|
||||||
|
"secondarycontent": "",
|
||||||
|
"accent": "",
|
||||||
|
"accentcontent": "",
|
||||||
|
"neutral": "",
|
||||||
|
"neutralcontent": "",
|
||||||
|
"base100": "",
|
||||||
|
"base200": "",
|
||||||
|
"base300": "",
|
||||||
|
"basecontent": "",
|
||||||
|
"info": "",
|
||||||
|
"infocontent": "",
|
||||||
|
"success": "",
|
||||||
|
"successcontent": "",
|
||||||
|
"warning": "",
|
||||||
|
"warningcontent": "",
|
||||||
|
"error": "",
|
||||||
|
"errorcontent": "",
|
||||||
|
"radiusSelector": "",
|
||||||
|
"radiusField": "",
|
||||||
|
"radiusBox": "",
|
||||||
|
"sizeSelector": "",
|
||||||
|
"sizeField": "",
|
||||||
|
"border": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
21
lux/shell.json
Normal file
21
lux/shell.json
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"powermenu": {
|
||||||
|
"actions": [
|
||||||
|
{
|
||||||
|
"text": " Logout",
|
||||||
|
"command": "hyprctl dispatch exit"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": " Reboot",
|
||||||
|
"command": "systemctl reboot"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": " Shutdown",
|
||||||
|
"command": "systemctl poweroff"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"wallpaper": {
|
||||||
|
"directory": "~/Wallpapers/"
|
||||||
|
}
|
||||||
|
}
|
||||||
28
lux/themes/dark.json
Normal file
28
lux/themes/dark.json
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"primary": "#605dff",
|
||||||
|
"primarycontent": "#edf1fe",
|
||||||
|
"secondary": "#f43098",
|
||||||
|
"secondarycontent": "#f9e4f0",
|
||||||
|
"accent": "#00d3bb",
|
||||||
|
"accentcontent": "#084d49",
|
||||||
|
"neutral": "#09090b",
|
||||||
|
"neutralcontent": "#e4e4e7",
|
||||||
|
"base100": "#1d232a",
|
||||||
|
"base200": "#191e24",
|
||||||
|
"base300": "#15191e",
|
||||||
|
"basecontent": "#ecf9ff",
|
||||||
|
"info": "#00bafe",
|
||||||
|
"infocontent": "#042e49",
|
||||||
|
"success": "#00d390",
|
||||||
|
"successcontent": "#004c39",
|
||||||
|
"warning": "#fcb700",
|
||||||
|
"warningcontent": "#793205",
|
||||||
|
"error": "#ff627d",
|
||||||
|
"errorcontent": "#4d0218",
|
||||||
|
"radiusSelector": "8",
|
||||||
|
"radiusField": "4",
|
||||||
|
"radiusBox": "8",
|
||||||
|
"sizeSelector": "3",
|
||||||
|
"sizeField": "3",
|
||||||
|
"border": "2"
|
||||||
|
}
|
||||||
22
lux/themes/forest.json
Normal file
22
lux/themes/forest.json
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"primary": "#1fb854",
|
||||||
|
"primarycontent": "#000000",
|
||||||
|
"secondary": "#1eb88e",
|
||||||
|
"secondarycontent": "#000c07",
|
||||||
|
"accent": "#1fb8ab",
|
||||||
|
"accentcontent": "#010c0b",
|
||||||
|
"neutral": "#19362d",
|
||||||
|
"neutralcontent": "#cdd3d1",
|
||||||
|
"base100": "#1b1717",
|
||||||
|
"base200": "#161212",
|
||||||
|
"base300": "#110d0d",
|
||||||
|
"basecontent": "#cac9c9",
|
||||||
|
"info": "#00b5ff",
|
||||||
|
"infocontent": "#000000",
|
||||||
|
"success": "#00a96e",
|
||||||
|
"successcontent": "#000000",
|
||||||
|
"warning": "#ffbe00",
|
||||||
|
"warningcontent": "#000000",
|
||||||
|
"error": "#ff5861",
|
||||||
|
"errorcontent": "#000000"
|
||||||
|
}
|
||||||
22
lux/themes/light.json
Normal file
22
lux/themes/light.json
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"primary": "#422ad5",
|
||||||
|
"primarycontent": "#e0e7ff",
|
||||||
|
"secondary": "#f43098",
|
||||||
|
"secondarycontent": "#f9e4f0",
|
||||||
|
"accent": "#00d3bb",
|
||||||
|
"accentcontent": "#084d49",
|
||||||
|
"neutral": "#09090b",
|
||||||
|
"neutralcontent": "#e4e4e7",
|
||||||
|
"base100": "#ffffff",
|
||||||
|
"base200": "#f8f8f8",
|
||||||
|
"base300": "#eeeeee",
|
||||||
|
"basecontent": "#18181b",
|
||||||
|
"info": "#00bafe",
|
||||||
|
"infocontent": "#042e49",
|
||||||
|
"success": "#00d390",
|
||||||
|
"successcontent": "#004c39",
|
||||||
|
"warning": "#fcb700",
|
||||||
|
"warningcontent": "#793205",
|
||||||
|
"error": "#ff627d",
|
||||||
|
"errorcontent": "#4d0218"
|
||||||
|
}
|
||||||
22
lux/themes/nord.json
Normal file
22
lux/themes/nord.json
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"primary": "#5e81ac",
|
||||||
|
"primarycontent": "#03060b",
|
||||||
|
"secondary": "#81a1c1",
|
||||||
|
"secondarycontent": "#06090d",
|
||||||
|
"accent": "#88c0d0",
|
||||||
|
"accentcontent": "#070d10",
|
||||||
|
"neutral": "#4c566a",
|
||||||
|
"neutralcontent": "#d8dee9",
|
||||||
|
"base100": "#eceff4",
|
||||||
|
"base200": "#e5e9f0",
|
||||||
|
"base300": "#d8dee9",
|
||||||
|
"basecontent": "#2e3440",
|
||||||
|
"info": "#b48ead",
|
||||||
|
"infocontent": "#0c070b",
|
||||||
|
"success": "#a3be8d",
|
||||||
|
"successcontent": "#0a0d07",
|
||||||
|
"warning": "#ebcb8b",
|
||||||
|
"warningcontent": "#130f07",
|
||||||
|
"error": "#bf616a",
|
||||||
|
"errorcontent": "#0d0304"
|
||||||
|
}
|
||||||
7
mise/config.toml
Normal file
7
mise/config.toml
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
[tools]
|
||||||
|
go = "latest"
|
||||||
|
node = "20"
|
||||||
|
rust = "latest"
|
||||||
|
bun = "latest"
|
||||||
|
dotnet = "8"
|
||||||
|
java = "latest"
|
||||||
0
neofetch/config.conf
Executable file
0
neofetch/config.conf
Executable file
|
|
@ -1,8 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
hardware.opentabletdriver = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.opentabletdriver;
|
|
||||||
daemon.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.steam = {
|
|
||||||
enable = true;
|
|
||||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
|
||||||
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/47f6ac24-4dbc-47d9-bc54-c64509be4e61";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/12CE-A600";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[ { device = "/dev/disk/by-uuid/0355621d-f9ea-485a-8954-d85cd485d475"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.enp7s0.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wlp6s0.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
{ config, ... }:
|
|
||||||
{
|
|
||||||
nix.settings = {
|
|
||||||
experimental-features = [
|
|
||||||
"nix-command"
|
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
warn-dirty = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.stateVersion = "24.05";
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
}
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.xwayland = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.xwayland;
|
|
||||||
};
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
|
||||||
programs.hyprlock.enable = true;
|
|
||||||
services.hypridle.enable = true;
|
|
||||||
programs.thunar = {
|
|
||||||
enable = true;
|
|
||||||
plugins = with pkgs.xfce; [
|
|
||||||
thunar-archive-plugin
|
|
||||||
thunar-volman
|
|
||||||
];
|
|
||||||
};
|
|
||||||
services.gvfs.enable = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
xdg-desktop-portal-gtk
|
|
||||||
xarchiver
|
|
||||||
xwayland
|
|
||||||
xwaylandvideobridge
|
|
||||||
egl-wayland
|
|
||||||
# Clipboard
|
|
||||||
wl-clipboard
|
|
||||||
cliphist
|
|
||||||
# Notifications
|
|
||||||
inotify-tools
|
|
||||||
# Wallpaper
|
|
||||||
swww
|
|
||||||
# Emoji
|
|
||||||
emote
|
|
||||||
# Screenshots
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
swappy
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
||||||
}
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
wireplumber.enable = true;
|
|
||||||
};
|
|
||||||
services.playerctld.enable = true;
|
|
||||||
services.plex = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
# networking.hostName = "nixos"; # Define your hostname.
|
|
||||||
# Pick only one of the below networking options.
|
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
|
||||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
}
|
|
||||||
|
|
@ -1,95 +0,0 @@
|
||||||
###############################################################################
|
|
||||||
# Benjamin's
|
|
||||||
# NixOS Configuration
|
|
||||||
###############################################################################
|
|
||||||
{ pkgs, ... }:
|
|
||||||
let
|
|
||||||
username = "benjamin";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# Generated
|
|
||||||
./hardware-configuration.nix
|
|
||||||
# Custom
|
|
||||||
./system.nix
|
|
||||||
./network.nix
|
|
||||||
./nvidia.nix
|
|
||||||
./sddm.nix
|
|
||||||
./services.nix
|
|
||||||
./devices.nix
|
|
||||||
./security.nix
|
|
||||||
./shell.nix
|
|
||||||
./hyprland.nix
|
|
||||||
./media.nix
|
|
||||||
./gaming.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [ "electron-27.3.11" ];
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
users.users.${username} = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
backupFileExtension = "backup";
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
extraSpecialArgs = {
|
|
||||||
# inherit inputs;
|
|
||||||
};
|
|
||||||
users.${username} = {
|
|
||||||
home.username = username;
|
|
||||||
home.homeDirectory = "/home/${username}";
|
|
||||||
imports = [
|
|
||||||
../home-manager/git.nix
|
|
||||||
../home-manager/hyprland
|
|
||||||
../home-manager/media.nix
|
|
||||||
../home-manager/nvim.nix
|
|
||||||
../home-manager/terminal.nix
|
|
||||||
../home-manager/yar.nix
|
|
||||||
../home-manager/applications.nix
|
|
||||||
./home.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
|
||||||
# $ nix search wget
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# System
|
|
||||||
gcc
|
|
||||||
cmake
|
|
||||||
unzip
|
|
||||||
ffmpeg
|
|
||||||
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
|
||||||
wget
|
|
||||||
killall
|
|
||||||
];
|
|
||||||
|
|
||||||
# Copy the NixOS configuration file and link it from the resulting system
|
|
||||||
# (/run/current-system/configuration.nix). This is useful in case you
|
|
||||||
# accidentally delete configuration.nix.
|
|
||||||
# system.copySystemConfiguration = true;
|
|
||||||
|
|
||||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
|
||||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
|
||||||
#
|
|
||||||
# Most users should NEVER change this value after the initial install, for any reason,
|
|
||||||
# even if you've upgraded your system to a new NixOS release.
|
|
||||||
#
|
|
||||||
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
|
||||||
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
|
|
||||||
# to actually do that.
|
|
||||||
#
|
|
||||||
# This value being lower than the current NixOS release does NOT mean your system is
|
|
||||||
# out of date, out of support, or vulnerable.
|
|
||||||
#
|
|
||||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
|
||||||
# and migrated your data accordingly.
|
|
||||||
#
|
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
|
||||||
system.stateVersion = "24.05"; # Did you read the comment?
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
|
||||||
boot.kernelParams = [
|
|
||||||
"nvidia_drm.fbdev=1"
|
|
||||||
"nvidia.NVreg_PreserveVideoMemoryAllocations=1"
|
|
||||||
];
|
|
||||||
hardware.graphics = {
|
|
||||||
enable = true;
|
|
||||||
extraPackages = with pkgs; [ nvidia-vaapi-driver ];
|
|
||||||
};
|
|
||||||
hardware.nvidia = {
|
|
||||||
# Modesetting is required.
|
|
||||||
modesetting.enable = true;
|
|
||||||
|
|
||||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
|
||||||
# Enable this if you have graphical corruption issues or application crashes after waking
|
|
||||||
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
|
||||||
# of just the bare essentials.
|
|
||||||
powerManagement.enable = false;
|
|
||||||
|
|
||||||
# Fine-grained power management. Turns off GPU when not in use.
|
|
||||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
|
||||||
powerManagement.finegrained = false;
|
|
||||||
|
|
||||||
# Use the NVidia open source kernel module (not to be confused with the
|
|
||||||
# independent third-party "nouveau" open source driver).
|
|
||||||
# Support is limited to the Turing and later architectures. Full list of
|
|
||||||
# supported GPUs is at:
|
|
||||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
|
||||||
# Only available from driver 515.43.04+
|
|
||||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
|
||||||
open = false;
|
|
||||||
|
|
||||||
# Enable the Nvidia settings menu,
|
|
||||||
# accessible via `nvidia-settings`.
|
|
||||||
nvidiaSettings = true;
|
|
||||||
|
|
||||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.production;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [ sddm-chili-theme ];
|
|
||||||
# services.xserver.enable = true;
|
|
||||||
services.displayManager.sddm = {
|
|
||||||
enable = true;
|
|
||||||
theme = "chili";
|
|
||||||
# package = pkgs.kdePackages.sddm;
|
|
||||||
package = pkgs.libsForQt5.sddm;
|
|
||||||
wayland.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
security.polkit.enable = true;
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
# SSH
|
|
||||||
services.openssh.enable = true;
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
environment.shells = with pkgs; [ zsh ];
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
users.defaultUserShell = pkgs.zsh;
|
|
||||||
programs.nix-ld = {
|
|
||||||
enable = true;
|
|
||||||
libraries = with pkgs; [ stdenv.cc.cc ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
nix.settings = {
|
|
||||||
experimental-features = "nix-command flakes";
|
|
||||||
auto-optimise-store = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
# i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
# console = {
|
|
||||||
# font = "Lat2-Terminus16";
|
|
||||||
# keyMap = "us";
|
|
||||||
# useXkbConfig = true; # use xkb.options in tty.
|
|
||||||
# };
|
|
||||||
|
|
||||||
time.timeZone = "Canada/Eastern";
|
|
||||||
}
|
|
||||||
1
nvim
Submodule
1
nvim
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit cb60a3cd51f58ea6a8e0e2aa6cd576c846cd017c
|
||||||
8
nvim/.gitignore
vendored
8
nvim/.gitignore
vendored
|
|
@ -1,8 +0,0 @@
|
||||||
tt.*
|
|
||||||
.tests
|
|
||||||
doc/tags
|
|
||||||
debug
|
|
||||||
.repro
|
|
||||||
foo.*
|
|
||||||
*.log
|
|
||||||
data
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"neodev": {
|
|
||||||
"library": {
|
|
||||||
"enabled": true,
|
|
||||||
"plugins": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"neoconf": {
|
|
||||||
"plugins": {
|
|
||||||
"lua_ls": {
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
201
nvim/LICENSE
201
nvim/LICENSE
|
|
@ -1,201 +0,0 @@
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
# 💤 LazyVim
|
|
||||||
|
|
||||||
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
|
|
||||||
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
|
||||||
require("config.lazy")
|
|
||||||
|
|
@ -1,81 +0,0 @@
|
||||||
{
|
|
||||||
"LazyVim": { "branch": "main", "commit": "12818a6cb499456f4903c5d8e68af43753ebc869" },
|
|
||||||
"SchemaStore.nvim": { "branch": "main", "commit": "0d18cb5f8faf160335b4ed4699b6b35c616de5b9" },
|
|
||||||
"bufferline.nvim": { "branch": "main", "commit": "0b2fd861eee7595015b6561dade52fb060be10c4" },
|
|
||||||
"catppuccin": { "branch": "main", "commit": "18bab5ec4c782cdf7d7525dbe89c60bfa02fc195" },
|
|
||||||
"clangd_extensions.nvim": { "branch": "main", "commit": "a8500531c4ed3a207e744a374ea038744a0f93eb" },
|
|
||||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
|
||||||
"cmp-git": { "branch": "main", "commit": "74a8f919cb2e4627ae2407e6cf845aac21cded41" },
|
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
|
||||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
|
||||||
"conform.nvim": { "branch": "master", "commit": "42b53fcb83fd8d597e1a1dc08f6db72de58f4f46" },
|
|
||||||
"dashboard-nvim": { "branch": "master", "commit": "fabf5feec96185817c732d47d363f34034212685" },
|
|
||||||
"flash.nvim": { "branch": "main", "commit": "ec0bf2842189f65f60fd40bf3557cac1029cc932" },
|
|
||||||
"flit.nvim": { "branch": "main", "commit": "1ef72de6a02458d31b10039372c8a15ab8989e0d" },
|
|
||||||
"friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" },
|
|
||||||
"fzf-lua": { "branch": "main", "commit": "30fa904d5a614051c943a87aa15e14d69aa0138f" },
|
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "375c44bdfdde25585466a966f00c2e291db74f2d" },
|
|
||||||
"grug-far.nvim": { "branch": "main", "commit": "85cadf849bdb22540c36da2034d21de0b37c0952" },
|
|
||||||
"gruvbox.nvim": { "branch": "main", "commit": "7a1b23e4edf73a39642e77508ee6b9cbb8c60f9e" },
|
|
||||||
"harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" },
|
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "dddb5d21811c319eb6e51a993d8fb44b193aae3f" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" },
|
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" },
|
|
||||||
"leap.nvim": { "branch": "main", "commit": "c6bfb191f1161fbabace1f36f578a20ac6c7642c" },
|
|
||||||
"lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" },
|
|
||||||
"luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" },
|
|
||||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
|
||||||
"markdown.nvim": { "branch": "main", "commit": "cd0a5ad8c77c3754d02437048bc0bb604a2fe268" },
|
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1c55991321d1a861537e32446affc5de5d9a6eaf" },
|
|
||||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
|
|
||||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
|
||||||
"mini.ai": { "branch": "main", "commit": "a9b992b13d22a8db8df6beac25afa59a10b5584d" },
|
|
||||||
"mini.animate": { "branch": "main", "commit": "320fb35460238c436407cd779f63abad98e84870" },
|
|
||||||
"mini.comment": { "branch": "main", "commit": "03c13e37318bdb18481311c0ac1adc9ed731caf1" },
|
|
||||||
"mini.diff": { "branch": "main", "commit": "d58f9cb13400aedc5b5a0ef70fcdf31871ba2ee6" },
|
|
||||||
"mini.hipatterns": { "branch": "main", "commit": "1811b0661721285fc83494d2e687d538fb3ddac8" },
|
|
||||||
"mini.icons": { "branch": "main", "commit": "fe63fe080e76d80713557e5f0c65bc15b14b152d" },
|
|
||||||
"mini.indentscope": { "branch": "main", "commit": "d2e7b5f0260789c325f92ab3421ff9884ea01842" },
|
|
||||||
"mini.pairs": { "branch": "main", "commit": "927d19cbdd0e752ab1c7eed87072e71d2cd6ff51" },
|
|
||||||
"mini.surround": { "branch": "main", "commit": "d8913ed23be0a1a4585ae34414821cc343a46174" },
|
|
||||||
"neo-tree.nvim": { "branch": "main", "commit": "206241e451c12f78969ff5ae53af45616ffc9b72" },
|
|
||||||
"neotest": { "branch": "master", "commit": "32ff2ac21135a372a42b38ae131e531e64833bd3" },
|
|
||||||
"neotest-dotnet": { "branch": "main", "commit": "03509791912eaeac9f993f7cf49e170eca06a8bc" },
|
|
||||||
"neotest-golang": { "branch": "main", "commit": "baa2cf4be671a368c6b75eccbc78672df8b0c124" },
|
|
||||||
"noice.nvim": { "branch": "main", "commit": "448bb9c524a7601035449210838e374a30153172" },
|
|
||||||
"none-ls.nvim": { "branch": "main", "commit": "cfa65d86e21eeb60544d5e823f6db43941322a53" },
|
|
||||||
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
|
|
||||||
"nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" },
|
|
||||||
"nvim-dap": { "branch": "master", "commit": "281a2e4cd1e7a17cea7ecb1745d84a8ab1249925" },
|
|
||||||
"nvim-dap-go": { "branch": "main", "commit": "5511788255c92bdd845f8d9690f88e2e0f0ff9f2" },
|
|
||||||
"nvim-dap-ui": { "branch": "master", "commit": "a5606bc5958db86f8d92803bea7400ee26a8d7e4" },
|
|
||||||
"nvim-dap-virtual-text": { "branch": "master", "commit": "484995d573c0f0563f6a66ebdd6c67b649489615" },
|
|
||||||
"nvim-lint": { "branch": "master", "commit": "debabca63c0905b59ce596a55a8e33eafdf66342" },
|
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "d4814330b207a4e05ba9515e453b0e87f20357ec" },
|
|
||||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
|
||||||
"nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" },
|
|
||||||
"nvim-snippets": { "branch": "main", "commit": "56b4052f71220144689caaa2e5b66222ba5661eb" },
|
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "1e860567fbc19f117a03c0d2c46dcc01325c1b8b" },
|
|
||||||
"nvim-treesitter-context": { "branch": "master", "commit": "0f3332788e0bd37716fbd25f39120dcfd557c90f" },
|
|
||||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ced6375723b20616282f9f6a1018a63ae19b106a" },
|
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "0cb76eea80e9c73b88880f0ca78fbd04c5bdcac7" },
|
|
||||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "375c2d86cee6674afd75b4f727ce3a80065552f7" },
|
|
||||||
"omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "aad7bf06b4ca0de816b919d475a75b30f5f62b61" },
|
|
||||||
"one-small-step-for-vimkind": { "branch": "main", "commit": "0f0d5bc67786c36edc2cb6fb5faa5c09dd1a6e10" },
|
|
||||||
"outline.nvim": { "branch": "main", "commit": "b47514b8f4ae3207c499a69eec05c29cf2182af8" },
|
|
||||||
"overseer.nvim": { "branch": "master", "commit": "236e60cdac6410dd95ea5cecafdb801a304d6a41" },
|
|
||||||
"persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "ec289423a1693aeae6cd0d503bac2856af74edaa" },
|
|
||||||
"refactoring.nvim": { "branch": "master", "commit": "c406fc5fb4d7ba5fce7b668637075fad6e75e9f8" },
|
|
||||||
"tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "3d3cd95e4a4135c250faf83dd5ed61b8e5502b86" },
|
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "8f45f353dc3649cb9b44cecda96827ea88128584" },
|
|
||||||
"tokyonight.nvim": { "branch": "main", "commit": "b0e7c7382a7e8f6456f2a95655983993ffda745e" },
|
|
||||||
"trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" },
|
|
||||||
"ts-comments.nvim": { "branch": "main", "commit": "98d7d4dec0af1312d38e288f800bbf6ff562b6ab" },
|
|
||||||
"vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" },
|
|
||||||
"vim-dadbod-completion": { "branch": "master", "commit": "880f7e9f2959e567c718d52550f9fae1aa07aa81" },
|
|
||||||
"vim-dadbod-ui": { "branch": "master", "commit": "0f51d8de368c8c6220973e8acd156d17da746f4c" },
|
|
||||||
"vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" },
|
|
||||||
"which-key.nvim": { "branch": "main", "commit": "6c1584eb76b55629702716995cca4ae2798a9cca" },
|
|
||||||
"yanky.nvim": { "branch": "main", "commit": "73215b77d22ebb179cef98e7e1235825431d10e4" }
|
|
||||||
}
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
{
|
|
||||||
"extras": [
|
|
||||||
"lazyvim.plugins.extras.coding.mini-comment",
|
|
||||||
"lazyvim.plugins.extras.coding.mini-surround",
|
|
||||||
"lazyvim.plugins.extras.coding.yanky",
|
|
||||||
"lazyvim.plugins.extras.dap.core",
|
|
||||||
"lazyvim.plugins.extras.dap.nlua",
|
|
||||||
"lazyvim.plugins.extras.editor.fzf",
|
|
||||||
"lazyvim.plugins.extras.editor.harpoon2",
|
|
||||||
"lazyvim.plugins.extras.editor.leap",
|
|
||||||
"lazyvim.plugins.extras.editor.mini-diff",
|
|
||||||
"lazyvim.plugins.extras.editor.outline",
|
|
||||||
"lazyvim.plugins.extras.editor.overseer",
|
|
||||||
"lazyvim.plugins.extras.editor.refactoring",
|
|
||||||
"lazyvim.plugins.extras.formatting.black",
|
|
||||||
"lazyvim.plugins.extras.formatting.prettier",
|
|
||||||
"lazyvim.plugins.extras.lang.docker",
|
|
||||||
"lazyvim.plugins.extras.lang.git",
|
|
||||||
"lazyvim.plugins.extras.lang.go",
|
|
||||||
"lazyvim.plugins.extras.lang.json",
|
|
||||||
"lazyvim.plugins.extras.lang.markdown",
|
|
||||||
"lazyvim.plugins.extras.lang.nix",
|
|
||||||
"lazyvim.plugins.extras.lang.omnisharp",
|
|
||||||
"lazyvim.plugins.extras.lang.sql",
|
|
||||||
"lazyvim.plugins.extras.lang.tailwind",
|
|
||||||
"lazyvim.plugins.extras.lang.toml",
|
|
||||||
"lazyvim.plugins.extras.lang.typescript",
|
|
||||||
"lazyvim.plugins.extras.lang.yaml",
|
|
||||||
"lazyvim.plugins.extras.linting.eslint",
|
|
||||||
"lazyvim.plugins.extras.lsp.none-ls",
|
|
||||||
"lazyvim.plugins.extras.test.core",
|
|
||||||
"lazyvim.plugins.extras.ui.mini-animate",
|
|
||||||
"lazyvim.plugins.extras.ui.mini-indentscope",
|
|
||||||
"lazyvim.plugins.extras.ui.treesitter-context",
|
|
||||||
"lazyvim.plugins.extras.util.dot",
|
|
||||||
"lazyvim.plugins.extras.util.mini-hipatterns"
|
|
||||||
],
|
|
||||||
"news": {
|
|
||||||
"NEWS.md": "6520"
|
|
||||||
},
|
|
||||||
"version": 6
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
-- Autocmds are automatically loaded on the VeryLazy event
|
|
||||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
|
||||||
-- Add any additional autocmds here
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
-- Keymaps are automatically loaded on the VeryLazy event
|
|
||||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
|
||||||
-- Add any additional keymaps here
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
vim.api.nvim_echo({
|
|
||||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
|
||||||
{ out, "WarningMsg" },
|
|
||||||
{ "\nPress any key to exit..." },
|
|
||||||
}, true, {})
|
|
||||||
vim.fn.getchar()
|
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
require("lazy").setup({
|
|
||||||
spec = {
|
|
||||||
-- add LazyVim and import its plugins
|
|
||||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
|
||||||
-- import/override with your plugins
|
|
||||||
{ import = "plugins" },
|
|
||||||
},
|
|
||||||
defaults = {
|
|
||||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
|
||||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
|
||||||
lazy = false,
|
|
||||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
|
||||||
-- have outdated releases, which may break your Neovim install.
|
|
||||||
version = false, -- always use the latest git commit
|
|
||||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
|
||||||
},
|
|
||||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
|
||||||
checker = { enabled = true }, -- automatically check for plugin updates
|
|
||||||
performance = {
|
|
||||||
rtp = {
|
|
||||||
-- disable some rtp plugins
|
|
||||||
disabled_plugins = {
|
|
||||||
"gzip",
|
|
||||||
-- "matchit",
|
|
||||||
-- "matchparen",
|
|
||||||
-- "netrwPlugin",
|
|
||||||
"tarPlugin",
|
|
||||||
"tohtml",
|
|
||||||
"tutor",
|
|
||||||
"zipPlugin",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
-- Options are automatically loaded before lazy.nvim startup
|
|
||||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
|
||||||
-- Add any additional options here
|
|
||||||
|
|
@ -1,93 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
opts = { ensure_installed = { "cpp" } },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"p00f/clangd_extensions.nvim",
|
|
||||||
lazy = true,
|
|
||||||
config = function() end,
|
|
||||||
opts = {
|
|
||||||
inlay_hints = {
|
|
||||||
inline = false,
|
|
||||||
},
|
|
||||||
ast = {
|
|
||||||
--These require codicons (https://github.com/microsoft/vscode-codicons)
|
|
||||||
role_icons = {
|
|
||||||
type = "",
|
|
||||||
declaration = "",
|
|
||||||
expression = "",
|
|
||||||
specifier = "",
|
|
||||||
statement = "",
|
|
||||||
["template argument"] = "",
|
|
||||||
},
|
|
||||||
kind_icons = {
|
|
||||||
Compound = "",
|
|
||||||
Recovery = "",
|
|
||||||
TranslationUnit = "",
|
|
||||||
PackExpansion = "",
|
|
||||||
TemplateTypeParm = "",
|
|
||||||
TemplateTemplateParm = "",
|
|
||||||
TemplateParamObject = "",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
opts = {
|
|
||||||
servers = {
|
|
||||||
-- Ensure mason installs the server
|
|
||||||
clangd = {
|
|
||||||
mason = false,
|
|
||||||
keys = {
|
|
||||||
{ "<leader>ch", "<cmd>ClangdSwitchSourceHeader<cr>", desc = "Switch Source/Header (C/C++)" },
|
|
||||||
},
|
|
||||||
root_dir = function(fname)
|
|
||||||
return require("lspconfig.util").root_pattern(
|
|
||||||
"Makefile",
|
|
||||||
"configure.ac",
|
|
||||||
"configure.in",
|
|
||||||
"config.h.in",
|
|
||||||
"meson.build",
|
|
||||||
"meson_options.txt",
|
|
||||||
"build.ninja"
|
|
||||||
)(fname) or require("lspconfig.util").root_pattern("compile_commands.json", "compile_flags.txt")(
|
|
||||||
fname
|
|
||||||
) or require("lspconfig.util").find_git_ancestor(fname)
|
|
||||||
end,
|
|
||||||
capabilities = {
|
|
||||||
offsetEncoding = { "utf-16" },
|
|
||||||
},
|
|
||||||
cmd = {
|
|
||||||
"clangd",
|
|
||||||
"--background-index",
|
|
||||||
"--clang-tidy",
|
|
||||||
"--header-insertion=iwyu",
|
|
||||||
"--completion-style=detailed",
|
|
||||||
"--function-arg-placeholders",
|
|
||||||
"--fallback-style=llvm",
|
|
||||||
},
|
|
||||||
init_options = {
|
|
||||||
usePlaceholders = true,
|
|
||||||
completeUnimported = true,
|
|
||||||
clangdFileStatus = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
setup = {
|
|
||||||
clangd = function(_, opts)
|
|
||||||
local clangd_ext_opts = LazyVim.opts("clangd_extensions.nvim")
|
|
||||||
require("clangd_extensions").setup(vim.tbl_deep_extend("force", clangd_ext_opts or {}, { server = opts }))
|
|
||||||
return false
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-cmp",
|
|
||||||
opts = function(_, opts)
|
|
||||||
table.insert(opts.sorting.comparators, 1, require("clangd_extensions.cmp_scores"))
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
return {
|
|
||||||
{ "ellisonleao/gruvbox.nvim" },
|
|
||||||
{ "catppuccin/nvim",
|
|
||||||
name = "catppuccin",
|
|
||||||
priority = 1000,
|
|
||||||
opts = { flavour = "mocha",
|
|
||||||
--transparent_background = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- Configure LazyVim to load gruvbox
|
|
||||||
{
|
|
||||||
"LazyVim/LazyVim",
|
|
||||||
opts = {
|
|
||||||
colorscheme = "catppuccin",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,193 +0,0 @@
|
||||||
-- since this is just an example spec, don't actually load anything here and return an empty spec
|
|
||||||
-- stylua: ignore
|
|
||||||
if true then return {} end
|
|
||||||
|
|
||||||
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
|
|
||||||
--
|
|
||||||
-- In your plugin files, you can:
|
|
||||||
-- * add extra plugins
|
|
||||||
-- * disable/enabled LazyVim plugins
|
|
||||||
-- * override the configuration of LazyVim plugins
|
|
||||||
return {
|
|
||||||
-- add gruvbox
|
|
||||||
{ "ellisonleao/gruvbox.nvim" },
|
|
||||||
|
|
||||||
-- Configure LazyVim to load gruvbox
|
|
||||||
{
|
|
||||||
"LazyVim/LazyVim",
|
|
||||||
opts = {
|
|
||||||
colorscheme = "gruvbox",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- change trouble config
|
|
||||||
{
|
|
||||||
"folke/trouble.nvim",
|
|
||||||
-- opts will be merged with the parent spec
|
|
||||||
opts = { use_diagnostic_signs = true },
|
|
||||||
},
|
|
||||||
|
|
||||||
-- disable trouble
|
|
||||||
{ "folke/trouble.nvim", enabled = false },
|
|
||||||
|
|
||||||
-- override nvim-cmp and add cmp-emoji
|
|
||||||
{
|
|
||||||
"hrsh7th/nvim-cmp",
|
|
||||||
dependencies = { "hrsh7th/cmp-emoji" },
|
|
||||||
---@param opts cmp.ConfigSchema
|
|
||||||
opts = function(_, opts)
|
|
||||||
table.insert(opts.sources, { name = "emoji" })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- change some telescope options and a keymap to browse plugin files
|
|
||||||
{
|
|
||||||
"nvim-telescope/telescope.nvim",
|
|
||||||
keys = {
|
|
||||||
-- add a keymap to browse plugin files
|
|
||||||
-- stylua: ignore
|
|
||||||
{
|
|
||||||
"<leader>fp",
|
|
||||||
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
|
|
||||||
desc = "Find Plugin File",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- change some options
|
|
||||||
opts = {
|
|
||||||
defaults = {
|
|
||||||
layout_strategy = "horizontal",
|
|
||||||
layout_config = { prompt_position = "top" },
|
|
||||||
sorting_strategy = "ascending",
|
|
||||||
winblend = 0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- add pyright to lspconfig
|
|
||||||
{
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
---@class PluginLspOpts
|
|
||||||
opts = {
|
|
||||||
---@type lspconfig.options
|
|
||||||
servers = {
|
|
||||||
-- pyright will be automatically installed with mason and loaded with lspconfig
|
|
||||||
pyright = {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- add tsserver and setup with typescript.nvim instead of lspconfig
|
|
||||||
{
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
dependencies = {
|
|
||||||
"jose-elias-alvarez/typescript.nvim",
|
|
||||||
init = function()
|
|
||||||
require("lazyvim.util").lsp.on_attach(function(_, buffer)
|
|
||||||
-- stylua: ignore
|
|
||||||
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
|
||||||
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
|
|
||||||
end)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
---@class PluginLspOpts
|
|
||||||
opts = {
|
|
||||||
---@type lspconfig.options
|
|
||||||
servers = {
|
|
||||||
-- tsserver will be automatically installed with mason and loaded with lspconfig
|
|
||||||
tsserver = {},
|
|
||||||
},
|
|
||||||
-- you can do any additional lsp server setup here
|
|
||||||
-- return true if you don't want this server to be setup with lspconfig
|
|
||||||
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
|
||||||
setup = {
|
|
||||||
-- example to setup with typescript.nvim
|
|
||||||
tsserver = function(_, opts)
|
|
||||||
require("typescript").setup({ server = opts })
|
|
||||||
return true
|
|
||||||
end,
|
|
||||||
-- Specify * to use this function as a fallback for any server
|
|
||||||
-- ["*"] = function(server, opts) end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
|
|
||||||
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
|
||||||
|
|
||||||
-- add more treesitter parsers
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
opts = {
|
|
||||||
ensure_installed = {
|
|
||||||
"bash",
|
|
||||||
"html",
|
|
||||||
"javascript",
|
|
||||||
"json",
|
|
||||||
"lua",
|
|
||||||
"markdown",
|
|
||||||
"markdown_inline",
|
|
||||||
"python",
|
|
||||||
"query",
|
|
||||||
"regex",
|
|
||||||
"tsx",
|
|
||||||
"typescript",
|
|
||||||
"vim",
|
|
||||||
"yaml",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
|
|
||||||
-- would overwrite `ensure_installed` with the new value.
|
|
||||||
-- If you'd rather extend the default config, use the code below instead:
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
opts = function(_, opts)
|
|
||||||
-- add tsx and treesitter
|
|
||||||
vim.list_extend(opts.ensure_installed, {
|
|
||||||
"tsx",
|
|
||||||
"typescript",
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- the opts function can also be used to change the default opts:
|
|
||||||
{
|
|
||||||
"nvim-lualine/lualine.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = function(_, opts)
|
|
||||||
table.insert(opts.sections.lualine_x, "😄")
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- or you can return new options to override all the defaults
|
|
||||||
{
|
|
||||||
"nvim-lualine/lualine.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = function()
|
|
||||||
return {
|
|
||||||
--[[add your custom lualine config here]]
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- use mini.starter instead of alpha
|
|
||||||
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
|
||||||
|
|
||||||
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
|
||||||
|
|
||||||
-- add any tools you want to have installed below
|
|
||||||
{
|
|
||||||
"williamboman/mason.nvim",
|
|
||||||
opts = {
|
|
||||||
ensure_installed = {
|
|
||||||
"stylua",
|
|
||||||
"shellcheck",
|
|
||||||
"shfmt",
|
|
||||||
"flake8",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
return {
|
|
||||||
}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
opts = { ensure_installed = { "meson" } },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
opts = {
|
|
||||||
servers = {
|
|
||||||
mesonlsp = {
|
|
||||||
mason = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
opts = { ensure_installed = { "glsl" } },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
opts = {
|
|
||||||
servers = {
|
|
||||||
glslls = {
|
|
||||||
mason = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
indent_type = "Spaces"
|
|
||||||
indent_width = 2
|
|
||||||
column_width = 120
|
|
||||||
1
quickshell
Submodule
1
quickshell
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 618fc22e803418d922b303817c8af5d1988ecbb7
|
||||||
|
|
@ -1,102 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
## Author : Aditya Shakya (adi1090x)
|
|
||||||
## Github : @adi1090x
|
|
||||||
#
|
|
||||||
## Applets : Run Applications as Root
|
|
||||||
|
|
||||||
# Import Current Theme
|
|
||||||
source "$HOME"/.config/rofi/applets/shared/theme.bash
|
|
||||||
theme="$type/$style"
|
|
||||||
|
|
||||||
# Theme Elements
|
|
||||||
prompt='Applications'
|
|
||||||
mesg='Run Applications as Root'
|
|
||||||
|
|
||||||
if [[ "$theme" == *'type-1'* ]]; then
|
|
||||||
list_col='1'
|
|
||||||
list_row='5'
|
|
||||||
win_width='400px'
|
|
||||||
elif [[ "$theme" == *'type-3'* ]]; then
|
|
||||||
list_col='1'
|
|
||||||
list_row='5'
|
|
||||||
win_width='120px'
|
|
||||||
elif [[ "$theme" == *'type-5'* ]]; then
|
|
||||||
list_col='1'
|
|
||||||
list_row='5'
|
|
||||||
win_width='520px'
|
|
||||||
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
|
|
||||||
list_col='5'
|
|
||||||
list_row='1'
|
|
||||||
win_width='670px'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Options
|
|
||||||
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
|
|
||||||
if [[ "$layout" == 'NO' ]]; then
|
|
||||||
option_1=" Alacritty"
|
|
||||||
option_2=" Thunar"
|
|
||||||
option_3=" Geany"
|
|
||||||
option_4=" Ranger"
|
|
||||||
option_5=" Vim"
|
|
||||||
else
|
|
||||||
option_1=""
|
|
||||||
option_2=""
|
|
||||||
option_3=""
|
|
||||||
option_4=""
|
|
||||||
option_5=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Rofi CMD
|
|
||||||
rofi_cmd() {
|
|
||||||
rofi -theme-str "window {width: $win_width;}" \
|
|
||||||
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
|
|
||||||
-theme-str 'textbox-prompt-colon {str: "";}' \
|
|
||||||
-dmenu \
|
|
||||||
-p "$prompt" \
|
|
||||||
-mesg "$mesg" \
|
|
||||||
-markup-rows \
|
|
||||||
-theme ${theme}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Pass variables to rofi dmenu
|
|
||||||
run_rofi() {
|
|
||||||
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd
|
|
||||||
}
|
|
||||||
|
|
||||||
# Execute Command
|
|
||||||
run_cmd() {
|
|
||||||
polkit_cmd="pkexec env PATH=$PATH DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY"
|
|
||||||
if [[ "$1" == '--opt1' ]]; then
|
|
||||||
${polkit_cmd} alacritty
|
|
||||||
elif [[ "$1" == '--opt2' ]]; then
|
|
||||||
${polkit_cmd} dbus-run-session thunar
|
|
||||||
elif [[ "$1" == '--opt3' ]]; then
|
|
||||||
${polkit_cmd} geany
|
|
||||||
elif [[ "$1" == '--opt4' ]]; then
|
|
||||||
${polkit_cmd} alacritty -e ranger
|
|
||||||
elif [[ "$1" == '--opt5' ]]; then
|
|
||||||
${polkit_cmd} alacritty -e vim
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Actions
|
|
||||||
chosen="$(run_rofi)"
|
|
||||||
case ${chosen} in
|
|
||||||
$option_1)
|
|
||||||
run_cmd --opt1
|
|
||||||
;;
|
|
||||||
$option_2)
|
|
||||||
run_cmd --opt2
|
|
||||||
;;
|
|
||||||
$option_3)
|
|
||||||
run_cmd --opt3
|
|
||||||
;;
|
|
||||||
$option_4)
|
|
||||||
run_cmd --opt4
|
|
||||||
;;
|
|
||||||
$option_5)
|
|
||||||
run_cmd --opt5
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
@ -1,104 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
## Author : Aditya Shakya (adi1090x)
|
|
||||||
## Github : @adi1090x
|
|
||||||
#
|
|
||||||
## Applets : Favorite Applications
|
|
||||||
|
|
||||||
# Import Current Theme
|
|
||||||
source "$HOME"/.config/rofi/applets/shared/theme.bash
|
|
||||||
theme="$type/$style"
|
|
||||||
|
|
||||||
# Theme Elements
|
|
||||||
prompt='Applications'
|
|
||||||
mesg="Installed Packages : `pacman -Q | wc -l` (pacman)"
|
|
||||||
|
|
||||||
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
|
|
||||||
list_col='1'
|
|
||||||
list_row='6'
|
|
||||||
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
|
|
||||||
list_col='6'
|
|
||||||
list_row='1'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# CMDs (add your apps here)
|
|
||||||
term_cmd='alacritty'
|
|
||||||
file_cmd='thunar'
|
|
||||||
text_cmd='geany'
|
|
||||||
web_cmd='firefox'
|
|
||||||
music_cmd='alacritty -e ncmpcpp'
|
|
||||||
setting_cmd='xfce4-settings-manager'
|
|
||||||
|
|
||||||
# Options
|
|
||||||
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
|
|
||||||
if [[ "$layout" == 'NO' ]]; then
|
|
||||||
option_1=" Terminal <span weight='light' size='small'><i>($term_cmd)</i></span>"
|
|
||||||
option_2=" Files <span weight='light' size='small'><i>($file_cmd)</i></span>"
|
|
||||||
option_3=" Editor <span weight='light' size='small'><i>($text_cmd)</i></span>"
|
|
||||||
option_4=" Browser <span weight='light' size='small'><i>($web_cmd)</i></span>"
|
|
||||||
option_5=" Music <span weight='light' size='small'><i>($music_cmd)</i></span>"
|
|
||||||
option_6=" Settings <span weight='light' size='small'><i>($setting_cmd)</i></span>"
|
|
||||||
else
|
|
||||||
option_1=""
|
|
||||||
option_2=""
|
|
||||||
option_3=""
|
|
||||||
option_4=""
|
|
||||||
option_5=""
|
|
||||||
option_6=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Rofi CMD
|
|
||||||
rofi_cmd() {
|
|
||||||
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
|
|
||||||
-theme-str 'textbox-prompt-colon {str: "";}' \
|
|
||||||
-dmenu \
|
|
||||||
-p "$prompt" \
|
|
||||||
-mesg "$mesg" \
|
|
||||||
-markup-rows \
|
|
||||||
-theme ${theme}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Pass variables to rofi dmenu
|
|
||||||
run_rofi() {
|
|
||||||
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
|
|
||||||
}
|
|
||||||
|
|
||||||
# Execute Command
|
|
||||||
run_cmd() {
|
|
||||||
if [[ "$1" == '--opt1' ]]; then
|
|
||||||
${term_cmd}
|
|
||||||
elif [[ "$1" == '--opt2' ]]; then
|
|
||||||
${file_cmd}
|
|
||||||
elif [[ "$1" == '--opt3' ]]; then
|
|
||||||
${text_cmd}
|
|
||||||
elif [[ "$1" == '--opt4' ]]; then
|
|
||||||
${web_cmd}
|
|
||||||
elif [[ "$1" == '--opt5' ]]; then
|
|
||||||
${music_cmd}
|
|
||||||
elif [[ "$1" == '--opt6' ]]; then
|
|
||||||
${setting_cmd}
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Actions
|
|
||||||
chosen="$(run_rofi)"
|
|
||||||
case ${chosen} in
|
|
||||||
$option_1)
|
|
||||||
run_cmd --opt1
|
|
||||||
;;
|
|
||||||
$option_2)
|
|
||||||
run_cmd --opt2
|
|
||||||
;;
|
|
||||||
$option_3)
|
|
||||||
run_cmd --opt3
|
|
||||||
;;
|
|
||||||
$option_4)
|
|
||||||
run_cmd --opt4
|
|
||||||
;;
|
|
||||||
$option_5)
|
|
||||||
run_cmd --opt5
|
|
||||||
;;
|
|
||||||
$option_6)
|
|
||||||
run_cmd --opt6
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue