Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 84b4a7d7b8 | |||
| f22eb5d964 | |||
| b32ab5a8ab | |||
| 6b1217f75a | |||
| 51fb1aec9d |
@@ -4,6 +4,11 @@
|
||||
# Disable fish greeting
|
||||
set -g fish_greeting
|
||||
|
||||
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
|
||||
|
||||
# Core settings
|
||||
set -gx EDITOR "nvim"
|
||||
set -gx VISUAL "nvim"
|
||||
@@ -73,7 +78,7 @@ alias ln='ln -i'
|
||||
alias df='df -h'
|
||||
alias du='du -h'
|
||||
alias free='free -h'
|
||||
alias bat='batcat --theme="gruvbox-dark" --paging=never '
|
||||
alias bat='bat --theme="ansi" --paging=never'
|
||||
|
||||
# Application shortcuts
|
||||
alias vim='nvim'
|
||||
@@ -83,6 +88,7 @@ alias :q='exit'
|
||||
alias files='nemo .'
|
||||
alias lg='gitu'
|
||||
alias ldk='lazydocker'
|
||||
alias fetch='fastfetch'
|
||||
|
||||
# Custom shortcuts
|
||||
alias reload='source ~/.config/fish/config.fish'
|
||||
@@ -115,8 +121,7 @@ function pp
|
||||
end
|
||||
|
||||
set project (echo $project | cut -f2)
|
||||
|
||||
cd $project && nvim $project
|
||||
cd $project && clear
|
||||
end
|
||||
|
||||
# ==============================================================================
|
||||
|
||||
+7
-2
@@ -16,8 +16,8 @@ set sortby natural
|
||||
set dirfirst true
|
||||
|
||||
# ── Preview ──────────────────────────────────────────────────────────────────
|
||||
set previewer ~/.local/bin/lf-preview
|
||||
set cleaner ~/.local/bin/lf-cleaner
|
||||
set previewer ~/.local/bin/lfpreview
|
||||
set cleaner ~/.local/bin/lfcleaner
|
||||
|
||||
# ── Keybindings ──────────────────────────────────────────────────────────────
|
||||
|
||||
@@ -61,6 +61,11 @@ map <space> toggle
|
||||
map mf push %touch<space>
|
||||
map md push %mkdir<space>-p<space>
|
||||
|
||||
cmd extract ${{
|
||||
lfextract "$f"
|
||||
}}
|
||||
map z extract
|
||||
|
||||
# ── Commands ─────────────────────────────────────────────────────────────────
|
||||
|
||||
cmd select-and-quit &{{
|
||||
|
||||
@@ -67,13 +67,12 @@ vim.cmd.colorscheme('vague')
|
||||
-- Lsp specific, uses nvim-lspconfigs with the below
|
||||
vim.lsp.enable({ "gopls", "ols" })
|
||||
map("n", "gd", ":lua vim.lsp.buf.definition()<CR>")
|
||||
map("n", "ld", ":lua vim.diagnostic.open_float()<CR>")
|
||||
map("n", "lr", ":lua vim.lsp.buf.rename()<CR>")
|
||||
map("n", "la", ":lua vim.lsp.buf.code_action()<CR>")
|
||||
map("n", "gr", ":lua vim.lsp.buf.rename()<CR>")
|
||||
map("n", "ga", ":lua vim.lsp.buf.code_action()<CR>")
|
||||
|
||||
require("fzf-lua").setup({})
|
||||
map("n", "<C-p>", ":FzfLua files<CR>")
|
||||
map("n", "<C-o>", ":FzfLua buffers<CR>")
|
||||
map("n", "<C-m>", ":FzfLua buffers<CR>")
|
||||
map("n", "<C-i>", ":FzfLua diagnostics_workspace<CR>")
|
||||
map("n", "<C-f>", ":FzfLua live_grep<CR>")
|
||||
map("n", "<C-b>", ":FzfLua grep_curbuf<CR>")
|
||||
@@ -109,3 +108,5 @@ vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
vim.fn.setpos(".", save_cursor)
|
||||
end,
|
||||
})
|
||||
|
||||
require("terminal")
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
local term_buf = nil
|
||||
|
||||
local function open_term_split()
|
||||
vim.cmd('botright vsplit')
|
||||
local win = vim.api.nvim_get_current_win()
|
||||
if term_buf and vim.api.nvim_buf_is_valid(term_buf) then
|
||||
vim.api.nvim_win_set_buf(win, term_buf)
|
||||
else
|
||||
vim.cmd('terminal')
|
||||
term_buf = vim.api.nvim_get_current_buf()
|
||||
end
|
||||
vim.api.nvim_win_set_width(win, math.floor(vim.o.columns * 0.37))
|
||||
vim.cmd('startinsert')
|
||||
end
|
||||
|
||||
local function toggle_term()
|
||||
-- Check if terminal is already visible in a window
|
||||
for _, win in ipairs(vim.api.nvim_list_wins()) do
|
||||
if vim.api.nvim_win_get_buf(win) == term_buf then
|
||||
vim.api.nvim_win_close(win, false)
|
||||
return
|
||||
end
|
||||
end
|
||||
open_term_split()
|
||||
end
|
||||
|
||||
local function open_term_fullscreen()
|
||||
if term_buf and vim.api.nvim_buf_is_valid(term_buf) then
|
||||
vim.api.nvim_set_current_buf(term_buf)
|
||||
else
|
||||
vim.cmd('terminal')
|
||||
term_buf = vim.api.nvim_get_current_buf()
|
||||
end
|
||||
vim.cmd('startinsert')
|
||||
end
|
||||
|
||||
local function prev_non_term_buf()
|
||||
local cur = vim.api.nvim_get_current_buf()
|
||||
local bufs = vim.fn.getbufinfo({ buflisted = 1 })
|
||||
local candidates = {}
|
||||
for _, info in ipairs(bufs) do
|
||||
if info.bufnr ~= cur and vim.bo[info.bufnr].buftype ~= 'terminal' then
|
||||
table.insert(candidates, info)
|
||||
end
|
||||
end
|
||||
if #candidates == 0 then
|
||||
print('No previous non-terminal buffer')
|
||||
return
|
||||
end
|
||||
table.sort(candidates, function(a, b) return a.lastused > b.lastused end)
|
||||
vim.api.nvim_set_current_buf(candidates[1].bufnr)
|
||||
end
|
||||
|
||||
map('n', '<C-j>', toggle_term, { desc = 'Toggle terminal split' })
|
||||
map('n', '<C-o>', open_term_fullscreen, { desc = 'Open terminal fullscreen' })
|
||||
map('t', '<C-o>', prev_non_term_buf, { desc = 'Exit terminal mode' })
|
||||
map('t', '<C-j>', toggle_term, { desc = 'Toggle terminal split' })
|
||||
map('t', '<C-o>', prev_non_term_buf, { desc = 'Exit terminal mode' })
|
||||
+2
-4
@@ -150,10 +150,8 @@ if [ "$DO_INSTALL" = true ]; then
|
||||
wget curl git unzip lf jq alacritty fzf
|
||||
fd ripgrep bat direnv base-devel make valgrind tree
|
||||
ca-certificates gnupg fuse rsync fish-shell
|
||||
noto-fonts-ttf noto-fonts-emoji
|
||||
# void specific
|
||||
xdotool wmctrl kanata tree-sitter-cli gitu
|
||||
# lazydocker
|
||||
noto-fonts-ttf noto-fonts-emoji go xdotool wmctrl
|
||||
kanata tree-sitter-cli gitu
|
||||
)
|
||||
|
||||
MISSING_PACKAGES=()
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Golang install recipe
|
||||
# Fetches the latest stable Go release, installs to /usr/local/go,
|
||||
# then installs go-based CLI tools.
|
||||
# ---------------------------------------------------------------------------------
|
||||
|
||||
set -e
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Detect architecture
|
||||
# ---------------------------------------------------------------------------------
|
||||
ARCH=$(dpkg --print-architecture)
|
||||
case "$ARCH" in
|
||||
amd64) GO_ARCH="amd64" ;;
|
||||
arm64) GO_ARCH="arm64" ;;
|
||||
*)
|
||||
echo "❌ Unsupported architecture: $ARCH"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Fetch latest stable Go version
|
||||
# ---------------------------------------------------------------------------------
|
||||
echo "🔍 Fetching latest stable Go version..."
|
||||
GO_VERSION=$(curl -fsSL "https://go.dev/dl/?mode=json" | grep -o '"version":"go[^"]*"' | head -1 | grep -o 'go[0-9.]*')
|
||||
|
||||
if [ -z "$GO_VERSION" ]; then
|
||||
echo "❌ Failed to fetch latest Go version."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ Latest Go version: $GO_VERSION"
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Download and install
|
||||
# ---------------------------------------------------------------------------------
|
||||
TARBALL="${GO_VERSION}.linux-${GO_ARCH}.tar.gz"
|
||||
DOWNLOAD_URL="https://go.dev/dl/${TARBALL}"
|
||||
|
||||
echo "📦 Downloading $TARBALL..."
|
||||
curl -fsSL "$DOWNLOAD_URL" -o "/tmp/${TARBALL}"
|
||||
|
||||
echo "📂 Installing to /usr/local/go..."
|
||||
sudo rm -rf /usr/local/go
|
||||
sudo tar -C /usr/local -xzf "/tmp/${TARBALL}"
|
||||
rm "/tmp/${TARBALL}"
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Verify install
|
||||
# ---------------------------------------------------------------------------------
|
||||
export PATH=$PATH:/usr/local/go/bin
|
||||
|
||||
echo "🔍 Verifying Go install..."
|
||||
/usr/local/go/bin/go version
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Install Go-based CLI tools
|
||||
# ---------------------------------------------------------------------------------
|
||||
echo ""
|
||||
echo "📦 Installing Go-based CLI tools..."
|
||||
|
||||
echo " → gopls"
|
||||
go install golang.org/x/tools/gopls@latest
|
||||
|
||||
echo " → lazydocker"
|
||||
go install github.com/jesseduffield/lazydocker@latest
|
||||
|
||||
echo " → lf"
|
||||
env CGO_ENABLED=0 go install -trimpath -ldflags="-s -w" github.com/gokcehan/lf@latest
|
||||
|
||||
echo ""
|
||||
echo "✅ Golang setup complete."
|
||||
echo " Restart your shell or run: source ~/.config/fish/config.fish"
|
||||
|
||||
+6
-15
@@ -2,25 +2,16 @@
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Golang install recipe
|
||||
# Fetches the latest stable Go release, installs to /usr/local/go,
|
||||
# then installs go-based CLI tools.
|
||||
# Fetches the void php version
|
||||
# then installs composer with php
|
||||
# ---------------------------------------------------------------------------------
|
||||
|
||||
set -e
|
||||
|
||||
# install the Debian 13 php version
|
||||
sudo apt install php-cli php-mysql php-curl php-mbstring php-zip
|
||||
|
||||
reload
|
||||
# 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
|
||||
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
||||
php -r "if (hash_file('sha384', 'composer-setup.php') === 'c8b085408188070d5f52bcfe4ecfbee5f727afa458b2573b8eaaf77b3419b0bf2768dc67c86944da1544f06fa544fd47') { echo 'Installer verified'.PHP_EOL; } else { echo 'Installer corrupt'.PHP_EOL; unlink('composer-setup.php'); exit(1); }"
|
||||
php composer-setup.php
|
||||
php -r "unlink('composer-setup.php');"
|
||||
|
||||
# Move composer bin
|
||||
sudo mv composer.phar /usr/local/bin/composer
|
||||
sudo xbps-install composer
|
||||
|
||||
echo ""
|
||||
echo "✅ PHP setup complete."
|
||||
echo "✅ PHP + Composer setup complete."
|
||||
|
||||
Executable
+35
@@ -0,0 +1,35 @@
|
||||
#!/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