diff --git a/docs/TODO.md b/docs/TODO.md index e3be6658..89c116ef 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -277,4 +277,8 @@ The following items have been reviewed but need to be revisited due to complexit ## Definitely -* https://github.com/ConvoyPanel/panel \ No newline at end of file +* https://github.com/ConvoyPanel/panel + + +## Referral Links +https://www.visible.com/get/?3JMZG3W \ No newline at end of file diff --git a/home/.chezmoitemplates/centos/common-dependencies b/home/.chezmoitemplates/centos/common-dependencies index dea42d30..b880f795 100644 --- a/home/.chezmoitemplates/centos/common-dependencies +++ b/home/.chezmoitemplates/centos/common-dependencies @@ -1,4 +1,5 @@ {{- $packages := list + "fuse" "gcc" "gcc-c++" "go" @@ -14,6 +15,7 @@ "nodejs" "npm" "pcsc-lite" + "pkg-config" "ruby-devel" "sddm" "xorg-x11-fonts-Type1" diff --git a/home/.chezmoitemplates/darwin/Brewfile b/home/.chezmoitemplates/darwin/Brewfile index a31add0d..fa68aff1 100644 --- a/home/.chezmoitemplates/darwin/Brewfile +++ b/home/.chezmoitemplates/darwin/Brewfile @@ -27,6 +27,7 @@ brew "jq" brew "moreutils" brew "node" brew "pipx" +brew "pkg-config" brew "progress" brew "python@3.10" brew "python@3.11" diff --git a/home/.chezmoitemplates/debian/common-dependencies b/home/.chezmoitemplates/debian/common-dependencies index 7a5b6657..b54d473f 100644 --- a/home/.chezmoitemplates/debian/common-dependencies +++ b/home/.chezmoitemplates/debian/common-dependencies @@ -8,6 +8,7 @@ "libaio1" "libbz2-dev" "libffi-dev" + "libfuse-dev" "liblzma-dev" "libncursesw5-dev" "libreadline-dev" @@ -25,6 +26,7 @@ "nodejs" "npm" "pcscd" + "pkg-config" "progress" "ruby-dev" "scdaemon" diff --git a/home/.chezmoitemplates/fedora/common-dependencies b/home/.chezmoitemplates/fedora/common-dependencies index a8405f66..332b99ff 100644 --- a/home/.chezmoitemplates/fedora/common-dependencies +++ b/home/.chezmoitemplates/fedora/common-dependencies @@ -2,6 +2,7 @@ "age" "gcc" "gcc-c++" + "fuse" "gnome" "gnupg2-smime" "go" @@ -18,6 +19,7 @@ "pgp-tools" "pcsc-lite" "pcsc-tools" + "pkg-config" "progress" "readline-devel" "ruby-devel" diff --git a/home/.chezmoitemplates/files/gcsf-personal b/home/.chezmoitemplates/files/gcsf-personal new file mode 100644 index 00000000..e54cf3b4 --- /dev/null +++ b/home/.chezmoitemplates/files/gcsf-personal @@ -0,0 +1,17 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRMmxkUmppZnJRdWdDeEoy +TUdZRHFQOTFhOGdzREVBUlFuNGsrVTZKckZNClRualNnSUxKejJOekxjYkRNUi9V +NU5Kc055elo2UEtlYTVlOE52WVFSMmsKLS0tIG8zcVdZRnFISGplcGQzVEJpZVRU +QTRFenNMSkZxbSszdE9mZjR0QVdUb1UKAjhxMT8B4uVeURTz2YZfC+3rQviOWVOP +2B5802sIJ6uPe5hxe+OgEWKgPrGkQkJdzTfEp3swENp8I/UieSahyHJMlXJ/bkNh +dmdCRF8p9txA12eovwR0Et12gkDFnLDsG9A5X4QSkrHHBqFe/SYTqV9FU5iQmcpT +5l6uRZlB3pNZAoX5HH9JFKZZpP7WK8OpkPOAbG5zYGFNg00ZHw+gS538BPhvfkex +wZrIshYXAAMkKGsabA0evzRnmmRkr2fXR7VVl3jb1FiD0FwnB16gkfs8NRR6dCsq +F8NHX13nYvdOO6xgLrmlpQxUxaHBOWw/7ja8un65Zu3O4VC/noqSTWhO/w5/unge +lXGd+8VYok+/PT/2K8z2YNHoElDkgb/DXzDbo4+9hrU9SoAXMZSafW99WP9L9tmt +tdUs4ccY+VPvORrllxuN3V6CVDgeUHbZWcm4YVtIZZXaaINdV8v/iBxrUQXSq8zR +qNRbtqIipZalHLr8PjEFHZEOM9eLYnTHCdhcUe5/GYZ2RsAMETIUv19jy6lFIvFQ +kmDBPizPwE8hS52mwMfB88Gu1iv91ye6AJiRuQmZN1hlD7dyABaqfUj0hwq+ODiT +gDG8Ncr1PeK6zrx3EpYxxG+N9FfWgPIqX4fyh4LSIv2DruFeA32m5828kMym3d87 +YTC5t2T0BgUns1Nz +-----END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/opensuse/common-dependencies b/home/.chezmoitemplates/opensuse/common-dependencies index 3675e1d3..6ff99a9a 100644 --- a/home/.chezmoitemplates/opensuse/common-dependencies +++ b/home/.chezmoitemplates/opensuse/common-dependencies @@ -1,12 +1,16 @@ {{- $packages := list "age" "bash" + "fuse" + "fuse-devel" "golang-go" "gnome" "locate" "nodejs" "npm" + "pkgconf-pkg-config" "progress" + "rust" "sddm" "secure-delete" -}} diff --git a/home/.chezmoitemplates/secrets/GOOGLE_DRIVE_PROJECT_ID b/home/.chezmoitemplates/secrets/GOOGLE_DRIVE_PROJECT_ID new file mode 100644 index 00000000..b5dcdd62 --- /dev/null +++ b/home/.chezmoitemplates/secrets/GOOGLE_DRIVE_PROJECT_ID @@ -0,0 +1,7 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4OWcxbjdkT1RhMlZlOGx1 +d1UyQ1NoYk96a3NhSy9lSzhncnpPY1hqQUhBClFOZWhCdWh5Y3NLNnlaSDU1c1JZ +TUVTamZaVktQN3Vha3JNNm5yL3VsaW8KLS0tIGVpeFFUdS9LMVhkQi9lMzE3RUpZ +UHRDeUZ0WW1Ca0czdXZYcGtZYnl3SVUKBKiaZo2K1e+26dqSjqQBCCEYEq8Ly/KQ +WNr8hBaYnP8t7Vby4vj7Ns5urVJn0w== +-----END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/ubuntu/common-dependencies b/home/.chezmoitemplates/ubuntu/common-dependencies index 1f463bdf..1a24dd86 100644 --- a/home/.chezmoitemplates/ubuntu/common-dependencies +++ b/home/.chezmoitemplates/ubuntu/common-dependencies @@ -8,6 +8,7 @@ "libaio1" "libbz2-dev" "libffi-dev" + "libfuse-dev" "liblzma-dev" "libncursesw5-dev" "libreadline-dev" @@ -25,6 +26,7 @@ "nodejs" "npm" "pcscd" + "pkg-config" "progress" "ruby-dev" "scdaemon" diff --git a/home/dot_config/gcsf/personal.tmpl b/home/dot_config/gcsf/personal.tmpl new file mode 100644 index 00000000..28187d87 --- /dev/null +++ b/home/dot_config/gcsf/personal.tmpl @@ -0,0 +1,3 @@ +{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "files" "gcsf-personal")) -}} +{{ includeTemplate "files/gcsf-personal" | decrypt -}} +{{ end -}} diff --git a/home/dot_config/gcsf/private_gcsf.toml.tmpl b/home/dot_config/gcsf/private_gcsf.toml.tmpl new file mode 100644 index 00000000..190e43ea --- /dev/null +++ b/home/dot_config/gcsf/private_gcsf.toml.tmpl @@ -0,0 +1,70 @@ + +### This is the configuration file that GCSF uses. +### It should be placed in $XDG_CONFIG_HOME/gcsf/gcsf.toml, which is usually +### defined as $HOME/.config/gcsf/gcsf.toml + +# Show additional logging info? +debug = false + +# Perform a mount check and fail early if it fails. Disable this if you +# encounter this error: +# +# fuse: attempt to remount on active mount point: [...] +# Could not mount to [...]: Undefined error: 0 (os error 0) +mount_check = true + +# How long to cache the contents of a file after it has been accessed. +cache_max_seconds = 300 + +# How how many files to cache. +cache_max_items = 30 + +# How long to cache the size and capacity of the file system. These are the +# values reported by `df`. +cache_statfs_seconds = 60 + +# How many seconds to wait before checking for remote changes and updating them +# locally. +sync_interval = 15 + +# Mount options +mount_options = [ + "fsname=GCSF", + # Allow file system access to root. This only works if `user_allow_other` + # is set in /etc/fuse.conf + "allow_root", +] + +# If set to true, Google Drive will provide a code after logging in and +# authorizing GCSF. This code must be copied and pasted into GCSF in order to +# complete the process. Useful for running GCSF on a remote server. +# +# If set to false, Google Drive will attempt to communicate with GCSF directly. +# This is usually faster and more convenient. +authorize_using_code = false + +# If set to true, all files with identical name will get an increasing number +# attached to the suffix. This is most likely not necessary. +rename_identical_files = false + +# If set to true, will add an extension to special files (docs, presentations, sheets, drawings, sites), e.g. "\#.ods" for spreadsheets. +add_extensions_to_special_files = false + +# If set to true, deleted files and folder will not be moved to Trash Folder, +# instead they get deleted permanently. +skip_trash = false + +# The Google OAuth client secret for Google Drive APIs. Create your own +# credentials at https://console.developers.google.com and paste them here +client_secret = """ + { + "installed": { + "client_id": "{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GOOGLE_DRIVE_CLIENT_ID")) }}{{- includeTemplate "secrets/GOOGLE_DRIVE_CLIENT_ID" | decrypt | trim -}}{{ else }}{{- env "GOOGLE_DRIVE_CLIENT_ID" -}}{{ end }}", + "project_id": "{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GOOGLE_DRIVE_PROJECT_ID")) }}{{- includeTemplate "secrets/GOOGLE_DRIVE_PROJECT_ID" | decrypt | trim -}}{{ else }}{{- env "GOOGLE_DRIVE_PROJECT_ID" -}}{{ end }}", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_secret": "{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GOOGLE_DRIVE_CLIENT_SECRET")) }}{{- includeTemplate "secrets/GOOGLE_DRIVE_CLIENT_SECRET" | decrypt | trim -}}{{ else }}{{- env "GOOGLE_DRIVE_CLIENT_SECRET" -}}{{ end }}", + "redirect_uris": ["urn:ietf:wg:oauth:2.0:oob", "http://localhost"] + } +}""" \ No newline at end of file diff --git a/home/dot_config/gdrive3/account.json.tmpl b/home/dot_config/gdrive3/account.json.tmpl index d21327b0..ab8c2379 100644 --- a/home/dot_config/gdrive3/account.json.tmpl +++ b/home/dot_config/gdrive3/account.json.tmpl @@ -1,3 +1,3 @@ { - "current": "default" + "current": "personal" } \ No newline at end of file diff --git a/home/dot_config/gdrive3/default/secret.json b/home/dot_config/gdrive3/personal/private_secret.json.tmpl similarity index 100% rename from home/dot_config/gdrive3/default/secret.json rename to home/dot_config/gdrive3/personal/private_secret.json.tmpl diff --git a/home/dot_config/gdrive3/default/tokens.json b/home/dot_config/gdrive3/personal/private_tokens.json.tmpl similarity index 100% rename from home/dot_config/gdrive3/default/tokens.json rename to home/dot_config/gdrive3/personal/private_tokens.json.tmpl diff --git a/software.yml b/software.yml index b2f867cd..12bc65c5 100644 --- a/software.yml +++ b/software.yml @@ -7404,6 +7404,11 @@ softwarePackages: _name: Dotenv Vault brew: dotenv-org/brew/dotenv-vault npm: dotenv-vault + gcsf: + _bin: gcsf + _github: https://github.com/harababurel/gcsf + _name: GCSF + cargo: gcsf hss: _bin: hss _github: https://github.com/six-ddc/hss