Added configuration script for terminal, default apps, gedit and more, and modified rebuilt-machine.sh script to handle it all.

This commit is contained in:
crowetic 2025-03-25 18:00:34 -07:00
parent 372fbdd248
commit b1e5f8daee
2 changed files with 193 additions and 59 deletions

View File

@ -0,0 +1,124 @@
#!/bin/bash
# Get default GNOME terminal profile ID
PROFILE_ID=$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d \')
PROFILE_PATH="/org/gnome/terminal/legacy/profiles:/:$PROFILE_ID"
### Configure GNOME Terminal ###
# Disable theme colors so custom ones apply
gsettings set ${PROFILE_PATH} use-theme-colors false
# Set custom font
gsettings set ${PROFILE_PATH} use-system-font false
gsettings set ${PROFILE_PATH} font 'Ubuntu Mono 12'
# Enable unlimited scrollback
gsettings set ${PROFILE_PATH} scrollback-unlimited true
# Set Solarized Dark palette
SOLARIZED_PALETTE="['#073642', '#dc322f', '#859900', '#b58900', '#268bd2', '#d33682', '#2aa198', '#eee8d5', '#002b36', '#cb4b16', '#586e75', '#657b83', '#839496', '#6c71c4', '#93a1a1', '#fdf6e3']"
gsettings set ${PROFILE_PATH} palette "$SOLARIZED_PALETTE"
# Set background and foreground
# Solarized Dark background and light green text (customized)
gsettings set ${PROFILE_PATH} background-color '#002b36'
gsettings set ${PROFILE_PATH} foreground-color '#aaff99' # lighter green for text
# Set bold color same as foreground
gsettings set ${PROFILE_PATH} bold-color '#aaff99'
gsettings set ${PROFILE_PATH} bold-color-same-as-fg true
# Enable transparency (optional; 0.9 = 10% transparent)
gsettings set ${PROFILE_PATH} use-transparent-background true
gsettings set ${PROFILE_PATH} background-transparency-percent 10
# Set default terminal window size
gsettings set ${PROFILE_PATH} default-size-columns 135
gsettings set ${PROFILE_PATH} default-size-rows 35
### Set Default Applications ###
xdg-mime default org.gnome.TextEditor.desktop text/plain
xdg-mime default org.gnome.eog.desktop image/jpeg
xdg-mime default org.gnome.eog.desktop image/png
xdg-mime default org.gnome.eog.desktop image/gif
xdg-mime default vlc.desktop audio/mpeg
xdg-mime default vlc.desktop video/mp4
xdg-mime default evince.desktop application/pdf
set -e
echo "🖋 Applying Gedit settings..."
cat > gedit.conf <<EOL
[plugins]
active-plugins=['filebrowser', 'docinfo', 'sort', 'modelines', 'spell', 'openlinks', 'terminal']
[plugins/filebrowser]
root='file:///'
tree-view=true
virtual-root='file:///home/qortector/Desktop'
[preferences/editor]
display-line-numbers=false
scheme='solarized-dark'
wrap-last-split-mode='word'
[preferences/ui]
show-tabs-mode='auto'
[state/window]
bottom-panel-active-page='GeditTerminalPanel'
bottom-panel-size=140
side-panel-active-page='GeditWindowDocumentsPanel'
side-panel-size=200
size=(900, 700)
state=87168
EOL
echo "✅ Gedit preferences set."
echo "📁 Applying Nemo preferences using dconf..."
cat > nemo-settings.conf <<EON
[list-view]
default-column-order=['name', 'size', 'type', 'date_modified', 'date_created_with_time', 'date_accessed', 'date_created', 'detailed_type', 'group', 'where', 'mime_type', 'date_modified_with_time', 'octal_permissions', 'owner', 'permissions', 'selinux_context']
default-visible-columns=['name', 'size', 'type', 'date_modified', 'date_created', 'mime_type']
[preferences]
close-device-view-on-device-eject=true
confirm-move-to-trash=true
enable-delete=false
show-computer-icon-toolbar=true
show-home-icon-toolbar=true
show-new-folder-icon-toolbar=true
show-open-in-terminal-toolbar=true
show-reload-icon-toolbar=true
show-show-thumbnails-toolbar=true
[preferences/menu-config]
selection-menu-make-link=true
[window-state]
geometry='1248x743+115+53'
maximized=false
sidebar-bookmark-breakpoint=5
start-with-sidebar=true
EON
# Load into dconf
dconf load /org/nemo/ < nemo-settings.conf
dconf load /org/gnome/gedit/preferences/ < gedit.conf
rm -f nemo-settings.conf gedit.conf
echo "✅ Nemo preferences applied."
echo "🎉 Desktop configuration complete!"
# Optional: customize sidebar, sorting, etc. once exported with dconf
echo "✅ GNOME Terminal and application defaults configured."
echo " You can run 'dconf dump /org/nemo/' to export your current Nemo setup."
echo " Then edit and apply with: dconf load /org/nemo/ < nemo-settings.conf"

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/sh
# Regular Colors # Regular Colors
BLACK='\033[0;30m' BLACK='\033[0;30m'
@ -13,26 +13,17 @@ NC='\033[0m'
username=$(whoami) username=$(whoami)
echo -e "${YELLOW} UPDATING UBUNTU AND INSTALLING REQUIRED SOFTWARE PACKAGES ${NC}\n" echo "${YELLOW} UPDATING UBUNTU AND INSTALLING REQUIRED SOFTWARE PACKAGES ${NC}\n"
echo -e "${YELLOW} creating system folders that require admin permissions..." echo "${YELLOW} creating system folders that require admin permissions..."
sudo mkdir -p /usr/share/desktop-directories
sudo tee /usr/share/desktop-directories/qortal.directory > /dev/null <<EOL
[Desktop Entry]
Name=Qortal
Comment=Qortal Applications
Icon=qortal-logo
Type=Directory
EOL
sudo apt update sudo apt update
sudo apt -y upgrade sudo apt -y upgrade
sudo apt -y install git jq gnome-software unzip vim curl openjdk-21-jre yaru-theme-icon yaru-theme-gtk yaru-theme-unity zlib1g-dev vlc chromium-browser p7zip-full libfuse2 htop net-tools bpytop ffmpeg sysbench smartmontools ksnip xsensors fonts-symbola lm-sensors cinnamon-desktop-environment sudo apt -y install git jq gnome-software unzip vim curl openjdk-21-jre yaru-theme-icon yaru-theme-gtk yaru-theme-unity zlib1g-dev vlc chromium-browser p7zip-full libfuse2 htop net-tools bpytop ffmpeg sysbench smartmontools ksnip xsensors fonts-symbola lm-sensors cinnamon-desktop-environment
### SET DEFAULT SESSION TO CINNAMON ### ### SET DEFAULT SESSION TO CINNAMON ###
echo -e "${YELLOW} SETTING CINNAMON AS DEFAULT DESKTOP SESSION ${NC}\n" echo "${YELLOW} SETTING CINNAMON AS DEFAULT DESKTOP SESSION ${NC}\n"
# Works for most LightDM and GDM-based setups # Works for most LightDM and GDM-based setups
echo "cinnamon" > "${HOME}/.xsession" echo "cinnamon" > "${HOME}/.xsession"
@ -43,16 +34,16 @@ cat > "${HOME}/.dmrc" <<EOL
Session=cinnamon Session=cinnamon
EOL EOL
echo -e "${GREEN} Cinnamon session will be loaded by default on next login! ${NC}\n" echo "${GREEN} Cinnamon session will be loaded by default on next login! ${NC}\n"
### DOWNLOAD & INSTALL QORTAL CORE ### ### DOWNLOAD & INSTALL QORTAL CORE ###
echo -e "${YELLOW} DOWNLOADING QORTAL CORE AND QORT SCRIPT ${NC}\n" echo "${YELLOW} DOWNLOADING QORTAL CORE AND QORT SCRIPT ${NC}\n"
cd "${HOME}" cd "${HOME}"
mkdir -p backups mkdir -p backups
if [ -d qortal ]; then if [ -d qortal ]; then
echo -e "${PURPLE} qortal DIRECTORY FOUND, BACKING UP ORIGINAL TO '~/backups' AND RE-INSTALLING ${NC}\n" echo "${PURPLE} qortal DIRECTORY FOUND, BACKING UP ORIGINAL TO '~/backups' AND RE-INSTALLING ${NC}\n"
mv qortal "backups/qortal-$(date +%s)" mv qortal "backups/qortal-$(date +%s)"
fi fi
@ -98,20 +89,11 @@ curl -L -O https://cloud.qortal.org/s/machinefilesnew/download
chmod +x *.sh chmod +x *.sh
unzip download unzip download
rsync -raPz Machine-files/* "${HOME}" rsync -raPz Machine-files/* "${HOME}"
rm -rf Machine-files download
mkdir -p "${HOME}/.icons/qortal"
mv "${HOME}/Pictures/icons/blue-grey-menu-button.png" "${HOME}/.icons/qortal/qortal-menu-button.png"
mv "${HOME}/Pictures/icons/QLogo_512.png" "${HOME}/.icons/qortal/qortal-logo.png"
mv "${HOME}/Pictures/icons/qortal-ui.png" "${HOME}/.icons/qortal/qortal-ui.png"
mv "${HOME}/Pictures/icons/qortal-hub-app-logo.png" "${HOME}/.icons/qortal/qortal-hub.png"
rsync -raPz "${HOME}/.icons/qortal/" "${HOME}/Pictures/icons/"
sudo mkdir -p /usr/local/share/icons/qortal
rsync -raPz "${HOME}/.icons/qortal/" "/usr/local/share/icons/qortal/"
rm -rf download Machine-files
### CINNAMON THEMING - ALWAYS APPLIES EVEN IF CINNAMON ISN'T ACTIVE ### ### CINNAMON THEMING - ALWAYS APPLIES EVEN IF CINNAMON ISN'T ACTIVE ###
echo -e "${YELLOW} INSTALLING WINDOWS 10 THEMES FOR CINNAMON ${NC}\n" echo "${YELLOW} INSTALLING WINDOWS 10 THEMES FOR CINNAMON ${NC}\n"
mkdir -p "${HOME}/.themes" mkdir -p "${HOME}/.themes"
@ -126,7 +108,7 @@ fi
[ ! -d "${HOME}/.themes/Windows-10-Dark" ] && git clone https://github.com/B00merang-Project/Windows-10-Dark.git "${HOME}/.themes/Windows-10-Dark" [ ! -d "${HOME}/.themes/Windows-10-Dark" ] && git clone https://github.com/B00merang-Project/Windows-10-Dark.git "${HOME}/.themes/Windows-10-Dark"
### APPLY THEMES (WILL WORK AFTER REBOOT TOO) ### ### APPLY THEMES (WILL WORK AFTER REBOOT TOO) ###
echo -e "${YELLOW} APPLYING CINNAMON THEMES ${NC}\n" echo "${YELLOW} APPLYING CINNAMON THEMES ${NC}\n"
gsettings set org.cinnamon.desktop.wm.preferences theme "Windows-10-Dark" || true gsettings set org.cinnamon.desktop.wm.preferences theme "Windows-10-Dark" || true
gsettings set org.cinnamon.desktop.interface gtk-theme "Windows-10-Dark" || true gsettings set org.cinnamon.desktop.interface gtk-theme "Windows-10-Dark" || true
@ -155,7 +137,7 @@ gsettings set org.cinnamon.menu.enable-autoscroll true
gsettings set org.cinnamon.menu.enable-path-entry false gsettings set org.cinnamon.menu.enable-path-entry false
### CINNAMON PANEL + MENU CUSTOMIZATION ### ### CINNAMON PANEL + MENU CUSTOMIZATION ###
echo -e "${YELLOW} CREATING CINNAMON PANEL AND MENU CONFIGURATION SCRIPT AND SETTING TO RUN POST-STARTUP NEXT TIME. ${NC}\n" echo "${YELLOW} CREATING CINNAMON PANEL AND MENU CONFIGURATION SCRIPT AND SETTING TO RUN POST-STARTUP NEXT TIME. ${NC}\n"
cat > "$HOME/apply-cinnamon-settings.sh" <<'EOL' cat > "$HOME/apply-cinnamon-settings.sh" <<'EOL'
#!/bin/bash #!/bin/bash
@ -168,44 +150,69 @@ gsettings set org.cinnamon.desktop.interface icon-theme "Yaru-blue-dark"
gsettings set org.cinnamon.desktop.background picture-uri "file://$HOME/Pictures/wallpapers/Qortal-TheFuture-Wallpaper.png" gsettings set org.cinnamon.desktop.background picture-uri "file://$HOME/Pictures/wallpapers/Qortal-TheFuture-Wallpaper.png"
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
gsettings set org.cinnamon.menu-use-custom-icon true echo "Downloading additional settings..."
gsettings set org.cinnamon.menu.use-custom-label true curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/cinnamon-settings.json
gsettings set org.cinnamon menu-icon-name "qortal-menu-button" mkdir -p "${HOME}/.cinnamon/configs/menu@cinnamon.org"
gsettings set org.cinnamon menu-text "ortal-OS"
gsettings set org.cinnamon menu-icon-size 42
gsettings set org.cinnamon.menu.use-custom-menu-size false # Copy your preconfigured menu JSON
gsettings set org.cinnamon.menu.show-category-icons true cp cinnamon-settings.json "${HOME}/.cinnamon/configs/menu@cinnamon.org/0.json"
gsettings set org.cinnamon.menu.category-icon-size 34
gsettings set org.cinnamon.menu.show-application-icons true
gsettings set org.cinnamon.menu.application-icon-size 24
gsettings set org.cinnamon.menu.show-favorites true
gsettings set org.cinnamon.menu.favorites-icon-size 42
gsettings set org.cinnamon.menu.show-places true
gsettings set org.cinnamon.menu.show-recent-files false
gsettings set org.cinnamon.menu.hover-switch true
gsettings set org.cinnamon.menu.enable-autoscroll true
gsettings set org.cinnamon.menu.enable-path-entry false
#rm -f "$HOME/.config/autostart/apply-cinnamon-settings.desktop"
EOL EOL
chmod +x "$HOME/apply-cinnamon-settings.sh" chmod +x "$HOME/apply-cinnamon-settings.sh"
echo "${GREEN} Downloading additional ${NC}${YELLOW}CINNAMON${NC}${GREEN}settings${NC}\n"
curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/cinnamon-settings.json
mkdir -p "${HOME}/.cinnamon/configs/menu@cinnamon.org"
cp cinnamon-settings.json "${HOME}/.cinnamon/configs/menu@cinnamon.org/0.json"
echo "${YELLOW} Configuring terminal, default apps, and more...${NC}\n"
curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/configure-terminal-and-default-apps.sh
chmod +x configure-terminal-and-more.sh
./configure-terminal-and-more.sh
cd "${HOME}"
echo "continuing desktop configuration..."
mkdir -p "$HOME/.config/autostart" mkdir -p "$HOME/.config/autostart"
cat > "$HOME/.config/autostart/apply-cinnamon-settings.desktop" <<EOL cat > "$HOME/.local/share/applications/apply-cinnamon-settings.desktop" <<EOL
[Desktop Entry] [Desktop Entry]
Type=Application Type=Application
Exec=$HOME/apply-cinnamon-settings.sh Exec=gnome-terminal -- ./apply-cinnamon-settings.sh
Hidden=false Hidden=false
NoDisplay=false NoDisplay=false
Name=Apply Cinnamon Settings Name=Apply Cinnamon Settings
Comment=Reapplies Cinnamon panel, theme, and menu customizations Comment=Reapplies Cinnamon panel, theme, and menu customizations
EOL EOL
cat > "${HOME}/.config/autostart/auto-fix-qortal-GUI.desktop" <<EOL
[Desktop Entry]
Type=Application
Exec=gnome-terminal -- ./auto-fix-qortal.sh
X-GNOME-Autostart-enabled=true
NoDisplay=false
Hidden=false
Name[en_US]=auto-fix-visible
Comment[en_US]=Run auto-fix script visibly 7 min after system startup.
X-GNOME-Autostart-Delay=420
EOL
cat > "${HOME}/.config/autostart/start-qortal.desktop" <<EOL
[Desktop Entry]
Type=Application
Exec=./start-qortal-core.sh
X-GNOME-Autostart-enabled=true
NoDisplay=false
Hidden=false
Name[en_US]=start-qortal
Comment[en_US]=start qortal core 6 seconds after boot
X-GNOME-Autostart-Delay=6
EOL
### ADD DESKTOP SHORTCUTS ### ### ADD DESKTOP SHORTCUTS ###
echo -e "${YELLOW} CREATING DESKTOP LAUNCHERS ${NC}\n" echo "${YELLOW} CREATING DESKTOP LAUNCHERS ${NC}\n"
mkdir -p "${HOME}/.local/share/desktop-directories" mkdir -p "${HOME}/.local/share/desktop-directories"
@ -242,29 +249,32 @@ Type=Application
Categories=Qortal; Categories=Qortal;
EOL EOL
echo "${CYAN} Adding CUSTOM QORTAL ICON THEME...${NC}\n"
cd "${HOME}/Pictures/icons/icons_theme"
chmod +x add-qortal-icons-theme.sh
./add-qortal-icons-theme.sh
cd "${HOME}"
### CRONTAB SETUP ### ### CRONTAB SETUP ###
echo -e "${YELLOW} SETTING CRONTAB TASKS ${NC}\n" echo "${YELLOW} SETTING CRONTAB TASKS ${NC}\n"
{ {
echo "@reboot sleep 399 && ${HOME}/auto-fix-qortal.sh > \"${HOME}/qortal/auto-fix-startup.log\" 2>&1"
echo "@reboot ${HOME}/start-qortal-core.sh"
echo "1 1 */3 * * ${HOME}/auto-fix-qortal.sh > \"${HOME}/qortal/auto-fix-01.log\" 2>&1" echo "1 1 */3 * * ${HOME}/auto-fix-qortal.sh > \"${HOME}/qortal/auto-fix-01.log\" 2>&1"
} > rebuilt-machine-cron } > rebuilt-machine-cron
crontab rebuilt-machine-cron crontab rebuilt-machine-cron
rm -f rebuilt-machine-cron rm -f rebuilt-machine-cron configure-terminal-and-more.sh
echo -e "${YELLOW} Refreshing Cinnamon Panel/Menu to apply changes ${NC}" echo "${YELLOW} Refreshing Cinnamon Panel/Menu to apply changes ${NC}"
cinnamon --replace > /dev/null 2>&1 & cinnamon --replace > /dev/null 2>&1 &
echo -e "${GREEN} SETUP COMPLETE! CINNAMON WILL BE USED ON NEXT LOGIN. REBOOTING IN 30 SECONDS (use cntrl+c to CANCEL reboot within next 30 seconds if you do not want to reboot now...)${NC}\n" echo "${GREEN} SETUP COMPLETE! CINNAMON WILL BE USED ON NEXT LOGIN. REBOOTING IN 30 SECONDS (use cntrl+c to CANCEL reboot within next 30 seconds if you do not want to reboot now...)${NC}\n"
sleep 10 sleep 10
echo -e "${YELLOW}20 seconds remaining...\n" echo "${YELLOW}20 seconds remaining...${NC}\n"
sleep 9 sleep 9
echo -e "10 Seconds remaining...\n" echo "${RED}10 Seconds remaining...${NC}\n"
sleep 4 sleep 4
echo -e "5 seconds remaining...${NC}\n" echo "${RED}5 seconds remaining...${NC}\n"
sleep 3 sleep 3
echo "${GREEN} REBOOTING MACHINE NOW!${NC}\n" echo "${GREEN} REBOOTING MACHINE NOW!${NC}\n"
sudo reboot sudo reboot