diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..738b978 --- /dev/null +++ b/install.sh @@ -0,0 +1,832 @@ +#!/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 pipewire-pulse wireplumber pipewire-jack pipewire-alsa pipewire-audio-client-libraries pavucontrol +# 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 + + +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 "${YELLOW} Kitty config file END ${NC}" + + + +echo -e "${YELLOW} 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 + + +cd ~ +# END