From 37f9beeff802f240c307f7b9a632f7ad55798eec Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Mon, 25 Dec 2023 06:50:02 +0000 Subject: [PATCH] Latest --- .../Preferences/com.apple.dock.plist.tmpl | 810 +++++++++++++----- home/dot_config/crontab/config-user | 6 +- home/dot_config/shell/aliases.sh.tmpl | 22 +- home/dot_config/shell/exports.sh.tmpl | 14 + home/dot_local/bin/executable_add-usergroup | 168 ++-- home/dot_local/bin/executable_backup | 10 +- .../dot_local/bin/executable_backup-apps.tmpl | 28 +- .../bin/executable_backup-dconf.tmpl | 18 +- ...le_dagu-cron => executable_dagu-start-all} | 0 .../bin/executable_gitomatic-service.tmpl | 78 +- .../bin/{ => qubes}/executable_ramqube | 2 - home/dot_local/bin/symlink_bat.tmpl | 3 - .../bin/symlink_bombshell-client.tmpl | 3 - home/dot_local/bin/symlink_fd.tmpl | 3 - home/dot_local/bin/symlink_idea.sh.tmpl | 5 - home/dot_local/bin/symlink_qrun.tmpl | 4 - home/dot_local/bin/symlink_qscp.tmpl | 3 - home/dot_local/bin/symlink_qssh.tmpl | 4 - home/dot_local/bin/symlink_readlink.tmpl | 3 - home/dot_local/bin/symlink_stty.tmpl | 3 - home/dot_local/bin/symlink_yank.tmpl | 3 - 21 files changed, 796 insertions(+), 394 deletions(-) rename home/dot_local/bin/{executable_dagu-cron => executable_dagu-start-all} (100%) rename home/dot_local/bin/{ => qubes}/executable_ramqube (96%) delete mode 100644 home/dot_local/bin/symlink_bat.tmpl delete mode 100644 home/dot_local/bin/symlink_bombshell-client.tmpl delete mode 100644 home/dot_local/bin/symlink_fd.tmpl delete mode 100644 home/dot_local/bin/symlink_idea.sh.tmpl delete mode 100644 home/dot_local/bin/symlink_qrun.tmpl delete mode 100644 home/dot_local/bin/symlink_qscp.tmpl delete mode 100644 home/dot_local/bin/symlink_qssh.tmpl delete mode 100644 home/dot_local/bin/symlink_readlink.tmpl delete mode 100644 home/dot_local/bin/symlink_stty.tmpl delete mode 100644 home/dot_local/bin/symlink_yank.tmpl diff --git a/home/Library/Preferences/com.apple.dock.plist.tmpl b/home/Library/Preferences/com.apple.dock.plist.tmpl index 28714b71..affce1eb 100644 --- a/home/Library/Preferences/com.apple.dock.plist.tmpl +++ b/home/Library/Preferences/com.apple.dock.plist.tmpl @@ -1,3 +1,4 @@ +plcat Library/Preferences/com.apple.dock.plist @@ -27,7 +28,7 @@ minimize-to-application mod-count - 437 + 461 mouse-over-hilite-stack mru-spaces @@ -45,24 +46,24 @@ book - Ym9va0QCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAZAEAAAQAAAADAwAAAAAAIAYA + Ym9va0gCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAaAEAAAQAAAADAwAAAAAAIAYA AAABAQAAU3lzdGVtAAAMAAAAAQEAAEFwcGxpY2F0aW9u cw0AAAABAQAATGF1bmNocGFkLmFwcAAAAAwAAAABBgAA EAAAACAAAAA0AAAACAAAAAQDAAAVAAAA////DwgAAAAE - AwAAFwAAAP///w8IAAAABAMAADgYAAD///8PDAAAAAEG - AABgAAAAcAAAAIAAAAAIAAAAAAQAAEHEf2qigAAAGAAA + AwAAFwAAAP///w8IAAAABAMAAEkaAAD///8PDAAAAAEG + AABgAAAAcAAAAIAAAAAIAAAAAAQAAEHFlk7IgAAAGAAA AAECAAACAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAIAAAA - AQkAAGZpbGU6Ly8vBQAAAAEBAABtYWNPUwAAAAgAAAAE - AwAAAKAgaHQAAAAkAAAAAQEAAEI4MkMzNjk1LTAzQ0Qt - NEUyQS1BMzA4LTI1OEFEMkJFMzgzRRgAAAABAgAAgQAA - AAEAAADvEwAAAQAAAAAAAAAAAAAAAQAAAAEBAAAvAAAA - AAAAAAEFAACoAAAA/v///wEAAAAAAAAADQAAAAQQAABM - AAAAAAAAAAUQAACQAAAAAAAAABAQAAC0AAAAAAAAAEAQ - AACkAAAAAAAAAAIgAABQAQAAAAAAAAUgAADUAAAAAAAA - ABAgAADkAAAAAAAAABEgAAAEAQAAAAAAABIgAAD0AAAA - AAAAABMgAACkAAAAAAAAACAgAAAwAQAAAAAAADAgAABc - AQAAAAAAABDQAAAEAAAAAAAAAA== + AQkAAGZpbGU6Ly8vDAAAAAEBAABNYWNpbnRvc2ggSEQI + AAAABAMAAABQoRtzAAAAJAAAAAEBAAAyMjlCQTQ2NC03 + RkMzLTRDRjEtQTI4Ri1CRjZFQjVBQjE3NTYYAAAAAQIA + AIEAAAABAAAA7xMAAAEAAAAAAAAAAAAAAAEAAAABAQAA + LwAAAAAAAAABBQAAqAAAAP7///8BAAAAAAAAAA0AAAAE + EAAATAAAAAAAAAAFEAAAkAAAAAAAAAAQEAAAtAAAAAAA + AABAEAAApAAAAAAAAAACIAAAVAEAAAAAAAAFIAAA1AAA + AAAAAAAQIAAA5AAAAAAAAAARIAAACAEAAAAAAAASIAAA + +AAAAAAAAAATIAAApAAAAAAAAAAgIAAANAEAAAAAAAAw + IAAAYAEAAAAAAAAQ0AAABAAAAAAAAAA= bundle-identifier com.apple.launchpad.launcher @@ -90,43 +91,41 @@ file-tile - GUID - 3702055052 tile-data book Ym9vazACAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAUAEAAAQAAAADAwAAAAAAIAwA - AAABAQAAQXBwbGljYXRpb25zEgAAAAEBAABTdGFuZGFy - ZCBOb3Rlcy5hcHAAAAgAAAABBgAAEAAAACQAAAAIAAAA - BAMAAPlzOwAAAAAACAAAAAQDAADX6MABAAAAAAgAAAAB - BgAAUAAAAGAAAAAIAAAAAAQAAEHErbqKgAAAGAAAAAEC - AAACAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAIAAAAAQkA - AGZpbGU6Ly8vBQAAAAEBAABtYWNPUwAAAAgAAAAEAwAA - AKAgaHQAAAAIAAAAAAQAAEHEf2qigAAAJAAAAAEBAABC - ODJDMzY5NS0wM0NELTRFMkEtQTMwOC0yNThBRDJCRTM4 - M0UYAAAAAQIAAIEAAAABAAAA7xMAAAEAAAAAAAAAAAAA + AAABAQAAQXBwbGljYXRpb25zDQAAAAEBAABCaXR3YXJk + ZW4uYXBwAAAACAAAAAEGAAAQAAAAJAAAAAgAAAAEAwAA + W+KnAAAAAAAIAAAABAMAAIHMjgAAAAAACAAAAAEGAABM + AAAAXAAAAAgAAAAABAAAQcWQjCcAAAAYAAAAAQIAAAIA + AAAAAAAADwAAAAAAAAAAAAAAAAAAAAgAAAABCQAAZmls + ZTovLy8MAAAAAQEAAE1hY2ludG9zaCBIRAgAAAAEAwAA + AFChG3MAAAAIAAAAAAQAAEHFlk7IgAAAJAAAAAEBAAAy + MjlCQTQ2NC03RkMzLTRDRjEtQTI4Ri1CRjZFQjVBQjE3 + NTYYAAAAAQIAAIEAAAABAAAA7xMAAAEAAAAAAAAAAAAA AAEAAAABAQAALwAAAAAAAAABBQAAqAAAAP7///8BAAAA - AAAAAA0AAAAEEAAAQAAAAAAAAAAFEAAAcAAAAAAAAAAQ - EAAAkAAAAAAAAABAEAAAgAAAAAAAAAACIAAAPAEAAAAA - AAAFIAAAsAAAAAAAAAAQIAAAwAAAAAAAAAARIAAA8AAA + AAAAAA0AAAAEEAAAPAAAAAAAAAAFEAAAbAAAAAAAAAAQ + EAAAjAAAAAAAAABAEAAAfAAAAAAAAAACIAAAPAEAAAAA + AAAFIAAArAAAAAAAAAAQIAAAvAAAAAAAAAARIAAA8AAA AAAAAAASIAAA0AAAAAAAAAATIAAA4AAAAAAAAAAgIAAA HAEAAAAAAAAwIAAASAEAAAAAAAAQ0AAABAAAAAAAAAA= bundle-identifier - org.standardnotes.standardnotes + com.bitwarden.desktop dock-extra file-data _CFURLString - file:///Applications/Standard%20Notes.app/ + file:///Applications/Bitwarden.app/ _CFURLStringType 15 file-label - Standard Notes + Bitwarden file-mod-date 0 file-type @@ -189,6 +188,157 @@ tile-type file-tile + + tile-data + + book + + Ym9vazQCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAVAEAAAQAAAADAwAAAAAAIAwA + AAABAQAAQXBwbGljYXRpb25zEQAAAAEBAABZb3VUdWJl + IE11c2ljLmFwcAAAAAgAAAABBgAAEAAAACQAAAAIAAAA + BAMAAFvipwAAAAAACAAAAAQDAAANQVsAAAAAAAgAAAAB + BgAAUAAAAGAAAAAIAAAAAAQAAEHFkNeRuNh9GAAAAAEC + AAACAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAIAAAAAQkA + AGZpbGU6Ly8vDAAAAAEBAABNYWNpbnRvc2ggSEQIAAAA + BAMAAABQoRtzAAAACAAAAAAEAABBxZZOyIAAACQAAAAB + AQAAMjI5QkE0NjQtN0ZDMy00Q0YxLUEyOEYtQkY2RUI1 + QUIxNzU2GAAAAAECAACBAAAAAQAAAO8TAAABAAAAAAAA + AAAAAAABAAAAAQEAAC8AAAAAAAAAAQUAAKgAAAD+//// + AQAAAAAAAAANAAAABBAAAEAAAAAAAAAABRAAAHAAAAAA + AAAAEBAAAJAAAAAAAAAAQBAAAIAAAAAAAAAAAiAAAEAB + AAAAAAAABSAAALAAAAAAAAAAECAAAMAAAAAAAAAAESAA + APQAAAAAAAAAEiAAANQAAAAAAAAAEyAAAOQAAAAAAAAA + ICAAACABAAAAAAAAMCAAAEwBAAAAAAAAENAAAAQAAAAA + AAAA + + bundle-identifier + com.github.th-ch.youtube-music + dock-extra + + file-data + + _CFURLString + file:///Applications/YouTube%20Music.app/ + _CFURLStringType + 15 + + file-label + YouTube Music + file-mod-date + 0 + file-type + 1 + is-beta + + parent-mod-date + 0 + + tile-type + file-tile + + + GUID + 3840349085 + tile-data + + book + + Ym9vazgCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAATAEAAAQAAAADAwAAAAAAIAwA + AAABAQAAQXBwbGljYXRpb25zCgAAAAEBAABOb3Rpb24u + YXBwAAAIAAAAAQYAABAAAAAkAAAACAAAAAQDAABb4qcA + AAAAAAgAAAAEAwAAQ8qOAAAAAAAIAAAAAQYAAEgAAABY + AAAACAAAAAAEAABBxZSSBQAAABgAAAABAgAAAgAAAAAA + AAAPAAAAAAAAAAAAAAAAAAAAAAAAAAEFAAAIAAAAAQkA + AGZpbGU6Ly8vDAAAAAEBAABNYWNpbnRvc2ggSEQIAAAA + BAMAAABQoRtzAAAACAAAAAAEAABBxZZOyIAAACQAAAAB + AQAAMjI5QkE0NjQtN0ZDMy00Q0YxLUEyOEYtQkY2RUI1 + QUIxNzU2GAAAAAECAACBAAAAAQAAAO8TAAABAAAAAAAA + AAAAAAABAAAAAQEAAC8AAAC0AAAA/v///wEAAAAAAAAA + DgAAAAQQAAA4AAAAAAAAAAUQAABoAAAAAAAAABAQAACI + AAAAAAAAAEAQAAB4AAAAAAAAAAIgAABAAQAAAAAAAAUg + AACwAAAAAAAAABAgAADAAAAAAAAAABEgAAD0AAAAAAAA + ABIgAADUAAAAAAAAABMgAADkAAAAAAAAACAgAAAgAQAA + AAAAADAgAACoAAAAAAAAAAHQAACoAAAAAAAAABDQAAAE + AAAAAAAAAA== + + bundle-identifier + notion.id + dock-extra + + file-data + + _CFURLString + file:///Applications/Notion.app/ + _CFURLStringType + 15 + + file-label + Notion + file-mod-date + 3785268490 + file-type + 41 + is-beta + + parent-mod-date + 25855194484500 + + tile-type + file-tile + + + GUID + 3840349086 + tile-data + + book + + Ym9vazgCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAATAEAAAQAAAADAwAAAAAAIAwA + AAABAQAAQXBwbGljYXRpb25zDAAAAAEBAABPYnNpZGlh + bi5hcHAIAAAAAQYAABAAAAAkAAAACAAAAAQDAABb4qcA + AAAAAAgAAAAEAwAAwkdFAAAAAAAIAAAAAQYAAEgAAABY + AAAACAAAAAAEAABBxWzPtoAAABgAAAABAgAAAgAAAAAA + AAAPAAAAAAAAAAAAAAAAAAAAAAAAAAEFAAAIAAAAAQkA + AGZpbGU6Ly8vDAAAAAEBAABNYWNpbnRvc2ggSEQIAAAA + BAMAAABQoRtzAAAACAAAAAAEAABBxZZOyIAAACQAAAAB + AQAAMjI5QkE0NjQtN0ZDMy00Q0YxLUEyOEYtQkY2RUI1 + QUIxNzU2GAAAAAECAACBAAAAAQAAAO8TAAABAAAAAAAA + AAAAAAABAAAAAQEAAC8AAAC0AAAA/v///wEAAAAAAAAA + DgAAAAQQAAA4AAAAAAAAAAUQAABoAAAAAAAAABAQAACI + AAAAAAAAAEAQAAB4AAAAAAAAAAIgAABAAQAAAAAAAAUg + AACwAAAAAAAAABAgAADAAAAAAAAAABEgAAD0AAAAAAAA + ABIgAADUAAAAAAAAABMgAADkAAAAAAAAACAgAAAgAQAA + AAAAADAgAACoAAAAAAAAAAHQAACoAAAAAAAAABDQAAAE + AAAAAAAAAA== + + bundle-identifier + md.obsidian + dock-extra + + file-data + + _CFURLString + file:///Applications/Obsidian.app/ + _CFURLStringType + 15 + + file-label + Obsidian + file-mod-date + 3780057197 + file-type + 41 + is-beta + + parent-mod-date + 25855194484500 + + tile-type + file-tile + GUID 3702055053 @@ -196,23 +346,23 @@ book - Ym9vaygCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAASAEAAAQAAAADAwAAAAAAIAwA + Ym9vaywCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAATAEAAAQAAAADAwAAAAAAIAwA AAABAQAAQXBwbGljYXRpb25zCwAAAAEBAABGZXJkaXVt - LmFwcAAIAAAAAQYAABAAAAAkAAAACAAAAAQDAAD5czsA - AAAAAAgAAAAEAwAA//3AAQAAAAAIAAAAAQYAAEgAAABY - AAAACAAAAAAEAABBxKtKOYAAABgAAAABAgAAAgAAAAAA + LmFwcAAIAAAAAQYAABAAAAAkAAAACAAAAAQDAABb4qcA + AAAAAAgAAAAEAwAAnVubAAAAAAAIAAAAAQYAAEgAAABY + AAAACAAAAAAEAABBxZsxmgAAABgAAAABAgAAAgAAAAAA AAAPAAAAAAAAAAAAAAAAAAAACAAAAAEJAABmaWxlOi8v - LwUAAAABAQAAbWFjT1MAAAAIAAAABAMAAACgIGh0AAAA - CAAAAAAEAABBxH9qooAAACQAAAABAQAAQjgyQzM2OTUt - MDNDRC00RTJBLUEzMDgtMjU4QUQyQkUzODNFGAAAAAEC - AACBAAAAAQAAAO8TAAABAAAAAAAAAAAAAAABAAAAAQEA - AC8AAAAAAAAAAQUAAKgAAAD+////AQAAAAAAAAANAAAA - BBAAADgAAAAAAAAABRAAAGgAAAAAAAAAEBAAAIgAAAAA - AAAAQBAAAHgAAAAAAAAAAiAAADQBAAAAAAAABSAAAKgA - AAAAAAAAECAAALgAAAAAAAAAESAAAOgAAAAAAAAAEiAA - AMgAAAAAAAAAEyAAANgAAAAAAAAAICAAABQBAAAAAAAA - MCAAAEABAAAAAAAAENAAAAQAAAAAAAAA + LwwAAAABAQAATWFjaW50b3NoIEhECAAAAAQDAAAAUKEb + cwAAAAgAAAAABAAAQcWWTsiAAAAkAAAAAQEAADIyOUJB + NDY0LTdGQzMtNENGMS1BMjhGLUJGNkVCNUFCMTc1NhgA + AAABAgAAgQAAAAEAAADvEwAAAQAAAAAAAAAAAAAAAQAA + AAEBAAAvAAAAAAAAAAEFAACoAAAA/v///wEAAAAAAAAA + DQAAAAQQAAA4AAAAAAAAAAUQAABoAAAAAAAAABAQAACI + AAAAAAAAAEAQAAB4AAAAAAAAAAIgAAA4AQAAAAAAAAUg + AACoAAAAAAAAABAgAAC4AAAAAAAAABEgAADsAAAAAAAA + ABIgAADMAAAAAAAAABMgAADcAAAAAAAAACAgAAAYAQAA + AAAAADAgAABEAQAAAAAAABDQAAAEAAAAAAAAAA== bundle-identifier org.ferdium.ferdium-app @@ -228,55 +378,56 @@ file-label Ferdium file-mod-date - 0 + 3786136628 file-type - 1 + 41 is-beta parent-mod-date - 0 + 41085148509877 tile-type file-tile GUID - 3702055054 + 3204616856 tile-data book - Ym9vaywCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAATAEAAAQAAAADAwAAAAAAIAwA - AAABAQAAQXBwbGljYXRpb25zDQAAAAEBAABMaWJyZVdv - bGYuYXBwAAAACAAAAAEGAAAQAAAAJAAAAAgAAAAEAwAA - +XM7AAAAAAAIAAAABAMAAJ7/uQEAAAAACAAAAAEGAABM - AAAAXAAAAAgAAAAABAAAQcSnWToAAAAYAAAAAQIAAAIA - AAAAAAAADwAAAAAAAAAAAAAAAAAAAAgAAAABCQAAZmls - ZTovLy8FAAAAAQEAAG1hY09TAAAACAAAAAQDAAAAoCBo - dAAAAAgAAAAABAAAQcR/aqKAAAAkAAAAAQEAAEI4MkMz - Njk1LTAzQ0QtNEUyQS1BMzA4LTI1OEFEMkJFMzgzRRgA - AAABAgAAgQAAAAEAAADvEwAAAQAAAAAAAAAAAAAAAQAA - AAEBAAAvAAAAAAAAAAEFAACoAAAA/v///wEAAAAAAAAA - DQAAAAQQAAA8AAAAAAAAAAUQAABsAAAAAAAAABAQAACM - AAAAAAAAAEAQAAB8AAAAAAAAAAIgAAA4AQAAAAAAAAUg - AACsAAAAAAAAABAgAAC8AAAAAAAAABEgAADsAAAAAAAA - ABIgAADMAAAAAAAAABMgAADcAAAAAAAAACAgAAAYAQAA - AAAAADAgAABEAQAAAAAAABDQAAAEAAAAAAAAAA== + Ym9vazQCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAVAEAAAQAAAADAwAAAAAAIAwA + AAABAQAAQXBwbGljYXRpb25zEQAAAAEBAABHb29nbGUg + Q2hyb21lLmFwcAAAAAgAAAABBgAAEAAAACQAAAAIAAAA + BAMAAFvipwAAAAAACAAAAAQDAABkzkUAAAAAAAgAAAAB + BgAAUAAAAGAAAAAIAAAAAAQAAEHFjLX1AAAAGAAAAAEC + AAACAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAIAAAAAQkA + AGZpbGU6Ly8vDAAAAAEBAABNYWNpbnRvc2ggSEQIAAAA + BAMAAABQoRtzAAAACAAAAAAEAABBxZZOyIAAACQAAAAB + AQAAMjI5QkE0NjQtN0ZDMy00Q0YxLUEyOEYtQkY2RUI1 + QUIxNzU2GAAAAAECAACBAAAAAQAAAO8TAAABAAAAAAAA + AAAAAAABAAAAAQEAAC8AAAAAAAAAAQUAAKgAAAD+//// + AQAAAAAAAAANAAAABBAAAEAAAAAAAAAABRAAAHAAAAAA + AAAAEBAAAJAAAAAAAAAAQBAAAIAAAAAAAAAAAiAAAEAB + AAAAAAAABSAAALAAAAAAAAAAECAAAMAAAAAAAAAAESAA + APQAAAAAAAAAEiAAANQAAAAAAAAAEyAAAOQAAAAAAAAA + ICAAACABAAAAAAAAMCAAAEwBAAAAAAAAENAAAAQAAAAA + AAAA bundle-identifier - org.mozilla.librewolf + com.google.Chrome dock-extra file-data _CFURLString - file:///Applications/LibreWolf.app/ + file:///Applications/Google%20Chrome.app/ _CFURLStringType 15 file-label - LibreWolf + Google Chrome file-mod-date 0 file-type @@ -296,23 +447,24 @@ book - Ym9vazACAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAUAEAAAQAAAADAwAAAAAAIAwA + Ym9vazQCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAVAEAAAQAAAADAwAAAAAAIAwA AAABAQAAQXBwbGljYXRpb25zEQAAAAEBAABCcmF2ZSBC cm93c2VyLmFwcAAAAAgAAAABBgAAEAAAACQAAAAIAAAA - BAMAAPlzOwAAAAAACAAAAAQDAAAk9d0AAAAAAAgAAAAB - BgAAUAAAAGAAAAAIAAAAAAQAAEHElhmpgAAAGAAAAAEC + BAMAAFvipwAAAAAACAAAAAQDAACAcUUAAAAAAAgAAAAB + BgAAUAAAAGAAAAAIAAAAAAQAAEHFi6ZAAAAAGAAAAAEC AAACAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAIAAAAAQkA - AGZpbGU6Ly8vBQAAAAEBAABtYWNPUwAAAAgAAAAEAwAA - AKAgaHQAAAAIAAAAAAQAAEHEf2qigAAAJAAAAAEBAABC - ODJDMzY5NS0wM0NELTRFMkEtQTMwOC0yNThBRDJCRTM4 - M0UYAAAAAQIAAIEAAAABAAAA7xMAAAEAAAAAAAAAAAAA - AAEAAAABAQAALwAAAAAAAAABBQAAqAAAAP7///8BAAAA - AAAAAA0AAAAEEAAAQAAAAAAAAAAFEAAAcAAAAAAAAAAQ - EAAAkAAAAAAAAABAEAAAgAAAAAAAAAACIAAAPAEAAAAA - AAAFIAAAsAAAAAAAAAAQIAAAwAAAAAAAAAARIAAA8AAA - AAAAAAASIAAA0AAAAAAAAAATIAAA4AAAAAAAAAAgIAAA - HAEAAAAAAAAwIAAASAEAAAAAAAAQ0AAABAAAAAAAAAA= + AGZpbGU6Ly8vDAAAAAEBAABNYWNpbnRvc2ggSEQIAAAA + BAMAAABQoRtzAAAACAAAAAAEAABBxZZOyIAAACQAAAAB + AQAAMjI5QkE0NjQtN0ZDMy00Q0YxLUEyOEYtQkY2RUI1 + QUIxNzU2GAAAAAECAACBAAAAAQAAAO8TAAABAAAAAAAA + AAAAAAABAAAAAQEAAC8AAAAAAAAAAQUAAKgAAAD+//// + AQAAAAAAAAANAAAABBAAAEAAAAAAAAAABRAAAHAAAAAA + AAAAEBAAAJAAAAAAAAAAQBAAAIAAAAAAAAAAAiAAAEAB + AAAAAAAABSAAALAAAAAAAAAAECAAAMAAAAAAAAAAESAA + APQAAAAAAAAAEiAAANQAAAAAAAAAEyAAAOQAAAAAAAAA + ICAAACABAAAAAAAAMCAAAEwBAAAAAAAAENAAAAQAAAAA + AAAA bundle-identifier com.brave.Browser @@ -341,50 +493,50 @@ GUID - 3702055056 + 3204616857 tile-data book - Ym9vaygCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAASAEAAAQAAAADAwAAAAAAIAwA - AAABAQAAQXBwbGljYXRpb25zDAAAAAEBAABWU0NvZGl1 - bS5hcHAIAAAAAQYAABAAAAAkAAAACAAAAAQDAAD5czsA - AAAAAAgAAAAEAwAAhoHAAQAAAAAIAAAAAQYAAEgAAABY - AAAACAAAAAAEAABBxKnFVQAAABgAAAABAgAAAgAAAAAA + Ym9vaywCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAATAEAAAQAAAADAwAAAAAAIAwA + AAABAQAAQXBwbGljYXRpb25zCwAAAAEBAABGaXJlZm94 + LmFwcAAIAAAAAQYAABAAAAAkAAAACAAAAAQDAABb4qcA + AAAAAAgAAAAEAwAAIHxAAAAAAAAIAAAAAQYAAEgAAABY + AAAACAAAAAAEAABBxYvbMYAAABgAAAABAgAAAgAAAAAA AAAPAAAAAAAAAAAAAAAAAAAACAAAAAEJAABmaWxlOi8v - LwUAAAABAQAAbWFjT1MAAAAIAAAABAMAAACgIGh0AAAA - CAAAAAAEAABBxH9qooAAACQAAAABAQAAQjgyQzM2OTUt - MDNDRC00RTJBLUEzMDgtMjU4QUQyQkUzODNFGAAAAAEC - AACBAAAAAQAAAO8TAAABAAAAAAAAAAAAAAABAAAAAQEA - AC8AAAAAAAAAAQUAAKgAAAD+////AQAAAAAAAAANAAAA - BBAAADgAAAAAAAAABRAAAGgAAAAAAAAAEBAAAIgAAAAA - AAAAQBAAAHgAAAAAAAAAAiAAADQBAAAAAAAABSAAAKgA - AAAAAAAAECAAALgAAAAAAAAAESAAAOgAAAAAAAAAEiAA - AMgAAAAAAAAAEyAAANgAAAAAAAAAICAAABQBAAAAAAAA - MCAAAEABAAAAAAAAENAAAAQAAAAAAAAA + LwwAAAABAQAATWFjaW50b3NoIEhECAAAAAQDAAAAUKEb + cwAAAAgAAAAABAAAQcWWTsiAAAAkAAAAAQEAADIyOUJB + NDY0LTdGQzMtNENGMS1BMjhGLUJGNkVCNUFCMTc1NhgA + AAABAgAAgQAAAAEAAADvEwAAAQAAAAAAAAAAAAAAAQAA + AAEBAAAvAAAAAAAAAAEFAACoAAAA/v///wEAAAAAAAAA + DQAAAAQQAAA4AAAAAAAAAAUQAABoAAAAAAAAABAQAACI + AAAAAAAAAEAQAAB4AAAAAAAAAAIgAAA4AQAAAAAAAAUg + AACoAAAAAAAAABAgAAC4AAAAAAAAABEgAADsAAAAAAAA + ABIgAADMAAAAAAAAABMgAADcAAAAAAAAACAgAAAYAQAA + AAAAADAgAABEAQAAAAAAABDQAAAEAAAAAAAAAA== bundle-identifier - com.vscodium + org.mozilla.firefox dock-extra file-data _CFURLString - file:///Applications/VSCodium.app/ + file:///Applications/Firefox.app/ _CFURLStringType 15 file-label - VSCodium + Firefox file-mod-date - 0 + 3784126307 file-type - 1 + 41 is-beta parent-mod-date - 0 + 25855194484500 tile-type file-tile @@ -396,23 +548,23 @@ book - Ym9vaygCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAASAEAAAQAAAADAwAAAAAAIAwA + Ym9vaywCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAATAEAAAQAAAADAwAAAAAAIAwA AAABAQAAQXBwbGljYXRpb25zCQAAAAEBAABUYWJieS5h - cHAAAAAIAAAAAQYAABAAAAAkAAAACAAAAAQDAAD5czsA - AAAAAAgAAAAEAwAAXv1vAAAAAAAIAAAAAQYAAEgAAABY - AAAACAAAAAAEAABBxISR4gAAABgAAAABAgAAAgAAAAAA + cHAAAAAIAAAAAQYAABAAAAAkAAAACAAAAAQDAABb4qcA + AAAAAAgAAAAEAwAAaJhAAAAAAAAIAAAAAQYAAEgAAABY + AAAACAAAAAAEAABBxYZYMwAAABgAAAABAgAAAgAAAAAA AAAPAAAAAAAAAAAAAAAAAAAACAAAAAEJAABmaWxlOi8v - LwUAAAABAQAAbWFjT1MAAAAIAAAABAMAAACgIGh0AAAA - CAAAAAAEAABBxH9qooAAACQAAAABAQAAQjgyQzM2OTUt - MDNDRC00RTJBLUEzMDgtMjU4QUQyQkUzODNFGAAAAAEC - AACBAAAAAQAAAO8TAAABAAAAAAAAAAAAAAABAAAAAQEA - AC8AAAAAAAAAAQUAAKgAAAD+////AQAAAAAAAAANAAAA - BBAAADgAAAAAAAAABRAAAGgAAAAAAAAAEBAAAIgAAAAA - AAAAQBAAAHgAAAAAAAAAAiAAADQBAAAAAAAABSAAAKgA - AAAAAAAAECAAALgAAAAAAAAAESAAAOgAAAAAAAAAEiAA - AMgAAAAAAAAAEyAAANgAAAAAAAAAICAAABQBAAAAAAAA - MCAAAEABAAAAAAAAENAAAAQAAAAAAAAA + LwwAAAABAQAATWFjaW50b3NoIEhECAAAAAQDAAAAUKEb + cwAAAAgAAAAABAAAQcWWTsiAAAAkAAAAAQEAADIyOUJB + NDY0LTdGQzMtNENGMS1BMjhGLUJGNkVCNUFCMTc1NhgA + AAABAgAAgQAAAAEAAADvEwAAAQAAAAAAAAAAAAAAAQAA + AAEBAAAvAAAAAAAAAAEFAACoAAAA/v///wEAAAAAAAAA + DQAAAAQQAAA4AAAAAAAAAAUQAABoAAAAAAAAABAQAACI + AAAAAAAAAEAQAAB4AAAAAAAAAAIgAAA4AQAAAAAAAAUg + AACoAAAAAAAAABAgAAC4AAAAAAAAABEgAADsAAAAAAAA + ABIgAADMAAAAAAAAABMgAADcAAAAAAAAACAgAAAYAQAA + AAAAADAgAABEAQAAAAAAABDQAAAEAAAAAAAAAA== bundle-identifier org.tabby @@ -440,43 +592,90 @@ file-tile - GUID - 3702055058 tile-data book Ym9vaygCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAASAEAAAQAAAADAwAAAAAAIAwA - AAABAQAAQXBwbGljYXRpb25zCQAAAAEBAABpVGVybS5h - cHAAAAAIAAAAAQYAABAAAAAkAAAACAAAAAQDAAD5czsA - AAAAAAgAAAAEAwAAqrV0AAAAAAAIAAAAAQYAAEgAAABY - AAAACAAAAAAEAABBxIN3LAAAABgAAAABAgAAAgAAAAAA - AAAPAAAAAAAAAAAAAAAAAAAACAAAAAEJAABmaWxlOi8v - LwUAAAABAQAAbWFjT1MAAAAIAAAABAMAAACgIGh0AAAA - CAAAAAAEAABBxH9qooAAACQAAAABAQAAQjgyQzM2OTUt - MDNDRC00RTJBLUEzMDgtMjU4QUQyQkUzODNFGAAAAAEC + AAABAQAAQXBwbGljYXRpb25zCAAAAAEBAABXYXJwLmFw + cAgAAAABBgAAEAAAACQAAAAIAAAABAMAAFvipwAAAAAA + CAAAAAQDAACc664AAAAAAAgAAAABBgAARAAAAFQAAAAI + AAAAAAQAAEHFnJu/fVfaGAAAAAECAAACAAAAAAAAAA8A + AAAAAAAAAAAAAAAAAAAIAAAAAQkAAGZpbGU6Ly8vDAAA + AAEBAABNYWNpbnRvc2ggSEQIAAAABAMAAABQoRtzAAAA + CAAAAAAEAABBxZZOyIAAACQAAAABAQAAMjI5QkE0NjQt + N0ZDMy00Q0YxLUEyOEYtQkY2RUI1QUIxNzU2GAAAAAEC AACBAAAAAQAAAO8TAAABAAAAAAAAAAAAAAABAAAAAQEA AC8AAAAAAAAAAQUAAKgAAAD+////AQAAAAAAAAANAAAA - BBAAADgAAAAAAAAABRAAAGgAAAAAAAAAEBAAAIgAAAAA - AAAAQBAAAHgAAAAAAAAAAiAAADQBAAAAAAAABSAAAKgA - AAAAAAAAECAAALgAAAAAAAAAESAAAOgAAAAAAAAAEiAA + BBAAADQAAAAAAAAABRAAAGQAAAAAAAAAEBAAAIQAAAAA + AAAAQBAAAHQAAAAAAAAAAiAAADQBAAAAAAAABSAAAKQA + AAAAAAAAECAAALQAAAAAAAAAESAAAOgAAAAAAAAAEiAA AMgAAAAAAAAAEyAAANgAAAAAAAAAICAAABQBAAAAAAAA MCAAAEABAAAAAAAAENAAAAQAAAAAAAAA bundle-identifier - com.googlecode.iterm2 + dev.warp.Warp-Stable dock-extra file-data _CFURLString - file:///Applications/iTerm.app/ + file:///Applications/Warp.app/ _CFURLStringType 15 file-label - iTerm + Warp + file-mod-date + 0 + file-type + 1 + is-beta + + parent-mod-date + 0 + + tile-type + file-tile + + + tile-data + + book + + Ym9vazgCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAWAEAAAQAAAADAwAAAAAAIAwA + AAABAQAAQXBwbGljYXRpb25zFgAAAAEBAABWaXN1YWwg + U3R1ZGlvIENvZGUuYXBwAAAIAAAAAQYAABAAAAAkAAAA + CAAAAAQDAABb4qcAAAAAAAgAAAAEAwAAM7lAAAAAAAAI + AAAAAQYAAFQAAABkAAAACAAAAAAEAABBxXCNygAAABgA + AAABAgAAAgAAAAAAAAAPAAAAAAAAAAAAAAAAAAAACAAA + AAEJAABmaWxlOi8vLwwAAAABAQAATWFjaW50b3NoIEhE + CAAAAAQDAAAAUKEbcwAAAAgAAAAABAAAQcWWTsiAAAAk + AAAAAQEAADIyOUJBNDY0LTdGQzMtNENGMS1BMjhGLUJG + NkVCNUFCMTc1NhgAAAABAgAAgQAAAAEAAADvEwAAAQAA + AAAAAAAAAAAAAQAAAAEBAAAvAAAAAAAAAAEFAACoAAAA + /v///wEAAAAAAAAADQAAAAQQAABEAAAAAAAAAAUQAAB0 + AAAAAAAAABAQAACUAAAAAAAAAEAQAACEAAAAAAAAAAIg + AABEAQAAAAAAAAUgAAC0AAAAAAAAABAgAADEAAAAAAAA + ABEgAAD4AAAAAAAAABIgAADYAAAAAAAAABMgAADoAAAA + AAAAACAgAAAkAQAAAAAAADAgAABQAQAAAAAAABDQAAAE + AAAAAAAAAA== + + bundle-identifier + com.microsoft.VSCode + dock-extra + + file-data + + _CFURLString + file:///Applications/Visual%20Studio%20Code.app/ + _CFURLStringType + 15 + + file-label + Visual Studio Code file-mod-date 0 file-type @@ -491,51 +690,153 @@ GUID - 3702055059 + 3840349088 tile-data book - Ym9vazQCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + Ym9va0ACAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAVAEAAAQAAAADAwAAAAAAIAwA - AAABAQAAQXBwbGljYXRpb25zFQAAAAEBAABQYXJhbGxl - bHMgRGVza3RvcC5hcHAAAAAIAAAAAQYAABAAAAAkAAAA - CAAAAAQDAAD5czsAAAAAAAgAAAAEAwAAmZ0iAQAAAAAI - AAAAAQYAAFQAAABkAAAACAAAAAAEAABBxJyDzgAAABgA - AAABAgAAAgAAAAAAAAAPAAAAAAAAAAAAAAAAAAAACAAA - AAEJAABmaWxlOi8vLwUAAAABAQAAbWFjT1MAAAAIAAAA - BAMAAACgIGh0AAAACAAAAAAEAABBxH9qooAAACQAAAAB - AQAAQjgyQzM2OTUtMDNDRC00RTJBLUEzMDgtMjU4QUQy - QkUzODNFGAAAAAECAACBAAAAAQAAAO8TAAABAAAAAAAA - AAAAAAABAAAAAQEAAC8AAAAAAAAAAQUAAKgAAAD+//// - AQAAAAAAAAANAAAABBAAAEQAAAAAAAAABRAAAHQAAAAA - AAAAEBAAAJQAAAAAAAAAQBAAAIQAAAAAAAAAAiAAAEAB - AAAAAAAABSAAALQAAAAAAAAAECAAAMQAAAAAAAAAESAA - APQAAAAAAAAAEiAAANQAAAAAAAAAEyAAAOQAAAAAAAAA - ICAAACABAAAAAAAAMCAAAEwBAAAAAAAAENAAAAQAAAAA - AAAA + AAABAQAAQXBwbGljYXRpb25zEQAAAAEBAABWaXN1YWwg + U3R1ZGlvLmFwcAAAAAgAAAABBgAAEAAAACQAAAAIAAAA + BAMAAFvipwAAAAAACAAAAAQDAADj70YAAAAAAAgAAAAB + BgAAUAAAAGAAAAAIAAAAAAQAAEHFfyuugAAAGAAAAAEC + AAACAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAQUA + AAgAAAABCQAAZmlsZTovLy8MAAAAAQEAAE1hY2ludG9z + aCBIRAgAAAAEAwAAAFChG3MAAAAIAAAAAAQAAEHFlk7I + gAAAJAAAAAEBAAAyMjlCQTQ2NC03RkMzLTRDRjEtQTI4 + Ri1CRjZFQjVBQjE3NTYYAAAAAQIAAIEAAAABAAAA7xMA + AAEAAAAAAAAAAAAAAAEAAAABAQAALwAAALQAAAD+//// + AQAAAAAAAAAOAAAABBAAAEAAAAAAAAAABRAAAHAAAAAA + AAAAEBAAAJAAAAAAAAAAQBAAAIAAAAAAAAAAAiAAAEgB + AAAAAAAABSAAALgAAAAAAAAAECAAAMgAAAAAAAAAESAA + APwAAAAAAAAAEiAAANwAAAAAAAAAEyAAAOwAAAAAAAAA + ICAAACgBAAAAAAAAMCAAALAAAAAAAAAAAdAAALAAAAAA + AAAAENAAAAQAAAAAAAAA bundle-identifier - com.parallels.desktop.console + com.microsoft.visual-studio dock-extra file-data _CFURLString - file:///Applications/Parallels%20Desktop.app/ + file:///Applications/Visual%20Studio.app/ _CFURLStringType 15 file-label - Parallels Desktop + Visual Studio file-mod-date - 0 + 3782463581 file-type - 1 + 41 is-beta parent-mod-date - 0 + 25855194484500 + + tile-type + file-tile + + + GUID + 3840349087 + tile-data + + book + + Ym9vazgCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAATAEAAAQAAAADAwAAAAAAIAwA + AAABAQAAQXBwbGljYXRpb25zDAAAAAEBAABSdXN0RGVz + ay5hcHAIAAAAAQYAABAAAAAkAAAACAAAAAQDAABb4qcA + AAAAAAgAAAAEAwAARWtEAAAAAAAIAAAAAQYAAEgAAABY + AAAACAAAAAAEAABBxWlxnYAAABgAAAABAgAAAgAAAAAA + AAAPAAAAAAAAAAAAAAAAAAAAAAAAAAEFAAAIAAAAAQkA + AGZpbGU6Ly8vDAAAAAEBAABNYWNpbnRvc2ggSEQIAAAA + BAMAAABQoRtzAAAACAAAAAAEAABBxZZOyIAAACQAAAAB + AQAAMjI5QkE0NjQtN0ZDMy00Q0YxLUEyOEYtQkY2RUI1 + QUIxNzU2GAAAAAECAACBAAAAAQAAAO8TAAABAAAAAAAA + AAAAAAABAAAAAQEAAC8AAAC0AAAA/v///wEAAAAAAAAA + DgAAAAQQAAA4AAAAAAAAAAUQAABoAAAAAAAAABAQAACI + AAAAAAAAAEAQAAB4AAAAAAAAAAIgAABAAQAAAAAAAAUg + AACwAAAAAAAAABAgAADAAAAAAAAAABEgAAD0AAAAAAAA + ABIgAADUAAAAAAAAABMgAADkAAAAAAAAACAgAAAgAQAA + AAAAADAgAACoAAAAAAAAAAHQAACoAAAAAAAAABDQAAAE + AAAAAAAAAA== + + bundle-identifier + com.carriez.rustdesk + dock-extra + + file-data + + _CFURLString + file:///Applications/RustDesk.app/ + _CFURLStringType + 15 + + file-label + RustDesk + file-mod-date + 3779615803 + file-type + 41 + is-beta + + parent-mod-date + 25855194484500 + + tile-type + file-tile + + + GUID + 3840349084 + tile-data + + book + + Ym9va0gCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAXAEAAAQAAAADAwAAAAAAIAwA + AAABAQAAQXBwbGljYXRpb25zHAAAAAEBAABNaWNyb3Nv + ZnQgUmVtb3RlIERlc2t0b3AuYXBwCAAAAAEGAAAQAAAA + JAAAAAgAAAAEAwAAW+KnAAAAAAAIAAAABAMAAEAygwAA + AAAACAAAAAEGAABYAAAAaAAAAAgAAAAABAAAQcWUtFKA + AAAYAAAAAQIAAAIAAAAAAAAADwAAAAAAAAAAAAAAAAAA + AAAAAAABBQAACAAAAAEJAABmaWxlOi8vLwwAAAABAQAA + TWFjaW50b3NoIEhECAAAAAQDAAAAUKEbcwAAAAgAAAAA + BAAAQcWWTsiAAAAkAAAAAQEAADIyOUJBNDY0LTdGQzMt + NENGMS1BMjhGLUJGNkVCNUFCMTc1NhgAAAABAgAAgQAA + AAEAAADvEwAAAQAAAAAAAAAAAAAAAQAAAAEBAAAvAAAA + tAAAAP7///8BAAAAAAAAAA4AAAAEEAAASAAAAAAAAAAF + EAAAeAAAAAAAAAAQEAAAmAAAAAAAAABAEAAAiAAAAAAA + AAACIAAAUAEAAAAAAAAFIAAAwAAAAAAAAAAQIAAA0AAA + AAAAAAARIAAABAEAAAAAAAASIAAA5AAAAAAAAAATIAAA + 9AAAAAAAAAAgIAAAMAEAAAAAAAAwIAAAuAAAAAAAAAAB + 0AAAuAAAAAAAAAAQ0AAABAAAAAAAAAA= + + bundle-identifier + com.microsoft.rdc.macos + dock-extra + + file-data + + _CFURLString + file:///Applications/Microsoft%20Remote%20Desktop.app/ + _CFURLStringType + 15 + + file-label + Microsoft Remote Desktop + file-mod-date + 141733411294933 + file-type + 41 + is-beta + + parent-mod-date + 25855194484500 tile-type file-tile @@ -547,23 +848,24 @@ book - Ym9vazACAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAUAEAAAQAAAADAwAAAAAAIAwA + Ym9vazQCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAVAEAAAQAAAADAwAAAAAAIAwA AAABAQAAQXBwbGljYXRpb25zEQAAAAEBAABWTXdhcmUg RnVzaW9uLmFwcAAAAAgAAAABBgAAEAAAACQAAAAIAAAA - BAMAAPlzOwAAAAAACAAAAAQDAADNtXAAAAAAAAgAAAAB - BgAAUAAAAGAAAAAIAAAAAAQAAEHEO2/XgAAAGAAAAAEC + BAMAAFvipwAAAAAACAAAAAQDAAAkn1gAAAAAAAgAAAAB + BgAAUAAAAGAAAAAIAAAAAAQAAEHFaq3vAAAAGAAAAAEC AAACAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAIAAAAAQkA - AGZpbGU6Ly8vBQAAAAEBAABtYWNPUwAAAAgAAAAEAwAA - AKAgaHQAAAAIAAAAAAQAAEHEf2qigAAAJAAAAAEBAABC - ODJDMzY5NS0wM0NELTRFMkEtQTMwOC0yNThBRDJCRTM4 - M0UYAAAAAQIAAIEAAAABAAAA7xMAAAEAAAAAAAAAAAAA - AAEAAAABAQAALwAAAAAAAAABBQAAqAAAAP7///8BAAAA - AAAAAA0AAAAEEAAAQAAAAAAAAAAFEAAAcAAAAAAAAAAQ - EAAAkAAAAAAAAABAEAAAgAAAAAAAAAACIAAAPAEAAAAA - AAAFIAAAsAAAAAAAAAAQIAAAwAAAAAAAAAARIAAA8AAA - AAAAAAASIAAA0AAAAAAAAAATIAAA4AAAAAAAAAAgIAAA - HAEAAAAAAAAwIAAASAEAAAAAAAAQ0AAABAAAAAAAAAA= + AGZpbGU6Ly8vDAAAAAEBAABNYWNpbnRvc2ggSEQIAAAA + BAMAAABQoRtzAAAACAAAAAAEAABBxZZOyIAAACQAAAAB + AQAAMjI5QkE0NjQtN0ZDMy00Q0YxLUEyOEYtQkY2RUI1 + QUIxNzU2GAAAAAECAACBAAAAAQAAAO8TAAABAAAAAAAA + AAAAAAABAAAAAQEAAC8AAAAAAAAAAQUAAKgAAAD+//// + AQAAAAAAAAANAAAABBAAAEAAAAAAAAAABRAAAHAAAAAA + AAAAEBAAAJAAAAAAAAAAQBAAAIAAAAAAAAAAAiAAAEAB + AAAAAAAABSAAALAAAAAAAAAAECAAAMAAAAAAAAAAESAA + APQAAAAAAAAAEiAAANQAAAAAAAAAEyAAAOQAAAAAAAAA + ICAAACABAAAAAAAAMCAAAEwBAAAAAAAAENAAAAQAAAAA + AAAA bundle-identifier com.vmware.fusion @@ -591,47 +893,149 @@ file-tile + GUID + 3840349083 tile-data book - Ym9va/ACAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAA7AEAAAQAAAADAwAAAAAAIAUA - AAABAQAAVXNlcnMAAAAJAAAAAQEAAGJ6YWxld3NraQAA - AAkAAAABAQAAUGFyYWxsZWxzAAAAEAAAAAEBAABVYnVu - dHUgMjIuMDQucHZtEAAAAAEBAABVYnVudHUgMjIuMDQu - YXBwFAAAAAEGAAAQAAAAIAAAADQAAABIAAAAYAAAAAgA - AAAEAwAAWmcAAAAAAAAIAAAABAMAAJxaBAAAAAAACAAA - AAQDAACIfw0AAAAAAAgAAAAEAwAA7lrRAQAAAAAIAAAA - BAMAAG5b0QEAAAAAFAAAAAEGAACUAAAApAAAALQAAADE - AAAA1AAAAAgAAAAABAAAQcSz/qHu0asYAAAAAQIAAAIA - AAAAAAAADwAAAAAAAAAAAAAAAAAAAAgAAAAEAwAAAwAA - AAAAAAAEAAAAAwMAAPcBAAAIAAAAAQkAAGZpbGU6Ly8v - BQAAAAEBAABtYWNPUwAAAAgAAAAEAwAAAKAgaHQAAAAI - AAAAAAQAAEHEf2qigAAAJAAAAAEBAABCODJDMzY5NS0w - M0NELTRFMkEtQTMwOC0yNThBRDJCRTM4M0UYAAAAAQIA - AIEAAAABAAAA7xMAAAEAAAAAAAAAAAAAAAEAAAABAQAA - LwAAAAAAAAABBQAAzAAAAP7///8BAAAAAAAAABAAAAAE - EAAAeAAAAAAAAAAFEAAA5AAAAAAAAAAQEAAAEAEAAAAA - AABAEAAAAAEAAAAAAAACIAAA2AEAAAAAAAAFIAAATAEA - AAAAAAAQIAAAXAEAAAAAAAARIAAAjAEAAAAAAAASIAAA - bAEAAAAAAAATIAAAfAEAAAAAAAAgIAAAuAEAAAAAAAAw - IAAA5AEAAAAAAAABwAAAMAEAAAAAAAARwAAAIAAAAAAA - AAASwAAAQAEAAAAAAAAQ0AAABAAAAAAAAAA= + Ym9vazgCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAATAEAAAQAAAADAwAAAAAAIAwA + AAABAQAAQXBwbGljYXRpb25zCgAAAAEBAABEb2NrZXIu + YXBwAAAIAAAAAQYAABAAAAAkAAAACAAAAAQDAABb4qcA + AAAAAAgAAAAEAwAAMVEUAAAAAAAIAAAAAQYAAEgAAABY + AAAACAAAAAAEAABBxY77toAAABgAAAABAgAAAgAAAAAA + AAAPAAAAAAAAAAAAAAAAAAAAAAAAAAEFAAAIAAAAAQkA + AGZpbGU6Ly8vDAAAAAEBAABNYWNpbnRvc2ggSEQIAAAA + BAMAAABQoRtzAAAACAAAAAAEAABBxZZOyIAAACQAAAAB + AQAAMjI5QkE0NjQtN0ZDMy00Q0YxLUEyOEYtQkY2RUI1 + QUIxNzU2GAAAAAECAACBAAAAAQAAAO8TAAABAAAAAAAA + AAAAAAABAAAAAQEAAC8AAAC0AAAA/v///wEAAAAAAAAA + DgAAAAQQAAA4AAAAAAAAAAUQAABoAAAAAAAAABAQAACI + AAAAAAAAAEAQAAB4AAAAAAAAAAIgAABAAQAAAAAAAAUg + AACwAAAAAAAAABAgAADAAAAAAAAAABEgAAD0AAAAAAAA + ABIgAADUAAAAAAAAABMgAADkAAAAAAAAACAgAAAgAQAA + AAAAADAgAACoAAAAAAAAAAHQAACoAAAAAAAAABDQAAAE + AAAAAAAAAA== bundle-identifier - com.parallels.winapp.e5051949dc3a37f9077e85df0f1c8a21.9f5680d3edec424298aaf7134dcb58ab.fs + com.docker.docker dock-extra file-data _CFURLString - file:///Users/bzalewski/Parallels/Ubuntu%2022.04.pvm/Ubuntu%2022.04.app/ + file:///Applications/Docker.app/ _CFURLStringType 15 file-label - Ubuntu 22.04 + Docker + file-mod-date + 3784536173 + file-type + 41 + is-beta + + parent-mod-date + 25855194484500 + + tile-type + file-tile + + + GUID + 3702055059 + tile-data + + book + + Ym9vazgCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAWAEAAAQAAAADAwAAAAAAIAwA + AAABAQAAQXBwbGljYXRpb25zFQAAAAEBAABQYXJhbGxl + bHMgRGVza3RvcC5hcHAAAAAIAAAAAQYAABAAAAAkAAAA + CAAAAAQDAABb4qcAAAAAAAgAAAAEAwAAm1dFAAAAAAAI + AAAAAQYAAFQAAABkAAAACAAAAAAEAABBxXsQF4AAABgA + AAABAgAAAgAAAAAAAAAPAAAAAAAAAAAAAAAAAAAACAAA + AAEJAABmaWxlOi8vLwwAAAABAQAATWFjaW50b3NoIEhE + CAAAAAQDAAAAUKEbcwAAAAgAAAAABAAAQcWWTsiAAAAk + AAAAAQEAADIyOUJBNDY0LTdGQzMtNENGMS1BMjhGLUJG + NkVCNUFCMTc1NhgAAAABAgAAgQAAAAEAAADvEwAAAQAA + AAAAAAAAAAAAAQAAAAEBAAAvAAAAAAAAAAEFAACoAAAA + /v///wEAAAAAAAAADQAAAAQQAABEAAAAAAAAAAUQAAB0 + AAAAAAAAABAQAACUAAAAAAAAAEAQAACEAAAAAAAAAAIg + AABEAQAAAAAAAAUgAAC0AAAAAAAAABAgAADEAAAAAAAA + ABEgAAD4AAAAAAAAABIgAADYAAAAAAAAABMgAADoAAAA + AAAAACAgAAAkAQAAAAAAADAgAABQAQAAAAAAABDQAAAE + AAAAAAAAAA== + + bundle-identifier + com.parallels.desktop.console + dock-extra + + file-data + + _CFURLString + file:///Applications/Parallels%20Desktop.app/ + _CFURLStringType + 15 + + file-label + Parallels Desktop + file-mod-date + 3781925167 + file-type + 41 + is-beta + + parent-mod-date + 25855194484500 + + tile-type + file-tile + + + tile-data + + book + + Ym9va/QCAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAA8AEAAAQAAAADAwAAAAAAIAUA + AAABAQAAVXNlcnMAAAAJAAAAAQEAAGJ6YWxld3NraQAA + AAkAAAABAQAAUGFyYWxsZWxzAAAADgAAAAEBAABXaW5k + b3dzIDExLnB2bQAADgAAAAEBAABXaW5kb3dzIDExLmFw + cAAAFAAAAAEGAAAQAAAAIAAAADQAAABIAAAAYAAAAAgA + AAAEAwAAg0QAAAAAAAAIAAAABAMAAGGvAAAAAAAACAAA + AAQDAABAvbAAAAAAAAgAAAAEAwAAwL2wAAAAAAAIAAAA + BAMAABy+sAAAAAAAFAAAAAEGAACUAAAApAAAALQAAADE + AAAA1AAAAAgAAAAABAAAQcWcrODQVSAYAAAAAQIAAAIA + AAAAAAAADwAAAAAAAAAAAAAAAAAAAAgAAAAEAwAAAwAA + AAAAAAAEAAAAAwMAAPcBAAAIAAAAAQkAAGZpbGU6Ly8v + DAAAAAEBAABNYWNpbnRvc2ggSEQIAAAABAMAAABQoRtz + AAAACAAAAAAEAABBxZZOyIAAACQAAAABAQAAMjI5QkE0 + NjQtN0ZDMy00Q0YxLUEyOEYtQkY2RUI1QUIxNzU2GAAA + AAECAACBAAAAAQAAAO8TAAABAAAAAAAAAAAAAAABAAAA + AQEAAC8AAAAAAAAAAQUAAMwAAAD+////AQAAAAAAAAAQ + AAAABBAAAHgAAAAAAAAABRAAAOQAAAAAAAAAEBAAABAB + AAAAAAAAQBAAAAABAAAAAAAAAiAAANwBAAAAAAAABSAA + AEwBAAAAAAAAECAAAFwBAAAAAAAAESAAAJABAAAAAAAA + EiAAAHABAAAAAAAAEyAAAIABAAAAAAAAICAAALwBAAAA + AAAAMCAAAOgBAAAAAAAAAcAAADABAAAAAAAAEcAAACAA + AAAAAAAAEsAAAEABAAAAAAAAENAAAAQAAAAAAAAA + + bundle-identifier + com.parallels.winapp.8c4731f1a5288444bb2510ff8d967cc3.9e7037ec317043439e39b48f0f947562.fs + dock-extra + + file-data + + _CFURLString + file:///Users/bzalewski/Parallels/Windows%2011.pvm/Windows%2011.app/ + _CFURLStringType + 15 + + file-label + Windows 11 file-mod-date 0 file-type diff --git a/home/dot_config/crontab/config-user b/home/dot_config/crontab/config-user index 26bae677..22ce1830 100644 --- a/home/dot_config/crontab/config-user +++ b/home/dot_config/crontab/config-user @@ -1,8 +1,8 @@ PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/opt/homebrew/bin:$HOME/.local/bin -*/5 * * * * command -v autorestic > /dev/null && . "$HOME/.config/shell/apps.sh" && autorestic -c "$HOME/.config/autorestic/autorestic-user.yml" --ci cron > /tmp/autorestic.log 2>&1 -* * * * * command -v dagu-cron > /dev/null && dagu-cron -30 4 * * * command -v ghorg > /dev/null && ghorg reclone +*/5 * * * * command -v autorestic > /dev/null && autorestic -c "$HOME/.config/autorestic/autorestic-user.yml" --ci cron > /tmp/autorestic.log 2>&1 +* * * * * command -v dagu-start-all > /dev/null && test -f "$HOME/.config/shell/exports.sh" && . "$HOME/.config/shell/exports.sh" && dagu-start-all +30 4 * * * command -v ghorg > /dev/null && test -f "$HOME/.config/shell/exports.sh" && . "$HOME/.config/shell/exports.sh" && ghorg reclone # * * * * * command to be executed # ┯ ┯ ┯ ┯ ┯ diff --git a/home/dot_config/shell/aliases.sh.tmpl b/home/dot_config/shell/aliases.sh.tmpl index f72282c4..0629d087 100644 --- a/home/dot_config/shell/aliases.sh.tmpl +++ b/home/dot_config/shell/aliases.sh.tmpl @@ -36,6 +36,11 @@ elif command -v htop > /dev/null; then alias top='bashtop' fi +### batcat +if command -v batcat > /dev/null; then + alias bat='batcat' +fi + ### bat if command -v bat > /dev/null; then export MANPAGER="sh -c 'col -bx | bat -l man -p'" @@ -43,7 +48,7 @@ if command -v bat > /dev/null; then alias cat='bat -pp' alias less='bat --paging=always' help() { - "$@" --help 2>&1 | bathelp + "$@" --help 2>&1 | bat-help } fi @@ -70,6 +75,11 @@ else alias ls='ls -AlhF --color=auto' fi +### fdfind +if command -v fdfind > /dev/null; then + alias fd='fdfind' +fi + ### gping # Replacement for ping that includes graph if command -v gping > /dev/null; then @@ -101,6 +111,11 @@ if command -v mitmweb > /dev/null; then alias mitmweb='mitmweb --set confdir=${XDG_CONFIG_HOME:-$HOME/.config}/mitmproxy' fi +### readlink +if command -v greadlink > /dev/null && [ -d /Applications ] && [ -d /System ]; then + alias readlink='greadlink' +fi + ### ripgrep if command -v rg > /dev/null; then alias rgrep='rg --color=auto' @@ -109,6 +124,11 @@ fi ### xclip alias xclip='xclip -selection c' +### yank +if command -v yank-cli > /dev/null; then + alias yank='yank-cli' +fi + ### Zola if command -v org.getzola.zola > /dev/null; then alias zola="flatpak run org.getzola.zola" diff --git a/home/dot_config/shell/exports.sh.tmpl b/home/dot_config/shell/exports.sh.tmpl index 67510d20..418c190d 100644 --- a/home/dot_config/shell/exports.sh.tmpl +++ b/home/dot_config/shell/exports.sh.tmpl @@ -55,6 +55,9 @@ export PATH="$HOME/.local/bin/firejail:$PATH" export PATH="$HOME/.local/bin/flatpak:$PATH" export PATH="$HOME/.local/bin/gpt:$PATH" export PATH="$HOME/.local/bin/pipx:$PATH" +if [ -f /usr/bin/qubes-session ]; then + export PATH="$HOME/.local/bin/qubes:$PATH" +fi export SSH_KEY_PATH="$HOME/.ssh/id_rsa" ### Homebrew @@ -112,6 +115,9 @@ fi export ANSIBLE_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/ansible" export ANSIBLE_CONFIG="$ANSIBLE_HOME/ansible.cfg" export ANSIBLE_GALAXY_CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/ansible/galaxy_cache" +if [ -f /usr/bin/qubes-session ]; then + export PATH="$PATH:$HOME/.local/share/ansible-qubes/bin" +fi ### Aqua export AQUA_ROOT_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/aqua" @@ -278,6 +284,14 @@ export HOMEBREW_CASK_OPTS="--appdir=/Applications --display-times --no-quarantin ### HTTPie export HTTPIE_CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/httpie" +### IntelliJ IDEA +if [ -f "/Applications/IntelliJ IDEA CE.app/Contents/MacOS/idea" ]; then + export PATH="$PATH:/Applications/IntelliJ IDEA CE.app/Contents/MacOS" + alias idea.sh='idea' +elif [ -f "/snap/intellij-idea-community/current/bin/idea.sh" ]; then + export PATH="$PATH:/snap/intellij-idea-community/current/bin" +fi + ### IPFS export IPFS_PATH="${XDG_DATA_HOME:-$HOME/.local/share}/ipfs" diff --git a/home/dot_local/bin/executable_add-usergroup b/home/dot_local/bin/executable_add-usergroup index e65297e1..2d2a10e2 100644 --- a/home/dot_local/bin/executable_add-usergroup +++ b/home/dot_local/bin/executable_add-usergroup @@ -2,30 +2,30 @@ # @file ~/.local/bin/add-usergroup # @brief Add a user and a group with the same name on either Linux or macOS # @description -# This script is utilized by other scripts to ensure that there is both a user and group -# named by the single argument that this executable accepts. It checks whether or not -# there is already a user / group with the name present on the system before running -# any code. On macOS, it assigns the user an ID that equal to the maximum user ID present -# on the system plus one. +# This script is utilized by other scripts to ensure that there is both a user and group +# named by the single argument that this executable accepts. It checks whether or not +# there is already a user / group with the name present on the system before running +# any code. On macOS, it assigns the user an ID that equal to the maximum user ID present +# on the system plus one. # Check if the script is being run as root if [[ $EUID -ne 0 ]]; then - if command -v logg > /dev/null; then - logg error "This script must be run as root" - else - echo -e "\e[91mThis script must be run as root\e[0m" - fi - exit 1 + if command -v logg > /dev/null; then + logg error "This script must be run as root" + else + echo -e "\e[91mThis script must be run as root\e[0m" + fi + exit 1 fi # Check if the correct number of arguments is provided if [[ $# -ne 2 ]]; then - if command -v logg > /dev/null; then - logg info "Usage: $0 " - else - echo -e "\e[93mUsage: $0 \e[0m" - fi - exit 1 + if command -v logg > /dev/null; then + logg info "Usage: $0 " + else + echo -e "\e[93mUsage: $0 \e[0m" + fi + exit 1 fi USER=$1 @@ -33,89 +33,89 @@ GROUP=$2 # Check if the operating system is macOS if [ -d /Applications ] && [ -d /System ]; then - if command -v logg > /dev/null; then - logg info "Creating group and user ${GROUP} on macOS..." - else - echo -e "\e[96mCreating group and user ${GROUP} on macOS...\e[0m" - fi + if command -v logg > /dev/null; then + logg info "Creating group and user ${GROUP} on macOS..." + else + echo -e "\e[96mCreating group and user ${GROUP} on macOS...\e[0m" + fi - # Ensure group exists - if ! dscl . read "/Groups/$GROUP" gid &> /dev/null; then - MAX_ID_GROUP="$(dscl . -list /Groups gid | awk '{print $2}' | sort -ug | tail -1)" - PRIMARY_GROUP_ID="$((MAX_ID_GROUP+1))" - dscl . create "/Groups/$GROUP" - # This also sets the PrimaryGroupID - sudo dscl . create "/Groups/$GROUP" gid "$PRIMARY_GROUP_ID" - sudo dscl . append "/Groups/$GROUP" GroupMembership "$USER" - else - PRIMARY_GROUP_ID="$(dscl . read "/Groups/$GROUP" gid | awk '{print $2}')" - fi + # Ensure group exists + if ! dscl . read "/Groups/$GROUP" gid &> /dev/null; then + MAX_ID_GROUP="$(dscl . -list /Groups gid | awk '{print $2}' | sort -ug | tail -1)" + PRIMARY_GROUP_ID="$((MAX_ID_GROUP+1))" + dscl . create "/Groups/$GROUP" + # This also sets the PrimaryGroupID + sudo dscl . create "/Groups/$GROUP" gid "$PRIMARY_GROUP_ID" + sudo dscl . append "/Groups/$GROUP" GroupMembership "$USER" + else + PRIMARY_GROUP_ID="$(dscl . read "/Groups/$GROUP" gid | awk '{print $2}')" + fi - # Ensure user exists - if ! dscl . read "/Users/$GROUP" UniqueID &> /dev/null; then - MAX_ID_USER="$(dscl . -list /Users UniqueID | sort -nr -k 2 | head -1 | grep -oE "[0-9]+$")" - UNIQUE_ID="$((MAX_ID_USER+1))" - sudo dscl . create "/Users/$GROUP" - sudo dscl . create "/Users/$GROUP" UniqueID "$UNIQUE_ID" - sudo dscl . create "/Users/$GROUP" PrimaryGroupID "$PRIMARY_GROUP_ID" - else - UNIQUE_ID="$(dscl . read "/Users/$GROUP" UniqueID | awk '{print $2}')" - fi + # Ensure user exists + if ! dscl . read "/Users/$GROUP" UniqueID &> /dev/null; then + MAX_ID_USER="$(dscl . -list /Users UniqueID | sort -nr -k 2 | head -1 | grep -oE "[0-9]+$")" + UNIQUE_ID="$((MAX_ID_USER+1))" + sudo dscl . create "/Users/$GROUP" + sudo dscl . create "/Users/$GROUP" UniqueID "$UNIQUE_ID" + sudo dscl . create "/Users/$GROUP" PrimaryGroupID "$PRIMARY_GROUP_ID" + else + UNIQUE_ID="$(dscl . read "/Users/$GROUP" UniqueID | awk '{print $2}')" + fi - # Add the user to the group - sudo dseditgroup -o edit -t user -a "$GROUP" "$GROUP" - # Add the current user to the group - sudo dseditgroup -o edit -t user -a "$USER" "$GROUP" - # Add USER group to the group - sudo dseditgroup -o edit -t group -a "$USER" "$GROUP" + # Add the user to the group + sudo dseditgroup -o edit -t user -a "$GROUP" "$GROUP" + # Add the current user to the group + sudo dseditgroup -o edit -t user -a "$USER" "$GROUP" + # Add USER group to the group + sudo dseditgroup -o edit -t group -a "$USER" "$GROUP" - if command -v logg > /dev/null; then - logg info "Group and user ${GROUP} created successfully on macOS" - else - echo -e "\e[92mGroup and user ${GROUP} created successfully on macOS\e[0m" - fi + if command -v logg > /dev/null; then + logg info "Group and user ${GROUP} created successfully on macOS" + else + echo -e "\e[92mGroup and user ${GROUP} created successfully on macOS\e[0m" + fi elif [[ "$(uname)" == "Linux" ]]; then + if command -v logg > /dev/null; then + logg info "Creating group and user ${GROUP} on Linux..." + else + echo -e "\e[96mCreating group and user ${GROUP} on Linux...\e[0m" + fi + + # Check if the group already exists + if ! grep -qE "^${GROUP}:" /etc/group; then + # Create the group + groupadd "${GROUP}" + else if command -v logg > /dev/null; then - logg info "Creating group and user ${GROUP} on Linux..." + logg info "Group ${GROUP} already exists" else - echo -e "\e[96mCreating group and user ${GROUP} on Linux...\e[0m" - fi - - # Check if the group already exists - if ! grep -qE "^${GROUP}:" /etc/group; then - # Create the group - groupadd "${GROUP}" - else - if command -v logg > /dev/null; then - logg info "Group ${GROUP} already exists" - else - echo -e "\e[93mGroup ${GROUP} already exists\e[0m" - fi - fi - - # Check if the user already exists - if ! id -u "${GROUP}" >/dev/null 2>&1; then - # Create the user and assign it to the group - useradd -g "${GROUP}" "${GROUP}" - else - if command -v logg > /dev/null; then - logg info "User ${GROUP} already exists" - else - echo -e "\e[93mUser ${GROUP} already exists\e[0m" - fi + echo -e "\e[93mGroup ${GROUP} already exists\e[0m" fi + fi + # Check if the user already exists + if ! id -u "${GROUP}" >/dev/null 2>&1; then + # Create the user and assign it to the group + useradd -g "${GROUP}" "${GROUP}" + else if command -v logg > /dev/null; then - logg success "Group and user ${GROUP} created successfully on Linux" + logg info "User ${GROUP} already exists" else - echo -e "\e[92mGroup and user ${GROUP} created successfully on Linux\e[0m" + echo -e "\e[93mUser ${GROUP} already exists\e[0m" fi + fi + + if command -v logg > /dev/null; then + logg success "Group and user ${GROUP} created successfully on Linux" + else + echo -e "\e[92mGroup and user ${GROUP} created successfully on Linux\e[0m" + fi fi # If the operating system is neither macOS nor Linux, display an error message if command -v logg > /dev/null; then - logg error "Unsupported operating system" + logg error "Unsupported operating system" else - echo -e "\e[91mUnsupported operating system\e[0m" + echo -e "\e[91mUnsupported operating system\e[0m" fi diff --git a/home/dot_local/bin/executable_backup b/home/dot_local/bin/executable_backup index d2990326..ee3478fc 100644 --- a/home/dot_local/bin/executable_backup +++ b/home/dot_local/bin/executable_backup @@ -1,12 +1,12 @@ #!/usr/bin/env bash backupMacPrefs() { - if [ -d /Applications ] && [ -d /System ]; then - if command -v macprefs > /dev/null; then - logg info 'Backing up macOS preferences with macprefs' - macprefs backup -t system_preferences startup_items shared_file_lists app_store_preferences internet_accounts - fi + if [ -d /Applications ] && [ -d /System ]; then + if command -v macprefs > /dev/null; then + logg info 'Backing up macOS preferences with macprefs' + macprefs backup -t system_preferences startup_items shared_file_lists app_store_preferences internet_accounts fi + fi } backupMacPrefs diff --git a/home/dot_local/bin/executable_backup-apps.tmpl b/home/dot_local/bin/executable_backup-apps.tmpl index 7998239f..eea7115c 100644 --- a/home/dot_local/bin/executable_backup-apps.tmpl +++ b/home/dot_local/bin/executable_backup-apps.tmpl @@ -17,22 +17,22 @@ {{ includeTemplate "universal/logg" }} if command -v mackup > /dev/null; then - ### Create symlinks pointing to stored configurations - logg info 'Symlinking ~/.mackup and ~/.mackup.cfg' - ln -s "${XDG_CONFIG_HOME:-$HOME/.config}/mackup/.mackup/" ~/.mackup - ln -s "${XDG_CONFIG_HOME:-$HOME/.config}/mackup/.mackup.cfg" ~/.mackup.cfg + ### Create symlinks pointing to stored configurations + logg info 'Symlinking ~/.mackup and ~/.mackup.cfg' + ln -s "${XDG_CONFIG_HOME:-$HOME/.config}/mackup/.mackup/" ~/.mackup + ln -s "${XDG_CONFIG_HOME:-$HOME/.config}/mackup/.mackup.cfg" ~/.mackup.cfg - ### Run mackup - logg info 'Running mackup' - mackup $* || echo '' + ### Run mackup + logg info 'Running mackup' + mackup $* || echo '' - ### Remove temporary configuration files - logg info 'Removing symlinked ~/.mackup and ~/.mackup.cfg configurations' - rm -f ~/.mackup - rm -f ~/.mackup.cfg + ### Remove temporary configuration files + logg info 'Removing symlinked ~/.mackup and ~/.mackup.cfg configurations' + rm -f ~/.mackup + rm -f ~/.mackup.cfg - ### Print success message - logg success 'Successfully ran backup-apps' + ### Print success message + logg success 'Successfully ran backup-apps' else - logg error 'mackup is not installed' && exit 1 + logg error 'mackup is not installed' && exit 1 fi diff --git a/home/dot_local/bin/executable_backup-dconf.tmpl b/home/dot_local/bin/executable_backup-dconf.tmpl index ab2e276d..fe0c7325 100644 --- a/home/dot_local/bin/executable_backup-dconf.tmpl +++ b/home/dot_local/bin/executable_backup-dconf.tmpl @@ -6,9 +6,9 @@ ### Create backups if [ -d "${XDG_CONFIG_HOME:-$HOME/.config}/dconf/settings" ]; then - DCONF_TMP="$(mktemp)" - logg info 'Moving ~/.config/dconf/settings to '"$DCONF_TMP" - cp -rf "${XDG_CONFIG_HOME:-$HOME/.config}/dconf/settings" "$DCONF_TMP" + DCONF_TMP="$(mktemp)" + logg info 'Moving ~/.config/dconf/settings to '"$DCONF_TMP" + cp -rf "${XDG_CONFIG_HOME:-$HOME/.config}/dconf/settings" "$DCONF_TMP" fi ### Ensure ~/.config/dconf/settings exists @@ -16,12 +16,12 @@ mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/dconf/settings" ### Overwrite ~/.config/dconf/settings configurations so we can diff with Chezmoi find "${XDG_CONFIG_HOME:-$HOME/.config}/dconf/settings" -mindepth 1 -maxdepth 1 -type f | while read DCONF_CONFIG_FILE; do - DCONF_SETTINGS_ID="/$(basename "$DCONF_CONFIG_FILE" | sed 's/\./\//g')/" - logg info 'Dumping '"$DCONF_SETTINGS_ID"' to '"$DCONF_CONFIG_FILE" - dconf dump "$DCONF_SETTINGS_ID" > "$DCONF_CONFIG_FILE" - logg success 'Saved new configuration to '"$DCONF_CONFIG_FILE" - logg info 'Printing diff for '"$DCONF_CONFIG_FILE" - chezmoi diff "$DCONF_CONFIG_FILE" || true + DCONF_SETTINGS_ID="/$(basename "$DCONF_CONFIG_FILE" | sed 's/\./\//g')/" + logg info 'Dumping '"$DCONF_SETTINGS_ID"' to '"$DCONF_CONFIG_FILE" + dconf dump "$DCONF_SETTINGS_ID" > "$DCONF_CONFIG_FILE" + logg success 'Saved new configuration to '"$DCONF_CONFIG_FILE" + logg info 'Printing diff for '"$DCONF_CONFIG_FILE" + chezmoi diff "$DCONF_CONFIG_FILE" || true done {{ end -}} diff --git a/home/dot_local/bin/executable_dagu-cron b/home/dot_local/bin/executable_dagu-start-all similarity index 100% rename from home/dot_local/bin/executable_dagu-cron rename to home/dot_local/bin/executable_dagu-start-all diff --git a/home/dot_local/bin/executable_gitomatic-service.tmpl b/home/dot_local/bin/executable_gitomatic-service.tmpl index 3f7d3073..aaa28dd3 100644 --- a/home/dot_local/bin/executable_gitomatic-service.tmpl +++ b/home/dot_local/bin/executable_gitomatic-service.tmpl @@ -2,52 +2,52 @@ # @file .local/bin/gitomatic-service # @brief Helper script to run gitomatic to monitor git repositories # @description -# This script is executed by gitomatic systemd service. `gitomatic` does not support monitoring multiple -# repositories in a single process. This script starts as many gitomatic processes as there are repositories. +# This script is executed by gitomatic systemd service. `gitomatic` does not support monitoring multiple +# repositories in a single process. This script starts as many gitomatic processes as there are repositories. # -# This feature allows you to specify git repositories and corresponding paths to keep in-sync, using both git -# push and pull. +# This feature allows you to specify git repositories and corresponding paths to keep in-sync, using both git +# push and pull. # -# ## Links +# ## Links # -# [Systemd Unit file](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/gitomatic/gitomatic.service.tmpl) +# [Systemd Unit file](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/gitomatic/gitomatic.service.tmpl) if command -v gitomatic > /dev/null && command -v jq > /dev/null && command -v yq > /dev/null && command -v git > /dev/null; then - if [ -d /Applications ] && [ -d /System ]; then - USER_FOLDER="/Users" - else - USER_FOLDER="/home" - fi + if [ -d /Applications ] && [ -d /System ]; then + USER_FOLDER="/Users" + else + USER_FOLDER="/home" + fi - ### Cycle through user folder chezmoi.yaml configurations - while read FOLDER; do - USER_FROM_FOLDER="$(echo "$FOLDER" | sed 's/\/\(.*\)$/\1/')" - CHEZMOI_YAML="$USER_FOLDER/$USER_FROM_FOLDER/.config/chezmoi/chezmoi.yaml" - if [ -f "$CHEZMOI_YAML" ]; then - for IM in $(yq eval -o=j "$CHEZMOI_YAML" | jq -cr '.data.user.gitomatic[]'); do - GIT="$(echo "$IM" | jq -r '.git' -)" - GIT_PATH="$(echo "$IM" | jq -r '.path' -)" - if [ ! -d "$GIT_PATH" ]; then - sudo su - "$USER_FROM_FOLDER" -c 'git clone "$GIT" "$GIT_PATH"' - fi - cd "$GIT_PATH" - sudo su - "$USER_FROM_FOLDER" -c 'gitomatic -email "$(git config user.email)" "$GIT_PATH" &' - done + ### Cycle through user folder chezmoi.yaml configurations + while read FOLDER; do + USER_FROM_FOLDER="$(echo "$FOLDER" | sed 's/\/\(.*\)$/\1/')" + CHEZMOI_YAML="$USER_FOLDER/$USER_FROM_FOLDER/.config/chezmoi/chezmoi.yaml" + if [ -f "$CHEZMOI_YAML" ]; then + for IM in $(yq eval -o=j "$CHEZMOI_YAML" | jq -cr '.data.user.gitomatic[]'); do + GIT="$(echo "$IM" | jq -r '.git' -)" + GIT_PATH="$(echo "$IM" | jq -r '.path' -)" + if [ ! -d "$GIT_PATH" ]; then + sudo su - "$USER_FROM_FOLDER" -c 'git clone "$GIT" "$GIT_PATH"' fi - done < <(find "$USER_FOLDER" -mindepth 1 -maxdepth 1 -type d) - - ### Handle root user config - if [ -f /root/.config/chezmoi/chezmoi.yaml ]; then - for IM in $(yq eval -o=j /root/.config/chezmoi.chezmoi.yaml | jq -cr '.data.user.gitomatic[]'); do - GIT="$(echo "$IM" | jq -r '.git' -)" - GIT_PATH="$(echo "$IM" | jq -r '.path' -)" - if [ ! -d "$GIT_PATH" ]; then - git clone "$GIT" "$GIT_PATH" - fi - cd "$GIT_PATH" - gitomatic -email "$(git config user.email)" "$GIT_PATH" & - done + cd "$GIT_PATH" + sudo su - "$USER_FROM_FOLDER" -c 'gitomatic -email "$(git config user.email)" "$GIT_PATH" &' + done fi + done < <(find "$USER_FOLDER" -mindepth 1 -maxdepth 1 -type d) + + ### Handle root user config + if [ -f /root/.config/chezmoi/chezmoi.yaml ]; then + for IM in $(yq eval -o=j /root/.config/chezmoi.chezmoi.yaml | jq -cr '.data.user.gitomatic[]'); do + GIT="$(echo "$IM" | jq -r '.git' -)" + GIT_PATH="$(echo "$IM" | jq -r '.path' -)" + if [ ! -d "$GIT_PATH" ]; then + git clone "$GIT" "$GIT_PATH" + fi + cd "$GIT_PATH" + gitomatic -email "$(git config user.email)" "$GIT_PATH" & + done + fi else - echo 'gitomatic, jq, yq, and git should be installed!' && exit 1 + echo 'gitomatic, jq, yq, and git should be installed!' && exit 1 fi diff --git a/home/dot_local/bin/executable_ramqube b/home/dot_local/bin/qubes/executable_ramqube similarity index 96% rename from home/dot_local/bin/executable_ramqube rename to home/dot_local/bin/qubes/executable_ramqube index 09756dcb..b48af8c2 100644 --- a/home/dot_local/bin/executable_ramqube +++ b/home/dot_local/bin/qubes/executable_ramqube @@ -1,4 +1,3 @@ -{{- if eq .host.qubes true -}} #!/usr/bin/env bash # Creates a Qube on RAM disk and opens Firefox if the Qube does not already exist. @@ -27,4 +26,3 @@ else sudo rm -rf /var/log/pacat.new.log sudo rm -rf /var/log/qubesdb.new.log fi -{{ end -}} diff --git a/home/dot_local/bin/symlink_bat.tmpl b/home/dot_local/bin/symlink_bat.tmpl deleted file mode 100644 index 0cdce448..00000000 --- a/home/dot_local/bin/symlink_bat.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if (eq .host.distro.id "ubuntu") -}} -/usr/bin/batcat -{{- end -}} \ No newline at end of file diff --git a/home/dot_local/bin/symlink_bombshell-client.tmpl b/home/dot_local/bin/symlink_bombshell-client.tmpl deleted file mode 100644 index 2d1f5339..00000000 --- a/home/dot_local/bin/symlink_bombshell-client.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if (eq .host.qubes true) -}} -{{ .host.home }}/.local/share/ansible-qubes/bin/bombshell-client -{{- end -}} diff --git a/home/dot_local/bin/symlink_fd.tmpl b/home/dot_local/bin/symlink_fd.tmpl deleted file mode 100644 index fc7c9507..00000000 --- a/home/dot_local/bin/symlink_fd.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if (eq .host.distro.id "ubuntu") -}} -/usr/bin/fdfind -{{- end -}} \ No newline at end of file diff --git a/home/dot_local/bin/symlink_idea.sh.tmpl b/home/dot_local/bin/symlink_idea.sh.tmpl deleted file mode 100644 index e6e7fa68..00000000 --- a/home/dot_local/bin/symlink_idea.sh.tmpl +++ /dev/null @@ -1,5 +0,0 @@ -{{- if (eq .host.distro.family "darwin") -}} -/Applications/IntelliJ\ IDEA\ CE.app/Contents/MacOS/idea -{{- else if eq .host.distro.family "linux" -}} -/snap/intellij-idea-community/current/bin/idea.sh -{{- end -}} \ No newline at end of file diff --git a/home/dot_local/bin/symlink_qrun.tmpl b/home/dot_local/bin/symlink_qrun.tmpl deleted file mode 100644 index 09159661..00000000 --- a/home/dot_local/bin/symlink_qrun.tmpl +++ /dev/null @@ -1,4 +0,0 @@ -{{- if (eq .host.qubes true) -}} -{{ .host.home }}/.local/share/ansible-qubes/bin/qrun -{{- end -}} - diff --git a/home/dot_local/bin/symlink_qscp.tmpl b/home/dot_local/bin/symlink_qscp.tmpl deleted file mode 100644 index ba079a0d..00000000 --- a/home/dot_local/bin/symlink_qscp.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if (eq .host.qubes true) -}} -{{ .host.home }}/.local/share/ansible-qubes/bin/qssh -{{- end -}} diff --git a/home/dot_local/bin/symlink_qssh.tmpl b/home/dot_local/bin/symlink_qssh.tmpl deleted file mode 100644 index e3f096c2..00000000 --- a/home/dot_local/bin/symlink_qssh.tmpl +++ /dev/null @@ -1,4 +0,0 @@ -{{- if (eq .host.qubes true) -}} -{{ .host.home }}/.local/share/ansible-qubes/bin/qssh -{{- end -}} - diff --git a/home/dot_local/bin/symlink_readlink.tmpl b/home/dot_local/bin/symlink_readlink.tmpl deleted file mode 100644 index 8432f75d..00000000 --- a/home/dot_local/bin/symlink_readlink.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if (eq .host.distro.family "darwin") -}} -/usr/local/bin/greadlink -{{- end -}} \ No newline at end of file diff --git a/home/dot_local/bin/symlink_stty.tmpl b/home/dot_local/bin/symlink_stty.tmpl deleted file mode 100644 index 1f4bb1f8..00000000 --- a/home/dot_local/bin/symlink_stty.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if (eq .host.distro.family "darwin") -}} -/bin/stty -{{- end -}} \ No newline at end of file diff --git a/home/dot_local/bin/symlink_yank.tmpl b/home/dot_local/bin/symlink_yank.tmpl deleted file mode 100644 index 240d6447..00000000 --- a/home/dot_local/bin/symlink_yank.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if (eq .host.distro.id "ubuntu") -}} -/usr/bin/yank-cli -{{- end -}} \ No newline at end of file