Updated scripts

This commit is contained in:
Christoffer Martinsson 2025-05-09 22:13:38 +02:00
parent 9b8c2cabc1
commit 7d7c4f5caa
9 changed files with 665 additions and 69 deletions

2
.gitignore vendored
View File

@ -0,0 +1,2 @@
config/walker/themes/default.css
config/walker/themes/default.toml

34
bashrc
View File

@ -5,9 +5,9 @@ case $- in
esac
if [[ ! $TERM =~ linux ]]; then
if [[ $TERM =~ tmux ]]; then
source ~/.local/share/blesh/ble.sh --noattach
fi
if [[ $TERM =~ tmux ]]; then
source ~/.local/share/blesh/ble.sh --noattach
fi
fi
# don't put duplicate lines or lines starting with space in the history.
@ -30,7 +30,7 @@ shopt -s checkwinsize
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
debian_chroot=$(cat /etc/debian_chroot)
fi
# Add an "alert" alias for long running commands. Use like so:
@ -47,19 +47,19 @@ alias lsa="eza -1 -l --icons=auto --git-repos --git -h -g -o --no-permissions -a
alias lss="eza -1 -l --icons=auto --git-repos --git -h -g --total-size -o --no-permissions -a"
if [[ ! $TERM =~ linux ]]; then
if [[ $TERM =~ tmux ]]; then
source ~/.fzf.bash
eval "$(zoxide init bash)"
eval "$(starship init bash)"
[[ ! ${BLE_VERSION-} ]] || ble-attach
fi
if [[ $TERM =~ tmux ]]; then
source ~/.fzf.bash
eval "$(zoxide init bash)"
eval "$(starship init bash)"
[[ ! ${BLE_VERSION-} ]] || ble-attach
fi
# TMUX
if [[ ! $TERM =~ tmux ]]; then
if which tmux >/dev/null 2>&1; then
tmux new-session
fi
fi
# TMUX
if [[ ! $TERM =~ tmux ]]; then
if which tmux >/dev/null 2>&1; then
tmux new-session
fi
fi
else
wrappedhl
wrappedhl
fi

View File

@ -177,7 +177,8 @@ bind = $mainMod, S, togglespecialworkspace, scratchpad
bind = $mainMod, B, togglespecialworkspace, btop
bind = $mainMod, D, togglespecialworkspace, discord
bind = $mainMod, W, togglespecialworkspace, web
bind = $mainMod, F, togglespecialworkspace, fzfmenu
# bind = $mainMod, F, togglespecialworkspace, fzfmenu
bind = $mainMod, F, exec, walker --modules applications
bind = $mainMod, V, togglespecialworkspace, mixer
bind = $mainMod, A, togglespecialworkspace, ranger
bind = $mainMod, T, togglespecialworkspace, timer

251
config/walker/config.toml Normal file
View File

@ -0,0 +1,251 @@
app_launch_prefix = ""
terminal_title_flag = ""
locale = ""
close_when_open = false
theme = "cmtec"
monitor = ""
hotreload_theme = false
as_window = false
timeout = 0
disable_click_to_close = false
force_keyboard_focus = false
[keys]
accept_typeahead = ["tab"]
trigger_labels = "lalt"
next = ["down"]
prev = ["up"]
close = ["esc"]
remove_from_history = ["shift backspace"]
resume_query = ["ctrl r"]
toggle_exact_search = ["ctrl m"]
[keys.activation_modifiers]
keep_open = "shift"
alternate = "alt"
[keys.ai]
clear_session = ["ctrl x"]
copy_last_response = ["ctrl c"]
resume_session = ["ctrl r"]
run_last_response = ["ctrl e"]
[events]
on_activate = ""
on_selection = ""
on_exit = ""
on_launch = ""
on_query_change = ""
[list]
dynamic_sub = true
keyboard_scroll_style = "emacs"
max_entries = 50
show_initial_entries = true
single_click = true
visibility_threshold = 20
placeholder = "No Results"
[search]
argument_delimiter = "#"
placeholder = "Search..."
delay = 0
resume_last_query = false
[activation_mode]
labels = "jkl;asdf"
[builtins.applications]
weight = 5
name = "applications"
placeholder = "Applications"
prioritize_new = true
hide_actions_with_empty_query = true
context_aware = true
refresh = true
show_sub_when_single = true
show_icon_when_single = true
show_generic = true
history = true
[builtins.applications.actions]
enabled = true
hide_category = false
hide_without_query = true
[builtins.bookmarks]
weight = 5
placeholder = "Bookmarks"
name = "bookmarks"
icon = "bookmark"
switcher_only = true
[[builtins.bookmarks.entries]]
label = "Walker"
url = "https://github.com/abenz1267/walker"
keywords = ["walker", "github"]
[builtins.xdph_picker]
hidden = true
weight = 5
placeholder = "Screen/Window Picker"
show_sub_when_single = true
name = "xdphpicker"
switcher_only = true
[builtins.ai]
weight = 5
placeholder = "AI"
name = "ai"
icon = "help-browser"
switcher_only = true
show_sub_when_single = true
[[builtins.ai.anthropic.prompts]]
model = "claude-3-7-sonnet-20250219"
temperature = 1
max_tokens = 1_000
label = "General Assistant"
prompt = "You are a helpful general assistant. Keep your answers short and precise."
[builtins.calc]
require_number = true
weight = 5
name = "calc"
icon = "accessories-calculator"
placeholder = "Calculator"
min_chars = 4
[builtins.windows]
weight = 5
icon = "view-restore"
name = "windows"
placeholder = "Windows"
show_icon_when_single = true
[builtins.clipboard]
always_put_new_on_top = true
exec = "wl-copy"
weight = 5
name = "clipboard"
avoid_line_breaks = true
placeholder = "Clipboard"
image_height = 300
max_entries = 10
switcher_only = true
[builtins.commands]
weight = 5
icon = "utilities-terminal"
switcher_only = true
name = "commands"
placeholder = "Commands"
[builtins.custom_commands]
weight = 5
icon = "utilities-terminal"
name = "custom_commands"
placeholder = "Custom Commands"
[builtins.emojis]
exec = "wl-copy"
weight = 5
name = "emojis"
placeholder = "Emojis"
switcher_only = true
history = true
typeahead = true
show_unqualified = false
[builtins.symbols]
after_copy = ""
weight = 5
name = "symbols"
placeholder = "Symbols"
switcher_only = true
history = true
typeahead = true
[builtins.finder]
use_fd = false
fd_flags = "--ignore-vcs --type file"
weight = 5
icon = "file"
name = "finder"
placeholder = "Finder"
switcher_only = true
ignore_gitignore = true
refresh = true
concurrency = 8
show_icon_when_single = true
preview_images = false
[builtins.runner]
eager_loading = true
weight = 5
icon = "utilities-terminal"
name = "runner"
placeholder = "Runner"
typeahead = true
history = true
generic_entry = false
refresh = true
use_fd = false
[builtins.ssh]
weight = 5
icon = "preferences-system-network"
name = "ssh"
placeholder = "SSH"
switcher_only = true
history = true
refresh = true
[builtins.switcher]
weight = 5
name = "switcher"
placeholder = "Switcher"
prefix = "/"
[builtins.websearch]
keep_selection = true
weight = 5
icon = "applications-internet"
name = "websearch"
placeholder = "Websearch"
[[builtins.websearch.entries]]
name = "Google"
url = "https://www.google.com/search?q=%TERM%"
[[builtins.websearch.entries]]
name = "DuckDuckGo"
url = "https://duckduckgo.com/?q=%TERM%"
switcher_only = true
[[builtins.websearch.entries]]
name = "Ecosia"
url = "https://www.ecosia.org/search?q=%TERM%"
switcher_only = true
[[builtins.websearch.entries]]
name = "Yandex"
url = "https://yandex.com/search/?text=%TERM%"
switcher_only = true
[builtins.dmenu]
hidden = true
weight = 5
name = "dmenu"
placeholder = "Dmenu"
switcher_only = true
show_icon_when_single = true
[builtins.translation]
delay = 1000
weight = 5
name = "translation"
icon = "accessories-dictionary"
placeholder = "Translation"
switcher_only = true
provider = "googlefree"

View File

@ -0,0 +1,159 @@
@define-color foreground rgba(255, 255, 255, 0.8);
@define-color background rgba(50, 50, 50, 0.98);
@define-color color1 hsl(181, 100%, 100%);
#window,
#box,
#aiScroll,
#aiList,
#search,
#password,
#input,
#prompt,
#clear,
#typeahead,
#list,
child,
scrollbar,
slider,
#item,
#text,
#label,
#bar,
#sub,
#activationlabel {
all: unset;
}
#cfgerr {
background: rgba(255, 0, 0, 0.4);
margin-top: 20px;
padding: 8px;
font-size: 1.2em;
}
#window {
color: @foreground;
}
#box {
border-radius: 2px;
background: @background;
padding: 32px;
border: 0px solid lighter(@background);
box-shadow:
0 19px 38px rgba(0, 0, 0, 0.3),
0 15px 12px rgba(0, 0, 0, 0.22);
}
#search {
box-shadow:
0 1px 3px rgba(0, 0, 0, 0.1),
0 1px 2px rgba(0, 0, 0, 0.22);
background: lighter(@background);
padding: 8px;
}
#prompt {
margin-left: 4px;
margin-right: 12px;
color: @foreground;
opacity: 0.2;
}
#clear {
color: @foreground;
opacity: 0.8;
}
#password,
#input,
#typeahead {
border-radius: 2px;
}
#input {
background: none;
}
#password {
}
#spinner {
padding: 8px;
}
#typeahead {
color: @foreground;
opacity: 0.8;
}
#input placeholder {
opacity: 0.5;
}
#list {
}
child {
padding: 8px;
border-radius: 2px;
}
child:selected,
child:hover {
background: alpha(@color1, 0.4);
}
#item {
}
#icon {
margin-right: 8px;
}
#text {
}
#label {
font-weight: 500;
}
#sub {
opacity: 0.5;
font-size: 0.8em;
}
#activationlabel {
}
#bar {
}
.barentry {
}
.activation #activationlabel {
}
.activation #text,
.activation #icon,
.activation #search {
opacity: 0.5;
}
.aiItem {
padding: 10px;
border-radius: 2px;
color: @foreground;
background: @background;
}
.aiItem.user {
padding-left: 0;
padding-right: 0;
}
.aiItem.assistant {
background: lighter(@background);
}

View File

@ -0,0 +1,102 @@
[ui.anchors]
bottom = true
left = true
right = true
top = true
[ui.window]
h_align = "fill"
v_align = "fill"
[ui.window.box]
h_align = "center"
width = 450
[ui.window.box.bar]
orientation = "horizontal"
position = "end"
[ui.window.box.bar.entry]
h_align = "fill"
h_expand = true
[ui.window.box.bar.entry.icon]
h_align = "center"
h_expand = true
pixel_size = 24
theme = ""
[ui.window.box.margins]
top = 400
[ui.window.box.ai_scroll]
name = "aiScroll"
h_align = "fill"
v_align = "fill"
max_height = 300
min_width = 400
height = 300
width = 400
[ui.window.box.ai_scroll.margins]
top = 8
[ui.window.box.ai_scroll.list]
name = "aiList"
orientation = "vertical"
width = 400
spacing = 10
[ui.window.box.ai_scroll.list.item]
name = "aiItem"
h_align = "fill"
v_align = "fill"
x_align = 0
y_align = 0
wrap = true
[ui.window.box.scroll.list]
marker_color = "#afd787"
max_height = 300
max_width = 400
min_width = 400
width = 400
[ui.window.box.scroll.list.item.activation_label]
h_align = "fill"
v_align = "fill"
width = 20
x_align = 0.5
y_align = 0.5
[ui.window.box.scroll.list.item.icon]
pixel_size = 26
theme = ""
[ui.window.box.scroll.list.margins]
top = 8
[ui.window.box.search.prompt]
name = "prompt"
icon = "edit-find"
theme = ""
pixel_size = 18
h_align = "center"
v_align = "center"
[ui.window.box.search.clear]
name = "clear"
icon = "edit-clear"
theme = ""
pixel_size = 18
h_align = "center"
v_align = "center"
[ui.window.box.search.input]
h_align = "fill"
h_expand = true
icons = true
[ui.window.box.search.spinner]
hide = true

View File

@ -0,0 +1,104 @@
[ui.anchors]
bottom = true
left = true
right = true
top = true
[ui.window]
h_align = "fill"
v_align = "fill"
v_expand = true
height = 400
width = 450
[ui.window.box]
h_align = "center"
width = 450
[ui.window.box.bar]
orientation = "horizontal"
position = "end"
[ui.window.box.bar.entry]
h_align = "fill"
h_expand = true
[ui.window.box.bar.entry.icon]
h_align = "center"
h_expand = true
pixel_size = 24
theme = ""
[ui.window.box.margins]
top = 0
[ui.window.box.ai_scroll]
name = "aiScroll"
h_align = "fill"
v_align = "fill"
max_height = 400
min_width = 400
height = 450
width = 450
[ui.window.box.ai_scroll.margins]
top = 8
[ui.window.box.ai_scroll.list]
name = "aiList"
orientation = "vertical"
width = 450
spacing = 10
[ui.window.box.ai_scroll.list.item]
name = "aiItem"
h_align = "fill"
v_align = "fill"
x_align = 0
y_align = 0
wrap = true
[ui.window.box.scroll.list]
max_height = 400
max_width = 450
min_width = 450
width = 450
[ui.window.box.scroll.list.item.activation_label]
h_align = "fill"
v_align = "fill"
width = 20
x_align = 0.5
y_align = 0.5
[ui.window.box.scroll.list.item.icon]
pixel_size = 26
theme = ""
[ui.window.box.scroll.list.margins]
top = 8
[ui.window.box.search.prompt]
name = "prompt"
icon = "edit-find"
theme = ""
pixel_size = 18
h_align = "center"
v_align = "center"
[ui.window.box.search.clear]
name = "clear"
icon = "edit-clear"
theme = ""
pixel_size = 18
h_align = "center"
v_align = "center"
[ui.window.box.search.input]
h_align = "fill"
h_expand = true
icons = true
[ui.window.box.search.spinner]
hide = true

View File

@ -182,13 +182,10 @@ if [ "${ROLES[HYPERLAND]}" == "yes" ]; then
yay --noconfirm -S --needed --aur adwaita-qt5-git
yay --noconfirm -S --needed --aur adwaita-qt6-git
yay --noconfirm -S --needed --aur hyprshot
yay --noconfirm -S --needed --aur walker-bin
mkdir -p ~/.local/bin
mkdir -p ~/.config/hypr
mkdir -p ~/.config/gtk-3.0
mkdir -p ~/.config/qt5ct
mkdir -p ~/.config/qt6ct
mkdir -p ~/.config/dunst
if [ -f ~/linuxbox/config/hypr/hyprland_$HOSTNAME.conf ]; then
ln -sf ~/linuxbox/config/hypr/hyprland_$HOSTNAME.conf ~/.config/hypr/hyprland_extra.conf
@ -200,10 +197,11 @@ if [ "${ROLES[HYPERLAND]}" == "yes" ]; then
ln -sf ~/linuxbox/wrappedhl ~/.local/bin/wrappedhl
ln -sf ~/linuxbox/config/hypr/hypridle.conf ~/.config/hypr/hypridle.conf
ln -sf ~/linuxbox/config/hypr/hyprpaper.conf ~/.config/hypr/hyprpaper.conf
ln -sf ~/linuxbox/config/gtk-3.0/settings.ini ~/.config/gtk-3.0/settings.ini
ln -sf ~/linuxbox/config/qt5ct/qt5ct.conf ~/.config/qt5ct/qt5ct.conf
ln -sf ~/linuxbox/config/qt6ct/qt6ct.conf ~/.config/qt6ct/qt6ct.conf
ln -sf ~/linuxbox/config/dunst/dunstrc ~/.config/dunst/dunstrc
ln -sf ~/linuxbox/config/gtk-3.0 ~/.config
ln -sf ~/linuxbox/config/qt5ct ~/.config
ln -sf ~/linuxbox/config/qt6ct ~/.config
ln -sf ~/linuxbox/config/dunst ~/.config
ln -sf ~/linuxbox/config/walker ~/.config
printf -- '\033[33m Installing waybar\n\033[37m'
sudo pacman --noconfirm --needed -S waybar
@ -230,6 +228,8 @@ if [ "${ROLES[HYPERLAND]}" == "yes" ]; then
mkdir -p ~/.config/pipewire
ln -sf ~/linuxbox/config/pipewire/pipewire.conf ~/.config/pipewire/pipewire.conf
printf -- '\033[33m Installing Caffeine\n\033[37m'
yay --noconfirm -S --needed --aur caffeine-ng
fi
# Install terminal utility
@ -238,19 +238,29 @@ if [ "${ROLES[TERMINAL]}" == "yes" ]; then
if pacman -Qs gnu-free-fonts >/dev/null; then
sudo pacman --noconfirm -R gnu-free-fonts
fi
sudo pacman --noconfirm --needed -S alacritty btop ranger tmux fd neovim ttf-nerd-fonts-symbols ttf-roboto-mono-nerd
sudo pacman --noconfirm --needed -S lazygit alacritty btop ranger tmux fd neovim ttf-nerd-fonts-symbols ttf-roboto-mono-nerd gdu ruby bottom go php luarocks composer jdk-openjdk julia nodejs npm
cargo install ripgrep eza
sudo npm install -g neovim
cargo install tree-sitter-cli ripgrep eza
cargo install zoxide --locked
cargo install starship --locked
mkdir -p ~/.config/nvim
mkdir -p ~/.config/alacritty
mkdir -p ~/.config/lazygit
mkdir -p ~/.local/bin
ln -sf ~/linuxbox/tmux.conf ~/.tmux.conf
ln -sf ~/linuxbox/clang-format ~/.clang-format
ln -sf ~/linuxbox/luacheckrc ~/.luacheckrc
ln -sf ~/linuxbox/config/starship.toml ~/.config/starship.toml
ln -sf ~/linuxbox/config/nvim/init.lua ~/.config/nvim/init.lua
ln -sf ~/linuxbox/config/alacritty/alacritty.toml ~/.config/alacritty/alacritty.toml
ln -sf ~/linuxbox/config/lazygit/config.yml ~/.config/lazygit/config.yml
nvim --headless "+MasonUpdate" +qa
nvim --headless "+Lazy! sync" +qa
printf -- '\033[33m Installing fzf\n\033[37m'
rm -rf ~/.fzf
@ -258,20 +268,6 @@ if [ "${ROLES[TERMINAL]}" == "yes" ]; then
~/.fzf/install --all
source ~/.fzf.bash
printf -- '\033[33m Installing fzfmenu\n\033[37m'
mkdir -p ~/.local/bin
ln -sf ~/linuxbox/fzfmenu.sh ~/.local/bin/fzfmenu
printf -- '\033[33m Installing lazygit\n\033[37m'
cd ~
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin
rm ~/lazygit && rm ~/lazygit.tar.gz
mkdir -p ~/.config/lazygit
ln -sf ~/linuxbox/config/lazygit/config.yml ~/.config/lazygit/config.yml
printf -- '\033[33m Installing ble.sh\n\033[37m'
if [ -d ~/ble.sh ]; then rm -rf ~/ble.sh; fi
cd ~
@ -284,12 +280,7 @@ fi
# Install code utility
if [ "${ROLES[CODE]}" == "yes" ]; then
printf -- '\033[33m Installing code utilities\n\033[37m'
sudo pacman --noconfirm --needed -S code gdu ruby bottom go php luarocks composer jdk-openjdk julia nodejs npm platformio-core
sudo npm install -g neovim
cargo install tree-sitter-cli
ln -sf ~/linuxbox/clang-format ~/.clang-format
ln -sf ~/linuxbox/luacheckrc ~/.luacheckrc
sudo pacman --noconfirm --needed -S code platformio-core
printf -- '\033[33m Installing Rust embedded rp2040\n\033[37m'
cd ~

View File

@ -323,12 +323,11 @@ if [ "$WSL" == "no" ]; then
rm NerdFontsSymbolsOnly.zip
fc-cache -fv
# Install Wezterm
printf -- '\033[33m Installing wezterm\n\033[37m'
curl -fsSL https://apt.fury.io/wez/gpg.key | sudo gpg --yes --dearmor -o /usr/share/keyrings/wezterm-fury.gpg
echo 'deb [signed-by=/usr/share/keyrings/wezterm-fury.gpg] https://apt.fury.io/wez/ * *' | sudo tee /etc/apt/sources.list.d/wezterm.list
# Install Alacritty
printf -- '\033[33m Installing Alacritty\n\033[37m'
sudo add-apt-repository ppa:aslatter/ppa
sudo apt update
sudo apt install -y wezterm
sudo apt install -y alacritty
# Install Brave Browser
printf -- '\033[33m Installing Brave Browser\n\033[37m'
@ -337,20 +336,6 @@ if [ "$WSL" == "no" ]; then
sudo apt update
sudo apt install -y brave-browser
# Install Virtualbox
printf -- '\033[33m Installing Virtualbox\n\033[37m'
curl https://www.virtualbox.org/download/oracle_vbox_2016.asc | gpg --dearmor >oracle_vbox_2016.gpg
curl https://www.virtualbox.org/download/oracle_vbox.asc | gpg --dearmor >oracle_vbox.gpg
sudo install -o root -g root -m 644 oracle_vbox_2016.gpg /etc/apt/trusted.gpg.d/
sudo install -o root -g root -m 644 oracle_vbox.gpg /etc/apt/trusted.gpg.d/
echo "deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
sudo apt update
sudo apt install -y linux-headers-"$(uname -r)" dkms
sudo apt install virtualbox-7.1 -y
wget https://download.virtualbox.org/virtualbox/7.1.4/Oracle_VirtualBox_Extension_Pack-7.1.4.vbox-extpack
sudo VBoxManage extpack install --replace Oracle_VirtualBox_Extension_Pack-7.1.4.vbox-extpack --accept-license=eb31505e56e9b4d0fbca139104da41ac6f6b98f8e78968bdf01b1f3da3c4f9ae
sudo usermod -a -G vboxusers "$USER"
printf -- '\033[33m Installing Audio control\n\033[37m'
if [ $VER == "22.04" ]; then
# Install helvum
@ -372,8 +357,9 @@ printf -- '\033[32m *** Dotfile symlinking ***\n\033[37m'
if [ "$WSL" == "no" ]; then
# Symlink wezterm config
printf -- '\033[33m Symlinking wezterm config\n\033[37m'
ln -sf ~/linuxbox/wezterm.lua ~/.wezterm.lua
printf -- '\033[33m Symlinking alacritty config\n\033[37m'
mkdir -p ~/.config/alacritty
ln -sf ~/linuxbox/config/alacritty/alacritty.toml ~/.config/alacritty/alacritty.toml
fi
# Symlink nvim config
printf -- '\033[33m Symlinking nvim config\n\033[37m'