mirror of
https://github.com/aljazceru/omakub.git
synced 2026-01-19 20:04:19 +01:00
Merge branch 'master' into stable
* master: (60 commits) Not that Retroarch doesnt work with 25.04 Bump version Fix spelling Remove trailing CR Ignore here as well We do need to ignore migration failures Fix parameters Use proper form instead Continue even if migration fails Also install the assets! Have to copy over the shared config too Include the assets Make Alacritty configs compatible with v15+ Turn off relative line numbers by default Not general purpose enough to keep after all Proper signing Explicitly use ulauncher from noble on plucky Hallucinations! Include assets Use fully qualified path ...
This commit is contained in:
@@ -3,7 +3,7 @@ cat <<EOF >~/.local/share/applications/About.desktop
|
||||
Version=1.0
|
||||
Name=About
|
||||
Comment=System information from Fastfetch
|
||||
Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/pane.toml --class=About --title=About -e bash -c 'fastfetch; read -n 1 -s'
|
||||
Exec=alacritty --config-file /home/$USER/.config/alacritty/pane.toml --class=About --title=About -e bash -c 'fastfetch; read -n 1 -s'
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=/home/$USER/.local/share/omakub/applications/icons/Ubuntu.png
|
||||
|
||||
@@ -3,7 +3,7 @@ cat <<EOF >~/.local/share/applications/Activity.desktop
|
||||
Version=1.0
|
||||
Name=Activity
|
||||
Comment=System activity from btop
|
||||
Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/btop.toml --class=Activity --title=Activity -e btop
|
||||
Exec=alacritty --config-file /home/$USER/.config/alacritty/btop.toml --class=Activity --title=Activity -e btop
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=/home/$USER/.local/share/omakub/applications/icons/Activity.png
|
||||
|
||||
@@ -3,7 +3,7 @@ cat <<EOF >~/.local/share/applications/Docker.desktop
|
||||
Version=1.0
|
||||
Name=Docker
|
||||
Comment=Manage Docker containers with LazyDocker
|
||||
Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/pane.toml --class=Docker --title=Docker -e lazydocker
|
||||
Exec=alacritty --config-file /home/$USER/.config/alacritty/pane.toml --class=Docker --title=Docker -e lazydocker
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=/home/$USER/.local/share/omakub/applications/icons/Docker.png
|
||||
|
||||
@@ -3,7 +3,7 @@ cat <<EOF >~/.local/share/applications/Neovim.desktop
|
||||
Version=1.0
|
||||
Name=Neovim
|
||||
Comment=Edit text files
|
||||
Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/pane.toml --class=Neovim --title=Neovim -e nvim %F
|
||||
Exec=alacritty --config-file /home/$USER/.config/alacritty/pane.toml --class=Neovim --title=Neovim -e nvim %F
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=nvim
|
||||
|
||||
@@ -3,7 +3,7 @@ cat <<EOF >~/.local/share/applications/Omakub.desktop
|
||||
Version=1.0
|
||||
Name=Omakub
|
||||
Comment=Omakub Controls
|
||||
Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/pane.toml --class=Omakub --title=Omakub -e omakub
|
||||
Exec=alacritty --config-file /home/$USER/.config/alacritty/pane.toml --class=Omakub --title=Omakub -e omakub
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=/home/$USER/.local/share/omakub/applications/icons/Omakub.png
|
||||
|
||||
BIN
applications/icons/Retroarch.png
Normal file
BIN
applications/icons/Retroarch.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.0 KiB |
@@ -1,7 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
source $OMAKUB_PATH/ascii.sh
|
||||
echo "" # Add spacing
|
||||
echo " $(cat $OMAKUB_PATH/version)"
|
||||
echo "" # Add spacing
|
||||
source $OMAKUB_PATH/bin/omakub-sub/header.sh
|
||||
source $OMAKUB_PATH/bin/omakub-sub/menu.sh
|
||||
|
||||
6
bin/omakub-sub/header.sh
Normal file
6
bin/omakub-sub/header.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source $OMAKUB_PATH/ascii.sh
|
||||
echo "" # Add spacing
|
||||
echo " $(cat $OMAKUB_PATH/version)"
|
||||
echo "" # Add spacing
|
||||
24
bin/omakub-sub/install-dev-editor.sh
Normal file
24
bin/omakub-sub/install-dev-editor.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
CHOICES=(
|
||||
"Cursor AI Code Editor"
|
||||
"Doom Emacs Emacs framework with curated list of packages"
|
||||
"RubyMine IntelliJ's commercial Ruby editor"
|
||||
"Windsurf Another AI Code Editor"
|
||||
"Zed Fast all-purpose editor"
|
||||
"<< Back "
|
||||
)
|
||||
|
||||
CHOICE=$(gum choose "${CHOICES[@]}" --height 8 --header "Install editor")
|
||||
|
||||
if [[ "$CHOICE" == "<< Back"* ]] || [[ -z "$CHOICE" ]]; then
|
||||
# Don't install anything
|
||||
echo ""
|
||||
else
|
||||
INSTALLER=$(echo "$CHOICE" | awk -F ' {2,}' '{print $1}' | tr '[:upper:]' '[:lower:]' | sed 's/ /-/g')
|
||||
INSTALLER_FILE="$OMAKUB_PATH/install/desktop/optional/app-$INSTALLER.sh"
|
||||
|
||||
source $INSTALLER_FILE && gum spin --spinner globe --title "Install completed!" -- sleep 3
|
||||
fi
|
||||
|
||||
clear
|
||||
source $OMAKUB_PATH/bin/omakub-sub/header.sh
|
||||
source $OMAKUB_PATH/bin/omakub-sub/install.sh
|
||||
@@ -1,27 +1,25 @@
|
||||
CHOICES=(
|
||||
"Dev Editor Install alternative programming editors"
|
||||
"Dev Language Install programming language environment"
|
||||
"Dev Database Install development database in Docker"
|
||||
"1password Manage your passwords securely across devices"
|
||||
"Audacity Record and edit audio"
|
||||
"ASDControl Set brightness on Apple Studio and XDR displays via cli"
|
||||
"ASDControl Set brightness on Apple Studio and XDR displays"
|
||||
"Brave Chrome-based browser with built-in ad blocking"
|
||||
"Cursor The AI Code Editor"
|
||||
"Doom Emacs Emacs framework with curated list of packages"
|
||||
"Dropbox Sync files across computers with ease"
|
||||
"Mainline Kernels Install newer Linux kernels than Ubuntu defaults"
|
||||
"OBS Studio Record screencasts with inputs from both display + webcam"
|
||||
"Ollama Run LLMs, like Meta's Llama3, locally"
|
||||
"RubyMine IntelliJ's commercial Ruby editor"
|
||||
"Retroarch Play retro games [Incompatible w/ 25.04]"
|
||||
"Spotify Stream music from the world's most popular service"
|
||||
"Steam Play games from Valve's store"
|
||||
"VirtualBox Virtual machines to run Windows/Linux"
|
||||
"Zed Fast all-purpose editor"
|
||||
"Zoom Attend and host video chat meetings"
|
||||
"> All Re-run any of the default installers"
|
||||
"<< Back "
|
||||
)
|
||||
|
||||
CHOICE=$(gum choose "${CHOICES[@]}" --height 22 --header "Install application")
|
||||
CHOICE=$(gum choose "${CHOICES[@]}" --height 20 --header "Install application")
|
||||
|
||||
if [[ "$CHOICE" == "<< Back"* ]] || [[ -z "$CHOICE" ]]; then
|
||||
# Don't install anything
|
||||
@@ -37,6 +35,7 @@ else
|
||||
INSTALLER=$(echo "$CHOICE" | awk -F ' {2,}' '{print $1}' | tr '[:upper:]' '[:lower:]' | sed 's/ /-/g')
|
||||
|
||||
case "$INSTALLER" in
|
||||
"dev-editor") INSTALLER_FILE="$OMAKUB_PATH/bin/omakub-sub/install-dev-editor.sh" ;;
|
||||
"dev-language") INSTALLER_FILE="$OMAKUB_PATH/install/terminal/select-dev-language.sh" ;;
|
||||
"dev-database") INSTALLER_FILE="$OMAKUB_PATH/install/terminal/select-dev-storage.sh" ;;
|
||||
"ollama") INSTALLER_FILE="$OMAKUB_PATH/install/terminal/optional/app-ollama.sh" ;;
|
||||
|
||||
@@ -1 +1 @@
|
||||
import = [ "~/.config/alacritty/theme.toml", "~/.config/alacritty/font.toml", "~/.config/alacritty/font-size.toml", "~/.local/share/omakub/defaults/alacritty.toml" ]
|
||||
import = [ "~/.config/alacritty/theme.toml", "~/.config/alacritty/font.toml", "~/.config/alacritty/font-size.toml", "~/.config/alacritty/shared.toml" ]
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import = [ "~/.local/share/omakub/defaults/alacritty/pane.toml" ]
|
||||
# Used by the Activity.desktop app
|
||||
import = [ "~/.config/alacritty/pane.toml" ]
|
||||
|
||||
[window]
|
||||
dimensions.columns = 121
|
||||
@@ -8,4 +9,3 @@ dimensions.lines = 40
|
||||
[colors.primary]
|
||||
foreground = '#ffffff'
|
||||
background = '#000000'
|
||||
|
||||
6
configs/alacritty/pane.toml
Normal file
6
configs/alacritty/pane.toml
Normal file
@@ -0,0 +1,6 @@
|
||||
# Used by the About.desktop, Activity.desktop, Docker.desktop, Omakub.desktop, and Neovim.desktop apps
|
||||
import = [ "~/.config/alacritty/theme.toml", "~/.config/alacritty/font.toml", "~/.config/alacritty/font-size.toml", "~/.config/alacritty/shared.toml" ]
|
||||
|
||||
[window]
|
||||
padding.x = 30
|
||||
padding.y = 30
|
||||
8
configs/neovim/snacks-animated-scrolling-off.lua
Normal file
8
configs/neovim/snacks-animated-scrolling-off.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
return {
|
||||
"folke/snacks.nvim",
|
||||
opts = {
|
||||
scroll = {
|
||||
enabled = false, -- Disable scrolling animations
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,3 +1,214 @@
|
||||
theme "tokyo-night"
|
||||
default_layout "compact"
|
||||
on_force_close "quit"
|
||||
|
||||
default_mode "locked"
|
||||
keybinds clear-defaults=true {
|
||||
locked {
|
||||
bind "Ctrl g" { SwitchToMode "normal"; }
|
||||
}
|
||||
pane {
|
||||
bind "left" { MoveFocus "left"; }
|
||||
bind "down" { MoveFocus "down"; }
|
||||
bind "up" { MoveFocus "up"; }
|
||||
bind "right" { MoveFocus "right"; }
|
||||
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
|
||||
bind "d" { NewPane "down"; SwitchToMode "locked"; }
|
||||
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "locked"; }
|
||||
bind "f" { ToggleFocusFullscreen; SwitchToMode "locked"; }
|
||||
bind "h" { MoveFocus "left"; }
|
||||
bind "j" { MoveFocus "down"; }
|
||||
bind "k" { MoveFocus "up"; }
|
||||
bind "l" { MoveFocus "right"; }
|
||||
bind "n" { NewPane; SwitchToMode "locked"; }
|
||||
bind "p" { SwitchToMode "normal"; }
|
||||
bind "r" { NewPane "right"; SwitchToMode "locked"; }
|
||||
bind "w" { ToggleFloatingPanes; SwitchToMode "locked"; }
|
||||
bind "x" { CloseFocus; SwitchToMode "locked"; }
|
||||
bind "z" { TogglePaneFrames; SwitchToMode "locked"; }
|
||||
bind "tab" { SwitchFocus; }
|
||||
}
|
||||
tab {
|
||||
bind "left" { GoToPreviousTab; }
|
||||
bind "down" { GoToNextTab; }
|
||||
bind "up" { GoToPreviousTab; }
|
||||
bind "right" { GoToNextTab; }
|
||||
bind "1" { GoToTab 1; SwitchToMode "locked"; }
|
||||
bind "2" { GoToTab 2; SwitchToMode "locked"; }
|
||||
bind "3" { GoToTab 3; SwitchToMode "locked"; }
|
||||
bind "4" { GoToTab 4; SwitchToMode "locked"; }
|
||||
bind "5" { GoToTab 5; SwitchToMode "locked"; }
|
||||
bind "6" { GoToTab 6; SwitchToMode "locked"; }
|
||||
bind "7" { GoToTab 7; SwitchToMode "locked"; }
|
||||
bind "8" { GoToTab 8; SwitchToMode "locked"; }
|
||||
bind "9" { GoToTab 9; SwitchToMode "locked"; }
|
||||
bind "[" { BreakPaneLeft; SwitchToMode "locked"; }
|
||||
bind "]" { BreakPaneRight; SwitchToMode "locked"; }
|
||||
bind "b" { BreakPane; SwitchToMode "locked"; }
|
||||
bind "h" { GoToPreviousTab; }
|
||||
bind "j" { GoToNextTab; }
|
||||
bind "k" { GoToPreviousTab; }
|
||||
bind "l" { GoToNextTab; }
|
||||
bind "n" { NewTab; SwitchToMode "locked"; }
|
||||
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
|
||||
bind "s" { ToggleActiveSyncTab; SwitchToMode "locked"; }
|
||||
bind "t" { SwitchToMode "normal"; }
|
||||
bind "x" { CloseTab; SwitchToMode "locked"; }
|
||||
bind "tab" { ToggleTab; }
|
||||
}
|
||||
resize {
|
||||
bind "left" { Resize "Increase left"; }
|
||||
bind "down" { Resize "Increase down"; }
|
||||
bind "up" { Resize "Increase up"; }
|
||||
bind "right" { Resize "Increase right"; }
|
||||
bind "+" { Resize "Increase"; }
|
||||
bind "-" { Resize "Decrease"; }
|
||||
bind "=" { Resize "Increase"; }
|
||||
bind "H" { Resize "Decrease left"; }
|
||||
bind "J" { Resize "Decrease down"; }
|
||||
bind "K" { Resize "Decrease up"; }
|
||||
bind "L" { Resize "Decrease right"; }
|
||||
bind "h" { Resize "Increase left"; }
|
||||
bind "j" { Resize "Increase down"; }
|
||||
bind "k" { Resize "Increase up"; }
|
||||
bind "l" { Resize "Increase right"; }
|
||||
bind "r" { SwitchToMode "normal"; }
|
||||
}
|
||||
move {
|
||||
bind "left" { MovePane "left"; }
|
||||
bind "down" { MovePane "down"; }
|
||||
bind "up" { MovePane "up"; }
|
||||
bind "right" { MovePane "right"; }
|
||||
bind "h" { MovePane "left"; }
|
||||
bind "j" { MovePane "down"; }
|
||||
bind "k" { MovePane "up"; }
|
||||
bind "l" { MovePane "right"; }
|
||||
bind "m" { SwitchToMode "normal"; }
|
||||
bind "n" { MovePane; }
|
||||
bind "p" { MovePaneBackwards; }
|
||||
bind "tab" { MovePane; }
|
||||
}
|
||||
scroll {
|
||||
bind "Alt left" { MoveFocusOrTab "left"; SwitchToMode "locked"; }
|
||||
bind "Alt down" { MoveFocus "down"; SwitchToMode "locked"; }
|
||||
bind "Alt up" { MoveFocus "up"; SwitchToMode "locked"; }
|
||||
bind "Alt right" { MoveFocusOrTab "right"; SwitchToMode "locked"; }
|
||||
bind "e" { EditScrollback; SwitchToMode "locked"; }
|
||||
bind "f" { SwitchToMode "entersearch"; SearchInput 0; }
|
||||
bind "Alt h" { MoveFocusOrTab "left"; SwitchToMode "locked"; }
|
||||
bind "Alt j" { MoveFocus "down"; SwitchToMode "locked"; }
|
||||
bind "Alt k" { MoveFocus "up"; SwitchToMode "locked"; }
|
||||
bind "Alt l" { MoveFocusOrTab "right"; SwitchToMode "locked"; }
|
||||
bind "s" { SwitchToMode "normal"; }
|
||||
}
|
||||
search {
|
||||
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||
bind "n" { Search "down"; }
|
||||
bind "o" { SearchToggleOption "WholeWord"; }
|
||||
bind "p" { Search "up"; }
|
||||
bind "w" { SearchToggleOption "Wrap"; }
|
||||
}
|
||||
session {
|
||||
bind "c" {
|
||||
LaunchOrFocusPlugin "configuration" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "locked"
|
||||
}
|
||||
bind "d" { Detach; }
|
||||
bind "o" { SwitchToMode "normal"; }
|
||||
bind "p" {
|
||||
LaunchOrFocusPlugin "plugin-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "locked"
|
||||
}
|
||||
bind "w" {
|
||||
LaunchOrFocusPlugin "session-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "locked"
|
||||
}
|
||||
}
|
||||
shared_among "normal" "locked" {
|
||||
bind "Alt left" { MoveFocusOrTab "left"; }
|
||||
bind "Alt down" { MoveFocus "down"; }
|
||||
bind "Alt up" { MoveFocus "up"; }
|
||||
bind "Alt right" { MoveFocusOrTab "right"; }
|
||||
bind "Alt +" { Resize "Increase"; }
|
||||
bind "Alt -" { Resize "Decrease"; }
|
||||
bind "Alt =" { Resize "Increase"; }
|
||||
bind "Alt [" { PreviousSwapLayout; }
|
||||
bind "Alt ]" { NextSwapLayout; }
|
||||
bind "Alt f" { ToggleFloatingPanes; }
|
||||
bind "Alt h" { MoveFocusOrTab "left"; }
|
||||
bind "Alt i" { MoveTab "left"; }
|
||||
bind "Alt j" { MoveFocus "down"; }
|
||||
bind "Alt k" { MoveFocus "up"; }
|
||||
bind "Alt l" { MoveFocusOrTab "right"; }
|
||||
bind "Alt n" { NewPane; }
|
||||
bind "Alt o" { MoveTab "right"; }
|
||||
}
|
||||
shared_except "locked" "renametab" "renamepane" {
|
||||
bind "Ctrl g" { SwitchToMode "locked"; }
|
||||
bind "Ctrl q" { Quit; }
|
||||
}
|
||||
shared_except "locked" "entersearch" {
|
||||
bind "enter" { SwitchToMode "locked"; }
|
||||
}
|
||||
shared_except "locked" "entersearch" "renametab" "renamepane" {
|
||||
bind "esc" { SwitchToMode "locked"; }
|
||||
}
|
||||
shared_except "locked" "entersearch" "renametab" "renamepane" "move" {
|
||||
bind "m" { SwitchToMode "move"; }
|
||||
}
|
||||
shared_except "locked" "entersearch" "search" "renametab" "renamepane" "session" {
|
||||
bind "o" { SwitchToMode "session"; }
|
||||
}
|
||||
shared_except "locked" "tab" "entersearch" "renametab" "renamepane" {
|
||||
bind "t" { SwitchToMode "tab"; }
|
||||
}
|
||||
shared_except "locked" "tab" "scroll" "entersearch" "renametab" "renamepane" {
|
||||
bind "s" { SwitchToMode "scroll"; }
|
||||
}
|
||||
shared_among "normal" "resize" "tab" "scroll" "prompt" "tmux" {
|
||||
bind "p" { SwitchToMode "pane"; }
|
||||
}
|
||||
shared_except "locked" "resize" "pane" "tab" "entersearch" "renametab" "renamepane" {
|
||||
bind "r" { SwitchToMode "resize"; }
|
||||
}
|
||||
shared_among "scroll" "search" {
|
||||
bind "PageDown" { PageScrollDown; }
|
||||
bind "PageUp" { PageScrollUp; }
|
||||
bind "left" { PageScrollUp; }
|
||||
bind "down" { ScrollDown; }
|
||||
bind "up" { ScrollUp; }
|
||||
bind "right" { PageScrollDown; }
|
||||
bind "Ctrl b" { PageScrollUp; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "locked"; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "Ctrl f" { PageScrollDown; }
|
||||
bind "h" { PageScrollUp; }
|
||||
bind "j" { ScrollDown; }
|
||||
bind "k" { ScrollUp; }
|
||||
bind "l" { PageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
}
|
||||
entersearch {
|
||||
bind "Ctrl c" { SwitchToMode "scroll"; }
|
||||
bind "esc" { SwitchToMode "scroll"; }
|
||||
bind "enter" { SwitchToMode "search"; }
|
||||
}
|
||||
renametab {
|
||||
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
|
||||
}
|
||||
shared_among "renametab" "renamepane" {
|
||||
bind "Ctrl c" { SwitchToMode "locked"; }
|
||||
}
|
||||
renamepane {
|
||||
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
import = [ "~/.local/share/omakub/defaults/alacritty/pane.toml" ]
|
||||
|
||||
[window]
|
||||
dimensions.columns = 90
|
||||
dimensions.lines = 30
|
||||
@@ -1,5 +0,0 @@
|
||||
import = [ "~/.config/alacritty/theme.toml", "~/.config/alacritty/font.toml", "~/.config/alacritty/font-size.toml", "~/.local/share/omakub/defaults/alacritty.toml" ]
|
||||
|
||||
[window]
|
||||
padding.x = 30
|
||||
padding.y = 30
|
||||
@@ -36,3 +36,9 @@ webm2mp4() {
|
||||
output_file="${input_file%.webm}.mp4"
|
||||
ffmpeg -i "$input_file" -c:v libx264 -preset slow -crf 22 -c:a aac -b:a 192k "$output_file"
|
||||
}
|
||||
|
||||
# Ensure that external keyboards that use an fn key has the F keys as the default
|
||||
alias fix_fkeys='echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode'
|
||||
|
||||
# Spotify window is too large on many displays, so fix this by zooming it down
|
||||
alias fix_spotify_window_size="sudo sed -i 's|^Exec=.*|Exec=spotify --force-device-scale-factor=1.5 %U|' /usr/local/share/applications/spotify.desktop"
|
||||
|
||||
@@ -7,6 +7,10 @@ if command -v zoxide &> /dev/null; then
|
||||
fi
|
||||
|
||||
if command -v fzf &> /dev/null; then
|
||||
source /usr/share/bash-completion/completions/fzf
|
||||
source /usr/share/doc/fzf/examples/key-bindings.bash
|
||||
if [[ -f /usr/share/bash-completion/completions/fzf ]]; then
|
||||
source /usr/share/bash-completion/completions/fzf
|
||||
fi
|
||||
if [[ -f /usr/share/doc/fzf/examples/key-bindings.bash ]]; then
|
||||
source /usr/share/doc/fzf/examples/key-bindings.bash
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
include "%L"
|
||||
|
||||
# Emoji
|
||||
<Multi_key> <m> <s> : "😄" # smile
|
||||
<Multi_key> <m> <c> : "😂" # cry
|
||||
<Multi_key> <m> <l> : "😍" # love
|
||||
@@ -23,3 +24,6 @@ include "%L"
|
||||
<Multi_key> <m> <g> : "👋" # greeting
|
||||
<Multi_key> <m> <a> : "💪" # arm
|
||||
<Multi_key> <m> <b> : "🤯" # blowing
|
||||
|
||||
# Typography
|
||||
<Multi_key> <space> <space> : "—"
|
||||
|
||||
@@ -16,3 +16,13 @@ if [ "$ID" != "ubuntu" ] || [ $(echo "$VERSION_ID >= 24.04" | bc) != 1 ]; then
|
||||
echo "Installation stopped."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if running on x86
|
||||
ARCH=$(uname -m)
|
||||
if [ "$ARCH" != "x86_64" ] && [ "$ARCH" != "i686" ]; then
|
||||
echo "$(tput setaf 1)Error: Unsupported architecture detected"
|
||||
echo "Current architecture: $ARCH"
|
||||
echo "This installation is only supported on x86 architectures (x86_64 or i686)."
|
||||
echo "Installation stopped."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -2,78 +2,16 @@
|
||||
sudo apt install -y alacritty
|
||||
mkdir -p ~/.config/alacritty
|
||||
cp ~/.local/share/omakub/configs/alacritty.toml ~/.config/alacritty/alacritty.toml
|
||||
cp ~/.local/share/omakub/configs/alacritty/shared.toml ~/.config/alacritty/shared.toml
|
||||
cp ~/.local/share/omakub/configs/alacritty/pane.toml ~/.config/alacritty/pane.toml
|
||||
cp ~/.local/share/omakub/configs/alacritty/btop.toml ~/.config/alacritty/btop.toml
|
||||
cp ~/.local/share/omakub/themes/tokyo-night/alacritty.toml ~/.config/alacritty/theme.toml
|
||||
cp ~/.local/share/omakub/configs/alacritty/fonts/CaskaydiaMono.toml ~/.config/alacritty/font.toml
|
||||
cp ~/.local/share/omakub/configs/alacritty/font-size.toml ~/.config/alacritty/font-size.toml
|
||||
|
||||
# Make alacritty default terminal emulator
|
||||
sudo update-alternatives --set x-terminal-emulator /usr/bin/alacritty
|
||||
# Migrate config format if needed
|
||||
alacritty migrate 2>/dev/null || true
|
||||
alacritty migrate -c ~/.config/alacritty/pane.toml 2>/dev/null || true
|
||||
alacritty migrate -c ~/.config/alacritty/btop.toml 2>/dev/null || true
|
||||
|
||||
# Adding alacritty to nautilus contextual menu requires the python wrapper for the libraries
|
||||
sudo apt install -y python3-nautilus
|
||||
mkdir -p ~/.local/share/nautilus-python/extensions/
|
||||
|
||||
cat > ~/.local/share/nautilus-python/extensions/open-alacritty.py <<TECHNICALLYNOTACONFIGSOHEREDOCCEDITIS
|
||||
import os
|
||||
from urllib.parse import unquote
|
||||
from gi.repository import Nautilus, GObject
|
||||
from typing import List
|
||||
|
||||
class OpenTerminalExtension(GObject.GObject, Nautilus.MenuProvider):
|
||||
def _open_terminal(self, file: Nautilus.FileInfo) -> None:
|
||||
filename = unquote(file.get_uri()[7:])
|
||||
|
||||
os.chdir(filename)
|
||||
os.system("alacritty")
|
||||
|
||||
def menu_activate_cb(
|
||||
self,
|
||||
menu: Nautilus.MenuItem,
|
||||
file: Nautilus.FileInfo,
|
||||
) -> None:
|
||||
self._open_terminal(file)
|
||||
|
||||
def menu_background_activate_cb(
|
||||
self,
|
||||
menu: Nautilus.MenuItem,
|
||||
file: Nautilus.FileInfo,
|
||||
) -> None:
|
||||
self._open_terminal(file)
|
||||
|
||||
def get_file_items(
|
||||
self,
|
||||
files: List[Nautilus.FileInfo],
|
||||
) -> List[Nautilus.MenuItem]:
|
||||
if len(files) != 1:
|
||||
return []
|
||||
|
||||
file = files[0]
|
||||
if not file.is_directory() or file.get_uri_scheme() != "file":
|
||||
return []
|
||||
|
||||
item = Nautilus.MenuItem(
|
||||
name="NautilusPython::openterminal_file_item",
|
||||
label="Open in Alacritty",
|
||||
tip="Open Alacritty In %s" % file.get_name(),
|
||||
)
|
||||
item.connect("activate", self.menu_activate_cb, file)
|
||||
|
||||
return [
|
||||
item,
|
||||
]
|
||||
|
||||
def get_background_items(
|
||||
self,
|
||||
current_folder: Nautilus.FileInfo,
|
||||
) -> List[Nautilus.MenuItem]:
|
||||
item = Nautilus.MenuItem(
|
||||
name="NautilusPython::openterminal_file_item2",
|
||||
label="Open in Alacritty",
|
||||
tip="Open Alacritty In %s" % current_folder.get_name(),
|
||||
)
|
||||
item.connect("activate", self.menu_background_activate_cb, current_folder)
|
||||
|
||||
return [
|
||||
item,
|
||||
]
|
||||
TECHNICALLYNOTACONFIGSOHEREDOCCEDITIS
|
||||
source $OMAKUB_PATH/install/desktop/set-alacritty-default.sh
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
cd /tmp
|
||||
curl -L --output cursor.appimage https://downloader.cursor.sh/linux/x64
|
||||
curl -L "https://www.cursor.com/api/download?platform=linux-x64&releaseTrack=stable" | jq -r '.downloadUrl' | xargs curl -L -o cursor.appimage
|
||||
sudo mv cursor.appimage /opt/cursor.appimage
|
||||
sudo chmod +x /opt/cursor.appimage
|
||||
sudo apt install -y fuse3
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
sudo add-apt-repository ppa:cappelikan/ppa
|
||||
sudo add-apt-repository -y ppa:cappelikan/ppa
|
||||
sudo apt update -y
|
||||
sudo apt install -y mainline
|
||||
14
install/desktop/optional/app-retroarch.sh
Normal file
14
install/desktop/optional/app-retroarch.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
sudo add-apt-repository -y ppa:libretro/stable
|
||||
sudo apt update -y
|
||||
sudo apt install -y retroarch retroarch-assets
|
||||
|
||||
cat <<EOF >~/.local/share/applications/Retroarch.desktop
|
||||
[Desktop Entry]
|
||||
Name=RetroArch
|
||||
Exec=/usr/bin/retroarch
|
||||
Type=Application
|
||||
Icon=/home/$USER/.local/share/omakub/applications/icons/Retroarch.png
|
||||
Comment=Play retro games
|
||||
Categories=Game;Emulator;
|
||||
Terminal=false
|
||||
EOF
|
||||
@@ -1,5 +1,7 @@
|
||||
# Virtualbox allows you to run VMs for other flavors of Linux or even Windows
|
||||
# See https://ubuntu.com/tutorials/how-to-run-ubuntu-desktop-on-a-virtual-machine-using-virtualbox#1-overview
|
||||
# for a guide on how to run Ubuntu inside it.
|
||||
|
||||
sudo apt update
|
||||
sudo apt install -y virtualbox virtualbox-ext-pack
|
||||
sudo usermod -aG vboxusers ${USER}
|
||||
|
||||
5
install/desktop/optional/app-windsurf.sh
Normal file
5
install/desktop/optional/app-windsurf.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
curl -fsSL "https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/windsurf.gpg" | sudo gpg --dearmor -o /usr/share/keyrings/windsurf-stable-archive-keyring.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/windsurf-stable-archive-keyring.gpg arch=amd64] https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt stable main" | sudo tee /etc/apt/sources.list.d/windsurf.list >/dev/null
|
||||
|
||||
sudo apt update -y
|
||||
sudo apt install -y windsurf
|
||||
73
install/desktop/set-alacritty-default.sh
Normal file
73
install/desktop/set-alacritty-default.sh
Normal file
@@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# Make alacritty default terminal emulator
|
||||
sudo update-alternatives --set x-terminal-emulator /usr/bin/alacritty
|
||||
|
||||
# Adding alacritty to nautilus contextual menu requires the python wrapper for the libraries
|
||||
sudo apt install -y python3-nautilus
|
||||
mkdir -p ~/.local/share/nautilus-python/extensions/
|
||||
|
||||
cat > ~/.local/share/nautilus-python/extensions/open-alacritty.py <<TECHNICALLYNOTACONFIGSOHEREDOCCEDITIS
|
||||
import os
|
||||
from urllib.parse import unquote
|
||||
from gi.repository import Nautilus, GObject
|
||||
from typing import List
|
||||
|
||||
class OpenTerminalExtension(GObject.GObject, Nautilus.MenuProvider):
|
||||
def _open_terminal(self, file: Nautilus.FileInfo) -> None:
|
||||
filename = unquote(file.get_uri()[7:])
|
||||
|
||||
os.chdir(filename)
|
||||
os.system("alacritty")
|
||||
|
||||
def menu_activate_cb(
|
||||
self,
|
||||
menu: Nautilus.MenuItem,
|
||||
file: Nautilus.FileInfo,
|
||||
) -> None:
|
||||
self._open_terminal(file)
|
||||
|
||||
def menu_background_activate_cb(
|
||||
self,
|
||||
menu: Nautilus.MenuItem,
|
||||
file: Nautilus.FileInfo,
|
||||
) -> None:
|
||||
self._open_terminal(file)
|
||||
|
||||
def get_file_items(
|
||||
self,
|
||||
files: List[Nautilus.FileInfo],
|
||||
) -> List[Nautilus.MenuItem]:
|
||||
if len(files) != 1:
|
||||
return []
|
||||
|
||||
file = files[0]
|
||||
if not file.is_directory() or file.get_uri_scheme() != "file":
|
||||
return []
|
||||
|
||||
item = Nautilus.MenuItem(
|
||||
name="NautilusPython::openterminal_file_item",
|
||||
label="Open in Alacritty",
|
||||
tip="Open Alacritty In %s" % file.get_name(),
|
||||
)
|
||||
item.connect("activate", self.menu_activate_cb, file)
|
||||
|
||||
return [
|
||||
item,
|
||||
]
|
||||
|
||||
def get_background_items(
|
||||
self,
|
||||
current_folder: Nautilus.FileInfo,
|
||||
) -> List[Nautilus.MenuItem]:
|
||||
item = Nautilus.MenuItem(
|
||||
name="NautilusPython::openterminal_file_item2",
|
||||
label="Open in Alacritty",
|
||||
tip="Open Alacritty In %s" % current_folder.get_name(),
|
||||
)
|
||||
item.connect("activate", self.menu_background_activate_cb, current_folder)
|
||||
|
||||
return [
|
||||
item,
|
||||
]
|
||||
TECHNICALLYNOTACONFIGSOHEREDOCCEDITIS
|
||||
@@ -37,7 +37,7 @@ gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-5 "['<Super>5
|
||||
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-6 "['<Super>6']"
|
||||
|
||||
# Reserve slots for custom keybindings
|
||||
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/']"
|
||||
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/']"
|
||||
|
||||
# Set ulauncher to Super+Space
|
||||
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "@as []"
|
||||
@@ -69,3 +69,8 @@ gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/or
|
||||
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/ name 'Apple Brightness Up (ASDControl)'
|
||||
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/ binding '<Control>F2'
|
||||
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/ command "sh -c 'asdcontrol \$(asdcontrol --detect /dev/usb/hiddev* 2>/dev/null | sed -n \"s|^\(/dev/usb/hiddev[0-9]*\):.*|\1|p\") -- +5000'"
|
||||
|
||||
# Turn bightness up to max on Apple monitor (requires ADSControl installed)
|
||||
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/ name 'Apple Brightness Max (ASDControl)'
|
||||
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/ binding '<Control><Shift>F2'
|
||||
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/ command "sh -c 'asdcontrol \$(asdcontrol --detect /dev/usb/hiddev* 2>/dev/null | sed -n \"s|^\(/dev/usb/hiddev[0-9]*\):.*|\1|p\") -- +60000'"
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
sudo add-apt-repository universe -y
|
||||
sudo add-apt-repository ppa:agornostal/ulauncher -y
|
||||
gpg --keyserver keyserver.ubuntu.com --recv 0xfaf1020699503176
|
||||
gpg --export 0xfaf1020699503176 | sudo tee /usr/share/keyrings/ulauncher-archive-keyring.gpg >/dev/null
|
||||
echo "deb [signed-by=/usr/share/keyrings/ulauncher-archive-keyring.gpg] http://ppa.launchpad.net/agornostal/ulauncher/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/ulauncher-noble.list
|
||||
|
||||
sudo apt update -y
|
||||
sudo apt install -y ulauncher
|
||||
|
||||
|
||||
@@ -4,4 +4,6 @@ curl -sLo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/late
|
||||
tar -xf lazygit.tar.gz lazygit
|
||||
sudo install lazygit /usr/local/bin
|
||||
rm lazygit.tar.gz lazygit
|
||||
mkdir -p ~/.config/lazygit/
|
||||
touch ~/.config/lazygit/config.yml
|
||||
cd -
|
||||
|
||||
@@ -23,6 +23,12 @@ if [ ! -d "$HOME/.config/nvim" ]; then
|
||||
|
||||
# Default to Tokyo Night theme
|
||||
cp ~/.local/share/omakub/themes/tokyo-night/neovim.lua ~/.config/nvim/lua/plugins/theme.lua
|
||||
|
||||
# Turn off animated scrolling
|
||||
cp ~/.local/share/omakub/configs/neovim/snacks-animated-scrolling-off.lua ~/.config/nvim/lua/plugins/
|
||||
|
||||
# Turn off relative line numbers
|
||||
echo "vim.opt.relativenumber = false" >>~/.config/nvim/lua/config/options.lua
|
||||
fi
|
||||
|
||||
# Replace desktop launcher with one running inside Alacritty
|
||||
|
||||
2
migrations/1741193162.sh
Normal file
2
migrations/1741193162.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
# Turn off animationd scrolling
|
||||
cp ~/.local/share/omakub/configs/neovim/snacks-animated-scrolling-off.lua ~/.config/nvim/lua/plugins/
|
||||
3
migrations/1744854733.sh
Normal file
3
migrations/1744854733.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
source $OMAKUB_PATH/install/desktop/set-alacritty-default.sh
|
||||
|
||||
nautilus -q
|
||||
14
migrations/1745060743.sh
Normal file
14
migrations/1745060743.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
cp ~/.local/share/omakub/configs/alacritty/shared.toml ~/.config/alacritty/shared.toml
|
||||
cp ~/.local/share/omakub/configs/alacritty/pane.toml ~/.config/alacritty/pane.toml
|
||||
cp ~/.local/share/omakub/configs/alacritty/btop.toml ~/.config/alacritty/btop.toml
|
||||
cp ~/.local/share/omakub/configs/alacritty.toml ~/.config/alacritty/alacritty.toml
|
||||
|
||||
source $OMAKUB_PATH/applications/About.sh
|
||||
source $OMAKUB_PATH/applications/Activity.sh
|
||||
source $OMAKUB_PATH/applications/Neovim.sh
|
||||
source $OMAKUB_PATH/applications/Docker.sh
|
||||
source $OMAKUB_PATH/applications/Omakub.sh
|
||||
|
||||
alacritty migrate 2>/dev/null || true
|
||||
alacritty migrate -c ~/.config/alacritty/pane.toml 2>/dev/null || true
|
||||
alacritty migrate -c ~/.config/alacritty/btop.toml 2>/dev/null || true
|
||||
@@ -2,6 +2,7 @@ gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
|
||||
gsettings set org.gnome.desktop.interface cursor-theme 'Yaru'
|
||||
gsettings set org.gnome.desktop.interface gtk-theme "Yaru-$OMAKUB_THEME_COLOR-dark"
|
||||
gsettings set org.gnome.desktop.interface icon-theme "Yaru-$OMAKUB_THEME_COLOR"
|
||||
gsettings set org.gnome.desktop.interface accent-color "$OMAKUB_THEME_COLOR" 2>/dev/null
|
||||
|
||||
BACKGROUND_ORG_PATH="$HOME/.local/share/omakub/themes/$OMAKUB_THEME_BACKGROUND"
|
||||
BACKGROUND_DEST_DIR="$HOME/.local/share/backgrounds"
|
||||
|
||||
6
uninstall/app-neovim.sh
Normal file
6
uninstall/app-neovim.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
sudo apt purge -y neovim neovim-runtime
|
||||
rm ~/.local/share/applications/Neovim.desktop
|
||||
rm -rf ~/.config/nvim
|
||||
rm -rf ~/.local/share/nvim
|
||||
rm -rf ~/.local/state/nvim
|
||||
rm -rf ~/.cache/nvim
|
||||
5
uninstall/app-retroarch.sh
Normal file
5
uninstall/app-retroarch.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
sudo add-apt-repository -y --remove ppa:libretro/stable
|
||||
sudo apt update -y
|
||||
sudo apt remove -y retroarch retroarch-assets
|
||||
sudo apt autoremove -y
|
||||
rm ~/.local/share/applications/Retroarch.desktop
|
||||
3
uninstall/app-virtualbox.sh
Normal file
3
uninstall/app-virtualbox.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
sudo apt purge -y virtualbox virtualbox-dkms virtualbox-qt virtualbox-ext-pack
|
||||
sudo apt autoremove --purge -y
|
||||
rm -rf ~/.config/VirtualBox
|
||||
3
uninstall/app-windsurf.sh
Normal file
3
uninstall/app-windsurf.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
sudo apt purge -y windsurf
|
||||
sudo rm /etc/apt/sources.list.d/windsurf.list
|
||||
sudo rm /usr/share/keyrings/windsurf-stable-archive-keyring.gpg
|
||||
Reference in New Issue
Block a user