diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 82b19b0..4895b50 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,5 +1,5 @@ -FROM linuxmintd/mint21.1-amd64:latest as base -ENV version="mint21.1" +FROM linuxmintd/mint21.3-amd64:latest as base +ENV version="mint21.3" ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install --no-install-recommends -y apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y mc curl wget tar bzip2 build-essential linux-image-virtual \ diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index d9b3ae6..2c61475 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.8" services: mint-vera: - container_name: mint-vera + container_name: mint build: context: . dockerfile: Dockerfile diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e3b27e..fd56ba7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,22 @@ # Changelog "linux_mint" +## Version 2.8.2 [2024-04-15] + +* Fixed problem with p10k fonts being not properly copied to the fonts directory +* Fixed missing switch of user's shell in case of zsh installation +* [APPLICATION] added `kubectl` package missing in the previous release +* [APPLICATION] removed `dropbox` package as its role is now covered by `insync` package. If you still use Dropbox, please add it to `mint_custom.yaml` file +* [APPLICATION] removed `veamsnap` package as it's no longer required, in favor of `blksnap` package +* [APPLICATION] added `cheese` package +* [PACKAGES] added `yq` package +* [PACKAGES] added `micro` +* [APPLICATION] added `atuin` package [https://github.com/atuinsh/atuin](https://github.com/atuinsh/atuin) in version 18.2.0 +* [PACKAGES] upgraded `gping` to version 1.16.1 +* [PACKAGES] upgraded `steampipe` to version 0.22.2 +* [PACKAGES] added `sops` package [https://github.com/getsops/sops](https://github.com/getsops/sops) +* [PACKAGES] added `teller` package [https://github.com/tellerops/teller](https://github.com/tellerops/teller) +* [PACKAGES] removal of `rke` package due to obsoletetion + ## Version 2.8.1 [2024-03-20] * [FLATPAK] removal of 'GitKraken` from flatpak packages due to incompatibility diff --git a/README.md b/README.md index 3cadbcb..14f9146 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,7 @@ Most variables are stored in `mint19|20.yaml` file. If you need extra settings, |install_optional|true|should optional packages be installed| |install_deb|true|should extra deb packages should be installed| |install_flatpak|true|should flatpak packages be installed| +|remove_flatpak|false|should flatpak packages be removed| |install_npm|true|should npm packages be installed| |install_vscode_extensions|true|should we install extra vscode extensions| |install_steampipe_plugins|true|should we install extra steampipe plugins| @@ -143,6 +144,7 @@ Most variables are stored in `mint19|20.yaml` file. If you need extra settings, |config_ansible|true|change ansible settings in ansible.cfg| |config_dconf|true|change dconf settings| |config_sysctl|true|change sysctl settings| +|config_autostart|true|change application autostart settings| |active_user|"{{ ansible_ssh_user }}"|user for which you're setting folders. By default taken from group_vars| |retries_count|4|how many retries| |delay_time|15|delay time in seconds between retries| @@ -245,7 +247,6 @@ custom_packages: | Dive| Docker image explorer | [https://github.com/wagoodman/dive](https://github.com/wagoodman/dive)| | Dockle|Container Image Linter for Security|[https://github.com/goodwithtech/dockle](https://github.com/goodwithtech/dockle)| | Double Commander|File Manager|[https://doublecmd.sourceforge.io/](https://doublecmd.sourceforge.io/)| -| Dropbox/Nemo Integration | Tool | [https://github.com/linuxmint/nemo-extensions/tree/master/nemo-dropbox](https://github.com/linuxmint/nemo-extensions/tree/master/nemo-dropbox)| | Ffuf|Fast web fuzzer written in Go|[https://github.com/ffuf/ffuf](https://github.com/ffuf/ffuf)| | GitKraken | Git Client |[https://www.gitkraken.com/](https://www.gitkraken.com/) | | Google Chrome |Browser | [https://www.google.com/intl/pl_ALL/chrome/](https://www.google.com/intl/pl_ALL/chrome/)| @@ -272,10 +273,11 @@ custom_packages: | Rancher Desktop|Rancher Desktop runs Kubernetes and container management on your desktop| [https://rancherdesktop.io/](https://rancherdesktop.io/)| | Redshift | Monitor temperature changer| [http://jonls.dk/redshift/](http://jonls.dk/redshift/)| | Remmina | Remote Connection Manager |[https://remmina.org/](https://remmina.org/)| -| RKE| Rancher Kubernetes Engine | [https://github.com/rancher/rke](https://github.com/rancher/rke) | | Shutter | Screenshot Manipulation| [http://shutter-project.org/](http://shutter-project.org/)| +| Sops | Secrets manager|[https://github.com/getsops/sops](https://github.com/getsops/sops)| | Synapse | Symantic Launcher|[https://launchpad.net/synapse-project](https://launchpad.net/synapse-project)| | Tabby | Modern Terminal|[https://github.com/Eugeny/terminus](https://github.com/Eugeny/terminus)| +| Teller| Secret manager|[https://github.com/tellerops/teller](https://github.com/tellerops/teller)| | Terraform|Infrastructure as Code|[https://www.terraform.io/](https://www.terraform.io/)| | Vagrant | Unified Workflow|[https://www.vagrantup.com/](https://www.vagrantup.com/)| | Vault | Secrets Manager |[https://www.vaultproject.io/](https://www.vaultproject.io/)| @@ -283,6 +285,7 @@ custom_packages: | Visual Studio Code|Code editor|[https://code.visualstudio.com/](https://code.visualstudio.com/)| | WPS Office for Linux | Productivity Tools | [https://www.wps.com/wps-office-for-linux/](https://www.wps.com/wps-office-for-linux/)| | XCA | Certificate Manager|[https://hohnstaedt.de/xca/](https://hohnstaedt.de/xca/)| +| Yq |YAML processor|[https://github.com/mikefarah/yq/releases/download/v4.43.1/yq_linux_amd64](https://github.com/mikefarah/yq/releases/download/v4.43.1/yq_linux_amd64)| |||| ### Packages: Optional (not complete list) @@ -293,7 +296,7 @@ custom_packages: | DockbarX|Panel|[https://github.com/M7S/dockbarx](https://github.com/M7S/dockbarx)| | Enpass | Password manager | [https://www.enpass.io/](https://www.enpass.io/)| | GIMP | GNU Image Manipulation Program | [https://www.gimp.org/](https://www.gimp.org/)| -| Insync|Googledrive & Onedrive linux client|[https://www.insynchq.com/](https://www.insynchq.com/)| +| Insync |Googledrive & Onedrive linux client|[https://www.insynchq.com/](https://www.insynchq.com/)| | Kodi | Open Source Home Theater| [https://kodi.tv/](https://kodi.tv/)| | Neofetch |A command-line system information tool written in bash 3.2+| [https://github.com/dylanaraps/neofetch](https://github.com/dylanaraps/neofetch)| | Pinta | Drawing/Image Editing| [https://pinta-project.com/pintaproject/pinta/](https://pinta-project.com/pintaproject/pinta/)| @@ -352,18 +355,76 @@ custom_packages: |install_yubico_software|Install keys, repositories, packages and dekstop files for Yubico infrastructure|[https://yubico.com](https://yubico.com)| |configure_zsh|Installs files required by zsh, `oh-my-zsh` and `powerlevel10k`|[https://github.com/ohmyzsh/ohmyzsh](https://github.com/ohmyzsh/ohmyzsh) [https://github.com/romkatv/powerlevel10k](https://github.com/romkatv/powerlevel10k)| |steampipe_plugins.yaml|Install steampipe plugins | [https://steampipe.io/](https://steampipe.io/)| +|configure_neofetch|Installs and configures neofetch|[https://github.com/dylanaraps/neofetch](https://github.com/dylanaraps/neofetch)| |||| +### 'configure_neofetch` task + +This guide details the automation of Neofetch configuration adjustments using an Ansible playbook. By specifying various tasks in the playbook, users can easily comment out or uncomment specific lines within the Neofetch configuration file, toggle key-value pairs between "on" and "off", and ensure the creation of the Neofetch configuration file if it doesn't exist. Furthermore, it includes adding Neofetch to the global bashrc file for automatic execution. + +The playbook operates based on a defined payload structure within a YAML file. Here's an example of the payload configuration for the Neofetch automation task: + +```yaml +neofetch: + config_path: /home/{{ active_user }}/.config/neofetch/config.conf + remove_lines: + - Packages + - Resolution + - DE + - WM + - WM Theme + - Theme + - Icons + - Terminal + - Terminal Font + - cols + add_lines: + - Disk + - Local IP + toggle_items: + - key: 'color_blocks' + value: 'off' +``` + +Explanation of Configuration Parameters: + +- `config_path`: Specifies the path to the Neofetch configuration file. This path can be dynamically set to match the active user's home directory. + + ```yaml + config_path: /home/{{ active_user }}/.config/neofetch/config.conf + ``` + +- `remove_lines`: A list of items to be commented out in the Neofetch configuration file. This list should contain the titles of the information blocks as they appear in the configuration. + + ```yaml + remove_lines: + - Packages + - Resolution + ``` + +- `add_lines`: Similar to remove_lines, but these items will be uncommented if they were previously commented out, ensuring they are active in the Neofetch output. + + ```yaml + add_lines: + - Disk + - Local IP + ``` + +- `toggle_items`: This section allows for toggling specific key-value pairs within the configuration file. For example, changing color_blocks from "on" to "off" or vice versa. + + ```yaml + toggle_items: + - key: 'color_blocks' + value: 'off' + ``` + ## Startup applications Some applications are copied to `autostart` folder -- Remmina - Diodon - DockbarX -- Dropbox - Synapse -- Redshift - Shutter ### OS Tweaks diff --git a/files/apps/dockbarx/DockX.desktop b/files/apps/dockbarx/DockX.desktop index e560322..0133a22 100644 --- a/files/apps/dockbarx/DockX.desktop +++ b/files/apps/dockbarx/DockX.desktop @@ -1,5 +1,4 @@ [Desktop Entry] -Version=0.39 Name=DockX GenericName=Dock for DockbarX Comment=Stand-alone dock for DockbarX @@ -12,6 +11,6 @@ Name[sv]=DockX X-GNOME-Autostart-enabled=true NoDisplay=false Hidden=false -Name[en_GB]=DockX -Comment[en_GB]=Stand-alone dock for DockbarX +Name[en_US]=DockX +Comment[en_US]=Stand-alone dock for DockbarX X-GNOME-Autostart-Delay=0 diff --git a/files/apps/dropbox/dropbox.desktop b/files/apps/dropbox/dropbox.desktop index fd9d33c..73141e1 100644 --- a/files/apps/dropbox/dropbox.desktop +++ b/files/apps/dropbox/dropbox.desktop @@ -7,4 +7,11 @@ Terminal=false Type=Application Icon=dropbox Categories=Network;FileTransfer; -StartupNotify=fals \ No newline at end of file +Keywords=file;synchronization;sharing;collaboration;cloud;storage;backup; +StartupNotify=false +X-GNOME-Autostart-enabled=true +NoDisplay=false +Hidden=false +Name[en_US]=Dropbox +Comment[en_US]=Sync your files across computers and to the web +X-GNOME-Autostart-Delay=0 diff --git a/files/apps/easyeffects/easyeffects.desktop b/files/apps/easyeffects/easyeffects.desktop deleted file mode 100644 index 664cdd9..0000000 --- a/files/apps/easyeffects/easyeffects.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Name=EasyEffects -Comment=EasyEffects Service -Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=easyeffects com.github.wwmm.easyeffects --gapplication-service -Icon=easyeffects -StartupNotify=false -Terminal=false -Type=Application diff --git a/files/apps/redshift-gtk/redshift-gtk.desktop b/files/apps/redshift-gtk/redshift-gtk.desktop index f443751..8c931ed 100644 --- a/files/apps/redshift-gtk/redshift-gtk.desktop +++ b/files/apps/redshift-gtk/redshift-gtk.desktop @@ -1,50 +1,89 @@ [Desktop Entry] Version=1.0 Name=Redshift +Name[be]=Redshift +Name[ca]=Redshift +Name[cs]=Redshift +Name[da]=Redshift Name[de]=Redshift +Name[en_GB]=Redshift Name[es]=Redshift Name[fr]=Redshift +Name[he]=Redshift Name[hu]=Redshift Name[it]=Redshift +Name[ja]=Redshift Name[lt]=Redshift +Name[nb]=Rødskift Name[pl]=Redshift +Name[pt]=Redshift Name[pt_BR]=Redshift +Name[ro]=Redshift Name[ru]=Redshift +Name[sr]=Редшифт +Name[sv]=Redshift Name[tr]=Redshift +Name[uk]=Redshift Name[zh_CN]=红移 +Name[zh_TW]=Redshift GenericName=Color temperature adjustment -GenericName[cs]=Přizpůsobení barevné teploty +GenericName[be]=Рэгуляванне каляровай тэмпературы +GenericName[ca]=Ajust de la temperatura de color +GenericName[cs]=Nastavení teploty barev GenericName[da]=Justering af farvetemperatur -GenericName[de]=Farbtemperatur Anpassung +GenericName[de]=Farbtemperaturanpassung +GenericName[en_GB]=Colour temperature adjustment GenericName[es]=Ajuste de la temperatura de color GenericName[fr]=Réglage de la température de couleur -GenericName[hu]=Szín hőmérséklet beállítás +GenericName[he]=התאמת טמפרטורת צבע +GenericName[hu]=Színhőmérséklet beállítása GenericName[it]=Regolazione della temperatura del colore +GenericName[ja]=色温度の調整 GenericName[lt]=Spalvos temperatūros reguliavimas -GenericName[nl]=Kleurtemperatuur aanpassing +GenericName[nb]=Justering av fargetemperatur +GenericName[nl]=Bijstelling van kleurtemperatuur GenericName[pl]=Dostosowanie temperatury barwowej +GenericName[pt_BR]=Ajuste de temperatura de cor GenericName[ru]=Настройка цветовой температуры +GenericName[sr]=Прилагођавање температуре боје +GenericName[sv]=Färgtemperaturjustering GenericName[tr]=Renk sıcaklığı ayarı +GenericName[uk]=Налаштування колірної температури GenericName[zh_CN]=色温调节 +GenericName[zh_TW]=色溫調整 Comment=Color temperature adjustment tool +Comment[be]=Інструмент рэгулявання каляровай тэмпературы +Comment[ca]=Eina per a l'ajust de la temperatura de color Comment[cs]=Nástroj pro přizpůsobení barevné teploty Comment[da]=Justeringsværktøj for farvetemperatur -Comment[de]=Farbtemperatur Anpassungswerkzeug +Comment[de]=Farbtemperaturanpassungswerkzeug +Comment[en_GB]=Colour temperature adjustment tool Comment[es]=Herramienta para el ajuste de la temperatura de color Comment[fr]=Outil de réglage de la température de couleur +Comment[he]=כלי להתאמת טמפרטורת צבע Comment[hu]=Színhőmérséklet beállító eszköz Comment[it]=Strumento per la regolazione della temperatura del colore +Comment[ja]=色温度の調整ツール Comment[lt]=Spalvos temperatūros reguliavimo įrankis -Comment[nl]=Kleurtemperatuur aanpassingsprogramma +Comment[nb]=Justeringsverktøy for fargetemperatur +Comment[nl]=Hulpmiddel voor het bijstellen van de kleurtemperatuur Comment[pl]=Narzędzie do dostosowywania temperatury barwowej +Comment[pt_BR]=Ferramenta de ajuste de temperatura de cor Comment[ru]=Инструмент регулирования цветовой температуры +Comment[sr]=Алатка за прилагођавање температуре боје +Comment[sv]=Justeringsverktyg för färgtemperaturer Comment[tr]=Renk sıcaklığı ayarlama aracı +Comment[uk]=Знаряддя налаштувань колірної температури Comment[zh_CN]=色温调节工具 +Comment[zh_TW]=色溫調整工具 Exec=redshift-gtk Icon=redshift Terminal=false Type=Application Categories=Utility; -StartupNotify=true +X-GNOME-Autostart-enabled=true +NoDisplay=false Hidden=false -X-GNOME-Autostart-enabled=true \ No newline at end of file +Name[en_US]=Redshift +Comment[en_US]=Color temperature adjustment tool +X-GNOME-Autostart-Delay=0 diff --git a/files/apps/remmina/remmina-applet.desktop b/files/apps/remmina/remmina-applet.desktop deleted file mode 100644 index 248d750..0000000 --- a/files/apps/remmina/remmina-applet.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Remmina Applet -Comment=Connect to remote desktops through the applet menu -Icon=remmina -Exec=remmina -i -Terminal=false -Type=Application -Hidden=false -X-GNOME-Autostart-enabled=true \ No newline at end of file diff --git a/files/apps/shutter/shutter.desktop b/files/apps/shutter/shutter.desktop index 94418d5..e4d3372 100644 --- a/files/apps/shutter/shutter.desktop +++ b/files/apps/shutter/shutter.desktop @@ -6,13 +6,96 @@ Name[pt_BR]=Shutter GenericName=Screenshot Tool GenericName[de_DE]=Anwendung für Bildschirmfotos GenericName[pt_BR]=Captura de tela +GenericName[de]=Anwendung für Bildschirmfotos +GenericName[ar]=أداة لقطة شاشة +GenericName[ca]=Eina de captura de pantalla +GenericName[cs]=Snímkovací nástroj +GenericName[da]=Værktøj til skærmbilleder +GenericName[el]=Εργαλείο στιγμιότυπου οθόνης +GenericName[es]=Herramienta para la captura de la pantalla +GenericName[fi]=Kuvaruutukaappaus +GenericName[hu]=Képernyőkép-készítő eszköz +GenericName[it]=Strumento di istantanee dello schermo +GenericName[ja]=スクリーンショットツール +GenericName[lt]=Momentinė ekrano kopija +GenericName[nb]=Skjermdumpverktøy +GenericName[nl]=Hulpmiddel voor schermafdruk +GenericName[pl]=Narzędzie zrzutów ekranu +GenericName[ro]=Utilitar pentru capturi de ecran +GenericName[ru]=Утилита для экранных снимков +GenericName[zh_CN]=截图工具 +GenericName[zh_TW]=螢幕抓圖工具 Comment=Capture, edit and share screenshots Comment[de_DE]=Bildschirmfotos aufnehmen, bearbeiten und mit Anderen teilen Comment[pt_BR]=Aplicativo avançado para capturar imagens da tela -Exec=shutter --min_at_startup +Comment[eu]=Egin, editatu eta partekatu pantaila-argazkiak +Comment[sq]=Kap modifiko dhe shpërnda pamjet e ekranit +Comment[ast]=Captura, edita y comparte captures de pantalla +Comment[bn]=স্ক্রীনশট শেয়ার এবং সম্পাদনা, অধিগ্রহন করুন +Comment[bs]=Hvatanje, uređivanje i dijeljenje snimaka ekrana +Comment[bg]=Снимайте, редактирайте и споделете снимките на екрана +Comment[ca]=Captureu, editeu i compartiu captures de pantalla +Comment[ca@valencia]=Captureu, editeu i compartiu captures de pantalla +Comment[zh_HK]=捕捉、編輯、分享螢幕截圖 +Comment[zh_TW]=捕捉、編輯和分享螢幕擷取圖 +Comment[crh]=Ekran görüntüleri yakalayın, düzenleyin ve paylaşın +Comment[zh_CN]=获取、编辑和共享截图 +Comment[cs]=Zachycování, úprava a sdílení snímků obrazovky +Comment[nl]=Schermafdrukken maken, bewerken en delen +Comment[da]=Fang, rediger og del skærmbilleder +Comment[et]=Ekraanikuvade salvestamine, redigeerimine ning jagamine +Comment[fi]=Ota, muokkaa ja jaa kuvankaappauksia +Comment[fr]=Faire des captures d'acran, les modifier et les partager +Comment[gl]=Capture, edite e comparta capturas de pantalla +Comment[de]=Bildschirmfotos aufnehmen, bearbeiten und mit Anderen teilen +Comment[el]=Λήψη, επεξεργασία και κοινή χρήση στιγμιότυπων οθόνης +Comment[hu]=Képernyőkép készítés, szerkesztés, megosztás +Comment[it]=Cattura, modifica e condivide schermate +Comment[ja]=スクリーンショットのキャプチャ/編集/共有 +Comment[ky]=Скриншотторду тартуу, оңдоо жана башкалар менен бөлүшүү +Comment[ms]=Tangkap, sunting dan kongsi cekupan skrin +Comment[oc]=Far de capturas d'ecran, las modificar e las partejar +Comment[nb]=Ta bilder, rediger og del bilder av skjermen med andre +Comment[ro]=Realizați. editați și partajați capturi de ecran +Comment[pl]=Pobieranie, edycja i udostępnianie zrzutów ekranu +Comment[pt]=Capture, edite e partilhe capturas de ecrã +Comment[ru]=Захват, редактирование и выкладывание в общий доступ снимков экрана +Comment[sv]=Fånga, redigera och dela skärmbilder +Comment[es]=Capture, edite y comparta capturas de pantallas +Comment[sl]=Zajemite, uredite in souporabljajte zaslonske posnetke +Comment[uk]=Захоплення, редагування та оприлюднення знімків вікон +Comment[tr]=Ekran görüntüleri yakalayın, düzenleyin ve paylaşın +Exec=shutter %U Icon=shutter Terminal=false Type=Application -Categories=Utility;Application; +Categories=Utility; +MimeType=image/bmp;image/jpeg;image/gif;image/png;image/tiff;image/x-bmp;image/x-ico;image/x-png;image/x-pcx;image/x-tga;image/xpm;image/svg+xml; +Actions=Redo;Select;Screen;Window;Active; +Keywords=capture;print;screenshot;snapshot; X-GNOME-Autostart-enabled=true -Hidden=false \ No newline at end of file +NoDisplay=false +Hidden=false +Name[en_US]=Shutter +Comment[en_US]=Capture, edit and share screenshots +X-GNOME-Autostart-Delay=0 + +[Desktop Action Redo] +Name=Redo last screenshot +Exec=shutter --redo + +[Desktop Action Select] +Name=Capture an area of the screen +Exec=shutter --select + +[Desktop Action Screen] +Name=Capture the entire screen +Exec=shutter --full + +[Desktop Action Window] +Name=Select a window to capture +Exec=shutter --window + +[Desktop Action Active] +Name=Capture the current active window +Exec=shutter --active diff --git a/files/apps/synapse/synapse.desktop b/files/apps/synapse/synapse.desktop index e922bfc..3837a0e 100644 --- a/files/apps/synapse/synapse.desktop +++ b/files/apps/synapse/synapse.desktop @@ -1,11 +1,101 @@ [Desktop Entry] Type=Application -Exec=synapse & -Hidden=false -NoDisplay=false +Name[ar]=سيّناپس +Name[be]=Synapse +Name[bg]=Synapse +Name[ca]=Synapse +Name[ca@valencia]=Synapse +Name[cs]=Synapse +Name[da]=Synapse +Name[de]=Synapse +Name[en_GB]=Synapse +Name[eo]=Synapse +Name[es]=Synapse +Name[et]=Synapse +Name[eu]=Synapse +Name[fi]=Synapse +Name[fr]=Synapse +Name[gl]=Synapse +Name[hr]=Synapse +Name[hu]=Synapse +Name[id]=Synapse +Name[it]=Synapse +Name[ja]=Synapse +Name[ka]=Synapse +Name[ko]=시냅스 +Name[la]=Synapsus +Name[lv]=Synapse +Name[ml]=സിനാപ്സ് +Name[nb]=Synapse +Name[nds]=Synapse +Name[ne]=सिन्याप्से +Name[nl]=Synapse +Name[nn]=Synapse +Name[oc]=Synapse +Name[pl]=Synapse +Name[pt_BR]=Synapse +Name[pt]=Synapse +Name[ro]=Synapse +Name[ru]=Synapse +Name[sk]=Synapse +Name[sl]=Synapse +Name[sr]=Синапса +Name[sv]=Synapse +Name[te]=సైనాప్స్ +Name[tr]=Synapse +Name[uk]=Synapse +Name[zh_CN]=Synapse +Name=Synapse +Comment[ar]=ابحث في كل شيء تفعله. +Comment[be]=Шукае усё, што вы робіце +Comment[bg]=Търсете всичко, от което се нуждаете. +Comment[ca]=Cerqueu tot allò que feu +Comment[ca@valencia]=Cerqueu tot allò que feu +Comment[cs]=Vyhledává ve všech Vašich činnostech. +Comment[da]=Søg alt du gør. +Comment[de]=Durchsuche all deine Tätigkeiten. +Comment[en_GB]=Search everything you do. +Comment[es]=Busque en todo lo que hace. +Comment[eu]=Egiten duzun guztia bilatu. +Comment[fi]=Etsi kaikesta tekemästäsi. +Comment[fr]=Recherchez tout ce que vous faites. +Comment[gl]=Busque en todo o que vostede faga. +Comment[hr]=Pretražuj sve aktivnosti +Comment[id]=Mencari setiap hal yang Anda lakukan +Comment[it]=Cerca tutto ciò che fai. +Comment[ja]=やることを何でも検索します。 +Comment[ka]=მოძებნე ყველაფერი ყველგან +Comment[ko]=원하는 모든 것을 검색합니다. +Comment[ml]=ചെയ്യുന്നതെല്ലാം തെരയുക +Comment[nb]=Søk gjennom alt du foretar deg. +Comment[nds]=Suche nach all deine Aktivitäten. +Comment[ne]=खोजी +Comment[nl]=Doorzoek alles wat u doet. +Comment[nn]=Søk i alt du foretek deg. +Comment[oc]=Recercar tot çò que fasètz. +Comment[pl]=Szukaj czegokolwiek chcesz. +Comment[pt_BR]=Busque em tudo que você faz. +Comment[pt]=Procure tudo aquilo que faz. +Comment[ro]=Cauta orice faci. +Comment[ru]=Искать всё +Comment[sk]=Prehľadáva všetky vaše aktivity. +Comment[sl]=Iščite po vsem, kar delate. +Comment[sr]=Тражи све што радите. +Comment[sv]=Sök allt du gör. +Comment[sw]=Tafuta kila kitu unachofanya +Comment[te]=కావలసినదేదయినా వెతకండి. +Comment[tr]=Yapılan her şeyi ara +Comment[uk]=Пошук всього, що Вам потрібно. +Comment[zh_CN]=搜索你想要的。 +Comment[zh_TW]=搜尋所有做過的事。 +Comment=Search everything you do. +Keywords=search;find;launch +Exec=synapse +Icon=synapse +Categories=GNOME;Utility; X-GNOME-Autostart-enabled=true -Name[en_US]=synapse -Name=synapse -Comment[en_US]= -Comment= -X-GNOME-Autostart-Delay=10 \ No newline at end of file +NoDisplay=false +Hidden=false +Name[en_US]=Synapse +Comment[en_US]=Search everything you do. +X-GNOME-Autostart-Delay=0 diff --git a/linux_mint.yaml b/linux_mint.yaml index 03988e8..e085579 100644 --- a/linux_mint.yaml +++ b/linux_mint.yaml @@ -18,6 +18,7 @@ config_ansible: true # do changes in change ansible.cfg config_dconf: true # do changes in dconf editor config_sysctl: true # do changes in sysctl + config_autostart: true # copy apps from `files/apps` to autostart active_user: "{{ ansible_ssh_user }}" # user for which you're setting folders. By default taken from group_vars retries_count: 1 # how many retries delay_time: 1 # delay time in seconds between retries @@ -47,7 +48,7 @@ - assert # free space for stuff - name: assert_root_partition_is_10_GB_of_free_space - ansible.builtin.assert: { that: item.size_available > 10737418240 } # 10 GB free + ansible.builtin.assert: { that: item.size_available > 1073741824 } # 10 GB free loop: '{{ ansible_mounts }}' ignore_errors: false when: item.mount == '/' @@ -102,6 +103,7 @@ - "Config for Ansible : {{ config_ansible | bool | lower }}" - "Config dconf : {{ config_dconf | bool | lower }}" - "Config sysctl : {{ config_sysctl | bool | lower }}" + - "Config autostart : {{ config_autostart | bool | lower }}" - "Bin Path to put files into : {{ bin_path }}" - "Active user : {{ active_user | string }}" - name: wait_10_seconds @@ -418,6 +420,8 @@ register: packages_essential until: packages_essential is success any_errors_fatal: false + async: 6000 + poll: 30 tags: - packages - base @@ -433,6 +437,8 @@ register: r_packages until: r_packages is success any_errors_fatal: false + async: 6000 + poll: 30 tags: - packages - base @@ -447,6 +453,8 @@ register: r_custom_packages until: r_custom_packages is success any_errors_fatal: false + async: 6000 + poll: 30 tags: - packages - base @@ -681,10 +689,10 @@ owner: "{{ active_user }}" group: "{{ active_user }}" mode: 0755 - register: create_autostart + register: r_create_autostart retries: "{{ retries_count }}" delay: "{{ delay_time }}" - until: create_autostart is success + until: r_create_autostart is success any_errors_fatal: true tags: - base @@ -703,6 +711,7 @@ retries: "{{ retries_count }}" delay: "{{ delay_time }}" until: r_create_startup_applications is success + when: config_autostart is defined and config_autostart - name: configure_zsh ansible.builtin.include_tasks: ./tasks/configure_zsh.yml when: install_zsh is defined and install_zsh @@ -835,16 +844,40 @@ community.general.timezone: name: "{{ timezone }}" any_errors_fatal: false - - name: add_neofetch_to_bashrc_globals - ansible.builtin.lineinfile: - path: /etc/bash.bashrc - line: neofetch - any_errors_fatal: false + # Neofetch block + - name: Gather the package facts + ansible.builtin.package_facts: + manager: auto + register: r_package_facts + until: r_package_facts is success + changed_when: false + retries: "{{ retries_count }}" + delay: "{{ delay_time }}" + tags: + - base + - neofetch + failed_when: false + - name: Run neofetch external task from 'tasks' + ansible.builtin.include_tasks: ./tasks/configure_neofetch.yml + args: + apply: + tags: + - base + - neofetch + vars: + ansible_become: yes + ansible_become_user: "{{ active_user }}" + tags: + - always + when: "'neofetch' in r_package_facts.ansible_facts.packages" + # End of Neofetch block + # Timeshift block - name: enable_timeshift_in_rsync_mode ansible.builtin.shell: timeshift --rsync --yes args: creates: /etc/timeshift.json any_errors_fatal: false + # Sudoers - name: add_user_to_sudoers ansible.builtin.copy: dest: "/etc/sudoers.d/{{ active_user }}" @@ -961,6 +994,9 @@ retries: "{{ retries_count }}" delay: "{{ delay_time }}" until: apt_upgrade is success + async: 6000 + poll: 30 + tags: - base - apt diff --git a/mint21.yaml b/mint21.yaml index 780d8fa..c360c7f 100644 --- a/mint21.yaml +++ b/mint21.yaml @@ -411,61 +411,62 @@ keys_remove: - 5E54716D packages_remove: - ansible-base + - balena-etcher-electron + - betterbird + - boxes + - brave-browser + - enpass + - firefox + - freefilesync + - gimp + - hashes + - kdenlive + - kodi - kontena-lens - - skypeforlinux - - openjdk-8-jdk - - openjdk-8-jre - - openjdk-8-headless + - krita + - libreoffice-base-core + - libreoffice-calc + - libreoffice-common + - libreoffice-core + - libreoffice-gtk3 + - libreoffice-math + - libreoffice-writer + - openjdk-11-headless - openjdk-11-jdk - openjdk-11-jre - - openjdk-11-headless + - openjdk-13-headless - openjdk-13-jdk - openjdk-13-jre - - openjdk-13-headless + - openjdk-17-headless - openjdk-17-jdk - openjdk-17-jre - - openjdk-17-headless + - openjdk-18-headless - openjdk-18-jdk - openjdk-18-jre - - openjdk-18-headless - - zenmap - - balena-etcher-electron - - teams - - brave-browser + - openjdk-8-headless + - openjdk-8-jdk + - openjdk-8-jre + - pinta - remmina - remmina-plugin-rdp - - remmina-plugin-vnc - remmina-plugin-secret - - remmina-plugin-spice - remmina-plugin-secret - - y-ppa-manager - - libreoffice-base-core - - libreoffice-calc - - libreoffice-common - - libreoffice-core - - libreoffice-gtk3 - - libreoffice-math - - libreoffice-writer - - enpass + - remmina-plugin-spice + - remmina-plugin-vnc + - rpi-imager + - skypeforlinux - spotify - sublime-text - - betterbird - - krita - - kdenlive - - firefox - - boxes - - freefilesync - - pinta + - teams - tlpui - vlc - - hashes - - kodi - wireshark - - wireshark-qt - - wireshark-gtk - wireshark-doc + - wireshark-gtk + - wireshark-qt - wps-office - - rpi-imager + - y-ppa-manager + - zenmap - zoom packages_clean_system: - apt-transport-https @@ -501,7 +502,6 @@ packages: - docker-ce - dos2unix - doublecmd-gtk - - dropbox - dstat - extlinux - filezilla @@ -509,7 +509,6 @@ packages: - freerdp2-x11 - gcsfuse - gddrescue - - gimp - git - git-lfs - google-chrome-stable @@ -530,10 +529,12 @@ packages: - krb5-locales - krb5-multidev - krb5-user + - kubectl - libkrb5-dev - liblinear-dev - liblinear-tools - libqt5multimedia5-plugins + - micro - moreutils - mpv - multitail @@ -591,7 +592,9 @@ packages: - trivy - tshark - unzip + - usrmerge - va-driver-all + - vagrant - vault - viewnior - virtualbox-7.0 @@ -599,6 +602,7 @@ packages: - xca - zsh packages_optional: + - cheese - dockbarx - geoip-bin - geoip-database @@ -615,7 +619,6 @@ packages_optional: - ngrok - rancher-desktop - veeam - - veeamsnap - veracrypt deb: - https://release.gitkraken.com/linux/gitkraken-amd64.deb @@ -628,9 +631,11 @@ deb: - https://github.com/kaikramer/keystore-explorer/releases/download/v5.5.3/kse_5.5.3_all.deb - https://github.com/aquasecurity/kube-bench/releases/download/v0.7.2/kube-bench_0.7.2_linux_amd64.deb - https://github.com/anchore/syft/releases/download/v1.0.1/syft_1.0.1_linux_amd64.deb - - https://github.com/turbot/steampipe/releases/download/v0.22.1/steampipe_linux_amd64.deb + - https://github.com/turbot/steampipe/releases/download/v0.22.2/steampipe_linux_amd64.deb - https://github.com/ramboxapp/download/releases/download/v2.3.1/Rambox-2.3.1-linux-x64.deb - https://github.com/derailed/k9s/releases/download/v0.32.3/k9s_linux_amd64.deb + - https://github.com/getsops/sops/releases/download/v3.8.1/sops_3.8.1_amd64.deb + - https://github.com/atuinsh/atuin/releases/download/v18.2.0/atuin_18.2.0_amd64.deb flatpak: - name: com.bitwarden.desktop - name: com.brave.Browser @@ -653,7 +658,7 @@ flatpak: - name: md.obsidian.Obsidian - name: org.bleachbit.BleachBit - name: org.freefilesync.FreeFileSync - - name: org.gimp.GIMP +# - name: org.gimp.GIMP - name: org.gnome.Boxes - name: org.gnome.font-viewer - name: org.kde.kdenlive @@ -745,14 +750,15 @@ downloads: - url: https://github.com/FairwindsOps/polaris/releases/download/9.0.1/polaris_linux_amd64.tar.gz destination: polaris skip_tree: false - - url: https://github.com/orf/gping/releases/download/gping-v1.13.1/gping-Linux-x86_64.tar.gz + - url: https://github.com/orf/gping/releases/download/gping-v1.16.1/gping-Linux-x86_64.tar.gz destination: gping skip_tree: false + - url: https://github.com/tellerops/teller/releases/download/v1.5.6/teller_1.5.6_Linux_x86_64.tar.gz + destination: teller + skip_tree: false files: - url: https://github.com/bcicen/ctop/releases/download/v0.7.7/ctop-0.7.7-linux-amd64 destination: ctop - - url: https://github.com/rancher/rke/releases/download/v1.4.7/rke_linux-amd64 - destination: rke - url: https://github.com/dannagle/PacketSender/releases/download/v8.6.5/Packet_Sender_v8.6.5-x86_64.AppImage destination: packetsender desktop_file: ./files/apps/packetsender/packetsender.desktop @@ -766,6 +772,8 @@ files: destination: k3sup - url: https://github.com/argoproj/argo-cd/releases/download/v2.10.3/argocd-linux-amd64 destination: argocd + - url: https://github.com/mikefarah/yq/releases/download/v4.43.1/yq_linux_amd64 + destination: yq ansible: cfg: /etc/ansible/ansible.cfg config: @@ -781,14 +789,18 @@ ansible: option: callbacks_enabled value: timer,profile_tasks state: present - - section: defaults - option: log_path - value: /var/log/ansible.log - state: present - section: defaults option: forks value: 10 state: present + - section: defaults + option: timeout + value: 60 + state: present + - section: defaults + option: module_timeout + value: 600 + state: present - section: ssh_connection option: pipelining value: true @@ -797,24 +809,23 @@ ansible: option: compression_level value: 9 state: present + - section: persistent_connection + option: command_timeout + value: 60 + state: present startup: - filename: redshift-gtk.desktop source: ./files/apps/redshift-gtk/redshift-gtk.desktop - filename: shutter.desktop source: ./files/apps/shutter/shutter.desktop - - filename: dropbox.desktop - source: ./files/apps/dropbox/dropbox.desktop - filename: synapse.desktop source: ./files/apps/synapse/synapse.desktop - filename: DockX.desktop source: ./files/apps/dockbarx/DockX.desktop - - filename: remmina-applet.desktop - source: ./files/apps/remmina/remmina-applet.desktop - - filename: diodon.desktop - source: ./files/apps/diodon/diodon.desktop services: - ssh - docker + - tlp dconf: # remove alt+f7 move window shortcut - key: "/org/cinnamon/muffin/keybindings/begin-move" @@ -843,6 +854,11 @@ dconf: - key: "/org/cinnamon/desktop/keybindings/custom-keybindings/custom1/name" state: present value: "'Diodon'" + # last setting as a summary o the above + - key: "/org/cinnamon/desktop/keybindings/custom-list" + state: present + value: "['custom0', '__dummy__', 'custom1']" + timezone: Europe/Warsaw vscode_obsolete: - ms-vscode.go diff --git a/mint21_tasks.yaml b/mint21_tasks.yaml index 0006fbc..4503e4d 100644 --- a/mint21_tasks.yaml +++ b/mint21_tasks.yaml @@ -46,3 +46,23 @@ steampipe: - name: dockerhub - name: grafana - name: prometheus + +neofetch: + config_path: /home/{{ active_user }}/.config/neofetch/config.conf + remove_lines: + - Packages + - Resolution + - DE + - WM + - WM Theme + - Theme + - Icons + - Terminal + - Terminal Font + - cols + add_lines: + - Disk + - Local IP + toggle_items: + - key: 'color_blocks' + value: 'off' diff --git a/tasks/configure_neofetch.yml b/tasks/configure_neofetch.yml new file mode 100644 index 0000000..56b8c2b --- /dev/null +++ b/tasks/configure_neofetch.yml @@ -0,0 +1,56 @@ +- name: Toggle Neofetch Configuration + ansible.builtin.debug: + msg: "Toggling Neofetch Configuration" +- name: Run neofetch to create a configuration file + ansible.builtin.command: + cmd: neofetch + register: r_run_neofetch + until: r_run_neofetch is success + any_errors_fatal: true + ignore_errors: false + changed_when: false +- name: Ensure neofetch configuration file exists + ansible.builtin.file: + path: "{{ neofetch.config_path }}" + state: file + mode: "664" + register: r_make_sure_neofetch_config_exists + until: r_make_sure_neofetch_config_exists is success + any_errors_fatal: true + failed_when: false +- name: Comment out specified info lines in the neofetch config + ansible.builtin.replace: + path: "{{ neofetch.config_path }}" + regexp: '^\s*(info ("{{ item }}"|{{ item }}).*)$' + replace: '# \1' + loop: "{{ neofetch.remove_lines }}" + when: r_make_sure_neofetch_config_exists is success + failed_when: false + any_errors_fatal: false +- name: Uncomment specified info lines in the neofetch config + ansible.builtin.replace: + path: "{{ neofetch.config_path }}" + regexp: '^\s*#(\s*info "{{ item }}".*)$' + replace: '\1' + loop: "{{ neofetch.add_lines }}" + when: r_make_sure_neofetch_config_exists is success + failed_when: false + any_errors_fatal: false +- name: Toggle configuration settings in Neofetch config based on specified key-value pairs + ansible.builtin.replace: + path: "{{ neofetch.config_path }}" + regexp: '^(#?\s*{{ item.key }}\s*=\s*")(\w+)(")$' + replace: '\1{{ "on" if item.value == "on" else "off" }}\3' + loop: "{{ neofetch.toggle_items }}" + when: r_make_sure_neofetch_config_exists is changed or r_make_sure_neofetch_config_exists is success + failed_when: false + any_errors_fatal: false +- name: add_neofetch_to_bashrc_globals + ansible.builtin.lineinfile: + path: /etc/bash.bashrc + line: neofetch + any_errors_fatal: false + register: r_add_neofetch_to_bashrc_globals + until: r_add_neofetch_to_bashrc_globals is success + failed_when: false +# add revert block in the future diff --git a/tasks/configure_zsh.yml b/tasks/configure_zsh.yml index 469cf4c..3267d58 100644 --- a/tasks/configure_zsh.yml +++ b/tasks/configure_zsh.yml @@ -2,7 +2,7 @@ # you need manually configure both - name: create_folder_for_fonts ansible.builtin.file: - path: /usr/local/share/fonts/power10k + path: /usr/local/share/truetype state: directory mode: "0644" retries: "{{ retries_count }}" @@ -18,7 +18,7 @@ - name: download_fonts_for_power10k ansible.builtin.get_url: url: "{{ item }}" - dest: /usr/share/fonts/truetype/power10k + dest: "/usr/share/fonts/truetype/{{ item | basename | replace('%20', ' ') }}" mode: "0644" retries: "{{ retries_count }}" delay: "{{ delay_time }}" @@ -104,3 +104,16 @@ register: r_clone_power10k until: r_clone_power10k is success when: (r_clone_oh_my_zsh is defined and r_clone_oh_my_zsh is success) and (not r_stat_check_if_power10k.stat.exists) +- name: Change user's default shell + ansible.builtin.user: + name: "{{ active_user }}" + shell: /bin/zsh + become_user: root + become: true + register: r_change_user_shell + until: r_change_user_shell is success + tags: + - zsh + - user + any_errors_fatal: true + ignore_errors: false