# Linux Scripts and Configs A collection of Linux scripts and configs for use across multiple machines. ## Installation ### Packages Install all packages using `yay`: ```bash yay -S $(grep -v '^\s*$' ~/scripts/packages.txt | tr '\n' ' ') ``` ### alacritty configuration Add this to the `.config/alacritty/alacritty.toml` ``` import = [ "~/scripts/alacritty.toml" ] ``` ### tmux Configuration This config uses tmux plugin manager to add session save / reloading with tmux-ressurect. Before using the config, please download the plugin manager with: ``` git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm ``` Then to use the config file, add to `~/.tmux.conf`: ``` source ~/scripts/tmux.conf ``` ### Bash/Zsh Configuration Add to `~/.bashrc` or `~/.zshrc`: ```bash source ~/scripts/bashrc # or zshrc export PATH="~/scripts/sh:$PATH" ``` ### Vim Configuration Add to `~/.vimrc`: ``` source ~/scripts/vimrc ``` ### i3 Configuration ```bash ln -sf ~/scripts/i3/i3config ~/.config/i3/config ln -sf ~/scripts/i3/i3blocks.conf ~/.config/i3blocks/config ln -sf ~/scripts/i3/i3status.conf ~/.config/i3status/config ``` ### Hyprland Configuration ```bash ln -sf ~/scripts/hyprland/hyprland.conf ~/.config/hypr/hyprland.conf ln -sf ~/scripts/waybar/waybar_hyprland_config.json ~/.config/waybar/config ln -sf ~/scripts/waybar/waybar_style.css ~/.config/waybar/style.css ``` ### Sway Configuration ```bash ln -sf ~/scripts/sway/swayconfig ~/.config/sway/config ln -sf ~/scripts/waybar/waybar_sway_config.json ~/.config/waybar/config ln -sf ~/scripts/waybar/waybar_style.css ~/.config/waybar/style.css ``` ### Wofi Configuration ```bash ln -sf ~/scripts/wofi/wofi_style.css ~/.config/wofi/style.css ``` ### Hatsune Miku Cursor ```bash ln -sf ~/scripts/hatsune-miku-windows-linux-cursors/miku-cursor-linux ~/.local/share/icons/"Miku Cursor" ``` ## Keybindings ### tmux Keybindings | Keybinding | Description | | ----------------------------------------------------------------------- | --------------------------------------------- | | M-f | Prefix key (similar to $mod in i3) | | Prefix + Space | Send prefix | | Prefix + Ctrl + s | Save session | | Prefix + Ctrl + r | Restore session | | Prefix + ? | List keys | | Prefix + [ | Enter copy mode | | Prefix + ] | Paste buffer | | Prefix + r | Refresh client | | Prefix + R | Reload tmux configuration | | Prefix + g | Split window horizontally | | Prefix + v | Split window vertically | | Prefix + h/j/k/l | Select pane (left/down/up/right) | | Prefix + H/J/K/L | Resize pane (left/down/up/right) | | Prefix + w | Choose window | | Prefix + 1-0 | Select window 1-10 | | M-1 to M-0 | Create new window 1-10 | | Prefix + !-) | Move current pane to window 1-10 | | Prefix + q | Kill selected pane | ### Hyprland Keybindings | Keybinding | Description | | ------------------------------------------------------------------------------------------- | ---------------------------------------- | | $mod + Return | Start terminal (kitty) | | $mod + Shift + q | Kill focused window | | $mod + d | Launch wofi | | $mod + Ctrl + m | Launch PulseAudio control | | $mod + F2 | Launch Waterfox browser | | $mod + F3 | Launch file manager (ranger) | | $mod + Shift + F3 | Launch PCManFM | | $mod + F5 | Launch mocp music player | | $mod + Shift + d | Restart dunst | | Print | Screenshot (flameshot gui) | | $mod + Print | Screenshot region to clipboard | | $mod + Shift + Print | Screenshot region to file | | $mod + Ctrl + x | Kill window (hyprctl kill) | | $mod + 9 | Lock screen (hyprlock) | | $mod + m | Toggle waybar visibility | | $mod + Shift + c | Reload Hyprland config | | $mod + Shift + e | Exit Hyprland | | $mod + 0 | Enter system submap (lock/suspend/etc.) | | $mod + h/j/k/l | Move focus (left/down/up/right) | | $mod + Shift + h/j/k/l | Move window (left/down/up/right) | | $mod + f | Toggle fullscreen | | $mod + g/v | Tile horizontally/vertically | | $mod + e | Toggle split | | $mod + Shift + Space | Toggle floating | | $mod + Shift + s | Pin floating window | | $mod + - | Toggle scratchpad | | $mod + Shift + - | Move to scratchpad | | $mod + b | Switch to previous workspace | | $mod + Ctrl + / | Previous/next workspace | | $mod + 1-8 | Switch to workspace 1-8 | | $mod + Shift + 1-8 | Move window to workspace 1-8 | | $mod + Ctrl + 1-8 | Move window to workspace silently | | $mod + r | Enter resize submap (hjkl to resize) | #### System submap ($mod + 0) | Key | Action | | --------------------------------- | --------- | | l | Lock | | s | Suspend | | h | Hibernate | | r | Reboot | | Shift + s | Power off | | e | Exit | | Return/Esc | Cancel | ### i3 Keybindings | Keybinding | Description | | ---------------------------------------------------------------------------------------- | --------------------------------- | | $mod + Return | Start a terminal (Alacritty) | | $mod + Shift + q | Kill focused window | | $mod + d | Start program launcher (dmenu) | | $mod + z | Launch categorized menu | | $mod + Ctrl + m | Launch PulseAudio control | | $mod + F2 | Launch Firefox browser | | $mod + F3 | Launch PCManFM file manager | | $mod + h/j/k/l | Change focus (left/down/up/right) | | $mod + Shift + h/j/k/l | Move focused window | | $mod + g/v | Split horizontally/vertically | | $mod + f | Toggle fullscreen | | $mod + 1-8 | Switch to workspace 1-8 | | $mod + Shift + 1-8 | Move container to workspace 1-8 | | $mod + Shift + c | Reload the configuration file | | $mod + Shift + r | Restart i3 | ## Additional Scripts ### File Sharing Scripts - `sharefile {filename}`: Upload file to 0x0.st and return unique identifier - `getfile {id}`: Retrieve file from 0x0.st Note: These scripts interact with https://0x0.st for file sharing.