Files
hmade/install.sh
2024-09-07 16:06:21 +02:00

833 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 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