Compare commits
136 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ad4fb207f | ||
|
|
84f405dc76 | ||
|
|
0f73c59ec7 | ||
|
|
55f2ca393b | ||
|
|
5747573a94 | ||
|
|
45f8c8a8fa | ||
|
|
cb764e7710 | ||
|
|
109cb1918e | ||
|
|
45ff4d5838 | ||
|
|
62415d9fa2 | ||
|
|
c93a09c3df | ||
|
|
aad939bb93 | ||
|
|
27f0bfbbf3 | ||
|
|
cae82aaf8a | ||
|
|
2802cc319d | ||
|
|
21ddeb87a1 | ||
|
|
9fd3ad2910 | ||
|
|
dd9ce9cd69 | ||
|
|
d3318890a9 | ||
|
|
8e99534112 | ||
|
|
ece649606e | ||
|
|
d41a47b887 | ||
|
|
fc29e1698a | ||
|
|
4fb08c390c | ||
|
|
dd263492b5 | ||
|
|
4a6ae43a42 | ||
|
|
16491f437f | ||
|
|
c3e5fc9028 | ||
|
|
16640c4642 | ||
|
|
a09a675b41 | ||
|
|
6097df0c27 | ||
|
|
98e73aab55 | ||
|
|
12154d5bcb | ||
|
|
41ab4d3222 | ||
|
|
8c9e987421 | ||
|
|
f7c47d6fa1 | ||
|
|
558e034386 | ||
|
|
5e721b5418 | ||
|
|
19218bc9ce | ||
|
|
0a4f785a04 | ||
|
|
32bd6551e9 | ||
|
|
04741d27a9 | ||
|
|
c3b05e35f1 | ||
|
|
c71a1bd7ce | ||
|
|
621b05a216 | ||
|
|
823fba724e | ||
|
|
63d6ac46a3 | ||
|
|
f53b310f52 | ||
|
|
737c3cf77b | ||
|
|
2473ee6a9d | ||
|
|
56d0e8e3fd | ||
|
|
ea5aff4953 | ||
|
|
914f1320cd | ||
|
|
7969df993b | ||
|
|
e722a447a6 | ||
|
|
7be2de3bbc | ||
|
|
33a005f900 | ||
|
|
9d33dddce5 | ||
|
|
cb53e9e610 | ||
|
|
90788bb295 | ||
|
|
070147b863 | ||
|
|
93b37a61f5 | ||
|
|
4bba41ea48 | ||
|
|
77040968df | ||
|
|
7db2d1470d | ||
|
|
7ca6c4a157 | ||
|
|
0d55f0246c | ||
|
|
9225c0a888 | ||
|
|
b1c1d1d3d1 | ||
|
|
6173f4072f | ||
|
|
28ce1cf67b | ||
|
|
03cd9a4be5 | ||
|
|
7078a1a96a | ||
|
|
880e2120df | ||
|
|
643cc5e19b | ||
|
|
af93df5181 | ||
|
|
c6214984ff | ||
|
|
592cfb867c | ||
|
|
2191be6255 | ||
|
|
5f12976920 | ||
|
|
e0ec1e606f | ||
|
|
1a01a958d5 | ||
|
|
a257d309d9 | ||
|
|
5db1a379e4 | ||
|
|
62ed20d1f5 | ||
|
|
f1061c3c8c | ||
|
|
6f25d234c3 | ||
|
|
4f6a0c34d5 | ||
|
|
3caf6e9a67 | ||
|
|
092b3d6061 | ||
|
|
a62a45f9f4 | ||
|
|
7afe711932 | ||
|
|
c4ddee1d29 | ||
|
|
ab286ed4a2 | ||
|
|
077b1f7083 | ||
|
|
653ef5b48b | ||
|
|
c8b480ccfd | ||
|
|
dec5fcf0f5 | ||
|
|
5eec1d1c38 | ||
|
|
8d5d84dedb | ||
|
|
d277850804 | ||
|
|
eb3fb4f88e | ||
|
|
85818a4094 | ||
|
|
be73df6529 | ||
|
|
62cb8d8d43 | ||
|
|
aede818226 | ||
|
|
42a55de42f | ||
|
|
c109a94823 | ||
|
|
c4779b2a79 | ||
|
|
8b162bf941 | ||
|
|
4fd859f00c | ||
|
|
c8438c44aa | ||
|
|
c5c1e698f5 | ||
|
|
a45c1e0702 | ||
|
|
48a210554c | ||
|
|
319b59360b | ||
|
|
87db47ab1b | ||
|
|
c9d2951cd2 | ||
|
|
ae736fa609 | ||
|
|
c22751909d | ||
|
|
9e6eeb6535 | ||
|
|
3af7a004c2 | ||
|
|
0f9b50e154 | ||
|
|
af2c635c23 | ||
|
|
b2ef7e48b4 | ||
|
|
0150e29451 | ||
|
|
43dab69a0b | ||
|
|
3ec9d8479e | ||
|
|
81f83d85dc | ||
|
|
b6653a4252 | ||
|
|
b01b2c5aac | ||
|
|
c71ba09614 | ||
|
|
76d6787417 | ||
|
|
a8f6e2df65 | ||
|
|
e4be757d6a | ||
|
|
f9a3e1c58d |
325 changed files with 30506 additions and 1174 deletions
|
|
@ -1,6 +0,0 @@
|
||||||
[window]
|
|
||||||
decorations = "Transparent"
|
|
||||||
|
|
||||||
[font]
|
|
||||||
normal = { family = "JetBrainsMono NF", style = "Regular" }
|
|
||||||
size = 12
|
|
||||||
2
.bashrc
2
.bashrc
|
|
@ -2,8 +2,6 @@
|
||||||
# ~/.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
13
.gitconfig
|
|
@ -1,13 +0,0 @@
|
||||||
[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,9 +3,3 @@
|
||||||
./cava/config
|
./cava/config
|
||||||
cava/config
|
cava/config
|
||||||
|
|
||||||
# Discocss
|
|
||||||
./discocss
|
|
||||||
discocss/
|
|
||||||
!./discocss/custom.css
|
|
||||||
!discocss/custom.css
|
|
||||||
|
|
||||||
|
|
|
||||||
6
.gitmodules
vendored
6
.gitmodules
vendored
|
|
@ -1,6 +0,0 @@
|
||||||
[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
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
asdfPlugins=(
|
|
||||||
"nodejs"
|
|
||||||
"bun"
|
|
||||||
"python"
|
|
||||||
"rust"
|
|
||||||
"golang"
|
|
||||||
)
|
|
||||||
|
|
||||||
_addPlugins() {
|
|
||||||
for plugin; do
|
|
||||||
asdf plugin add "${plugin}"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# Add asdf plugins
|
|
||||||
_addPlugins "${asdfPlugins[@]}"
|
|
||||||
|
|
||||||
# Install plugins
|
|
||||||
asdf install
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
if [ ! "$(getent group docker)" ]; then
|
|
||||||
sudo groupadd docker
|
|
||||||
fi
|
|
||||||
sudo usermod -aG docker "${USER}"
|
|
||||||
|
|
@ -1,76 +0,0 @@
|
||||||
#!/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[@]}"
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
if [ ! -d ~/.oh-my-zsh/ ]; then
|
|
||||||
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended --keep-zshrc
|
|
||||||
fi
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
#!/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
|
|
||||||
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
packagesPacman=(
|
|
||||||
"mplayer"
|
|
||||||
"discord"
|
|
||||||
"signal"
|
|
||||||
"spotify-launcher"
|
|
||||||
"obsidian"
|
|
||||||
"krita"
|
|
||||||
"inkscape"
|
|
||||||
"gimp"
|
|
||||||
"blender"
|
|
||||||
"godot-mono"
|
|
||||||
"thunderbird"
|
|
||||||
"prismlauncher"
|
|
||||||
)
|
|
||||||
|
|
||||||
packagesYay=(
|
|
||||||
"zen-browser-bin"
|
|
||||||
"aseprite"
|
|
||||||
"davinci-resolve"
|
|
||||||
)
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
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=(
|
|
||||||
)
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
packagesPacman=(
|
|
||||||
"plymouth"
|
|
||||||
)
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
packagesPacman=(
|
|
||||||
"xdg-desktop-portal"
|
|
||||||
"xdg-desktop-portal-gnome"
|
|
||||||
)
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
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"
|
|
||||||
)
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
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,33 +1,12 @@
|
||||||
#!/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"
|
||||||
|
|
@ -37,16 +16,15 @@ 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[@]}"
|
||||||
|
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
# -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
|
|
||||||
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
chsh -s "$(which zsh)"
|
|
||||||
129
.zshrc
129
.zshrc
|
|
@ -1,129 +0,0 @@
|
||||||
# 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
Executable file → Normal file
87
README.md
Executable file → Normal file
|
|
@ -1,85 +1,4 @@
|
||||||
# Arch Linux Setup
|
# Dotfiles
|
||||||
|
|
||||||
This is a work in progress setup for my first Arch Linux install
|
- [Arch](<https://github.com/BenjaminPalko/dotfiles/tree/arch(btw)>)
|
||||||
|
- [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
ascii.txt → aperture.txt
Executable file → Normal file
0
ascii.txt → aperture.txt
Executable file → Normal file
4
caprine/.gitignore
vendored
Normal file
4
caprine/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
*
|
||||||
|
!.gitignore
|
||||||
|
!config.json
|
||||||
|
!custom.css
|
||||||
43
caprine/config.json
Normal file
43
caprine/config.json
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
{
|
||||||
|
"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": []
|
||||||
|
}
|
||||||
227
caprine/custom.css
Normal file
227
caprine/custom.css
Normal file
|
|
@ -0,0 +1,227 @@
|
||||||
|
: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);
|
||||||
|
}
|
||||||
|
|
@ -1,79 +0,0 @@
|
||||||
#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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
#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;
|
|
||||||
}
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
#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;
|
|
||||||
}
|
|
||||||
7
configuration.nix
Normal file
7
configuration.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
<home-manager/nixos>
|
||||||
|
./nixos/nixos.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
48
flake.lock
generated
Normal file
48
flake.lock
generated
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
{
|
||||||
|
"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
Normal file
33
flake.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
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}"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
21
home-manager/applications.nix
Normal file
21
home-manager/applications.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ 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;
|
||||||
|
};
|
||||||
|
}
|
||||||
12
home-manager/git.nix
Normal file
12
home-manager/git.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Benjamin Palko";
|
||||||
|
userEmail = "Benjaminpalko@hotmail.com";
|
||||||
|
};
|
||||||
|
programs.gh = {
|
||||||
|
enable = true;
|
||||||
|
gitCredentialHelper.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
62
home-manager/hyprland/default.nix
Normal file
62
home-manager/hyprland/default.nix
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
{ 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
25
home-manager/hyprland/gtk.nix
Normal file
25
home-manager/hyprland/gtk.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
{ 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";
|
||||||
|
}
|
||||||
10
home-manager/media.nix
Normal file
10
home-manager/media.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
spotify
|
||||||
|
mplayer
|
||||||
|
];
|
||||||
|
programs.cava = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
55
home-manager/nvim.nix
Normal file
55
home-manager/nvim.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
{ 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";
|
||||||
|
};
|
||||||
|
}
|
||||||
69
home-manager/terminal.nix
Normal file
69
home-manager/terminal.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
{ 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" ]; })
|
||||||
|
];
|
||||||
|
}
|
||||||
4
home-manager/yar.nix
Normal file
4
home-manager/yar.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [ deluge ];
|
||||||
|
}
|
||||||
23
hypr/config/environments/nvidia.conf
Normal file
23
hypr/config/environments/nvidia.conf
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# 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,26 +1,16 @@
|
||||||
|
|
||||||
# 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, gnome-characters
|
bind = $mainMod, period, exec, emote
|
||||||
bind = $mainMod, B, exec, zen-browser
|
bind = $mainMod, B, exec, firefox
|
||||||
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 -
|
||||||
|
|
||||||
|
|
@ -60,12 +50,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
|
||||||
|
|
@ -88,6 +78,3 @@ 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
|
|
||||||
35
hypr/config/rules.conf
Normal file
35
hypr/config/rules.conf
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
16
hypr/config/startup.conf
Normal file
16
hypr/config/startup.conf
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
# 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,19 +1,48 @@
|
||||||
|
|
||||||
|
# #######################################################################################
|
||||||
|
# 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
|
||||||
|
|
||||||
# Programs
|
# Execute your favorite apps at launch
|
||||||
$terminal = alacritty
|
# exec-once = waybar & hyprpaper & firefox
|
||||||
$fileManager = nautilus
|
source = ~/.config/hypr/config/startup.conf
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
exec-once=hyprctl setcursor volantes_cursors 24
|
||||||
# PC
|
env = XCURSOR_THEME,
|
||||||
monitor=DP-1,2560x1440@144,auto,auto
|
|
||||||
|
|
||||||
# Laptop
|
source = ~/.config/hypr/config/environments/nvidia.conf
|
||||||
monitor=eDP-1,1920x1080@60,auto,1.20
|
source = ~/.config/hypr/config/keybinds.conf
|
||||||
|
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 {
|
||||||
|
|
@ -36,8 +65,10 @@ 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 = 10
|
gaps_out = 20
|
||||||
border_size = 3
|
border_size = 3
|
||||||
|
col.active_border = $color4 $color13 45deg
|
||||||
|
col.inactive_border = $color0
|
||||||
|
|
||||||
layout = dwindle
|
layout = dwindle
|
||||||
|
|
||||||
|
|
@ -45,6 +76,39 @@ 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
|
||||||
|
|
@ -55,6 +119,11 @@ 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
|
||||||
|
|
@ -67,12 +136,3 @@ 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
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
# PyWal Colors
|
|
||||||
source = ~/.cache/wal/colors-hyprland.conf
|
|
||||||
|
|
||||||
general {
|
|
||||||
col.active_border = $color4 $color13 45deg
|
|
||||||
col.inactive_border = $color0
|
|
||||||
}
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
# -----------------------------------------------------
|
|
||||||
# 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'
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
# 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,30 +0,0 @@
|
||||||
# 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,141 +1,52 @@
|
||||||
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/.cache/hyprlock/wallpaper
|
#path = $HOME/dotfiles/.settings/lockscreen.png # only png supported for now
|
||||||
reload_cmd = "cp $(cat $HOME/.cache/wal/wal) $HOME/.cache/hyprlock/wallpaper"
|
color = rgba(25, 20, 20, 1.0)
|
||||||
blur_passes = 1
|
|
||||||
blur_size = 3
|
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
|
||||||
# color = $base
|
blur_passes = 4 # 0 disables blurring
|
||||||
|
blur_size = 2
|
||||||
|
noise = 0.0117
|
||||||
|
contrast = 0.8916
|
||||||
|
brightness = 0.8172
|
||||||
|
vibrancy = 0.1696
|
||||||
|
vibrancy_darkness = 0.0
|
||||||
}
|
}
|
||||||
|
|
||||||
# LAYOUT
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
shadow_passes = 1
|
|
||||||
text = Layout: $LAYOUT
|
|
||||||
color = $text
|
|
||||||
font_size = 25
|
|
||||||
font_family = $font
|
|
||||||
position = 20, 20
|
|
||||||
halign = left
|
|
||||||
valign = bottom
|
|
||||||
}
|
|
||||||
|
|
||||||
# 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
|
|
||||||
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 {
|
input-field {
|
||||||
monitor =
|
monitor =
|
||||||
size = 300, 60
|
size = 200, 50
|
||||||
shadow_passes = 1
|
outline_thickness = 1
|
||||||
rounding = 20
|
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||||
outline_thickness = 0
|
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
|
||||||
dots_size = 0.2
|
dots_center = true
|
||||||
dots_spacing = 0.2
|
outer_color = rgb(000000)
|
||||||
dots_center = true
|
inner_color = rgb(200, 200, 200)
|
||||||
outer_color = $base100
|
font_color = rgb(10, 10, 10)
|
||||||
inner_color = $base100
|
fade_on_empty = true
|
||||||
font_color = $text
|
placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty.
|
||||||
fade_on_empty = false
|
hide_input = false
|
||||||
placeholder_text = <span foreground="##$textAlpha"><i>Input password...</i></span>
|
position = 0, -20
|
||||||
hide_input = false
|
halign = center
|
||||||
check_color = $info
|
valign = center
|
||||||
fail_color = $error
|
|
||||||
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
|
|
||||||
capslock_color = $warning
|
|
||||||
position = 0, -90
|
|
||||||
halign = center
|
|
||||||
valign = center
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# QUOTE
|
|
||||||
label {
|
label {
|
||||||
monitor =
|
monitor =
|
||||||
shadow_passes = 1
|
text = Enter your password to unlock
|
||||||
text = cmd[update:60000] echo "<i>$(fortune)</i>"
|
color = rgba(200, 200, 200, 1.0)
|
||||||
color = $text
|
font_size = 25
|
||||||
font_size = 12
|
font_family = Noto Sans
|
||||||
font_family = $font
|
|
||||||
position = 0, 200
|
position = 0, 200
|
||||||
halign = center
|
halign = center
|
||||||
valign = bottom
|
valign = center
|
||||||
}
|
}
|
||||||
|
|
|
||||||
11
hypr/scripts/start-swaync.sh
Normal file
11
hypr/scripts/start-swaync.sh
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/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
|
||||||
12
hypr/scripts/start-waybar.sh
Executable file
12
hypr/scripts/start-waybar.sh
Executable file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/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
46
install.sh
|
|
@ -1,46 +0,0 @@
|
||||||
#!/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
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
{
|
|
||||||
"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": ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
{
|
|
||||||
"powermenu": {
|
|
||||||
"actions": [
|
|
||||||
{
|
|
||||||
"text": " Logout",
|
|
||||||
"command": "hyprctl dispatch exit"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": " Reboot",
|
|
||||||
"command": "systemctl reboot"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": " Shutdown",
|
|
||||||
"command": "systemctl poweroff"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"wallpaper": {
|
|
||||||
"directory": "~/Wallpapers/"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
{
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
{
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
{
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
{
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
[tools]
|
|
||||||
go = "latest"
|
|
||||||
node = "20"
|
|
||||||
rust = "latest"
|
|
||||||
bun = "latest"
|
|
||||||
dotnet = "8"
|
|
||||||
java = "latest"
|
|
||||||
8
nixos/devices.nix
Normal file
8
nixos/devices.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
hardware.opentabletdriver = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.opentabletdriver;
|
||||||
|
daemon.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
8
nixos/gaming.nix
Normal file
8
nixos/gaming.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{ 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
|
||||||
|
};
|
||||||
|
}
|
||||||
41
nixos/hardware-configuration.nix
Normal file
41
nixos/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
# 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;
|
||||||
|
}
|
||||||
13
nixos/home.nix
Normal file
13
nixos/home.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ config, ... }:
|
||||||
|
{
|
||||||
|
nix.settings = {
|
||||||
|
experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
warn-dirty = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.stateVersion = "24.05";
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
||||||
44
nixos/hyprland.nix
Normal file
44
nixos/hyprland.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
{ 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";
|
||||||
|
}
|
||||||
14
nixos/media.nix
Normal file
14
nixos/media.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
wireplumber.enable = true;
|
||||||
|
};
|
||||||
|
services.playerctld.enable = true;
|
||||||
|
services.plex = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
13
nixos/network.nix
Normal file
13
nixos/network.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
# 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;
|
||||||
|
}
|
||||||
95
nixos/nixos.nix
Normal file
95
nixos/nixos.nix
Normal file
|
|
@ -0,0 +1,95 @@
|
||||||
|
###############################################################################
|
||||||
|
# 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?
|
||||||
|
|
||||||
|
}
|
||||||
42
nixos/nvidia.nix
Normal file
42
nixos/nvidia.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
{ 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;
|
||||||
|
};
|
||||||
|
}
|
||||||
12
nixos/sddm.nix
Normal file
12
nixos/sddm.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ 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;
|
||||||
|
};
|
||||||
|
}
|
||||||
4
nixos/security.nix
Normal file
4
nixos/security.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
security.polkit.enable = true;
|
||||||
|
}
|
||||||
5
nixos/services.nix
Normal file
5
nixos/services.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
# SSH
|
||||||
|
services.openssh.enable = true;
|
||||||
|
}
|
||||||
10
nixos/shell.nix
Normal file
10
nixos/shell.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ 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 ];
|
||||||
|
};
|
||||||
|
}
|
||||||
20
nixos/system.nix
Normal file
20
nixos/system.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
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
1
nvim
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit cb60a3cd51f58ea6a8e0e2aa6cd576c846cd017c
|
|
||||||
8
nvim/.gitignore
vendored
Normal file
8
nvim/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
tt.*
|
||||||
|
.tests
|
||||||
|
doc/tags
|
||||||
|
debug
|
||||||
|
.repro
|
||||||
|
foo.*
|
||||||
|
*.log
|
||||||
|
data
|
||||||
15
nvim/.neoconf.json
Normal file
15
nvim/.neoconf.json
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"neodev": {
|
||||||
|
"library": {
|
||||||
|
"enabled": true,
|
||||||
|
"plugins": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neoconf": {
|
||||||
|
"plugins": {
|
||||||
|
"lua_ls": {
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
201
nvim/LICENSE
Normal file
201
nvim/LICENSE
Normal file
|
|
@ -0,0 +1,201 @@
|
||||||
|
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.
|
||||||
4
nvim/README.md
Normal file
4
nvim/README.md
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
# 💤 LazyVim
|
||||||
|
|
||||||
|
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
|
||||||
|
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
|
||||||
2
nvim/init.lua
Normal file
2
nvim/init.lua
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||||
|
require("config.lazy")
|
||||||
81
nvim/lazy-lock.json
Normal file
81
nvim/lazy-lock.json
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
{
|
||||||
|
"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" }
|
||||||
|
}
|
||||||
42
nvim/lazyvim.json
Normal file
42
nvim/lazyvim.json
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"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
|
||||||
|
}
|
||||||
3
nvim/lua/config/autocmds.lua
Normal file
3
nvim/lua/config/autocmds.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
-- 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
|
||||||
3
nvim/lua/config/keymaps.lua
Normal file
3
nvim/lua/config/keymaps.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
-- 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
|
||||||
50
nvim/lua/config/lazy.lua
Normal file
50
nvim/lua/config/lazy.lua
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
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",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
3
nvim/lua/config/options.lua
Normal file
3
nvim/lua/config/options.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
-- 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
|
||||||
93
nvim/lua/plugins/clang.lua
Normal file
93
nvim/lua/plugins/clang.lua
Normal file
|
|
@ -0,0 +1,93 @@
|
||||||
|
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,
|
||||||
|
},
|
||||||
|
}
|
||||||
17
nvim/lua/plugins/colorscheme.lua
Normal file
17
nvim/lua/plugins/colorscheme.lua
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
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",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
193
nvim/lua/plugins/example.lua
Normal file
193
nvim/lua/plugins/example.lua
Normal file
|
|
@ -0,0 +1,193 @@
|
||||||
|
-- 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",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
2
nvim/lua/plugins/init.lua
Normal file
2
nvim/lua/plugins/init.lua
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
return {
|
||||||
|
}
|
||||||
16
nvim/lua/plugins/meson.lua
Normal file
16
nvim/lua/plugins/meson.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
opts = { ensure_installed = { "meson" } },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
opts = {
|
||||||
|
servers = {
|
||||||
|
mesonlsp = {
|
||||||
|
mason = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
16
nvim/lua/plugins/opengl.lua
Normal file
16
nvim/lua/plugins/opengl.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
opts = { ensure_installed = { "glsl" } },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
opts = {
|
||||||
|
servers = {
|
||||||
|
glslls = {
|
||||||
|
mason = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
3
nvim/stylua.toml
Normal file
3
nvim/stylua.toml
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
indent_type = "Spaces"
|
||||||
|
indent_width = 2
|
||||||
|
column_width = 120
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit 618fc22e803418d922b303817c8af5d1988ecbb7
|
|
||||||
102
rofi/applets/bin/appasroot.sh
Executable file
102
rofi/applets/bin/appasroot.sh
Executable file
|
|
@ -0,0 +1,102 @@
|
||||||
|
#!/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
|
||||||
|
|
||||||
104
rofi/applets/bin/apps.sh
Executable file
104
rofi/applets/bin/apps.sh
Executable file
|
|
@ -0,0 +1,104 @@
|
||||||
|
#!/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