diff --git a/TODO.md b/TODO.md index 7f92b7f..9717dec 100644 --- a/TODO.md +++ b/TODO.md @@ -173,3 +173,4 @@ My Neovim config is already a mess, so it's fine making it even messier. - [ ] nvim-treeclimber - [ ] lsp-inlayhints.nvim - [ ] headlines.nvim (calculate theme colors) +- [ ] Replace packer.nvim with lazy.nvim diff --git a/group_vars/all/user.yml b/group_vars/all/user.yml index c0ecdc2..eab46df 100644 --- a/group_vars/all/user.yml +++ b/group_vars/all/user.yml @@ -1,8 +1,8 @@ --- -user_name: FollieHiyuki +user_name: Hoang Nguyen user_email: folliekazetani@protonmail.com -user_agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0 +user_agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0 gpg_signature: 813CF484F4993419 diff --git a/roles/config/files/gopass/config b/roles/config/files/gopass/config new file mode 100644 index 0000000..6fcf745 --- /dev/null +++ b/roles/config/files/gopass/config @@ -0,0 +1,11 @@ +[core] + autosync = false + cliptimeout = 30 + showsafecontent = true + +[updater] + check = false + +[generate] + symbols = true + length = 32 diff --git a/roles/config/files/starship.toml b/roles/config/files/starship.toml index 817ff00..81bb50a 100644 --- a/roles/config/files/starship.toml +++ b/roles/config/files/starship.toml @@ -248,7 +248,7 @@ disabled = false [terraform] symbol = "ﯟ " style = "bold 105" -format = "via [$symbol$version$workspace]($style) " +format = "via [$symbol$version $workspace]($style) " disabled = false [time] diff --git a/roles/config/tasks/gopass.yml b/roles/config/tasks/gopass.yml new file mode 100644 index 0000000..893ad92 --- /dev/null +++ b/roles/config/tasks/gopass.yml @@ -0,0 +1,12 @@ +--- +- name: gopass | Create config directory + file: + path: ~/.config/gopass + mode: 0755 + state: directory + +- name: gopass | Copy config file + copy: + src: gopass/config + dest: ~/.config/gopass/config + mode: 0644 diff --git a/roles/config/tasks/main.yml b/roles/config/tasks/main.yml index 27c9672..9460602 100644 --- a/roles/config/tasks/main.yml +++ b/roles/config/tasks/main.yml @@ -227,6 +227,10 @@ import_tasks: zathura.yml tags: zathura +- name: Configure gopass + import_tasks: gopass.yml + tags: gopass + - name: Configure chromium import_tasks: chromium.yml become: true diff --git a/roles/config/templates/fish/env.j2 b/roles/config/templates/fish/env.j2 index 20cf95a..1898622 100644 --- a/roles/config/templates/fish/env.j2 +++ b/roles/config/templates/fish/env.j2 @@ -75,31 +75,37 @@ set -gx OPENSSL_NO_VENDOR 1 # don't ping proxy.golang.org all the time set -gx GOPROXY direct -# Microsoft's dotnet is a nightmare -set -gx DOTNET_CLI_TELEMETRY_OPTOUT true -set -gx DOTNET_SKIP_FIRST_TIME_EXPERIENCE true - -# Disable update check output in Pulumi -set -gx PULUMI_SKIP_UPDATE_CHECK true - -# helmfile also has update check now :( -set -gx HELMFILE_UPGRADE_NOTICE_DISABLED true -set -gx HELMFILE_DISABLE_INSECURE_FEATURES true - # the downloaded Electron binary won't work on musl anyway set -gx ELECTRON_SKIP_BINARY_DOWNLOAD 1 -# another Go tool with update check +# Update check + telemetry +set -gx DOTNET_CLI_TELEMETRY_OPTOUT true +set -gx DOTNET_SKIP_FIRST_TIME_EXPERIENCE true + +# Update check +set -gx PULUMI_SKIP_UPDATE_CHECK true + +# Update check +set -gx HELMFILE_UPGRADE_NOTICE_DISABLED true +set -gx HELMFILE_DISABLE_INSECURE_FEATURES true + +# Update check set -gx KOPIA_CHECK_FOR_UPDATES false set -gx KOPIA_PERSIST_CREDENTIALS_ON_CONNECT false -# gcloud: no update check and usage reporting +# Update check +set -gx QSV_NO_UPDATE true +set -gx QSV_PROGRESSBAR true + +# Update check + telemetry set -gx CLOUDSDK_COMPONENT_MANAGER_DISABLE_UPDATE_CHECK 1 set -gx CLOUDSDK_CORE_DISABLE_USAGE_REPORTING 1 -# Configure gopass -set -gx CHECKPOINT_DISABLE true -set -gx GOPASS_NO_AUTOSYNC true +# Update check +set -gx KUBESHARK_DISABLE_VERSION_CHECK true + +# gopass settings not covered by the config file +set -gx GOPASS_CONFIG_NOSYSTEM true set -gx GOPASS_CLIPBOARD_COPY_CMD "$HOME/.local/libexec/gopass-clipboard-copy.sh" set -gx GOPASS_CLIPBOARD_CLEAR_CMD "$HOME/.local/libexec/gopass-clipboard-clear.sh" diff --git a/roles/config/templates/river/init.j2 b/roles/config/templates/river/init.j2 index 486448f..e1102cf 100644 --- a/roles/config/templates/river/init.j2 +++ b/roles/config/templates/river/init.j2 @@ -54,9 +54,9 @@ local river_options = { -- Other options ['set-repeat'] = { 50, 300 }, - ['focus-follows-cursor'] = 'normal', + ['focus-follows-cursor'] = 'always', ['hide-cursor'] = { 'when-typing', 'enabled' }, - ['set-cursor-warp'] = 'on-output-change', + ['set-cursor-warp'] = 'on-focus-change', ['attach-mode'] = 'bottom', ['default-layout'] = 'rivertile', } @@ -521,6 +521,12 @@ local mappings = { key = 'BTN_RIGHT', command = 'resize-view', }, + -- Super + Middle Mouse Button to toggle float + { + mod = 'Super', + key = 'BTN_MIDDLE', + command = 'toggle-float', + }, }, }, } diff --git a/roles/packages/defaults/main.yml b/roles/packages/defaults/main.yml index 57d38c0..3122b8d 100644 --- a/roles/packages/defaults/main.yml +++ b/roles/packages/defaults/main.yml @@ -118,14 +118,13 @@ system_apk_packages: - flawfinder - flexget - flux - - font-iosevka-aile - - font-iosevka-base - - font-iosevka-etoile - - font-iosevka-slab + - font-mononoki - font-noto - font-noto-emoji + - font-overpass - fossil - foot + - fq - fscrypt - gallery-dl - gdb @@ -285,6 +284,7 @@ system_apk_packages: - sops - sqlite - sshfs + - sslscan - starship - steghide - step-cli diff --git a/roles/packages/tasks/go-packages.yml b/roles/packages/tasks/go-packages.yml index c364bc0..39d4d8a 100644 --- a/roles/packages/tasks/go-packages.yml +++ b/roles/packages/tasks/go-packages.yml @@ -6,6 +6,24 @@ cmd: /usr/bin/go install -ldflags '-s -w' github.com/junegunn/fzf@latest removes: /usr/bin/go +- name: packages | Install grpcurl + tags: grpcurl + command: + cmd: /usr/bin/go install -ldflags '-s -w' github.com/fullstorydev/grpcurl/cmd/grpcurl@latest + removes: /usr/bin/go + +- name: packages | Install tpmk + tags: tpmk + command: + cmd: /usr/bin/go install -ldflags '-s -w' github.com/folbricht/tpmk/cmd/tpmk@latest + removes: /usr/bin/go + +- name: packages | Install dockle + tags: dockle + command: + cmd: /usr/bin/go install -ldflags '-s -w' github.com/goodwithtech/dockle/cmd/dockle@latest + removes: /usr/bin/go + - name: packages | Install yaegi tags: yaegi command: @@ -132,6 +150,19 @@ cmd: /usr/bin/go install -ldflags '-s -w' oras.land/oras/cmd/oras@latest removes: /usr/bin/go +# Works nicely with ytt +- name: packages | Install kapp + tags: kapp + command: + cmd: /usr/bin/go install -ldflags '-s -w' github.com/vmware-tanzu/carvel-kapp/cmd/kapp@latest + removes: /usr/bin/go + +- name: packages | Install kluctl + tags: kluctl + command: + cmd: /usr/bin/go install -ldflags '-s -w' github.com/kluctl/kluctl/v2@latest + removes: /usr/bin/go + - name: packages | Install kubesec tags: kubesec command: @@ -168,7 +199,12 @@ removes: /usr/bin/go tags: oauth2l -# FIXME: currently broken +- name: packages | Install oauth2c + command: + cmd: /usr/bin/go install -ldflags '-s -w' github.com/cloudentity/oauth2c@latest + removes: /usr/bin/go + tags: oauth2c + - name: packages | Install d2 command: cmd: /usr/bin/go install -ldflags '-s -w' oss.terrastruct.com/d2@latest @@ -188,7 +224,8 @@ cmd: /usr/bin/go install -ldflags '-s -w' github.com/mineiros-io/terramate/cmd/terramate@latest removes: /usr/bin/go -- tags: tflint +- name: packages | Install tflint suites + tags: tflint block: - name: packages | Install tflint and some cloud ruleset plugins tags: tflint @@ -241,6 +278,12 @@ cmd: /usr/bin/go install -ldflags '-s -w' github.com/corneliusweig/rakkess@latest removes: /usr/bin/go +- name: packages | Install ketall + tags: ketall + command: + cmd: /usr/bin/go install -ldflags '-s -w' github.com/corneliusweig/ketall@latest + removes: /usr/bin/go + # Stupid Elastic v2 license - name: packages | Install infra block: diff --git a/roles/packages/tasks/pnpm-packages.yml b/roles/packages/tasks/pnpm-packages.yml index f2c13f5..451c772 100644 --- a/roles/packages/tasks/pnpm-packages.yml +++ b/roles/packages/tasks/pnpm-packages.yml @@ -52,3 +52,15 @@ command: ~/.local/bin/pnpm add -g conventional-changelog-cli@latest @commitlint/cli@latest commitizen@latest args: removes: ~/.local/bin/pnpm + +- name: packages | Install swagger-ui-watcher + tags: conventional-commit + command: ~/.local/bin/pnpm add -g swagger-ui-watcher + args: + removes: ~/.local/bin/pnpm + +- name: packages | Install browser-sync + tags: browser-sync + command: ~/.local/bin/pnpm add -g browser-sync + args: + removes: ~/.local/bin/pnpm diff --git a/roles/packages/tasks/rust-packages.yml b/roles/packages/tasks/rust-packages.yml index ea64ce1..45673d1 100644 --- a/roles/packages/tasks/rust-packages.yml +++ b/roles/packages/tasks/rust-packages.yml @@ -29,6 +29,12 @@ cmd: /usr/bin/cargo install languagetool-rust --features full --locked --force removes: /usr/bin/cargo +- name: packages | Install qsv + tags: qsv + command: + cmd: /usr/bin/cargo install qsv --features all_full --locked --force + removes: /usr/bin/cargo + - name: packages | Install ttyper tags: ttyper community.general.cargo: @@ -107,3 +113,9 @@ community.general.cargo: name: alass-cli state: latest + +- name: packages | Install silicon + tags: silicon + community.general.cargo: + name: silicon + state: latest diff --git a/roles/theme/defaults/main.yml b/roles/theme/defaults/main.yml index 91b5ab2..de4d958 100644 --- a/roles/theme/defaults/main.yml +++ b/roles/theme/defaults/main.yml @@ -1,6 +1,11 @@ --- wallpaper_dir: ~/Pictures/Wallpapers +# Fonts that are not covered by system packages +font_versions: + iosevka: 17.0.2 + sarasa-gothic: 0.38.0 + kvantum_themes: - name: Nordic diff --git a/roles/theme/tasks/fonts.yml b/roles/theme/tasks/fonts.yml new file mode 100644 index 0000000..282e063 --- /dev/null +++ b/roles/theme/tasks/fonts.yml @@ -0,0 +1,12 @@ +--- +- name: fonts | Install Iosevka fonts + import_tasks: fonts/iosevka.yml + tags: iosevka + +- name: fonts | Install Sarasa Gothic font + import_tasks: fonts/sarasa-gothic.yml + tags: sarasa-gothic + +- name: fonts | Install Bobbers font + import_tasks: fonts/bobbers.yml + tags: bobbers diff --git a/roles/theme/tasks/fonts/bobbers.yml b/roles/theme/tasks/fonts/bobbers.yml new file mode 100644 index 0000000..f496c75 --- /dev/null +++ b/roles/theme/tasks/fonts/bobbers.yml @@ -0,0 +1,11 @@ +--- +- name: fonts | Download Bobbers font archive + get_url: + url: https://dl.dafont.com/dl/?f=bobbers + dest: /tmp/Bobbers.zip + mode: 0644 + +- name: fonts | Decompress downloaded Bobbers font archive + command: unzip /tmp/Bobbers.zip 'Bobbers Personal Use.ttf' -d ~/.local/share/fonts/ + args: + creates: ~/.local/share/fonts/Bobbers Personal Use.ttf diff --git a/roles/theme/tasks/fonts/iosevka.yml b/roles/theme/tasks/fonts/iosevka.yml new file mode 100644 index 0000000..e9b175e --- /dev/null +++ b/roles/theme/tasks/fonts/iosevka.yml @@ -0,0 +1,31 @@ +--- +- name: fonts | Create font directory for Iosevka + file: + path: ~/.local/share/fonts/iosevka + mode: 0755 + state: directory + +- name: fonts | Download Iosevka font archives + get_url: + url: https://github.com/be5invis/Iosevka/releases/download/v{{ font_versions.iosevka }}/super-ttc-{{ item }}-{{ font_versions.iosevka }}.zip + dest: /tmp/{{ item }}.zip + mode: 0644 + loop: + - iosevka + - iosevka-aile + - iosevka-curly + - iosevka-curly-slab + - iosevka-etoile + - iosevka-slab + +- name: fonts | Decompress downloaded Iosevka font archives + command: unzip /tmp/{{ item }}.zip -d ~/.local/share/fonts/iosevka + args: + creates: ~/.local/share/fonts/iosevka/{{ item }}.ttc + loop: + - iosevka + - iosevka-aile + - iosevka-curly + - iosevka-curly-slab + - iosevka-etoile + - iosevka-slab diff --git a/roles/theme/tasks/fonts/sarasa-gothic.yml b/roles/theme/tasks/fonts/sarasa-gothic.yml new file mode 100644 index 0000000..f3cf61b --- /dev/null +++ b/roles/theme/tasks/fonts/sarasa-gothic.yml @@ -0,0 +1,19 @@ +--- +- name: fonts | Create font directory for Sarasa Gothic + file: + path: ~/.local/share/fonts/sarasa-gothic + mode: 0755 + state: directory + +- name: fonts | Download Sarasa Gothic font archive + get_url: + url: https://github.com/be5invis/Sarasa-Gothic/releases/download/v{{ font_versions['sarasa-gothic'] }}/sarasa-gothic-ttc-{{ font_versions['sarasa-gothic'] }}.7z + dest: /tmp/sarasa-gothic.7z + mode: 0644 + +# NOTE: require libarchive-tools package +- name: fonts | Decompress downloaded Sarasa Gothic font archive + command: bsdtar -xf /tmp/sarasa-gothic.7z + args: + creates: ~/.local/share/fonts/sarasa-gothic/sarasa-regular.ttc + chdir: ~/.local/share/fonts/sarasa-gothic diff --git a/roles/theme/tasks/main.yml b/roles/theme/tasks/main.yml index 728beda..fdd3671 100644 --- a/roles/theme/tasks/main.yml +++ b/roles/theme/tasks/main.yml @@ -18,3 +18,7 @@ - name: theme | Install GTK themes import_tasks: gtk.yml tags: gtk + +- name: theme | Install fonts + import_tasks: fonts.yml + tags: fonts