Skip to content

Instantly share code, notes, and snippets.

@tiberiosantos
Last active August 27, 2022 18:49
Show Gist options
  • Save tiberiosantos/c13efa77756b53dedf7129071f787a50 to your computer and use it in GitHub Desktop.
Save tiberiosantos/c13efa77756b53dedf7129071f787a50 to your computer and use it in GitHub Desktop.
Script to install and update my favorite themes for KDE, GTK and Firefox
#!/bin/bash
#
# Script to install and update my favorite themes for KDE, GTK and Firefox.
#
# The MIT License (MIT)
#
# Copyright (c) 2022 Tiberio A. Santos
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
mkdir -p ~/.config/Kvantum/ ~/.icons ~/.local/{bin,share/{\
aurorae/themes,bash-completion,color-schemes,icons,konsole,plasma/{\
desktoptheme,look-and-feel},yakuake/skins}} ~/.themes
# Arc KDE
([ -d arc-kde ] && git -C arc-kde pull) || \
git clone https://github.com/PapirusDevelopmentTeam/arc-kde.git
ln -sfF "$(realpath arc-kde/aurorae/themes)"/* ~/.local/share/aurorae/themes/
ln -sfF "$(realpath arc-kde/color-schemes)"/* ~/.local/share/color-schemes/
ln -sfF "$(realpath arc-kde/konsole)"/* ~/.local/share/konsole/
ln -sfF "$(realpath arc-kde/Kvantum/)"/* ~/.config/Kvantum/
ln -sfF "$(realpath arc-kde/plasma/desktoptheme)"/* \
~/.local/share/plasma/desktoptheme/
ln -sfF "$(realpath arc-kde/plasma/look-and-feel)"/* \
~/.local/share/plasma/look-and-feel/
ln -sfF "$(realpath arc-kde/yakuake/skins)"/* ~/.local/share/yakuake/skins/
# Materia KDE
([ -d materia-kde ] && git -C materia-kde pull) || \
git clone https://github.com/PapirusDevelopmentTeam/materia-kde.git
ln -sfF "$(realpath materia-kde/aurorae/themes)"/* \
~/.local/share/aurorae/themes/
ln -sfF "$(realpath materia-kde/color-schemes)"/* ~/.local/share/color-schemes/
ln -sfF "$(realpath materia-kde/konsole)"/* ~/.local/share/konsole/
ln -sfF "$(realpath materia-kde/Kvantum/)"/* ~/.config/Kvantum/
ln -sfF "$(realpath materia-kde/plasma/desktoptheme)"/* \
~/.local/share/plasma/desktoptheme/
ln -sfF "$(realpath materia-kde/plasma/look-and-feel)"/* \
~/.local/share/plasma/look-and-feel/
ln -sfF "$(realpath materia-kde/yakuake/skins)"/* ~/.local/share/yakuake/skins/
# Nordic KDE and GTK theme
([ -d Nordic ] && git -C Nordic pull) || \
git clone https://github.com/EliverLara/Nordic.git
ln -sfF "$(realpath Nordic/kde/aurorae)"/* ~/.local/share/aurorae/themes/
ln -sfF "$(realpath Nordic/kde/colorschemes)"/* ~/.local/share/color-schemes/
ln -sfF "$(realpath Nordic/kde/cursors/Nordic-cursors)" ~/.icons/
ln -sfF "$(realpath Nordic/kde/konsole)"/* ~/.local/share/konsole/
ln -sfF "$(realpath Nordic/kde/kvantum/)"/* ~/.config/Kvantum/
ln -sfF "$(realpath Nordic/kde/plasma/look-and-feel)"/* \
~/.local/share/plasma/look-and-feel/
ln -sfF "$(realpath Nordic)" ~/.themes/
# Papirus icon theme
([ -d papirus-icon-theme ] && git -C papirus-icon-theme pull) || \
git clone https://github.com/PapirusDevelopmentTeam/papirus-icon-theme.git
ln -sfF "$(realpath papirus-icon-theme/*/ | grep -v tools)" \
~/.local/share/icons/
ln -sfF "$(realpath papirus-icon-theme/*/ | grep -v tools)" ~/.icons/
# Papirus folders theme
([ -d papirus-folders ] && git -C papirus-folders pull) || \
git clone https://github.com/PapirusDevelopmentTeam/papirus-folders
ln -sfF "$(realpath papirus-folders/papirus-folders)" ~/.local/bin/
ln -sfF "$(realpath papirus-folders/completion/papirus-folders)" \
~/.local/share/bash-completion/completions/
# Firefox Lepton theme
([ -d Firefox-UI-Fix ] && git -C Firefox-UI-Fix pull) || \
git clone https://github.com/black7375/Firefox-UI-Fix
profiles="$(realpath ~/.mozilla/firefox)"
while read -r p; do
profile=$profiles/$p
if [[ -e $profile/prefs.js ]]; then
mkdir -p "$profile"/chrome
ln -sfF "$(realpath Firefox-UI-Fix/css)" "$profile"/chrome/
ln -sfF "$(realpath Firefox-UI-Fix/icons)" "$profile"/chrome/
ln -sfF "$(realpath Firefox-UI-Fix/userChrome.css)" "$profile"/chrome/
ln -sfF "$(realpath Firefox-UI-Fix/userContent.css)" "$profile"/chrome/
ln -sfF "$(realpath user.js)" "$profile"/
fi
done < <(grep Path "$profiles"/profiles.ini | cut -f2 -d=)
user_pref("accessibility.force_disabled", true);
user_pref("app.normandy.api_url", "");
user_pref("app.normandy.enabled", false);
user_pref("app.normandy.first_run", false);
user_pref("app.shield.optoutstudies.enabled", false);
user_pref("beacon.enabled", false);
user_pref("breakpad.reportURL", "");
user_pref("browser.cache.memory.enable", false);
user_pref("browser.compactmode.show", true);
user_pref("browser.crashReports.unsubmittedCheck.autoSubmit", false);
user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
user_pref("browser.display.use_system_colors", false);
user_pref("browser.download.improvements_to_download_panel", false);
user_pref("browser.download.start_downloads_in_tmp_dir", true);
user_pref("browser.menu.showViewImageInfo", true);
user_pref("browser.newtabpage.activity-stream.discoverystream.sponsored-collections.enabled", false);
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
user_pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar", false);
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
user_pref("browser.newtabpage.activity-stream.telemetry", false);
user_pref("browser.newtabpage.activity-stream.telemetry.ping.endpoint", "");
user_pref("browser.newtabpage.activity-stream.telemetry.structuredIngestion.endpoint", "");
user_pref("browser.ping-centre.production.endpoint", "");
user_pref("browser.ping-centre.staging.endpoint", "");
user_pref("browser.ping-centre.telemetry", false);
user_pref("browser.proton.enabled", true);
user_pref("browser.proton.places-tooltip.enabled", true);
user_pref("browser.safebrowsing.downloads.remote.enabled", false);
user_pref("browser.send_pings", false);
user_pref("browser.sessionstore.privacy_level", 2);
user_pref("browser.urlbar.groupLabels.enabled", false);
user_pref("browser.urlbar.openViewOnFocus", false);
user_pref("browser.urlbar.speculativeConnect.enabled", false);
user_pref("browser.urlbar.sponsoredTopSites", false);
user_pref("browser.urlbar.suggest.calculator", true);
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("datareporting.policy.dataSubmissionPolicyAcceptedVersion", 2);
user_pref("dom.event.clipboardevents.enabled", false);
user_pref("extensions.pocket.enabled", false);
user_pref("extensions.screenshots.disabled", true);
user_pref("extensions.systemAddon.update.enabled", false);
user_pref("extensions.systemAddon.update.url", "");
user_pref("layout.css.backdrop-filter.enabled", true);
user_pref("layout.css.color-mix.enabled", true);
user_pref("media.av1.enabled", false);
user_pref("media.eme.enabled", false);
user_pref("media.ffmpeg.dmabuf-textures.enabled", true);
user_pref("media.ffmpeg.vaapi.enabled", true);
user_pref("media.ffvpx.enabled", false);
user_pref("media.gmpwidevinecdm.enabled", false);
user_pref("media.navigator.enabled", false);
user_pref("media.webm.enabled", false);
user_pref("memory.free_dirty_pages", true);
user_pref("network.IDN_show_punycode", true);
user_pref("network.allow-experiments", false);
user_pref("network.cookie.cookieBehavior", 1);
user_pref("privacy.firstparty.isolate", true);
user_pref("privacy.trackingprotection.cryptomining.enabled", true);
user_pref("privacy.trackingprotection.enabled", true);
user_pref("privacy.trackingprotection.fingerprinting.enabled", true);
user_pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored", false);
user_pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSites", false);
user_pref("svg.context-properties.content.enabled", true);
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
user_pref("toolkit.telemetry.archive.enabled", false);
user_pref("toolkit.telemetry.bhrPing.enabled", false);
user_pref("toolkit.telemetry.cachedClientID", "");
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
user_pref("toolkit.telemetry.hybridContent.enabled", false);
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);
user_pref("toolkit.telemetry.server", "data:,");
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
user_pref("toolkit.telemetry.unified", false);
user_pref("toolkit.telemetry.updatePing.enabled", false);
user_pref("ui.systemUsesDarkTheme", 1);
user_pref("userChrome.compatibility.os", true);
user_pref("userChrome.compatibility.theme", true);
user_pref("userChrome.decoration.animate", true);
user_pref("userChrome.decoration.cursor", true);
user_pref("userChrome.decoration.download_panel", true);
user_pref("userChrome.decoration.field_border", true);
user_pref("userChrome.fullscreen.overlap", true);
user_pref("userChrome.icon.context_menu", true);
user_pref("userChrome.icon.global_menu", true);
user_pref("userChrome.icon.global_menubar", true);
user_pref("userChrome.icon.library", true);
user_pref("userChrome.icon.menu", true);
user_pref("userChrome.icon.panel", true);
user_pref("userChrome.icon.panel_full", true);
user_pref("userChrome.padding.bookmark_menu", true);
user_pref("userChrome.padding.bookmarkbar", true);
user_pref("userChrome.padding.global_menubar", true);
user_pref("userChrome.padding.infobar", true);
user_pref("userChrome.padding.menu", true);
user_pref("userChrome.padding.navbar_width", true);
user_pref("userChrome.padding.panel", true);
user_pref("userChrome.padding.popup_panel", true);
user_pref("userChrome.padding.tabbar_height", true);
user_pref("userChrome.padding.tabbar_width", true);
user_pref("userChrome.padding.toolbar_button", true);
user_pref("userChrome.padding.urlbar", true);
user_pref("userChrome.tab.bottom_rounded_corner", true);
user_pref("userChrome.tab.box_shadow", true);
user_pref("userChrome.tab.close_button_at_hover", true);
user_pref("userChrome.tab.color_like_toolbar", true);
user_pref("userChrome.tab.connect_to_window", true);
user_pref("userChrome.tab.container", true);
user_pref("userChrome.tab.crashed", true);
user_pref("userChrome.tab.dynamic_separtor", true);
user_pref("userChrome.tab.lepton_like_padding", true);
user_pref("userChrome.tab.letters_cleary", true);
user_pref("userChrome.tab.multi_selected", true);
user_pref("userChrome.tab.newtab_button_like_tab", true);
user_pref("userChrome.tab.pip", true);
user_pref("userChrome.tab.sound_hide_label", true);
user_pref("userChrome.tab.sound_with_favicons", true);
user_pref("userChrome.tab.unloaded", true);
user_pref("userChrome.theme.built_in_contrast", true);
user_pref("userChrome.theme.fully_color", true);
user_pref("userChrome.theme.fully_dark", true);
user_pref("userChrome.theme.proton_chrome", true);
user_pref("userChrome.theme.proton_color", true);
user_pref("userChrome.theme.system_default", true);
user_pref("userContent.newTab.animate", true);
user_pref("userContent.newTab.field_border", true);
user_pref("userContent.newTab.full_icon", true);
user_pref("userContent.newTab.pocket_to_last", true);
user_pref("userContent.newTab.searchbar", true);
user_pref("userContent.page.dark_mode", true);
user_pref("userContent.page.illustration", true);
user_pref("userContent.page.proton", true);
user_pref("userContent.page.proton_color", true);
user_pref("userContent.player.animate", true);
user_pref("userContent.player.click_to_play", true);
user_pref("userContent.player.icon", true);
user_pref("userContent.player.noaudio", true);
user_pref("userContent.player.size", true);
user_pref("userContent.player.ui", true);
user_pref("webgl.disabled", true);
user_pref("widget.content.allow-gtk-dark-theme", false);
user_pref("widget.content.gtk-theme-override", "Materia:light");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment