Major cleanup for pop os minimal config.
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
config/fish/conf.d
|
config/fish/conf.d
|
||||||
config/fish/functions
|
config/fish/functions
|
||||||
config/fish/fish_variables
|
config/fish/fish_variables
|
||||||
|
config/fish/generated_completions/
|
||||||
config/vim/autoload/
|
config/vim/autoload/
|
||||||
config/vim/pack/
|
config/vim/pack/
|
||||||
config/vim/.netrwhist
|
config/vim/.netrwhist
|
||||||
|
|||||||
-120
@@ -1,120 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
if [ "$EUID" -eq 0 ]; then
|
|
||||||
echo "Please run this script as your normal user, not with sudo."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "==> Updating system..."
|
|
||||||
sudo xbps-install -Syu
|
|
||||||
|
|
||||||
echo "==> Installing KDE and desktop essentials..."
|
|
||||||
|
|
||||||
sudo xbps-install -y \
|
|
||||||
kde-plasma \
|
|
||||||
kde-baseapps \
|
|
||||||
NetworkManager \
|
|
||||||
sddm \
|
|
||||||
xorg-minimal \
|
|
||||||
xorg-server-xwayland \
|
|
||||||
mesa-dri \
|
|
||||||
qt6-wayland \
|
|
||||||
kwayland \
|
|
||||||
elogind \
|
|
||||||
pipewire \
|
|
||||||
alsa-pipewire \
|
|
||||||
libspa-bluetooth \
|
|
||||||
bluez \
|
|
||||||
xdg-desktop-portal \
|
|
||||||
xdg-desktop-portal-kde \
|
|
||||||
git \
|
|
||||||
curl \
|
|
||||||
neovim
|
|
||||||
|
|
||||||
echo "==> Disabling conflicting DHCP service..."
|
|
||||||
|
|
||||||
if [ -e /var/service/dhcpcd ]; then
|
|
||||||
sudo sv down dhcpcd || true
|
|
||||||
sudo rm -f /var/service/dhcpcd
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "==> Enabling system services..."
|
|
||||||
|
|
||||||
enable_service() {
|
|
||||||
service="$1"
|
|
||||||
|
|
||||||
if [ ! -e "/var/service/$service" ]; then
|
|
||||||
sudo ln -s "/etc/sv/$service" "/var/service/$service"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
enable_service dbus
|
|
||||||
enable_service NetworkManager
|
|
||||||
enable_service sddm
|
|
||||||
enable_service bluetoothd
|
|
||||||
|
|
||||||
echo "==> Adding user to required groups..."
|
|
||||||
|
|
||||||
sudo usermod -aG network,audio,video,bluetooth "$USER"
|
|
||||||
|
|
||||||
echo "==> Configuring ALSA for PipeWire..."
|
|
||||||
|
|
||||||
sudo mkdir -p /etc/alsa/conf.d
|
|
||||||
|
|
||||||
sudo ln -sf \
|
|
||||||
/usr/share/alsa/alsa.conf.d/50-pipewire.conf \
|
|
||||||
/etc/alsa/conf.d/50-pipewire.conf
|
|
||||||
|
|
||||||
sudo ln -sf \
|
|
||||||
/usr/share/alsa/alsa.conf.d/99-pipewire-default.conf \
|
|
||||||
/etc/alsa/conf.d/99-pipewire-default.conf
|
|
||||||
|
|
||||||
echo "==> Configuring PipeWire PulseAudio compatibility..."
|
|
||||||
|
|
||||||
sudo mkdir -p /etc/pipewire/pipewire.conf.d
|
|
||||||
|
|
||||||
sudo ln -sf \
|
|
||||||
/usr/share/examples/pipewire/20-pipewire-pulse.conf \
|
|
||||||
/etc/pipewire/pipewire.conf.d/20-pipewire-pulse.conf
|
|
||||||
|
|
||||||
echo "==> Enabling PipeWire desktop autostart..."
|
|
||||||
|
|
||||||
mkdir -p "$HOME/.config/autostart"
|
|
||||||
|
|
||||||
ln -sf \
|
|
||||||
/usr/share/applications/pipewire.desktop \
|
|
||||||
"$HOME/.config/autostart/pipewire.desktop"
|
|
||||||
|
|
||||||
echo "==> Reconfiguring packages..."
|
|
||||||
|
|
||||||
sudo xbps-reconfigure -fa
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "========================================"
|
|
||||||
echo " Void KDE bootstrap complete"
|
|
||||||
echo "========================================"
|
|
||||||
echo
|
|
||||||
echo "Installed:"
|
|
||||||
echo " KDE Plasma"
|
|
||||||
echo " SDDM"
|
|
||||||
echo " Plasma Wayland"
|
|
||||||
echo " NetworkManager"
|
|
||||||
echo " PipeWire + WirePlumber"
|
|
||||||
echo " Bluetooth"
|
|
||||||
echo " XWayland"
|
|
||||||
echo " Neovim"
|
|
||||||
echo
|
|
||||||
echo "Enabled services:"
|
|
||||||
sudo sv status dbus NetworkManager bluetoothd sddm
|
|
||||||
echo
|
|
||||||
echo "NOTE: elogind is installed but intentionally"
|
|
||||||
echo "not enabled as a runit service."
|
|
||||||
echo
|
|
||||||
echo "Reboot, then select 'Plasma (Wayland)' in SDDM."
|
|
||||||
echo
|
|
||||||
echo " sudo reboot"
|
|
||||||
echo
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,184 +0,0 @@
|
|||||||
# ==============================================================================
|
|
||||||
# ENVIRONMENT VARIABLES
|
|
||||||
# ==============================================================================
|
|
||||||
|
|
||||||
export XDG_CONFIG_HOME="$HOME/.config"
|
|
||||||
export XDG_DATA_HOME="$HOME/.local/share"
|
|
||||||
export XDG_CACHE_HOME="$HOME/.cache"
|
|
||||||
export XDG_STATE_HOME="$HOME/.local/state"
|
|
||||||
export GOOGLE_API_KEY="no"
|
|
||||||
export GOOGLE_DEFAULT_CLIENT_ID="no"
|
|
||||||
export GOOGLE_DEFAULT_CLIENT_SECRET="no"
|
|
||||||
|
|
||||||
# Core settings
|
|
||||||
export EDITOR="vim"
|
|
||||||
export VISUAL="vim"
|
|
||||||
export MANPAGER="vim +Man!"
|
|
||||||
export BROWSER="firefox"
|
|
||||||
export COLORTERM="truecolor"
|
|
||||||
|
|
||||||
# Development
|
|
||||||
export DEBUG=1
|
|
||||||
export GOPATH="$HOME/.go"
|
|
||||||
export GOCACHE="$HOME/.go/cache"
|
|
||||||
export GOROOT=/usr/local/go
|
|
||||||
export PATH="/usr/local/go/bin:$GOPATH/bin:$PATH"
|
|
||||||
|
|
||||||
# Direnv
|
|
||||||
eval "$(direnv hook bash)"
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# FZF configuration
|
|
||||||
# ==============================================================================
|
|
||||||
export FZF_DEFAULT_OPTS="
|
|
||||||
--height 40%
|
|
||||||
--layout=reverse
|
|
||||||
--border
|
|
||||||
--ansi
|
|
||||||
--preview-window=down:30%
|
|
||||||
--bind 'ctrl-d:preview-page-down,ctrl-u:preview-page-up'
|
|
||||||
--color=fg:#ffffff,header:#f38ba8,info:#cba6ac,pointer:#f5e0dc
|
|
||||||
--color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6ac,hl+:#f38ba8"
|
|
||||||
|
|
||||||
export FZF_DEFAULT_COMMAND='fdfind --exclude={.git,.cache,.xmake,.zig-cache,build,tmp,node_modules,elpa} --type f -H'
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# PATH CONFIGURATION
|
|
||||||
# ==============================================================================
|
|
||||||
# bash has no fish_add_path (which dedupes + checks existence), so roll a
|
|
||||||
# small helper that does the same thing.
|
|
||||||
add_to_path() {
|
|
||||||
if [ -d "$1" ] && [[ ":$PATH:" != *":$1:"* ]]; then
|
|
||||||
PATH="$1:$PATH"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
add_to_path /var/lib/flatpak/exports/bin
|
|
||||||
add_to_path /usr/local/bin
|
|
||||||
add_to_path /usr/local/go/bin
|
|
||||||
add_to_path "$GOPATH/bin"
|
|
||||||
add_to_path "$HOME/bin"
|
|
||||||
add_to_path "$HOME/.local/bin"
|
|
||||||
add_to_path "$HOME/.local/share/flatpak/exports/bin"
|
|
||||||
add_to_path "$HOME/.npm-global/bin"
|
|
||||||
add_to_path "$HOME/.odin/"
|
|
||||||
|
|
||||||
export PATH
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# AUTO COMPLETE
|
|
||||||
# ==============================================================================
|
|
||||||
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
|
||||||
. /usr/share/bash-completion/bash_completion
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# ALIASES
|
|
||||||
# ==============================================================================
|
|
||||||
# Void linux helpers
|
|
||||||
# System update (sync + update all packages)
|
|
||||||
alias void-update='sudo xbps-install -Su'
|
|
||||||
# Remove orphaned dependencies + clean cache
|
|
||||||
alias void-clean='sudo xbps-remove -Oo'
|
|
||||||
# List explicitly installed (manual) packages
|
|
||||||
alias void-installed='xbps-query -m'
|
|
||||||
# List all installed packages
|
|
||||||
alias void-installedall='xbps-query -l'
|
|
||||||
# Show which package owns a file
|
|
||||||
alias void-owns='xbps-query -o'
|
|
||||||
# Remove a package and its unused deps in one go (usage: purge <pkgname>)
|
|
||||||
alias void-purge='sudo xbps-remove -R'
|
|
||||||
# Install a package (usage: install <pkgname>)
|
|
||||||
alias void-install='sudo xbps-install'
|
|
||||||
# Remove a package (usage: remove <pkgname>)
|
|
||||||
alias void-remove='sudo xbps-remove'
|
|
||||||
# Search for a package
|
|
||||||
alias void-search='xbps-query -Rs'
|
|
||||||
# Show info about a package
|
|
||||||
alias void-query='xbps-query -R'
|
|
||||||
|
|
||||||
# List commands
|
|
||||||
alias ls='ls -lh --color=auto --group-directories-first'
|
|
||||||
alias ll='ls -lAh --color=auto --group-directories-first'
|
|
||||||
alias la='ls -la --color=auto --group-directories-first'
|
|
||||||
alias l='ls -CF --color=auto'
|
|
||||||
alias tree='tree --dirsfirst -C'
|
|
||||||
|
|
||||||
# Safety aliases
|
|
||||||
alias rm='rm -I --preserve-root'
|
|
||||||
alias mv='mv -i'
|
|
||||||
alias cp='cp -i'
|
|
||||||
alias ln='ln -i'
|
|
||||||
|
|
||||||
# System information
|
|
||||||
alias df='df -h'
|
|
||||||
alias du='du -h'
|
|
||||||
alias free='free -h'
|
|
||||||
alias bat='bat --theme="ansi" --paging=never'
|
|
||||||
|
|
||||||
# Application shortcuts
|
|
||||||
alias :q='exit'
|
|
||||||
alias files='thunar .'
|
|
||||||
alias fetch='pfetch'
|
|
||||||
|
|
||||||
# Custom shortcuts
|
|
||||||
alias v='vim'
|
|
||||||
alias vi='vim'
|
|
||||||
alias reload='source ~/.bashrc'
|
|
||||||
alias dots='cd ~/.dotfiles && vim'
|
|
||||||
alias doti='bash ~/.dotfiles/install.sh -i'
|
|
||||||
alias dotl='bash ~/.dotfiles/install.sh -l'
|
|
||||||
alias myip='curl ipinfo.io/ip; echo ""'
|
|
||||||
alias query='xbps-query -Rs'
|
|
||||||
alias commits='git log origin/main..HEAD --oneline'
|
|
||||||
|
|
||||||
## Basic project picker using fzf
|
|
||||||
pp() {
|
|
||||||
local project
|
|
||||||
project=$(
|
|
||||||
find ~/Projects -mindepth 1 -maxdepth 1 -type d |
|
|
||||||
awk -F/ '{print $NF "\t" $0}' |
|
|
||||||
fzf --with-nth=1
|
|
||||||
)
|
|
||||||
|
|
||||||
[ -z "$project" ] && return
|
|
||||||
|
|
||||||
project=$(echo "$project" | cut -f2)
|
|
||||||
cd "$project" && clear
|
|
||||||
}
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# PROMPT
|
|
||||||
# ==============================================================================
|
|
||||||
# bash has no built-in __fish_git_prompt_* equivalent, so we write a small
|
|
||||||
# git-branch function and build PS1 by hand.
|
|
||||||
|
|
||||||
parse_git_branch() {
|
|
||||||
git branch 2>/dev/null | sed -n '/\* /s///p'
|
|
||||||
}
|
|
||||||
|
|
||||||
git_prompt_info() {
|
|
||||||
local branch
|
|
||||||
branch=$(parse_git_branch)
|
|
||||||
[ -z "$branch" ] && return
|
|
||||||
|
|
||||||
local esc=$'\033'
|
|
||||||
local status marker
|
|
||||||
status=$(git status --porcelain 2>/dev/null)
|
|
||||||
|
|
||||||
if [ -n "$status" ]; then
|
|
||||||
if echo "$status" | grep -q '^[MADRC]'; then
|
|
||||||
marker=" ${esc}[33m●${esc}[0m " # staged - yellow ●
|
|
||||||
elif echo "$status" | grep -q '^??'; then
|
|
||||||
marker="" # untracked - no char
|
|
||||||
else
|
|
||||||
marker=" ${esc}[31m+${esc}[0m " # dirty - red +
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
marker=" ${esc}[1;32m${esc}[0m " # clean - green
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo " ${esc}[1;35m(${branch})${esc}[0m${marker}"
|
|
||||||
}
|
|
||||||
|
|
||||||
PS1='\[\033[32m\]\u\[\033[0m\]@\[\033[34m\]\h\[\033[0m\]:\[\033[36m\]\w\[\033[0m\]$(git_prompt_info)\$ '
|
|
||||||
@@ -0,0 +1,134 @@
|
|||||||
|
# ==============================================================================
|
||||||
|
# ENVIRONMENT VARIABLES
|
||||||
|
# ==============================================================================
|
||||||
|
set -gx XDG_CONFIG_HOME "$HOME/.config"
|
||||||
|
set -gx XDG_DATA_HOME "$HOME/.local/share"
|
||||||
|
set -gx XDG_CACHE_HOME "$HOME/.cache"
|
||||||
|
set -gx XDG_STATE_HOME "$HOME/.local/state"
|
||||||
|
set -gx GOOGLE_API_KEY "no"
|
||||||
|
set -gx GOOGLE_DEFAULT_CLIENT_ID "no"
|
||||||
|
set -gx GOOGLE_DEFAULT_CLIENT_SECRET "no"
|
||||||
|
|
||||||
|
# Core settings
|
||||||
|
set -gx EDITOR "vim"
|
||||||
|
set -gx VISUAL "vim"
|
||||||
|
set -gx MANPAGER "vim +Man!"
|
||||||
|
set -gx BROWSER "firefox"
|
||||||
|
set -gx COLORTERM "truecolor"
|
||||||
|
|
||||||
|
# Development
|
||||||
|
set -gx DEBUG 1
|
||||||
|
set -gx GOPATH "$HOME/.go"
|
||||||
|
set -gx GOCACHE "$HOME/.go/cache"
|
||||||
|
set -gx GOROOT /usr/local/go
|
||||||
|
|
||||||
|
# Direnv
|
||||||
|
direnv hook fish | source
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# FZF configuration
|
||||||
|
# ==============================================================================
|
||||||
|
set -gx FZF_DEFAULT_OPTS "
|
||||||
|
--height 40%
|
||||||
|
--layout=reverse
|
||||||
|
--border
|
||||||
|
--ansi
|
||||||
|
--preview-window=down:30%
|
||||||
|
--bind 'ctrl-d:preview-page-down,ctrl-u:preview-page-up'
|
||||||
|
--color=fg:#ffffff,header:#f38ba8,info:#cba6ac,pointer:#f5e0dc
|
||||||
|
--color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6ac,hl+:#f38ba8"
|
||||||
|
|
||||||
|
set -gx FZF_DEFAULT_COMMAND "fdfind --exclude={.git,.cache,.xmake,.zig-cache,build,tmp,node_modules,elpa} --type f -H"
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# PATH CONFIGURATION
|
||||||
|
# ==============================================================================
|
||||||
|
# fish_add_path dedupes + checks existence natively, no helper needed
|
||||||
|
fish_add_path /var/lib/flatpak/exports/bin
|
||||||
|
fish_add_path /usr/local/bin
|
||||||
|
fish_add_path /usr/local/go/bin
|
||||||
|
fish_add_path $GOPATH/bin
|
||||||
|
fish_add_path $HOME/bin
|
||||||
|
fish_add_path $HOME/.local/bin
|
||||||
|
fish_add_path $HOME/.local/share/flatpak/exports/bin
|
||||||
|
fish_add_path $HOME/.npm-global/bin
|
||||||
|
fish_add_path $HOME/.odin/
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# ALIASES
|
||||||
|
# ==============================================================================
|
||||||
|
# List commands
|
||||||
|
alias ls 'ls -lh --color=auto --group-directories-first'
|
||||||
|
alias ll 'ls -lAh --color=auto --group-directories-first'
|
||||||
|
alias la 'ls -la --color=auto --group-directories-first'
|
||||||
|
alias l 'ls -CF --color=auto'
|
||||||
|
alias tree 'tree --dirsfirst -C'
|
||||||
|
|
||||||
|
# Safety aliases
|
||||||
|
alias rm 'rm -I --preserve-root'
|
||||||
|
alias mv 'mv -i'
|
||||||
|
alias cp 'cp -i'
|
||||||
|
alias ln 'ln -i'
|
||||||
|
|
||||||
|
# System information
|
||||||
|
alias df 'df -h'
|
||||||
|
alias du 'du -h'
|
||||||
|
alias free 'free -h'
|
||||||
|
alias bat 'bat --theme="ansi" --paging=never'
|
||||||
|
|
||||||
|
# Application shortcuts
|
||||||
|
alias :q 'exit'
|
||||||
|
alias files 'thunar .'
|
||||||
|
alias fetch 'pfetch'
|
||||||
|
|
||||||
|
# Custom shortcuts
|
||||||
|
alias reload 'source ~/.config/fish/config.fish'
|
||||||
|
alias dots 'cd ~/.dotfiles && vi'
|
||||||
|
alias doti 'bash ~/.dotfiles/install.sh -i'
|
||||||
|
alias dotl 'bash ~/.dotfiles/install.sh -l'
|
||||||
|
alias myip 'curl ipinfo.io/ip; echo ""'
|
||||||
|
alias query 'xbps-query -Rs'
|
||||||
|
alias commits 'git log origin/main..HEAD --oneline'
|
||||||
|
|
||||||
|
## Basic project picker using fzf
|
||||||
|
function pp
|
||||||
|
set -l project (find ~/Projects -mindepth 1 -maxdepth 1 -type d | awk -F/ '{print $NF "\t" $0}' | fzf --with-nth=1)
|
||||||
|
|
||||||
|
test -z "$project"; and return
|
||||||
|
|
||||||
|
set project (echo $project | cut -f2)
|
||||||
|
cd $project; and clear
|
||||||
|
end
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# GIT PROMPT CONFIG
|
||||||
|
# (used by fish_git_prompt, called from fish_prompt.fish below)
|
||||||
|
# ==============================================================================
|
||||||
|
set -g __fish_git_prompt_show_informative_status
|
||||||
|
set -g __fish_git_prompt_char_stagedstate '●'
|
||||||
|
set -g __fish_git_prompt_char_dirtystate '+'
|
||||||
|
set -g __fish_git_prompt_char_untrackedstate ''
|
||||||
|
set -g __fish_git_prompt_color_branch magenta
|
||||||
|
set -g __fish_git_prompt_color_stagedstate yellow
|
||||||
|
set -g __fish_git_prompt_color_dirtystate red
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# PROMPT
|
||||||
|
# ==============================================================================
|
||||||
|
function fish_prompt
|
||||||
|
set_color green
|
||||||
|
echo -n (whoami)
|
||||||
|
set_color normal
|
||||||
|
echo -n '@'
|
||||||
|
set_color blue
|
||||||
|
echo -n (prompt_hostname)
|
||||||
|
set_color normal
|
||||||
|
echo -n ':'
|
||||||
|
set_color cyan
|
||||||
|
echo -n (prompt_pwd)
|
||||||
|
set_color normal
|
||||||
|
|
||||||
|
fish_git_prompt
|
||||||
|
|
||||||
|
echo -n '$ '
|
||||||
|
end
|
||||||
@@ -3,12 +3,8 @@
|
|||||||
)
|
)
|
||||||
|
|
||||||
;; HHKB Professional Classic (Linux)
|
;; HHKB Professional Classic (Linux)
|
||||||
;;
|
|
||||||
;; Small key left of Space = Muhenkan
|
;; Small key left of Space = Muhenkan
|
||||||
;; Large key left of Space = Left Alt
|
;; Large key left of Space = Left Alt
|
||||||
;;
|
|
||||||
;; AwesomeWM:
|
|
||||||
;; modkey = "Mod4"
|
|
||||||
|
|
||||||
(defsrc
|
(defsrc
|
||||||
esc 1 2 3 4 5 6 7 8 9 0 - = \ grv
|
esc 1 2 3 4 5 6 7 8 9 0 - = \ grv
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
# ============================================================================
|
|
||||||
# Kitty Configuration
|
|
||||||
# ============================================================================
|
|
||||||
enable_audio_bell no
|
|
||||||
term xterm-256color
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
# Font
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
font_family JetBrainsMono Nerd Font
|
|
||||||
font_size 12.0
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
# Window
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
window_padding_width 10
|
|
||||||
window_padding_height 10
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
# Cursor
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
cursor_shape beam
|
|
||||||
cursor_blink_interval 0.5
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
# Layout
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
enabled_layouts splits
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
# Splits
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Vertical split
|
|
||||||
map ctrl+v launch --location=vsplit --cwd=current
|
|
||||||
|
|
||||||
# Close current kitty split
|
|
||||||
map ctrl+q close_window
|
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
# Colors
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
foreground #e8e8e8
|
|
||||||
background #121212
|
|
||||||
cursor #D4D4D4
|
|
||||||
cursor_text_color #1F1F1F
|
|
||||||
color0 #1F1F1F
|
|
||||||
color1 #F44747
|
|
||||||
color2 #6A9955
|
|
||||||
color3 #DCDCAA
|
|
||||||
color4 #569CD6
|
|
||||||
color5 #C586C0
|
|
||||||
color6 #56B6C2
|
|
||||||
color7 #D4D4D4
|
|
||||||
color8 #808080
|
|
||||||
@@ -18,7 +18,6 @@ set number
|
|||||||
set relativenumber
|
set relativenumber
|
||||||
set wildmenu
|
set wildmenu
|
||||||
set showcmd
|
set showcmd
|
||||||
colorscheme jellybeans
|
|
||||||
|
|
||||||
" ----------------------------------------------------------------------------
|
" ----------------------------------------------------------------------------
|
||||||
" Transparent UI
|
" Transparent UI
|
||||||
@@ -59,19 +58,6 @@ set completeopt=menu,menuone,noselect
|
|||||||
syntax on
|
syntax on
|
||||||
filetype plugin indent on
|
filetype plugin indent on
|
||||||
|
|
||||||
" ----------------------------------------------------------------------------
|
|
||||||
" fzf
|
|
||||||
" ----------------------------------------------------------------------------
|
|
||||||
if executable('rg')
|
|
||||||
let $FZF_DEFAULT_COMMAND =
|
|
||||||
\ 'rg --files --hidden --follow --glob "!.git/*"'
|
|
||||||
endif
|
|
||||||
|
|
||||||
nnoremap <C-p> :Files<CR>
|
|
||||||
nnoremap <C-o> :Buffers<CR>
|
|
||||||
nnoremap <C-s> :Rg<CR>
|
|
||||||
nnoremap <C-b> :Build<CR>
|
|
||||||
|
|
||||||
" ----------------------------------------------------------------------------
|
" ----------------------------------------------------------------------------
|
||||||
" Search
|
" Search
|
||||||
" ----------------------------------------------------------------------------
|
" ----------------------------------------------------------------------------
|
||||||
@@ -88,72 +74,6 @@ nnoremap <C-k> <C-w>k
|
|||||||
nnoremap <C-l> <C-w>l
|
nnoremap <C-l> <C-w>l
|
||||||
nnoremap <C-x> <C-w>q
|
nnoremap <C-x> <C-w>q
|
||||||
|
|
||||||
" ----------------------------------------------------------------------------
|
|
||||||
" LSP - OLS
|
|
||||||
" ----------------------------------------------------------------------------
|
|
||||||
packadd lsp
|
|
||||||
call LspOptionsSet(#{
|
|
||||||
\ autoComplete: v:false,
|
|
||||||
\ autoHighlight: v:false,
|
|
||||||
\ autoHighlightDiags: v:true,
|
|
||||||
\ autoPopulateDiags: v:true,
|
|
||||||
\ semanticHighlight: v:false,
|
|
||||||
\ showSignature: v:false,
|
|
||||||
\ completionInPreview: v:false,
|
|
||||||
\ condensedCompletionMenu: v:true,
|
|
||||||
\ })
|
|
||||||
|
|
||||||
if executable('ols')
|
|
||||||
call LspAddServer([#{
|
|
||||||
\ name: 'ols',
|
|
||||||
\ filetype: ['odin'],
|
|
||||||
\ path: 'ols',
|
|
||||||
\ args: ['--stdio'],
|
|
||||||
\ features: #{
|
|
||||||
\ diagnostic: v:false,
|
|
||||||
\ completion: v:true,
|
|
||||||
\ hover: v:true,
|
|
||||||
\ signatureHelp: v:false,
|
|
||||||
\ documentHighlight: v:true,
|
|
||||||
\ semanticHighlight: v:true,
|
|
||||||
\ },
|
|
||||||
\ }])
|
|
||||||
endif
|
|
||||||
|
|
||||||
command! Action LspCodeAction
|
|
||||||
command! Rename LspRename
|
|
||||||
|
|
||||||
autocmd FileType odin setlocal omnifunc=LspOmniFunc
|
|
||||||
inoremap <C-@> <C-X><C-O>
|
|
||||||
nnoremap K :LspHover<CR>
|
|
||||||
|
|
||||||
" ----------------------------------------------------------------------------
|
|
||||||
" Go to Definition
|
|
||||||
" ----------------------------------------------------------------------------
|
|
||||||
function! GotoDefinitionSplit() abort
|
|
||||||
vsplit
|
|
||||||
LspGotoDefinition
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
nnoremap gd :call GotoDefinitionSplit()<CR>
|
|
||||||
|
|
||||||
" ----------------------------------------------------------------------------
|
|
||||||
" Diagnostics
|
|
||||||
" ----------------------------------------------------------------------------
|
|
||||||
function! ToggleDiagnostics() abort
|
|
||||||
for l:win in getwininfo()
|
|
||||||
if get(l:win, 'quickfix', 0)
|
|
||||||
execute l:win.winnr .. 'close'
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
endfor
|
|
||||||
|
|
||||||
LspDiag show
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
command! Diagnostics call ToggleDiagnostics()
|
|
||||||
nnoremap <C-i> :Diagnostics<CR>
|
|
||||||
|
|
||||||
" ----------------------------------------------------------------------------
|
" ----------------------------------------------------------------------------
|
||||||
" Netrw / File Tree
|
" Netrw / File Tree
|
||||||
" ----------------------------------------------------------------------------
|
" ----------------------------------------------------------------------------
|
||||||
@@ -164,39 +84,3 @@ let g:netrw_altv = 1
|
|||||||
let g:netrw_winsize = 33
|
let g:netrw_winsize = 33
|
||||||
let g:netrw_keepdir = 0
|
let g:netrw_keepdir = 0
|
||||||
nnoremap <C-e> :Lexplore<CR>
|
nnoremap <C-e> :Lexplore<CR>
|
||||||
|
|
||||||
" ----------------------------------------------------------------------------
|
|
||||||
" Build System
|
|
||||||
" ----------------------------------------------------------------------------
|
|
||||||
function! Build(...) abort
|
|
||||||
" Already in the build terminal → close it.
|
|
||||||
if get(b:, 'build_terminal', 0) && &buftype ==# 'terminal'
|
|
||||||
close
|
|
||||||
echo ''
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
|
|
||||||
if !filereadable('build.sh')
|
|
||||||
echohl WarningMsg
|
|
||||||
echo 'No build.sh found in current directory.'
|
|
||||||
echohl None
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
|
|
||||||
wall
|
|
||||||
|
|
||||||
let l:command = './build.sh'
|
|
||||||
|
|
||||||
if a:0 > 0
|
|
||||||
let l:command .= ' ' .. join(a:000, ' ')
|
|
||||||
endif
|
|
||||||
|
|
||||||
botright vsplit
|
|
||||||
execute 'vertical resize ' .. float2nr(&columns * 0.37)
|
|
||||||
execute 'terminal ++curwin ' .. l:command
|
|
||||||
|
|
||||||
let b:build_terminal = 1
|
|
||||||
tnoremap <buffer> <CR> <Nop>
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
command! -nargs=* Build call Build(<f-args>)
|
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"folders":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path": "."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,345 @@
|
|||||||
|
{
|
||||||
|
"auto_complete":
|
||||||
|
{
|
||||||
|
"selected_items":
|
||||||
|
[
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"buffers":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"file": "config/kitty/kitty.conf",
|
||||||
|
"file_size": 1776,
|
||||||
|
"file_write_time": 134326208246694386,
|
||||||
|
"settings":
|
||||||
|
{
|
||||||
|
"buffer_size": 1776,
|
||||||
|
"line_ending": "Unix"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file": "install.sh",
|
||||||
|
"file_size": 4218,
|
||||||
|
"file_write_time": 134327099681520306,
|
||||||
|
"settings":
|
||||||
|
{
|
||||||
|
"buffer_size": 4172,
|
||||||
|
"encoding": "UTF-8",
|
||||||
|
"line_ending": "Unix"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"build_system": "",
|
||||||
|
"build_system_choices":
|
||||||
|
[
|
||||||
|
],
|
||||||
|
"build_varint": "",
|
||||||
|
"command_palette":
|
||||||
|
{
|
||||||
|
"height": 0.0,
|
||||||
|
"last_filter": "",
|
||||||
|
"selected_items":
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"ter",
|
||||||
|
"Open Terminal Here…"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"termi",
|
||||||
|
"Open Terminal Here…"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"ins",
|
||||||
|
"Package Control: Install Package"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"theme",
|
||||||
|
"UI: Customize Theme"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"inst",
|
||||||
|
"Package Control: Install Package"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"install ",
|
||||||
|
"Package Control: Install Package"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"settings",
|
||||||
|
"Preferences: Settings"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"list p",
|
||||||
|
"Package Control: List Packages"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"insta",
|
||||||
|
"Package Control: Install Package"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"install pa",
|
||||||
|
"Package Control: Install Package"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"install",
|
||||||
|
"Package Control: Install Package"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"package",
|
||||||
|
"Enable Package Control"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"width": 0.0
|
||||||
|
},
|
||||||
|
"console":
|
||||||
|
{
|
||||||
|
"height": 124.0,
|
||||||
|
"history":
|
||||||
|
[
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"distraction_free":
|
||||||
|
{
|
||||||
|
"menu_visible": true,
|
||||||
|
"show_minimap": false,
|
||||||
|
"show_open_files": false,
|
||||||
|
"show_tabs": false,
|
||||||
|
"side_bar_visible": false,
|
||||||
|
"status_bar_visible": false
|
||||||
|
},
|
||||||
|
"expanded_folders":
|
||||||
|
[
|
||||||
|
"/home/jason/Projects/dotfiles"
|
||||||
|
],
|
||||||
|
"file_history":
|
||||||
|
[
|
||||||
|
"/home/jason/Projects/dotfiles/config/bash/bashrc",
|
||||||
|
"/home/jason/Projects/dotfiles/install.sh",
|
||||||
|
"/home/jason/Projects/dotfiles/README.md",
|
||||||
|
"/home/jason/Projects/dotfiles/scripts/installs/install_odin",
|
||||||
|
"/home/jason/Projects/dotfiles/scripts/installs/install_raylib_deps",
|
||||||
|
"/home/jason/Projects/dotfiles/scripts/installs/install_php",
|
||||||
|
"/home/jason/Projects/Godot/test-struct/src/entities/player/player.gd",
|
||||||
|
"/home/jason/Projects/raylib_reference/src/map.odin"
|
||||||
|
],
|
||||||
|
"find":
|
||||||
|
{
|
||||||
|
"height": 41.0
|
||||||
|
},
|
||||||
|
"find_in_files":
|
||||||
|
{
|
||||||
|
"height": 143.0,
|
||||||
|
"where_history":
|
||||||
|
[
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"find_state":
|
||||||
|
{
|
||||||
|
"case_sensitive": false,
|
||||||
|
"find_history":
|
||||||
|
[
|
||||||
|
],
|
||||||
|
"highlight": true,
|
||||||
|
"in_selection": false,
|
||||||
|
"preserve_case": false,
|
||||||
|
"regex": false,
|
||||||
|
"replace_history":
|
||||||
|
[
|
||||||
|
],
|
||||||
|
"reverse": false,
|
||||||
|
"scrollbar_highlights": true,
|
||||||
|
"show_context": true,
|
||||||
|
"use_buffer2": true,
|
||||||
|
"use_gitignore": true,
|
||||||
|
"whole_word": false,
|
||||||
|
"wrap": true
|
||||||
|
},
|
||||||
|
"groups":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"sheets":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"buffer": 0,
|
||||||
|
"file": "config/kitty/kitty.conf",
|
||||||
|
"semi_transient": false,
|
||||||
|
"settings":
|
||||||
|
{
|
||||||
|
"buffer_size": 1776,
|
||||||
|
"regions":
|
||||||
|
{
|
||||||
|
},
|
||||||
|
"selection":
|
||||||
|
[
|
||||||
|
[
|
||||||
|
101,
|
||||||
|
101
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"settings":
|
||||||
|
{
|
||||||
|
"lsp_uri": "file:///home/jason/Projects/dotfiles/config/kitty/kitty.conf",
|
||||||
|
"syntax": "Packages/Text/Plain text.tmLanguage"
|
||||||
|
},
|
||||||
|
"translation.x": 0.0,
|
||||||
|
"translation.y": 0.0,
|
||||||
|
"zoom_level": 1.0
|
||||||
|
},
|
||||||
|
"stack_index": 1,
|
||||||
|
"stack_multiselect": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buffer": 1,
|
||||||
|
"file": "install.sh",
|
||||||
|
"selected": true,
|
||||||
|
"semi_transient": false,
|
||||||
|
"settings":
|
||||||
|
{
|
||||||
|
"buffer_size": 4172,
|
||||||
|
"regions":
|
||||||
|
{
|
||||||
|
},
|
||||||
|
"selection":
|
||||||
|
[
|
||||||
|
[
|
||||||
|
12,
|
||||||
|
12
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"settings":
|
||||||
|
{
|
||||||
|
"lsp_uri": "file:///home/jason/Projects/dotfiles/install.sh",
|
||||||
|
"syntax": "Packages/ShellScript/Bash.sublime-syntax",
|
||||||
|
"tab_size": 4,
|
||||||
|
"translate_tabs_to_spaces": false
|
||||||
|
},
|
||||||
|
"translation.x": 0.0,
|
||||||
|
"translation.y": 0.0,
|
||||||
|
"zoom_level": 1.0
|
||||||
|
},
|
||||||
|
"stack_index": 0,
|
||||||
|
"stack_multiselect": false,
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"incremental_find":
|
||||||
|
{
|
||||||
|
"height": 41.0
|
||||||
|
},
|
||||||
|
"input":
|
||||||
|
{
|
||||||
|
"height": 54.0
|
||||||
|
},
|
||||||
|
"layout":
|
||||||
|
{
|
||||||
|
"cells":
|
||||||
|
[
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"cols":
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"rows":
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"menu_visible": false,
|
||||||
|
"output.LSP Log Panel":
|
||||||
|
{
|
||||||
|
"height": 0.0,
|
||||||
|
"history":
|
||||||
|
[
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"output.diagnostics":
|
||||||
|
{
|
||||||
|
"height": 0.0,
|
||||||
|
"history":
|
||||||
|
[
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"output.find_results":
|
||||||
|
{
|
||||||
|
"height": 0.0,
|
||||||
|
"history":
|
||||||
|
[
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"pinned_build_system": "",
|
||||||
|
"project": "dotfiles.sublime-project",
|
||||||
|
"replace":
|
||||||
|
{
|
||||||
|
"height": 78.0
|
||||||
|
},
|
||||||
|
"save_all_on_build": true,
|
||||||
|
"select_file":
|
||||||
|
{
|
||||||
|
"height": 0.0,
|
||||||
|
"last_filter": "",
|
||||||
|
"selected_items":
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"ins",
|
||||||
|
"install.sh"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"odin",
|
||||||
|
"scripts/installs/install_odin"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"rayl",
|
||||||
|
"scripts/installs/install_raylib_deps"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"install_odi",
|
||||||
|
"scripts/installs/install_odin"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"width": 0.0
|
||||||
|
},
|
||||||
|
"select_project":
|
||||||
|
{
|
||||||
|
"height": 500.0,
|
||||||
|
"last_filter": "",
|
||||||
|
"selected_items":
|
||||||
|
[
|
||||||
|
],
|
||||||
|
"width": 380.0
|
||||||
|
},
|
||||||
|
"select_symbol":
|
||||||
|
{
|
||||||
|
"height": 0.0,
|
||||||
|
"last_filter": "",
|
||||||
|
"selected_items":
|
||||||
|
[
|
||||||
|
],
|
||||||
|
"width": 0.0
|
||||||
|
},
|
||||||
|
"selected_group": 0,
|
||||||
|
"settings":
|
||||||
|
{
|
||||||
|
"_vintageous_reset_during_init": true,
|
||||||
|
"lsp_show_inlay_hints": false
|
||||||
|
},
|
||||||
|
"show_minimap": false,
|
||||||
|
"show_open_files": false,
|
||||||
|
"show_tabs": false,
|
||||||
|
"side_bar_visible": true,
|
||||||
|
"side_bar_width": 271.0,
|
||||||
|
"status_bar_visible": true,
|
||||||
|
"template_settings":
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
+14
-48
@@ -83,10 +83,9 @@ if [ "$DO_LINKS" = true ]; then
|
|||||||
CREATED=0
|
CREATED=0
|
||||||
SKIPPED=0
|
SKIPPED=0
|
||||||
|
|
||||||
link_file "$DOTFILES_DIR/config/bash/bashrc" "$HOME/.bashrc"
|
link_file "$DOTFILES_DIR/config/fish/config.fish" "$HOME/.config/fish/config.fish"
|
||||||
|
link_file "$DOTFILES_DIR/config/vim" "$HOME/.vim"
|
||||||
link_file "$DOTFILES_DIR/config/kanata" "$HOME/.config/kanata"
|
link_file "$DOTFILES_DIR/config/kanata" "$HOME/.config/kanata"
|
||||||
link_file "$DOTFILES_DIR/config/alacritty" "$HOME/.config/alacritty"
|
|
||||||
link_file "$DOTFILES_DIR/config/nvim" "$HOME/.config/nvim"
|
|
||||||
link_file "$DOTFILES_DIR/scripts/bin" "$HOME/.local/bin"
|
link_file "$DOTFILES_DIR/scripts/bin" "$HOME/.local/bin"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
@@ -111,53 +110,20 @@ if [ "$DO_INSTALL" = true ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$DO_INSTALL" = true ]; then
|
if [ "$DO_INSTALL" = true ]; then
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
## ADD NONFREE REPOS
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
echo "📦 Checking nonfree repositories..."
|
|
||||||
|
|
||||||
REPO_PACKAGES=(void-repo-nonfree)
|
|
||||||
|
|
||||||
# Only add multilib-nonfree on x86_64
|
|
||||||
if [ "$(uname -m)" = "x86_64" ]; then
|
|
||||||
REPO_PACKAGES+=(void-repo-multilib-nonfree)
|
|
||||||
fi
|
|
||||||
|
|
||||||
MISSING_REPOS=()
|
|
||||||
for repo in "${REPO_PACKAGES[@]}"; do
|
|
||||||
if ! xbps-query -p pkgver "$repo" >/dev/null 2>&1; then
|
|
||||||
MISSING_REPOS+=("$repo")
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ ${#MISSING_REPOS[@]} -eq 0 ]; then
|
|
||||||
echo "✅ Nonfree repositories already enabled."
|
|
||||||
else
|
|
||||||
echo "📦 Enabling repositories: ${MISSING_REPOS[*]}"
|
|
||||||
sudo xbps-install -Sy "${MISSING_REPOS[@]}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
## INSTALL REQUIRED PACKAGES
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
REQUIRED_PACKAGES=(
|
REQUIRED_PACKAGES=(
|
||||||
# system
|
# system
|
||||||
pfetch fuse
|
fuse3
|
||||||
# network & download
|
# network & download
|
||||||
wget curl ca-certificates gnupg rsync
|
wget curl ca-certificates gnupg rsync
|
||||||
# core utilities
|
# core utilities
|
||||||
git fd jq fzf ripgrep tree direnv make bat
|
fish git vim fd-find jq fzf ripgrep tree direnv make bat
|
||||||
ark unzip p7zip tar gzip bzip2 xz kanata
|
ark unzip p7zip-full tar gzip bzip2 xz-utils
|
||||||
gitu
|
|
||||||
# build & dev tools
|
# build & dev tools
|
||||||
alacritty base-devel valgrind tree-sitter-cli go nodejs
|
build-essential valgrind nodejs
|
||||||
# fonts
|
# fonts
|
||||||
noto-fonts-ttf noto-fonts-emoji
|
fonts-noto-core fonts-noto-color-emoji
|
||||||
# kde
|
# desktop portal
|
||||||
xdg-desktop-portal xdg-desktop-portal-kde
|
xdg-desktop-portal xdg-desktop-portal-gtk
|
||||||
)
|
)
|
||||||
|
|
||||||
MISSING_PACKAGES=()
|
MISSING_PACKAGES=()
|
||||||
@@ -165,9 +131,9 @@ if [ "$DO_INSTALL" = true ]; then
|
|||||||
echo "🔍 Checking for missing packages..."
|
echo "🔍 Checking for missing packages..."
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# Check which packages are missing using xbps-query
|
# Check which packages are missing using dpkg
|
||||||
for pkg in "${REQUIRED_PACKAGES[@]}"; do
|
for pkg in "${REQUIRED_PACKAGES[@]}"; do
|
||||||
if ! xbps-query -p pkgver "$pkg" >/dev/null 2>&1; then
|
if ! dpkg -s "$pkg" >/dev/null 2>&1; then
|
||||||
MISSING_PACKAGES+=("$pkg")
|
MISSING_PACKAGES+=("$pkg")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@@ -175,11 +141,11 @@ if [ "$DO_INSTALL" = true ]; then
|
|||||||
if [ ${#MISSING_PACKAGES[@]} -eq 0 ]; then
|
if [ ${#MISSING_PACKAGES[@]} -eq 0 ]; then
|
||||||
echo "✅ All required packages are already installed."
|
echo "✅ All required packages are already installed."
|
||||||
else
|
else
|
||||||
echo "📦 Syncing repository indexes..."
|
echo "📦 Syncing package index..."
|
||||||
sudo xbps-install -S
|
sudo apt update
|
||||||
|
|
||||||
echo "📦 Installing missing packages: ${MISSING_PACKAGES[*]}"
|
echo "📦 Installing missing packages: ${MISSING_PACKAGES[*]}"
|
||||||
sudo xbps-install "${MISSING_PACKAGES[@]}"
|
sudo apt install -y "${MISSING_PACKAGES[@]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
Executable
BIN
Binary file not shown.
@@ -1,23 +1,30 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# ---------------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------------
|
||||||
# Odin compiler install recipe
|
# Odin compiler install recipe
|
||||||
# Target: Void Linux
|
# Target: Pop!_OS / Ubuntu / Debian
|
||||||
# Builds from source - recommended method on Linux
|
# Builds from source - recommended method on Linux
|
||||||
# ---------------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------------
|
||||||
set -e
|
set -e
|
||||||
ODIN_DIR="$HOME/.odin"
|
ODIN_DIR="$HOME/.odin"
|
||||||
|
|
||||||
echo "Installing Odin build dependencies..."
|
echo "Installing Odin build dependencies..."
|
||||||
sudo xbps-install -Sy llvm18 llvm18-devel clang18 libstdc++-devel git-lfs
|
sudo apt update
|
||||||
git lfs install
|
sudo apt install -y llvm-18-dev clang-18 git-lfs build-essential
|
||||||
|
git lfs install --force
|
||||||
|
|
||||||
echo "Cloning Odin repository..."
|
echo "Cloning Odin repository..."
|
||||||
git clone https://github.com/odin-lang/Odin "$ODIN_DIR"
|
if [ -d "$ODIN_DIR" ]; then
|
||||||
cd "$ODIN_DIR"
|
echo "Directory $ODIN_DIR already exists. Pulling latest..."
|
||||||
|
cd "$ODIN_DIR" && git pull
|
||||||
|
else
|
||||||
|
git clone https://github.com/odin-lang/Odin "$ODIN_DIR"
|
||||||
|
cd "$ODIN_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Building Odin compiler..."
|
echo "Building Odin compiler..."
|
||||||
LLVM_CONFIG=$(command -v llvm-config) make release-native
|
LLVM_CONFIG=llvm-config-18 make release-native
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "✓ Odin install complete."
|
echo "✓ Odin install complete."
|
||||||
|
echo " Add to your path if needed: export PATH=\"\$HOME/.odin:\$PATH\""
|
||||||
echo " Then verify with: odin version"
|
echo " Then verify with: odin version"
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------------
|
|
||||||
# PHP install recipe
|
|
||||||
# Fetches the void php version and composer package
|
|
||||||
# ---------------------------------------------------------------------------------
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# install the Void linux php version
|
|
||||||
sudo xbps-install php php-mysql php-sqlite php-ffi php-fpm php-intl php-xsl php-imagick php-gd
|
|
||||||
|
|
||||||
# install/download composer
|
|
||||||
sudo xbps-install composer
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "✅ PHP + Composer setup complete."
|
|
||||||
@@ -1,13 +1,14 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# ---------------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------------
|
||||||
# Raylib-go dependency install recipe
|
# Raylib-go dependency install recipe
|
||||||
# Target: Void Linux
|
# Target: Pop!_OS / Ubuntu / Debian
|
||||||
# Installs system libs needed for raylib to run
|
# Installs system libs needed for raylib to run
|
||||||
# ---------------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------------
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo "Installing raylib-go system dependencies..."
|
echo "Installing raylib-go system dependencies..."
|
||||||
sudo xbps-install make alsa-lib-devel libglvnd-devel libX11-devel libXrandr-devel libXi-devel libXcursor-devel libXinerama-devel mesa MesaLib-devel
|
sudo apt update
|
||||||
|
sudo apt install -y build-essential libasound2-dev libgl1-mesa-dev libx11-dev libxrandr-dev libxi-dev libxcursor-dev libxinerama-dev libxinerama-dev libxcursor-dev libxinerama-dev
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "✓ Raylib-go dependencies installed."
|
echo "✓ Raylib-go dependencies installed."
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
echo "==> Installing dependencies..."
|
|
||||||
sudo xbps-install -S sassc gtk-engine-murrine gtk+3-devel
|
|
||||||
|
|
||||||
WORKDIR="$(mktemp -d)"
|
|
||||||
cd "$WORKDIR"
|
|
||||||
|
|
||||||
echo "==> Cloning Qogir theme..."
|
|
||||||
git clone --depth=1 https://github.com/vinceliuice/Qogir-theme.git
|
|
||||||
|
|
||||||
echo "==> Installing Qogir theme (dark, void icon, default square corners)..."
|
|
||||||
cd "$WORKDIR/Qogir-theme"
|
|
||||||
sudo ./install.sh -d /usr/share/themes -c dark -t default -i void
|
|
||||||
|
|
||||||
echo "==> Installing libadwaita (GTK4) link..."
|
|
||||||
sudo ./install.sh -d /usr/share/themes -c dark -t default -i void -l
|
|
||||||
|
|
||||||
cd "../"
|
|
||||||
echo "==> Cloning Qogir Icon theme..."
|
|
||||||
git clone --depth=1 git@github.com:vinceliuice/Qogir-icon-theme.git
|
|
||||||
|
|
||||||
cd "$WORKDIR/Qogir-icon-theme"
|
|
||||||
echo "==> Installing Qogir icons..."
|
|
||||||
sudo ./install.sh -d /home/jason/.icons
|
|
||||||
|
|
||||||
echo "==> Cleaning up..."
|
|
||||||
cd "$HOME"
|
|
||||||
sudo rm -rf "$WORKDIR"
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "Done. Now set in XFCE Settings:"
|
|
||||||
echo " Appearance -> Style: Qogir-Dark"
|
|
||||||
echo " Window Manager -> Theme: Qogir-Dark"
|
|
||||||
Reference in New Issue
Block a user