From a4109a744c83e9773d7a5e18ad55c9701e5d1311 Mon Sep 17 00:00:00 2001 From: developomp Date: Sun, 30 Jan 2022 13:58:16 +0900 Subject: [PATCH] added some setup scripts --- .vscode/settings.json | 9 +- .../.config/autostart/brave-browser.desktop | 224 ------- home/pomp/.config/autostart/librewolf.desktop | 340 ++++++++++ src/constants.py | 1 + src/setup/__init__.py | 584 ++++++++++++++++++ src/setup/alacritty.py | 17 + src/setup/blender.py | 9 + src/setup/browsers.py | 23 + src/setup/btop.py | 9 + src/setup/office.py | 9 + src/setup/video_player.py | 9 + src/setup/vscodium.py | 72 +++ src/setup/wireshark.py | 9 + src/setup/zoom.py | 9 + src/setup/zsh.py | 36 ++ 15 files changed, 1135 insertions(+), 225 deletions(-) delete mode 100644 home/pomp/.config/autostart/brave-browser.desktop create mode 100644 home/pomp/.config/autostart/librewolf.desktop create mode 100644 src/constants.py create mode 100644 src/setup/__init__.py create mode 100644 src/setup/alacritty.py create mode 100644 src/setup/blender.py create mode 100644 src/setup/browsers.py create mode 100644 src/setup/btop.py create mode 100644 src/setup/office.py create mode 100644 src/setup/video_player.py create mode 100644 src/setup/vscodium.py create mode 100644 src/setup/wireshark.py create mode 100644 src/setup/zoom.py create mode 100644 src/setup/zsh.py diff --git a/.vscode/settings.json b/.vscode/settings.json index b339ac0..5ed0e7b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,11 @@ { - "cSpell.words": ["developomp", "flatpak", "pamac"], + "cSpell.words": [ + "alacritty", + "btop", + "developomp", + "flatpak", + "pamac", + "ungoogled" + ], "python.formatting.provider": "black" } diff --git a/home/pomp/.config/autostart/brave-browser.desktop b/home/pomp/.config/autostart/brave-browser.desktop deleted file mode 100644 index 7bc7312..0000000 --- a/home/pomp/.config/autostart/brave-browser.desktop +++ /dev/null @@ -1,224 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Brave -# Only KDE 4 seems to use GenericName, so we reuse the KDE strings. -# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413. -GenericName=Web Browser -GenericName[ar]=متصفح الشبكة -GenericName[bg]=Уеб браузър -GenericName[ca]=Navegador web -GenericName[cs]=WWW prohlížeč -GenericName[da]=Browser -GenericName[de]=Web-Browser -GenericName[el]=Περιηγητής ιστού -GenericName[en_GB]=Web Browser -GenericName[es]=Navegador web -GenericName[et]=Veebibrauser -GenericName[fi]=WWW-selain -GenericName[fr]=Navigateur Web -GenericName[gu]=વેબ બ્રાઉઝર -GenericName[he]=דפדפן אינטרנט -GenericName[hi]=वेब ब्राउज़र -GenericName[hu]=Webböngésző -GenericName[it]=Browser Web -GenericName[ja]=ウェブブラウザ -GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ -GenericName[ko]=웹 브라우저 -GenericName[lt]=Žiniatinklio naršyklė -GenericName[lv]=Tīmekļa pārlūks -GenericName[ml]=വെബ് ബ്രൌസര്‍ -GenericName[mr]=वेब ब्राऊजर -GenericName[nb]=Nettleser -GenericName[nl]=Webbrowser -GenericName[pl]=Przeglądarka WWW -GenericName[pt]=Navegador Web -GenericName[pt_BR]=Navegador da Internet -GenericName[ro]=Navigator de Internet -GenericName[ru]=Веб-браузер -GenericName[sl]=Spletni brskalnik -GenericName[sv]=Webbläsare -GenericName[ta]=இணைய உலாவி -GenericName[th]=เว็บเบราว์เซอร์ -GenericName[tr]=Web Tarayıcı -GenericName[uk]=Навігатор Тенет -GenericName[zh_CN]=网页浏览器 -GenericName[zh_HK]=網頁瀏覽器 -GenericName[zh_TW]=網頁瀏覽器 -# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1. -GenericName[bn]=ওয়েব ব্রাউজার -GenericName[fil]=Web Browser -GenericName[hr]=Web preglednik -GenericName[id]=Browser Web -GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର -GenericName[sk]=WWW prehliadač -GenericName[sr]=Интернет прегледник -GenericName[te]=మహాతల అన్వేషి -GenericName[vi]=Bộ duyệt Web -# Gnome and KDE 3 uses Comment. -Comment=Access the Internet -Comment[ar]=الدخول إلى الإنترنت -Comment[bg]=Достъп до интернет -Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন -Comment[ca]=Accedeix a Internet -Comment[cs]=Přístup k internetu -Comment[da]=Få adgang til internettet -Comment[de]=Internetzugriff -Comment[el]=Πρόσβαση στο Διαδίκτυο -Comment[en_GB]=Access the Internet -Comment[es]=Accede a Internet. -Comment[et]=Pääs Internetti -Comment[fi]=Käytä internetiä -Comment[fil]=I-access ang Internet -Comment[fr]=Accéder à Internet -Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો -Comment[he]=גישה אל האינטרנט -Comment[hi]=इंटरनेट तक पहुंच स्थापित करें -Comment[hr]=Pristup Internetu -Comment[hu]=Internetelérés -Comment[id]=Akses Internet -Comment[it]=Accesso a Internet -Comment[ja]=インターネットにアクセス -Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ -Comment[ko]=인터넷 연결 -Comment[lt]=Interneto prieiga -Comment[lv]=Piekļūt internetam -Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക -Comment[mr]=इंटरनेटमध्ये प्रवेश करा -Comment[nb]=Gå til Internett -Comment[nl]=Verbinding maken met internet -Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ -Comment[pl]=Skorzystaj z internetu -Comment[pt]=Aceder à Internet -Comment[pt_BR]=Acessar a internet -Comment[ro]=Accesaţi Internetul -Comment[ru]=Доступ в Интернет -Comment[sk]=Prístup do siete Internet -Comment[sl]=Dostop do interneta -Comment[sr]=Приступите Интернету -Comment[sv]=Gå ut på Internet -Comment[ta]=இணையத்தை அணுகுதல் -Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి -Comment[th]=เข้าถึงอินเทอร์เน็ต -Comment[tr]=İnternet'e erişin -Comment[uk]=Доступ до Інтернету -Comment[vi]=Truy cập Internet -Comment[zh_CN]=访问互联网 -Comment[zh_HK]=連線到網際網路 -Comment[zh_TW]=連線到網際網路 -StartupNotify=true -StartupWMClass=brave-browser -TryExec=brave -Exec=brave %U -Terminal=false -Icon=brave-desktop -Type=Application -Categories=Network;WebBrowser; -MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ipfs;x-scheme-handler/ipns; -Actions=new-window;new-private-window; - -[Desktop Action new-window] -Name=New Window -Name[am]=አዲስ መስኮት -Name[ar]=نافذة جديدة -Name[bg]=Нов прозорец -Name[bn]=নতুন উইন্ডো -Name[ca]=Finestra nova -Name[cs]=Nové okno -Name[da]=Nyt vindue -Name[de]=Neues Fenster -Name[el]=Νέο Παράθυρο -Name[en_GB]=New Window -Name[es]=Nueva ventana -Name[et]=Uus aken -Name[fa]=پنجره جدید -Name[fi]=Uusi ikkuna -Name[fil]=New Window -Name[fr]=Nouvelle fenêtre -Name[gu]=નવી વિંડો -Name[hi]=नई विंडो -Name[hr]=Novi prozor -Name[hu]=Új ablak -Name[id]=Jendela Baru -Name[it]=Nuova finestra -Name[iw]=חלון חדש -Name[ja]=新規ウインドウ -Name[kn]=ಹೊಸ ವಿಂಡೊ -Name[ko]=새 창 -Name[lt]=Naujas langas -Name[lv]=Jauns logs -Name[ml]=പുതിയ വിന്‍ഡോ -Name[mr]=नवीन विंडो -Name[nl]=Nieuw venster -Name[no]=Nytt vindu -Name[pl]=Nowe okno -Name[pt]=Nova janela -Name[pt_BR]=Nova janela -Name[ro]=Fereastră nouă -Name[ru]=Новое окно -Name[sk]=Nové okno -Name[sl]=Novo okno -Name[sr]=Нови прозор -Name[sv]=Nytt fönster -Name[sw]=Dirisha Jipya -Name[ta]=புதிய சாளரம் -Name[te]=క్రొత్త విండో -Name[th]=หน้าต่างใหม่ -Name[tr]=Yeni Pencere -Name[uk]=Нове вікно -Name[vi]=Cửa sổ Mới -Name[zh_CN]=新建窗口 -Name[zh_TW]=開新視窗 -Exec=brave - -[Desktop Action new-private-window] -Name=New Incognito Window -Name[ar]=نافذة جديدة للتصفح المتخفي -Name[bg]=Нов прозорец „инкогнито“ -Name[bn]=নতুন ছদ্মবেশী উইন্ডো -Name[ca]=Finestra d'incògnit nova -Name[cs]=Nové anonymní okno -Name[da]=Nyt inkognitovindue -Name[de]=Neues Inkognito-Fenster -Name[el]=Νέο παράθυρο για ανώνυμη περιήγηση -Name[en_GB]=New Incognito window -Name[es]=Nueva ventana de incógnito -Name[et]=Uus inkognito aken -Name[fa]=پنجره جدید حالت ناشناس -Name[fi]=Uusi incognito-ikkuna -Name[fil]=Bagong Incognito window -Name[fr]=Nouvelle fenêtre de navigation privée -Name[gu]=નવી છુપી વિંડો -Name[hi]=नई गुप्त विंडो -Name[hr]=Novi anoniman prozor -Name[hu]=Új Inkognitóablak -Name[id]=Jendela Penyamaran baru -Name[it]=Nuova finestra di navigazione in incognito -Name[iw]=חלון חדש לגלישה בסתר -Name[ja]=新しいシークレット ウィンドウ -Name[kn]=ಹೊಸ ಅಜ್ಞಾತ ವಿಂಡೋ -Name[ko]=새 시크릿 창 -Name[lt]=Naujas inkognito langas -Name[lv]=Jauns inkognito režīma logs -Name[ml]=പുതിയ വേഷ പ്രച്ഛന്ന വിന്‍ഡോ -Name[mr]=नवीन गुप्त विंडो -Name[nl]=Nieuw incognitovenster -Name[no]=Nytt inkognitovindu -Name[pl]=Nowe okno incognito -Name[pt]=Nova janela de navegação anónima -Name[pt_BR]=Nova janela anônima -Name[ro]=Fereastră nouă incognito -Name[ru]=Новое окно в режиме инкогнито -Name[sk]=Nové okno inkognito -Name[sl]=Novo okno brez beleženja zgodovine -Name[sr]=Нови прозор за прегледање без архивирања -Name[sv]=Nytt inkognitofönster -Name[ta]=புதிய மறைநிலைச் சாளரம் -Name[te]=క్రొత్త అజ్ఞాత విండో -Name[th]=หน้าต่างใหม่ที่ไม่ระบุตัวตน -Name[tr]=Yeni Gizli pencere -Name[uk]=Нове вікно в режимі анонімного перегляду -Name[vi]=Cửa sổ ẩn danh mới -Name[zh_CN]=新建隐身窗口 -Name[zh_TW]=新增無痕式視窗 -Exec=brave --incognito -MimeType=x-scheme-handler/unknown;x-scheme-handler/about;text/html;text/xml;application/xhtml_xml;image/webp;x-scheme-handler/http;x-scheme-handler/https; diff --git a/home/pomp/.config/autostart/librewolf.desktop b/home/pomp/.config/autostart/librewolf.desktop new file mode 100644 index 0000000..ccc5795 --- /dev/null +++ b/home/pomp/.config/autostart/librewolf.desktop @@ -0,0 +1,340 @@ +[Desktop Entry] +Version=1.0 +Name=LibreWolf +GenericName=Web Browser +GenericName[ar]=متصفح ويب +GenericName[ast]=Restolador Web +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[ca]=Navegador web +GenericName[cs]=Webový prohlížeč +GenericName[da]=Webbrowser +GenericName[de]=Webbrowser +GenericName[el]=Περιηγητής διαδικτύου +GenericName[es]=Navegador web +GenericName[et]=Veebibrauser +GenericName[fa]=مرورگر اینترنتی +GenericName[fi]=WWW-selain +GenericName[fr]=Navigateur Web +GenericName[gl]=Navegador Web +GenericName[he]=דפדפן אינטרנט +GenericName[hr]=Web preglednik +GenericName[hu]=Webböngésző +GenericName[it]=Browser web +GenericName[ja]=ウェブ・ブラウザ +GenericName[ko]=웹 브라우저 +GenericName[ku]=Geroka torê +GenericName[lt]=Interneto naršyklė +GenericName[nb]=Nettleser +GenericName[nl]=Webbrowser +GenericName[nn]=Nettlesar +GenericName[no]=Nettleser +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador Web +GenericName[ro]=Navigator Internet +GenericName[ru]=Веб-браузер +GenericName[sk]=Internetový prehliadač +GenericName[sl]=Spletni brskalnik +GenericName[sv]=Webbläsare +GenericName[tr]=Web Tarayıcı +GenericName[ug]=توركۆرگۈ +GenericName[uk]=Веб-браузер +GenericName[vi]=Trình duyệt Web +GenericName[zh_CN]=网络浏览器 +GenericName[zh_TW]=網路瀏覽器 +Comment=Browse the World Wide Web +Comment[ar]=تصفح الشبكة العنكبوتية العالمية +Comment[ast]=Restola pela Rede +Comment[bn]=ইন্টারনেট ব্রাউজ করুন +Comment[ca]=Navegueu per el web +Comment[cs]=Prohlížení stránek World Wide Webu +Comment[da]=Surf på internettet +Comment[de]=Im Internet surfen +Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web) +Comment[es]=Navegue por la web +Comment[et]=Lehitse veebi +Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید +Comment[fi]=Selaa Internetin WWW-sivuja +Comment[fr]=Naviguer sur le Web +Comment[gl]=Navegar pola rede +Comment[he]=גלישה ברחבי האינטרנט +Comment[hr]=Pretražite web +Comment[hu]=A világháló böngészése +Comment[it]=Esplora il web +Comment[ja]=ウェブを閲覧します +Comment[ko]=웹을 돌아 다닙니다 +Comment[ku]=Li torê bigere +Comment[lt]=Naršykite internete +Comment[nb]=Surf på nettet +Comment[nl]=Verken het internet +Comment[nn]=Surf på nettet +Comment[no]=Surf på nettet +Comment[pl]=Przeglądanie stron WWW +Comment[pt]=Navegue na Internet +Comment[pt_BR]=Navegue na Internet +Comment[ro]=Navigați pe Internet +Comment[ru]=Доступ в Интернет +Comment[sk]=Prehliadanie internetu +Comment[sl]=Brskajte po spletu +Comment[sv]=Surfa på webben +Comment[tr]=İnternet'te Gezinin +Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ +Comment[uk]=Перегляд сторінок Інтернету +Comment[vi]=Để duyệt các trang web +Comment[zh_CN]=浏览互联网 +Comment[zh_TW]=瀏覽網際網路 +Keywords=Internet;WWW;Browser;Web;Explorer +Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب +Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador +Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer +Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer +Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet +Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen +Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;LibreWolf;Φιρεφοχ;Ιντερνετ +Keywords[es]=Explorador;Internet;WWW +Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa +Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur +Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה; +Keywords[hr]=Internet;WWW;preglednik;Web +Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer +Keywords[it]=Internet;WWW;Browser;Web;Navigatore +Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk +Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ +Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside +Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online +Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador +Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador +Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис +Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer +Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet +Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara +Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд +Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web +Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;LibreWolf;ff;互联网;网站; +Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐 +Exec=/usr/lib/librewolf/librewolf %u +Icon=librewolf +Terminal=false +X-MultipleArgs=false +Type=Application +MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;application/pdf;application/json; +StartupNotify=true +StartupWMClass=LibreWolf +Categories=Network;WebBrowser; +Actions=new-window;new-private-window; + +[Desktop Action new-window] +Name=New Window +Name[ach]=Dirica manyen +Name[af]=Nuwe venster +Name[an]=Nueva finestra +Name[ar]=نافذة جديدة +Name[as]=নতুন উইন্ডো +Name[ast]=Ventana nueva +Name[az]=Yeni Pəncərə +Name[be]=Новае акно +Name[bg]=Нов прозорец +Name[bn_BD]=নতুন উইন্ডো (N) +Name[bn_IN]=নতুন উইন্ডো +Name[br]=Prenestr nevez +Name[brx]=गोदान उइन्ड'(N) +Name[bs]=Novi prozor +Name[ca]=Finestra nova +Name[cak]=K'ak'a' tzuwäch +Name[cs]=Nové okno +Name[cy]=Ffenestr Newydd +Name[da]=Nyt vindue +Name[de]=Neues Fenster +Name[dsb]=Nowe wokno +Name[el]=Νέο παράθυρο +Name[en_GB]=New Window +Name[en_US]=New Window +Name[en_ZA]=New Window +Name[eo]=Nova fenestro +Name[es_AR]=Nueva ventana +Name[es_CL]=Nueva ventana +Name[es_ES]=Nueva ventana +Name[es_MX]=Nueva ventana +Name[et]=Uus aken +Name[eu]=Leiho berria +Name[fa]=پنجره جدید +Name[ff]=Henorde Hesere +Name[fi]=Uusi ikkuna +Name[fr]=Nouvelle fenêtre +Name[fy_NL]=Nij finster +Name[ga_IE]=Fuinneog Nua +Name[gd]=Uinneag ùr +Name[gl]=Nova xanela +Name[gn]=Ovetã pyahu +Name[gu_IN]=નવી વિન્ડો +Name[he]=חלון חדש +Name[hi_IN]=नया विंडो +Name[hr]=Novi prozor +Name[hsb]=Nowe wokno +Name[hu]=Új ablak +Name[hy_AM]=Նոր Պատուհան +Name[id]=Jendela Baru +Name[is]=Nýr gluggi +Name[it]=Nuova finestra +Name[ja]=新しいウィンドウ +Name[ja_JP-mac]=新規ウインドウ +Name[ka]=ახალი ფანჯარა +Name[kk]=Жаңа терезе +Name[km]=បង្អួចថ្មី +Name[kn]=ಹೊಸ ಕಿಟಕಿ +Name[ko]=새 창 +Name[kok]=नवें जनेल +Name[ks]=نئئ وِنڈو +Name[lij]=Neuvo barcon +Name[lo]=ຫນ້າຕ່າງໃຫມ່ +Name[lt]=Naujas langas +Name[ltg]=Jauns lūgs +Name[lv]=Jauns logs +Name[mai]=नव विंडो +Name[mk]=Нов прозорец +Name[ml]=പുതിയ ജാലകം +Name[mr]=नवीन पटल +Name[ms]=Tetingkap Baru +Name[my]=ဝင်းဒိုးအသစ် +Name[nb_NO]=Nytt vindu +Name[ne_NP]=नयाँ सञ्झ्याल +Name[nl]=Nieuw venster +Name[nn_NO]=Nytt vindauge +Name[or]=ନୂତନ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ +Name[pl]=Nowe okno +Name[pt_BR]=Nova janela +Name[pt_PT]=Nova janela +Name[rm]=Nova fanestra +Name[ro]=Fereastră nouă +Name[ru]=Новое окно +Name[sat]=नावा विंडो (N) +Name[si]=නව කවුළුවක් +Name[sk]=Nové okno +Name[sl]=Novo okno +Name[son]=Zanfun taaga +Name[sq]=Dritare e Re +Name[sr]=Нови прозор +Name[sv_SE]=Nytt fönster +Name[ta]=புதிய சாளரம் +Name[te]=కొత్త విండో +Name[th]=หน้าต่างใหม่ +Name[tr]=Yeni pencere +Name[tsz]=Eraatarakua jimpani +Name[uk]=Нове вікно +Name[ur]=نیا دریچہ +Name[uz]=Yangi oyna +Name[vi]=Cửa sổ mới +Name[wo]=Palanteer bu bees +Name[xh]=Ifestile entsha +Name[zh_CN]=新建窗口 +Name[zh_TW]=開新視窗 +Exec=/usr/lib/librewolf/librewolf --new-window %u + +[Desktop Action new-private-window] +Name=New Private Window +Name[ach]=Dirica manyen me mung +Name[af]=Nuwe privaatvenster +Name[an]=Nueva finestra privada +Name[ar]=نافذة خاصة جديدة +Name[as]=নতুন ব্যক্তিগত উইন্ডো +Name[ast]=Ventana privada nueva +Name[az]=Yeni Məxfi Pəncərə +Name[be]=Новае акно адасаблення +Name[bg]=Нов прозорец за поверително сърфиране +Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো +Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো +Name[br]=Prenestr merdeiñ prevez nevez +Name[brx]=गोदान प्राइभेट उइन्ड' +Name[bs]=Novi privatni prozor +Name[ca]=Finestra privada nova +Name[cak]=K'ak'a' ichinan tzuwäch +Name[cs]=Nové anonymní okno +Name[cy]=Ffenestr Breifat Newydd +Name[da]=Nyt privat vindue +Name[de]=Neues privates Fenster +Name[dsb]=Nowe priwatne wokno +Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης +Name[en_GB]=New Private Window +Name[en_US]=New Private Window +Name[en_ZA]=New Private Window +Name[eo]=Nova privata fenestro +Name[es_AR]=Nueva ventana privada +Name[es_CL]=Nueva ventana privada +Name[es_ES]=Nueva ventana privada +Name[es_MX]=Nueva ventana privada +Name[et]=Uus privaatne aken +Name[eu]=Leiho pribatu berria +Name[fa]=پنجره ناشناس جدید +Name[ff]=Henorde Suturo Hesere +Name[fi]=Uusi yksityinen ikkuna +Name[fr]=Nouvelle fenêtre de navigation privée +Name[fy_NL]=Nij priveefinster +Name[ga_IE]=Fuinneog Nua Phríobháideach +Name[gd]=Uinneag phrìobhaideach ùr +Name[gl]=Nova xanela privada +Name[gn]=Ovetã ñemi pyahu +Name[gu_IN]=નવી ખાનગી વિન્ડો +Name[he]=חלון פרטי חדש +Name[hi_IN]=नयी निजी विंडो +Name[hr]=Novi privatni prozor +Name[hsb]=Nowe priwatne wokno +Name[hu]=Új privát ablak +Name[hy_AM]=Սկսել Գաղտնի դիտարկում +Name[id]=Jendela Mode Pribadi Baru +Name[is]=Nýr huliðsgluggi +Name[it]=Nuova finestra anonima +Name[ja]=新しいプライベートウィンドウ +Name[ja_JP-mac]=新規プライベートウインドウ +Name[ka]=ახალი პირადი ფანჯარა +Name[kk]=Жаңа жекелік терезе +Name[km]=បង្អួចឯកជនថ្មី +Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ +Name[ko]=새 사생활 보호 모드 +Name[kok]=नवो खाजगी विंडो +Name[ks]=نْو پرایوٹ وینڈو +Name[lij]=Nêuvo barcón privòu +Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່ +Name[lt]=Naujas privataus naršymo langas +Name[ltg]=Jauns privatais lūgs +Name[lv]=Jauns privātais logs +Name[mai]=नया निज विंडो (W) +Name[mk]=Нов приватен прозорец +Name[ml]=പുതിയ സ്വകാര്യ ജാലകം +Name[mr]=नवीन वैयक्तिक पटल +Name[ms]=Tetingkap Persendirian Baharu +Name[my]=New Private Window +Name[nb_NO]=Nytt privat vindu +Name[ne_NP]=नयाँ निजी सञ्झ्याल +Name[nl]=Nieuw privévenster +Name[nn_NO]=Nytt privat vindauge +Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ +Name[pl]=Nowe okno prywatne +Name[pt_BR]=Nova janela privativa +Name[pt_PT]=Nova janela privada +Name[rm]=Nova fanestra privata +Name[ro]=Fereastră privată nouă +Name[ru]=Новое приватное окно +Name[sat]=नावा निजेराक् विंडो (W ) +Name[si]=නව පුද්ගලික කවුළුව (W) +Name[sk]=Nové okno v režime Súkromné prehliadanie +Name[sl]=Novo zasebno okno +Name[son]=Sutura zanfun taaga +Name[sq]=Dritare e Re Private +Name[sr]=Нови приватан прозор +Name[sv_SE]=Nytt privat fönster +Name[ta]=புதிய தனிப்பட்ட சாளரம் +Name[te]=కొత్త ఆంతరంగిక విండో +Name[th]=หน้าต่างส่วนตัวใหม่ +Name[tr]=Yeni gizli pencere +Name[tsz]=Juchiiti eraatarakua jimpani +Name[uk]=Приватне вікно +Name[ur]=نیا نجی دریچہ +Name[uz]=Yangi maxfiy oyna +Name[vi]=Cửa sổ riêng tư mới +Name[wo]=Panlanteeru biir bu bees +Name[xh]=Ifestile yangasese entsha +Name[zh_CN]=新建隐私浏览窗口 +Name[zh_TW]=新增隱私視窗 +Exec=/usr/lib/librewolf/librewolf --private-window %u diff --git a/src/constants.py b/src/constants.py new file mode 100644 index 0000000..3d6e364 --- /dev/null +++ b/src/constants.py @@ -0,0 +1 @@ +tmp_dir = "/tmp/com.developomp.setup" diff --git a/src/setup/__init__.py b/src/setup/__init__.py new file mode 100644 index 0000000..42cb8b7 --- /dev/null +++ b/src/setup/__init__.py @@ -0,0 +1,584 @@ +""" +setup scripts require two things: name and setup function. +name is a string that contains what it'll show in the list, and setup() is what'll run when it is selected. +""" + +from . import * + + +""" +setup_cpu_undervolting() { + # intel CPU undervolting for less heat and power consumption + # https://wiki.archlinux.org/index.php/Undervolting_CPU + + package_install intel-undervolt + + config_file=/etc/intel-undervolt.conf + + # create backup in case anything goes wrong + sudo install --backup $config_file $config_file.bak + + # Explanation: + # for lines that are not comments (lines that do not start with a hash) + # search for "undervolt '' " + # and replaces with "undervolt '' -100 " + # This method does not preserve the space between the value and the comment. + # So this: + # value # space between comment and value: 2 + # becomes this: + # value # space between comment and value: 1 + sudo sed -i -e "/^[^#]/s/\(undervolt [0-9]* 'CPU'\) .*\(#.*\)/\1 -100 \2/" $config_file + sudo sed -i -e "/^[^#]/s/\(undervolt [0-9]* 'CPU Cache'\) .*\(#.*\)/\1 -100 \2/" $config_file + + sudo intel-undervolt apply + sudo systemctl enable intel-undervolt +} + +setup_deno() { + package_install deno +} + +setup_discord() { + # assumes that plugins are located in ~/.config/BetterDiscord/plugins + + # betterdiscordctl-git: BetterDiscord installer + + package_install \ + discord \ + betterdiscordctl-git + + install ./home/pomp/.config/autostart/discord.desktop ~/.config/autostart/ + + BD_PLUGINS=( + 134 # https://betterdiscord.app/plugin/Avatar%20Hover + 60 # https://betterdiscord.app/plugin/BadgesEverywhere + 119 # https://betterdiscord.app/plugin/BetterCodeblocks + 62 # https://betterdiscord.app/plugin/BetterNsfwTag + 63 # https://betterdiscord.app/plugin/BetterSearchPage + 228 # https://betterdiscord.app/plugin/CallTimeCounter + 64 # https://betterdiscord.app/plugin/CharCounter + 67 # https://betterdiscord.app/plugin/CompleteTimestamps + 176 # https://betterdiscord.app/plugin/Copier + 68 # https://betterdiscord.app/plugin/CopyRawMessage + 69 # https://betterdiscord.app/plugin/CreationDate + 186 # https://betterdiscord.app/plugin/DoNotTrack + 132 # https://betterdiscord.app/plugin/EmoteReplacer + 245 # https://betterdiscord.app/plugin/FreeEmojis + 81 # https://betterdiscord.app/plugin/GoogleTranslateOption + 284 # https://betterdiscord.app/plugin/GrammarCorrect + 220 # https://betterdiscord.app/plugin/GuildProfile + 83 # https://betterdiscord.app/plugin/ImageUtilities + 295 # https://betterdiscord.app/plugin/InvisibleTyping + 84 # https://betterdiscord.app/plugin/JoinedAtDate + 85 # https://betterdiscord.app/plugin/LastMessageDate + 287 # https://betterdiscord.app/plugin/Link-Profile-Picture + 11 # https://betterdiscord.app/plugin/MemberCount + 29 # https://betterdiscord.app/plugin/PermissionsViewer + 158 # https://betterdiscord.app/plugin/PlatformIndicators + 93 # https://betterdiscord.app/plugin/QuickMention + 94 # https://betterdiscord.app/plugin/ReadAllNotificationsButton + 179 # https://betterdiscord.app/plugin/RedditMentions + 97 # https://betterdiscord.app/plugin/RevealAllSpoilersOption + 98 # https://betterdiscord.app/plugin/SendLargeMessages + 159 # https://betterdiscord.app/plugin/ShowAllActivities + 291 # https://betterdiscord.app/plugin/ShowConnections + 103 # https://betterdiscord.app/plugin/ShowHiddenChannels + 104 # https://betterdiscord.app/plugin/SpellCheck + 162 # https://betterdiscord.app/plugin/StaffTag + 8 # https://betterdiscord.app/plugin/SuppressReplyMentions + 253 # https://betterdiscord.app/plugin/Typing%20Users%20Avatars + 196 # https://betterdiscord.app/plugin/TypingIndicator + 293 # https://betterdiscord.app/plugin/UserDetails + ) + + log "installing betterdiscord plugins" + + for id in "${BD_PLUGINS[@]}"; do + BD_PLUGIN_URL="https://betterdiscord.app/Download?id=$id" + log "installing $BD_PLUGIN_URL" + wget --content-disposition --no-clobber -P ~/.config/BetterDiscord/plugins "$BD_PLUGIN_URL" + done + + POST_INSTALL+=("discord: run betterdiscordctl install") +} + +setup_docker() { + package_install docker + + sudo usermod -aG docker "${USER}" + sudo systemctl --now enable docker +} + +setup_dotnet() { + package_install dotnet-sdk +} + +setup_filezilla() { + package_install filezilla +} + +setup_fonts() { + log "installing fonts" + + # wget: For downloading zip files + # noto-fonts-emoji: Emoji fonts + # nerd-fonts-noto-sans-mono: Terminal font + # ttf-baekmuk: Korean font + + package_install \ + wget \ + noto-fonts-emoji \ + nerd-fonts-noto-sans-mono \ + ttf-baekmuk + + # path to temporarily save font related files + fonts_directory="$SCRIPT_DIR/tmp/fonts" + + # fonts to download + font_names=( + "Audiowide" + "Varela Round" + "Ubuntu Mono" + "Nanum Gothic Coding" + ) + + # create fonts directory if it does not exist + if [ ! -d "$fonts_directory" ]; then + mkdir -p "$fonts_directory" + fi + + # download and unzip font files if they're not downloaded already + for font_name in "${font_names[@]}"; do + zip_path="$fonts_directory/$font_name.zip" + + # download and unzip if either zip file or unzipped directory exists + if [ ! -f "$zip_path" ] && [ ! -d "$fonts_directory/$font_name" ]; then + wget -O "$zip_path" "https://fonts.google.com/download?family=$font_name" # download zip file + unzip "$zip_path" -d "$fonts_directory/$font_name" # unzip file + rm "$zip_path" # remove zip file + fi + done + + font_install_dir="$HOME/.local/share/fonts" + + # create local fonts directory if it does not exist already + if [ ! -d "$font_install_dir" ]; then + mkdir -p "$font_install_dir" + fi + + # "install" all fonts + find "$fonts_directory" -type f -name "*.ttf" | while read ttf_file_path; do + mv -f "$ttf_file_path" "$font_install_dir/${ttf_file_path##*/}" + done + + # regenerate font cache + fc-cache -vf + + # cleanup + rm -rf $fonts_directory +} + +setup_freetube() { + pamac install freetube-bin + + # todo: freetube data +} + +setup_fstab() { + if cat /etc/fstab | grep "/media/pomp/data" &>/dev/null; then + return + fi + + echo "UUID=1cea13a5-ea19-4023-99dd-4bfd062a288c /media/pomp/data ext4 defaults 0 2" | sudo tee -a /etc/fstab >/dev/null + log "added /media/pomp/data to fstab" +} + +setup_dns() { + : + # https://1.1.1.1 +} + +setup_geogebra() { + package_install geogebra +} + +setup_gimp() { + # photoshop but FOSS + + package_install gimp +} + +setup_git() { + package_install git + + git config --global user.email "developomp@gmail.com" + git config --global user.name "developomp" + git config --global pull.rebase false + git config --global init.defaultBranch master +} + +setup_gnome() { + # gnome, nvidia driver, and optimus manager + + # gdm-prime gdm patched for optimus laptops + # vimix-cursors cursors + # vimix-gtk-themes-git gtk theme + # papirus-icon-theme icon theme + # gnome-backgrounds wallpapers and shit + # gwe nvidia GPU overclocking https://gitlab.com/leinardi/gwe + # nvidia nvidia GPU support + # nvidia-settings nvidia settings + # lib32-nvidia-utils 32bit nvidia driver utils + # optimus-manager-qt https://github.com/Shatur/optimus-manager-qt + + package_install \ + gdm-prime \ + vimix-cursors \ + vimix-gtk-themes-git \ + papirus-icon-theme \ + gnome-backgrounds \ + gwe \ + nvidia \ + nvidia-settings \ + lib32-nvidia-utils \ + optimus-manager-qt + + sudo systemctl enable gdm + sudo systemctl enable optimus-manager + + install ./home/pomp/.config/autostart/gwe.desktop ~/.config/autostart/ + install ./home/pomp/.config/autostart/io.optimus_manager.OptimusManagerQt.desktop ~/.config/autostart/ + + # prevent rootless X + sudo install -g root -o root -m u=rw,g=r,o=r ./etc/X11/Xwrapper.config /etc/X11/Xwrapper.config + load_dconf "gnome-desktop-interface.conf" + + # set nvidia preferred mode on login + install ./home/pomp/.nvidia-preferred-mode.sh ~/ + install ./home/pomp/.config/autostart/nvidia-preferred-mode.desktop ~/.config/autostart/ + + setup_gnome_apps + setup_alacritty # so I have a terminal to work with when only gnome is installed + + cat >~/.config/user-dirs.dirs < None: + """terminal app written in rust""" + + pamac_install("alacritty") + makedirs("~/.config/alacritty/") + smart_copy( + f"{tmp_dir}/home/pomp/.config/alacritty/alacritty.yml", + "~/.config/alacritty/alacritty.yml", + ) diff --git a/src/setup/blender.py b/src/setup/blender.py new file mode 100644 index 0000000..852dcea --- /dev/null +++ b/src/setup/blender.py @@ -0,0 +1,9 @@ +from ..util import flatpak_install + +name = "Blender" + + +def setup(): + """3D graphics tool""" + + flatpak_install("org.blender.Blender") diff --git a/src/setup/browsers.py b/src/setup/browsers.py new file mode 100644 index 0000000..e60de59 --- /dev/null +++ b/src/setup/browsers.py @@ -0,0 +1,23 @@ +from ..util import flatpak_install, smart_copy +from ..constants import tmp_dir + +name = "Browsers" +post_install = ["restore onetab"] + + +def setup(): + """""" + # install librewolf + flatpak_install("io.gitlab.librewolf-community") + smart_copy( + f"{tmp_dir}/home/pomp/.config/autostart/librewolf.desktop", + "~/.config/autostart/librewolf.desktop", + ) + # todo: settings + + # install ungoogled chromium + flatpak_install("com.github.Eloston.UngoogledChromium") + + + # todo: DNS https cloudflare + # todo: tor browser diff --git a/src/setup/btop.py b/src/setup/btop.py new file mode 100644 index 0000000..69daf27 --- /dev/null +++ b/src/setup/btop.py @@ -0,0 +1,9 @@ +from ..util import pamac_install + +name = "Btop" + + +def setup(): + """top but better""" + + pamac_install("btop") diff --git a/src/setup/office.py b/src/setup/office.py new file mode 100644 index 0000000..806090c --- /dev/null +++ b/src/setup/office.py @@ -0,0 +1,9 @@ +from ..util import flatpak_install + +name = "Office suite" + + +def setup(): + """MS office cracked 2022 pro+ deluxe v2.4""" + + flatpak_install("org.onlyoffice.desktopeditors") diff --git a/src/setup/video_player.py b/src/setup/video_player.py new file mode 100644 index 0000000..f65ffd6 --- /dev/null +++ b/src/setup/video_player.py @@ -0,0 +1,9 @@ +from ..util import flatpak_install + +name = "Video player" + + +def setup(): + """gnome video player""" + + flatpak_install("org.gnome.Totem") diff --git a/src/setup/vscodium.py b/src/setup/vscodium.py new file mode 100644 index 0000000..a61056a --- /dev/null +++ b/src/setup/vscodium.py @@ -0,0 +1,72 @@ +from ..util import flatpak_install, smart_copy +from ..constants import tmp_dir + +from os import system + +name = "Vscodium" + + +def setup(): + """vscode without microsoft""" + + flatpak_install("com.vscodium.codium") + + # codium --list-extensions + extensions = ( + "aaron-bond.better-comments", + "bierner.jsdoc-markdown-highlighting", + "dbaeumer.vscode-eslint", + "denoland.vscode-deno", + "DigitalBrainstem.javascript-ejs-support", + "dsznajder.es7-react-js-snippets", + "eamodio.gitlens", + "earshinov.sort-lines-by-selection", + "EditorConfig.EditorConfig", + "esbenp.prettier-vscode", + "foxundermoon.shell-format", + "geequlim.godot-tools", + "golang.go", + "jeff-tian.markdown-katex", + "jock.svg", + "matklad.rust-analyzer", + "mhutchie.git-graph", + "ms-python.python", + "ms-toolsai.jupyter", + "ms-toolsai.jupyter-keymap", + "ms-toolsai.jupyter-renderers", + "ms-vscode.hexeditor", + "naumovs.color-highlight", + "nico-castell.linux-desktop-file", + "PKief.material-icon-theme", + "qwtel.sqlite-viewer", + "Razoric.gdscript-toolkit-formatter", + "redwan-hossain.auto-rename-tag-clone", + "serayuzgur.crates", + "streetsidesoftware.code-spell-checker", + "styled-components.vscode-styled-components", + "svelte.svelte-vscode", + "tamasfe.even-better-toml", + "XadillaX.viml", + "zhuangtongfa.material-theme", + ) + + for extension in extensions: + system(f"codium --install-extension {extension}") + + # autostart vscodium + smart_copy( + f"{tmp_dir}/home/pomp/.config/autostart/codium.desktop", + "~/.config/autostart/codium.desktop", + ) + + # vscodium settings + smart_copy( + f"{tmp_dir}/home/pomp/.config/VSCodium/User/settings.json", + "~/.config/VSCodium/User/settings.json", + ) + + # enable vscode extension store + smart_copy( + f"{tmp_dir}/home/pomp/.config/VSCodium/product.json", + "~/.config/VSCodium/product.json", + ) diff --git a/src/setup/wireshark.py b/src/setup/wireshark.py new file mode 100644 index 0000000..3bd5037 --- /dev/null +++ b/src/setup/wireshark.py @@ -0,0 +1,9 @@ +from ..util import flatpak_install + +name = "Wireshark" + + +def setup(): + """network protocol analyzer GUI""" + + flatpak_install("org.wireshark.Wireshark") diff --git a/src/setup/zoom.py b/src/setup/zoom.py new file mode 100644 index 0000000..b7e0e6b --- /dev/null +++ b/src/setup/zoom.py @@ -0,0 +1,9 @@ +from ..util import flatpak_install + +name = "Zoom" + + +def setup(): + """gay video conference app""" + + flatpak_install("us.zoom.Zoom") diff --git a/src/setup/zsh.py b/src/setup/zsh.py new file mode 100644 index 0000000..3f7aa23 --- /dev/null +++ b/src/setup/zsh.py @@ -0,0 +1,36 @@ +from ..util import pamac_install, smart_copy +from ..constants import tmp_dir +from .. import log + +from os.path import isdir +from os import system + +name = "Zsh" + + +def setup(): + """Objectively better shell""" + + pamac_install("zsh") + + if not isdir("/home/pomp/.oh-my-zsh"): + log.log("zsh already configured. Skipping.") + return + + # install oh my zsh + system( + 'sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"' + ) + + # install powerlevel10k theme + system( + "git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k" + ) + + # install syntax highlighter + system( + "git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting" + ) + + # apply zshrc configuration + smart_copy(f"{tmp_dir}/home/pomp/.zshrc", "~/.zshrc")