864 lines
22 KiB
Bash
864 lines
22 KiB
Bash
#!/bin/bash
|
|
#DEV TEST
|
|
# nano /tmp/install.sh && chmod +x /tmp/install.sh && . /tmp/install.sh
|
|
|
|
# Set Echo colors
|
|
# for c in {0..255}; do tput setaf $c; tput setaf $c | cat -v; echo =$c; done
|
|
NC="\033[0m"
|
|
RED="\033[0;31m"
|
|
RED2="\033[38;5;196m"
|
|
GREEN="\033[0;32m"
|
|
YELLOW="\033[0;33m"
|
|
BLUE="\033[0;94m"
|
|
|
|
FULLUSERNAME=$(awk -v user="$USER" -F":" 'user==$1{print $5}' /etc/passwd | rev | cut -c 4- | rev)
|
|
|
|
clear
|
|
|
|
# Function to echo, handle errors - Stop the entire installation if an error occurs during the installation
|
|
error_handler() {
|
|
echo -e "${RED} An error occurred during installation and has been stopped. ${NC}"
|
|
exit 1
|
|
}
|
|
|
|
# Set the error handler to be called on any error
|
|
trap error_handler ERR
|
|
|
|
# Exit immediately if a command exits with a non-zero status
|
|
set -e
|
|
|
|
# ------------------- > > >
|
|
|
|
clear
|
|
echo -e "${RED} "
|
|
echo -e "${RED}-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-"
|
|
echo -e "${RED} "
|
|
echo -e "${RED} Starting the installation..."
|
|
echo -e "${RED} Enter your user password, to continue if necessary"
|
|
echo -e "${RED} "
|
|
echo -e "${RED}-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-"
|
|
echo -e "${RED} ${NC}"
|
|
|
|
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak.$(date +'%d-%m-%Y_%H%M%S')
|
|
|
|
if ! dpkg -s apt-transport-https >/dev/null 2>&1; then
|
|
sudo apt -y install apt-transport-https
|
|
sudo sed -i 's+http:+https:+g' /etc/apt/sources.list
|
|
else
|
|
echo "apt-transport-https is already installed."
|
|
fi
|
|
|
|
# APT Add "contrib non-free" to the sources list
|
|
if [ -f /etc/apt/sources.list.d/debian.sources ]; then
|
|
sudo sed -i 's/^Components:* main/& contrib non-free non-free-firmware/g' /etc/apt/sources.list.d/debian.sources
|
|
else
|
|
sudo sed -i 's/^deb.* main/& contrib non-free/g' /etc/apt/sources.list
|
|
fi
|
|
|
|
clear
|
|
|
|
sudo sed -i 's/bookworm main/sid main/g' /etc/apt/sources.list
|
|
|
|
sudo sed -i 's/bookworm-security/testing-security/g' /etc/apt/sources.list
|
|
|
|
sudo sed -i 's/bookworm-updates/testing-updates/g' /etc/apt/sources.list
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
|
|
|
|
sudo apt -y install sddm --no-install-recommends
|
|
|
|
sudo apt install -y git wget curl fastfetch kitty wayland-protocols wayland-utils waybar wlogout hyprland hyprland-protocols
|
|
|
|
sudo apt install -y dbus acpi nwg-look xdg-utils xdp-tools xdg-desktop-portal-gtk xwayland qt6-wayland xsensors flameshot speedcrunch mc gparted mpd mpc ncmpcpp fzf ccrypt xarchiver notepadqq
|
|
|
|
sudo apt install -y thunar gvfs-backends xarchiver rofi dunst libnotify-bin notify-osd brightnessctl swaylock usbutils feh
|
|
|
|
# Printer
|
|
sudo apt install -y printer-driver-all cups cups-client cups-filters cups-pdf system-config-printer
|
|
|
|
#sudo apt install -y linux-headers-$(uname -r)
|
|
|
|
sudo apt install -y polkit-kde-agent-1 --no-install-recommends
|
|
|
|
# Audio
|
|
sudo apt install -y pipewire wireplumber pavucontrol pipewire-alsa pipewire-pulse pipewire-jack
|
|
|
|
# PipeWire Sound Server "Audio" - https://pipewire.org/
|
|
systemctl enable --user --now pipewire.socket pipewire-pulse.socket wireplumber.service
|
|
|
|
# Bluetooth
|
|
sudo apt install -y bluetooth bluez-firmware blueman bluez bluez-tools bluez-cups bluez-obexd bluez-meshd pulseaudio-module-bluetooth libspa-0.2-bluetooth libspa-0.2-jack
|
|
|
|
|
|
echo -e "${GREEN} CPU Microcode install ${NC}"
|
|
export LC_ALL=C # All subsequent command output will be in English
|
|
CPUVENDOR=$(lscpu | grep "Vendor ID:" | awk '{print $3}')
|
|
|
|
if [ "$CPUVENDOR" == "GenuineIntel" ]; then
|
|
if ! dpkg -s intel-microcode >/dev/null 2>&1; then
|
|
sudo apt install -y intel-microcode
|
|
fi
|
|
else
|
|
echo -e "${GREEN} Intel Microcode OK ${NC}"
|
|
fi
|
|
|
|
if [ "$CPUVENDOR" == "AuthenticAMD" ]; then
|
|
if ! dpkg -s amd64-microcode >/dev/null 2>&1; then
|
|
sudo apt -y install amd64-microcode
|
|
fi
|
|
else
|
|
echo -e "${GREEN} Amd64 Microcode OK ${NC}"
|
|
fi
|
|
unset LC_ALL # unset the LC_ALL=C
|
|
|
|
|
|
# Install GPU drivers
|
|
install_gpu_driver() {
|
|
gpu_driver=""
|
|
case "$(lspci | grep -E 'VGA|3D')" in
|
|
*Intel*) gpu_driver="intel-media-va-driver intel-media-va-driver-non-free" ;;
|
|
*AMD*) gpu_driver="mesa-va-drivers libvdpau-va-gl1" ;;
|
|
*NVIDIA*)gpu_driver="mesa-va-drivers nvidia-driver libvdpau-va-gl1 nvidia-vdpau-driver libnvcuvid1 libnvidia-encode1" ;;
|
|
esac
|
|
for pkg in $gpu_driver; do
|
|
[ -n "$pkg" ] && sudo apt install --no-install-recommends -y "$pkg"
|
|
done
|
|
}
|
|
|
|
install_gpu_driver
|
|
|
|
sleep 1
|
|
#clear
|
|
|
|
cd /tmp/ && wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && sudo apt install -y /tmp/google-chrome-stable_current_amd64.deb && rm google-chrome-stable_current_amd64.deb
|
|
|
|
echo -e "${GREEN} Set User folders via xdg-user-dirs-update & xdg-mime default. ${NC}"
|
|
# ls /usr/share/applications/ Find The Default run.: "xdg-mime query default inode/directory"
|
|
|
|
xdg-user-dirs-update
|
|
|
|
xdg-mime default kitty.desktop text/x-shellscript
|
|
#xdg-mime default nsxiv.desktop image/jpeg
|
|
#xdg-mime default nsxiv.desktop image/png
|
|
xdg-mime default thunar.desktop inode/directory
|
|
|
|
sleep 1
|
|
clear
|
|
|
|
echo -e "${GREEN}Settings GRUB TIMEOUT to 1 second. ${NC}"
|
|
sudo sed -i 's+GRUB_TIMEOUT=5+GRUB_TIMEOUT=1+g' /etc/default/grub && sudo update-grub
|
|
|
|
|
|
echo -e "${GREEN} Alias echo to ~/.bashrc ${NC}"
|
|
|
|
echo 'alias ls="ls --color=auto --group-directories-first -v -lah"' >> ~/.bashrc
|
|
echo 'alias upup="sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y"' >> ~/.bashrc
|
|
echo 'bind '"'"'"\C-f":"open "$(fzf)"\n"'"'" >> ~/.bashrc
|
|
|
|
|
|
# Config folders & files
|
|
|
|
echo -e "${GREEN} Hyprland config file START ${NC}"
|
|
|
|
if [ ! -f ~/.config/hypr/hyprland.conf ]; then
|
|
mkdir -p ~/.config/hypr
|
|
cat << "HYPRLANDCONFIG" > ~/.config/hypr/hyprland.conf
|
|
# This is an Hyprland config file.
|
|
# Refer to the wiki for more information.
|
|
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
|
|
|
|
# Please note not all available settings / options are set here.
|
|
# For a full list, see the wiki
|
|
|
|
# You can split this configuration into multiple files
|
|
# Create your files separately and then link them to this file like this:
|
|
# source = ~/.config/hypr/myColors.conf
|
|
|
|
|
|
################
|
|
### MONITORS ###
|
|
################
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
|
monitor=,preferred,auto,1
|
|
|
|
|
|
###################
|
|
### MY PROGRAMS ###
|
|
###################
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
|
|
|
# Set programs that you use
|
|
$terminal = kitty
|
|
$filemanager = thunar
|
|
$runmenu = rofi -modi "drun,run,window,filebrowser" -show drun # Switch between -modi... Default key CTRL+TAB
|
|
$browser = google-chrome
|
|
|
|
|
|
#################
|
|
### AUTOSTART ###
|
|
#################
|
|
|
|
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
|
# Or execute your favorite apps at launch like this:
|
|
|
|
# exec-once = $terminal
|
|
# exec-once = nm-applet &
|
|
# exec-once = waybar & hyprpaper & firefox
|
|
|
|
|
|
#############################
|
|
### ENVIRONMENT VARIABLES ###
|
|
#############################
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
|
|
|
env = XCURSOR_SIZE,24
|
|
env = HYPRCURSOR_SIZE,24
|
|
|
|
|
|
#####################
|
|
### LOOK AND FEEL ###
|
|
#####################
|
|
|
|
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
|
general {
|
|
gaps_in = 5
|
|
gaps_out = 10
|
|
|
|
border_size = 1
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
|
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
|
col.inactive_border = rgba(595959aa)
|
|
|
|
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
|
resize_on_border = false
|
|
|
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
|
allow_tearing = false
|
|
|
|
layout = dwindle
|
|
}
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
|
decoration {
|
|
rounding = 3
|
|
|
|
# Change transparency of focused and unfocused windows
|
|
active_opacity = 1.0
|
|
inactive_opacity = 1.0
|
|
|
|
drop_shadow = true
|
|
shadow_range = 4
|
|
shadow_render_power = 3
|
|
col.shadow = rgba(1a1a1aee)
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
|
blur {
|
|
enabled = true
|
|
size = 3
|
|
passes = 1
|
|
|
|
vibrancy = 0.1696
|
|
}
|
|
}
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
|
animations {
|
|
enabled = true
|
|
|
|
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
|
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
|
|
|
animation = windows, 1, 7, myBezier
|
|
animation = windowsOut, 1, 7, default, popin 80%
|
|
animation = border, 1, 10, default
|
|
animation = borderangle, 1, 8, default
|
|
animation = fade, 1, 7, default
|
|
animation = workspaces, 1, 6, default
|
|
}
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
dwindle {
|
|
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
preserve_split = true # You probably want this
|
|
}
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
master {
|
|
new_status = master
|
|
}
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
|
misc {
|
|
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
|
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
|
}
|
|
|
|
|
|
#############
|
|
### INPUT ###
|
|
#############
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#input
|
|
input {
|
|
kb_layout = dk
|
|
kb_variant =
|
|
kb_model =
|
|
kb_options =
|
|
kb_rules =
|
|
numlock_by_default = true
|
|
|
|
follow_mouse = 1
|
|
|
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
|
|
touchpad {
|
|
natural_scroll = false
|
|
}
|
|
}
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
|
gestures {
|
|
workspace_swipe = false
|
|
}
|
|
|
|
# Example per-device config
|
|
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
|
device {
|
|
name = epic-mouse-v1
|
|
sensitivity = -0.5
|
|
}
|
|
|
|
|
|
####################
|
|
### KEYBINDINGSS ###
|
|
####################
|
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
|
# Mod list - SHIFT, CAPS, CTRL/CONTROL, ALT, MOD2, MOD3, SUPER/WIN/LOGO/MOD4, MOD5
|
|
|
|
$mainMod = SUPER # Sets "Windows" key as main modifier
|
|
|
|
# Binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
|
bind = $mainMod, Return, exec, $terminal
|
|
bind = $mainMod, W, killactive,
|
|
bind = $mainMod, M, exit,
|
|
bind = $mainMod, E, exec, $filemanager
|
|
bind = $mainMod, F, togglefloating,
|
|
bind = $mainMod, R, exec, $runmenu
|
|
bind = $mainMod, P, pseudo, # dwindle
|
|
bind = $mainMod, J, togglesplit, # dwindle
|
|
|
|
# Move focus with mainMod + arrow keys
|
|
bind = $mainMod, left, movefocus, l
|
|
bind = $mainMod, right, movefocus, r
|
|
bind = $mainMod, up, movefocus, u
|
|
bind = $mainMod, down, movefocus, d
|
|
|
|
# Switch workspaces with mainMod + [0-9]
|
|
bind = $mainMod, 1, workspace, 1
|
|
bind = $mainMod, 2, workspace, 2
|
|
bind = $mainMod, 3, workspace, 3
|
|
bind = $mainMod, 4, workspace, 4
|
|
bind = $mainMod, 5, workspace, 5
|
|
bind = $mainMod, 6, workspace, 6
|
|
bind = $mainMod, 7, workspace, 7
|
|
bind = $mainMod, 8, workspace, 8
|
|
bind = $mainMod, 9, workspace, 9
|
|
bind = $mainMod, 0, workspace, 10
|
|
|
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
|
|
|
# Special Workspace (scratchpad)
|
|
bind = $mainMod, S, togglespecialworkspace, magic
|
|
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
|
|
|
# Scroll through existing workspaces with mainMod + scroll
|
|
bind = $mainMod, mouse_down, workspace, e+1
|
|
bind = $mainMod, mouse_up, workspace, e-1
|
|
|
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
bindm = $mainMod, mouse:272, movewindow
|
|
bindm = $mainMod, mouse:273, resizewindow
|
|
|
|
|
|
bind = $mainMod, B, exec, $browser
|
|
|
|
|
|
# Audio
|
|
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 1%+
|
|
binde = , XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-
|
|
binde = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle || notify-send -u low "Audio muted" " "
|
|
|
|
|
|
bind = $mainMod ALT, up, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 1%+
|
|
bind = $mainMod ALT, down, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-
|
|
bind = $mainMod ALT, M, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
|
|
|
# XF86 Audio & Brightness keys
|
|
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 1%+
|
|
bind = , XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-
|
|
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
|
bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
|
|
|
bind = , XF86AudioPlay, exec, playerctl play-pause
|
|
bind = , XF86AudioPause, exec, playerctl pause
|
|
bind = , XF86AudioNext, exec, playerctl next
|
|
bind = , XF86AudioPrev, exec, playerctl previous
|
|
|
|
bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10%
|
|
bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%-
|
|
|
|
# Lockdown
|
|
bind = , XF86Lock, exec, hyprlock # Open screenlock
|
|
|
|
##############################
|
|
### WINDOWS AND WORKSPACES ###
|
|
##############################
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
|
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
|
|
|
# Example windowrule v1
|
|
# windowrule = float, ^(kitty)$
|
|
|
|
# Example windowrule v2
|
|
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
|
|
|
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
|
|
|
|
windowrulev2 = float,size 30% 50%,floatpos center,noborder,norounding,class:^(rofi|Rofi)$
|
|
|
|
source = ~/.config/hypr/autostart.conf
|
|
HYPRLANDCONFIG
|
|
|
|
else
|
|
echo "Hyprland config already exists."
|
|
fi
|
|
|
|
|
|
echo -e "${GREEN} Kitty config file START ${NC}"
|
|
|
|
if [ ! -f ~/.config/kitty/kitty.conf ]; then
|
|
mkdir -p ~/.config/kitty/themes
|
|
cat << "KITTYCONFIG" > ~/.config/kitty/kitty.conf
|
|
# A default configuration file can also be generated by running:
|
|
# kitty +runpy 'from kitty.config import *; print(commented_out_default_config())'
|
|
#
|
|
# The following command will bring up the interactive terminal GUI
|
|
# kitty +kitten themes
|
|
#
|
|
# kitty +kitten themes Catppuccin-Mocha
|
|
# kitty +kitten themes --reload-in=all Catppuccin-Mocha
|
|
|
|
background_opacity 0.98
|
|
|
|
font_family monospace
|
|
bold_font auto
|
|
italic_font auto
|
|
bold_italic_font auto
|
|
|
|
font_size 12
|
|
force_ltr no
|
|
|
|
adjust_line_height 0
|
|
adjust_column_width 0
|
|
|
|
adjust_baseline 0
|
|
|
|
disable_ligatures never
|
|
|
|
box_drawing_scale 0.001, 1, 1.5, 2
|
|
|
|
cursor #f2f2f2
|
|
|
|
cursor_text_color #f2f2f2
|
|
|
|
cursor_shape underline
|
|
|
|
cursor_beam_thickness 1.5
|
|
|
|
cursor_underline_thickness 2.0
|
|
|
|
cursor_blink_interval -1
|
|
|
|
cursor_stop_blinking_after 99.0
|
|
|
|
scrollback_lines 5000
|
|
|
|
scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER
|
|
|
|
scrollback_pager_history_size 0
|
|
|
|
scrollback_fill_enlarged_window no
|
|
|
|
wheel_scroll_multiplier 5.0
|
|
|
|
touch_scroll_multiplier 1.0
|
|
|
|
mouse_hide_wait 3.0
|
|
|
|
mouse_map right click paste_from_clipboard
|
|
|
|
url_color #0087bd
|
|
url_style curly
|
|
|
|
open_url_with default
|
|
|
|
url_prefixes http https file ftp gemini irc gopher mailto news git
|
|
|
|
detect_urls yes
|
|
|
|
url_excluded_characters
|
|
|
|
copy_on_select yes
|
|
|
|
strip_trailing_spaces never
|
|
|
|
select_by_word_characters @-./_~?&=%+#
|
|
|
|
click_interval -1.0
|
|
|
|
focus_follows_mouse no
|
|
|
|
pointer_shape_when_grabbed arrow
|
|
|
|
default_pointer_shape beam
|
|
|
|
pointer_shape_when_dragging beam
|
|
|
|
mouse_map left click ungrabbed mouse_click_url_or_select
|
|
mouse_map shift+left click grabbed,ungrabbed mouse_click_url_or_select
|
|
mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_click_url
|
|
|
|
mouse_map ctrl+shift+left press grabbed discard_event
|
|
|
|
mouse_map middle release ungrabbed paste_from_selection
|
|
mouse_map left press ungrabbed mouse_selection normal
|
|
mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle
|
|
mouse_map left doublepress ungrabbed mouse_selection word
|
|
mouse_map left triplepress ungrabbed mouse_selection line
|
|
|
|
mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point
|
|
|
|
#mouse_map right press ungrabbed mouse_selection extend
|
|
mouse_map shift+middle release ungrabbed,grabbed paste_selection
|
|
mouse_map shift+left press ungrabbed,grabbed mouse_selection normal
|
|
mouse_map shift+ctrl+alt+left press ungrabbed,grabbed mouse_selection rectangle
|
|
mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word
|
|
mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line
|
|
|
|
mouse_map shift+ctrl+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point
|
|
|
|
repaint_delay 10
|
|
|
|
input_delay 5
|
|
|
|
sync_to_monitor yes
|
|
|
|
enable_audio_bell no
|
|
|
|
visual_bell_duration 0.0
|
|
|
|
window_alert_on_bell no
|
|
|
|
bell_on_tab no
|
|
|
|
command_on_bell none
|
|
|
|
remember_window_size yes
|
|
initial_window_width 800
|
|
initial_window_height 500
|
|
|
|
enabled_layouts *
|
|
|
|
window_resize_step_cells 2
|
|
window_resize_step_lines 2
|
|
|
|
window_border_width 0.0pt
|
|
|
|
draw_minimal_borders yes
|
|
|
|
window_margin_width 0
|
|
|
|
single_window_margin_width -1
|
|
|
|
window_padding_width 3
|
|
|
|
placement_strategy center
|
|
|
|
active_border_color #f2f2f2
|
|
|
|
inactive_border_color #cccccc
|
|
|
|
bell_border_color #ff5a00
|
|
|
|
inactive_text_alpha 1.0
|
|
|
|
hide_window_decorations no
|
|
|
|
resize_debounce_time 0.1
|
|
|
|
resize_draw_strategy static
|
|
|
|
resize_in_steps no
|
|
|
|
confirm_os_window_close 0
|
|
|
|
tab_bar_edge bottom
|
|
|
|
tab_bar_margin_width 0.0
|
|
|
|
tab_bar_margin_height 0.0 0.0
|
|
|
|
tab_bar_style fade
|
|
|
|
tab_bar_min_tabs 2
|
|
|
|
tab_switch_strategy previous
|
|
|
|
tab_fade 0.25 0.5 0.75 1
|
|
|
|
tab_separator " |"
|
|
|
|
tab_powerline_style angled
|
|
|
|
tab_activity_symbol none
|
|
|
|
tab_title_template "{title}"
|
|
|
|
active_tab_title_template none
|
|
|
|
active_tab_foreground #000
|
|
active_tab_background #eee
|
|
active_tab_font_style bold-italic
|
|
inactive_tab_foreground #444
|
|
inactive_tab_background #999
|
|
inactive_tab_font_style normal
|
|
|
|
tab_bar_background none
|
|
|
|
background_image none
|
|
|
|
background_image_layout tiled
|
|
|
|
background_image_linear no
|
|
|
|
dynamic_background_opacity no
|
|
|
|
background_tint 0.0
|
|
|
|
dim_opacity 0.75
|
|
|
|
selection_foreground #000000
|
|
|
|
selection_background #fffacd
|
|
|
|
mark1_foreground black
|
|
|
|
mark1_background #98d3cb
|
|
|
|
mark2_foreground black
|
|
|
|
mark2_background #f2dcd3
|
|
|
|
mark3_foreground black
|
|
|
|
mark3_background #f274bc
|
|
|
|
shell .
|
|
|
|
editor .
|
|
|
|
close_on_child_death no
|
|
|
|
allow_remote_control yes
|
|
|
|
listen_on none
|
|
|
|
update_check_interval 0
|
|
|
|
startup_session none
|
|
|
|
clipboard_control write-clipboard write-primary
|
|
|
|
allow_hyperlinks yes
|
|
|
|
term xterm-kitty
|
|
|
|
wayland_titlebar_color system
|
|
|
|
macos_titlebar_color system
|
|
|
|
macos_option_as_alt no
|
|
|
|
macos_hide_from_tasks no
|
|
|
|
macos_quit_when_last_window_closed no
|
|
|
|
macos_window_resizable yes
|
|
|
|
macos_thicken_font 0
|
|
|
|
macos_traditional_fullscreen no
|
|
|
|
macos_show_window_title_in all
|
|
|
|
macos_custom_beam_cursor no
|
|
|
|
linux_display_server auto
|
|
|
|
kitty_mod ctrl+shift
|
|
|
|
clear_all_shortcuts no
|
|
map kitty_mod+c copy_to_clipboard
|
|
map kitty_mod+v paste_from_clipboard
|
|
map kitty_mod+up scroll_line_up
|
|
map kitty_mod+down scroll_line_down
|
|
map kitty_mod+page_up scroll_page_up
|
|
map kitty_mod+page_down scroll_page_down
|
|
map kitty_mod+home scroll_home
|
|
map kitty_mod+end scroll_end
|
|
map kitty_mod+h show_scrollback
|
|
map kitty_mod+w close_window
|
|
map kitty_mod+] next_window
|
|
map kitty_mod+[ previous_window
|
|
map kitty_mod+f move_window_forward
|
|
map kitty_mod+b move_window_backward
|
|
map kitty_mod+` move_window_to_top
|
|
map kitty_mod+r start_resizing_window
|
|
map kitty_mod+1 first_window
|
|
map kitty_mod+2 second_window
|
|
map kitty_mod+3 third_window
|
|
map kitty_mod+4 fourth_window
|
|
map kitty_mod+5 fifth_window
|
|
map kitty_mod+6 sixth_window
|
|
map kitty_mod+7 seventh_window
|
|
map kitty_mod+8 eighth_window
|
|
map kitty_mod+9 ninth_window
|
|
map kitty_mod+0 tenth_window
|
|
map kitty_mod+right next_tab
|
|
map kitty_mod+left previous_tab
|
|
map kitty_mod+t new_tab
|
|
map kitty_mod+q close_tab
|
|
map shift+cmd+w close_os_window
|
|
map kitty_mod+. move_tab_forward
|
|
map kitty_mod+, move_tab_backward
|
|
map kitty_mod+alt+t set_tab_title
|
|
map kitty_mod+l next_layout
|
|
map kitty_mod+equal change_font_size all +2.0
|
|
map kitty_mod+minus change_font_size all -2.0
|
|
map kitty_mod+backspace change_font_size all 0
|
|
map kitty_mod+e kitten hints
|
|
map kitty_mod+p>f kitten hints --type path --program -
|
|
map kitty_mod+p>shift+f kitten hints --type path
|
|
map kitty_mod+p>l kitten hints --type line --program -
|
|
map kitty_mod+p>w kitten hints --type word --program -
|
|
map kitty_mod+p>h kitten hints --type hash --program -
|
|
map kitty_mod+p>n kitten hints --type linenum
|
|
map kitty_mod+p>y kitten hints --type hyperlink
|
|
map kitty_mod+f11 toggle_fullscreen
|
|
map kitty_mod+f10 toggle_maximized
|
|
map kitty_mod+u kitten unicode_input
|
|
map kitty_mod+f2 edit_config_file
|
|
map kitty_mod+escape kitty_shell window
|
|
map kitty_mod+a>m set_background_opacity +0.1
|
|
map kitty_mod+a>l set_background_opacity -0.1
|
|
map kitty_mod+a>1 set_background_opacity 1
|
|
map kitty_mod+a>d set_background_opacity default
|
|
map kitty_mod+delete clear_terminal reset active
|
|
map kitty_mod+f5 load_config_file
|
|
map kitty_mod+f6 debug_config
|
|
|
|
include ~/.config/kitty/themes/kittytheme.conf
|
|
|
|
KITTYCONFIG
|
|
|
|
else
|
|
echo "Kitty config already exists."
|
|
fi
|
|
|
|
echo -e "${GREEN} Kitty theme.conf Start ${NC}"
|
|
|
|
if [ ! -f $HOME/.config/kitty/themes/kittytheme.conf ]; then
|
|
mkdir -p $HOME/.config/kitty/themes
|
|
cat << "KITTYTHEMECONF" > $HOME/.config/kitty/themes/kittytheme.conf
|
|
background #1b0200
|
|
foreground #ee712d
|
|
color0 #1b0200
|
|
color1 #240002
|
|
color2 #d74d00
|
|
color3 #d74d00
|
|
color4 #9c2101
|
|
color5 #d74d00
|
|
color6 #d74d00
|
|
color7 #d74d00
|
|
color8 #d74d00
|
|
color9 #830508
|
|
color10 #d74d00
|
|
color11 #d74d00
|
|
color12 #9a292f
|
|
color13 #e46324
|
|
color14 #ea6f10
|
|
color15 #ee712d
|
|
|
|
KITTYTHEMECONF
|
|
|
|
else
|
|
echo "kittytheme.conf file already exists."
|
|
fi
|
|
|
|
echo -e "${GREEN} Kitty config file END ${NC}"
|
|
|
|
|
|
echo -e "${GREEN} Kittytheme.conf Start ${NC}"
|
|
|
|
if [ ! -f $HOME/.config/kitty/themes/kittytheme.conf ]; then
|
|
mkdir -p $HOME/.config/kitty/themes
|
|
cat << "KITTYTHEMECONF" > $HOME/.config/kitty/themes/kittytheme.conf
|
|
background #1b0200
|
|
foreground #ee712d
|
|
color0 #1b0200
|
|
color1 #240002
|
|
color2 #d74d00
|
|
color3 #d74d00
|
|
color4 #9c2101
|
|
color5 #d74d00
|
|
color6 #d74d00
|
|
color7 #d74d00
|
|
color8 #d74d00
|
|
color9 #830508
|
|
color10 #d74d00
|
|
color11 #d74d00
|
|
color12 #9a292f
|
|
color13 #e46324
|
|
color14 #ea6f10
|
|
color15 #ee712d
|
|
|
|
KITTYTHEMECONF
|
|
|
|
else
|
|
echo "kittytheme.conf file already exists."
|
|
fi
|
|
|
|
|
|
# END
|
|
cd ~
|