├── .chezmoi.toml.tmpl ├── .chezmoiexternal.toml ├── .chezmoiignore ├── .gitignore ├── .prettierignore ├── Brewfile ├── LICENSE ├── README.md ├── dot_config ├── bat │ └── config ├── gh │ ├── config.yml │ └── encrypted_hosts.yml.asc ├── git │ ├── dot_gitignore_global │ └── hooks │ │ └── executable_prepare-commit-msg ├── starship.toml ├── starship.vscode.toml.tmpl └── yamllint │ └── config ├── dot_finicky.js ├── dot_gitconfig.tmpl ├── dot_vimrc ├── dot_zfuncs ├── helm ├── kc └── ks ├── dot_zprofile ├── dot_zshrc ├── encrypted_dot_netrc.asc ├── encrypted_dot_terraformrc.asc ├── keys ├── Romain-Barissat.asc ├── hashicorp.asc ├── olivr.asc ├── tflint.asc └── tfsec.asc ├── private_Library └── private_Application Support │ ├── Alfred │ ├── Alfred.alfredpreferences │ │ └── preferences │ │ │ ├── features │ │ │ └── defaultresults │ │ │ │ └── prefs.plist │ │ │ └── local │ │ │ ├── 2146c53033a358e2d5f3f27410c9d79fab0b6de5 │ │ │ ├── appearance │ │ │ │ └── prefs.plist │ │ │ ├── features │ │ │ │ └── clipboard │ │ │ │ │ └── prefs.plist │ │ │ └── hotkey │ │ │ │ └── prefs.plist │ │ │ └── a0acccf4dd137af9c7938640a0296fe7c1fbd74a │ │ │ ├── appearance │ │ │ └── prefs.plist │ │ │ ├── features │ │ │ └── clipboard │ │ │ │ └── prefs.plist │ │ │ └── hotkey │ │ │ └── prefs.plist │ └── Workflow Data │ │ └── com.yannickglt.alfred4.devdocs │ │ ├── aliases.json │ │ └── docs.json │ ├── Many Tricks │ └── Licenses │ │ └── encrypted_Romain Barissat.moomlicense.asc │ └── private_Code │ └── User │ ├── keybindings.json │ └── settings.json.tmpl ├── private_dot_gnupg ├── gpg-agent.conf.tmpl ├── gpg.conf.tmpl ├── scdaemon.conf └── sshcontrol.tmpl ├── run_once_after_configure-apps-darwin.sh.tmpl ├── run_once_before_1-prepare-system.sh.tmpl ├── run_once_before_2-configure-system-darwin.sh.tmpl ├── run_once_before_3-install-packages-darwin.sh.tmpl └── run_once_before_4-build-apps-darwin.sh.tmpl /.chezmoi.toml.tmpl: -------------------------------------------------------------------------------- 1 | encryption = "gpg" 2 | 3 | [gpg] 4 | recipient = "3FA802F22315C0940E44A51F4690C65094D92796" 5 | 6 | [data] 7 | fullname = "Romain Barissat" 8 | gpgkey = "3FA802F22315C0940E44A51F4690C65094D92796" 9 | gitemail = "romain-noreply@barissat.com" 10 | gpg_ssh_keygrip= "493FA604BA371DE0498D931EDDE187BCBABA7ED5" 11 | -------------------------------------------------------------------------------- /.chezmoiexternal.toml: -------------------------------------------------------------------------------- 1 | [".oh-my-zsh"] 2 | type = "archive" 3 | url = "https://github.com/ohmyzsh/ohmyzsh/archive/master.tar.gz" 4 | exact = true 5 | stripComponents = 1 6 | refreshPeriod = "672h" 7 | 8 | [".oh-my-zsh/custom/plugins/zsh-syntax-highlighting"] 9 | type = "archive" 10 | url = "https://github.com/zsh-users/zsh-syntax-highlighting/archive/master.tar.gz" 11 | exact = true 12 | stripComponents = 1 13 | refreshPeriod = "672h" 14 | 15 | ["Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/gharlan.alfred-github-workflow"] 16 | type = "archive" 17 | url = "https://github.com/gharlan/alfred-github-workflow/archive/master.tar.gz" 18 | exact = true 19 | stripComponents = 1 20 | refreshPeriod = "672h" 21 | 22 | ["Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/fatih-yavuz.alfred-string-operations"] 23 | type = "archive" 24 | url = "https://github.com/fatih-yavuz/alfred-string-operations/archive/master.tar.gz" 25 | exact = true 26 | stripComponents = 1 27 | refreshPeriod = "672h" 28 | 29 | ["Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/clnt.alfred-tailwindcss-docs"] 30 | type = "archive" 31 | url = "https://github.com/clnt/alfred-tailwindcss-docs/archive/master.tar.gz" 32 | exact = true 33 | stripComponents = 1 34 | refreshPeriod = "672h" 35 | 36 | ["Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/politician.alfred-devdocs"] 37 | type = "archive" 38 | url = "https://github.com/politician/alfred-devdocs/archive/master.tar.gz" 39 | exact = true 40 | stripComponents = 2 41 | refreshPeriod = "672h" 42 | 43 | -------------------------------------------------------------------------------- /.chezmoiignore: -------------------------------------------------------------------------------- 1 | ~/.oh-my-zsh/cache 2 | README.md 3 | LICENSE 4 | keys -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | Brewfile.lock.json 2 | 3 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | *.sh.tmpl -------------------------------------------------------------------------------- /Brewfile: -------------------------------------------------------------------------------- 1 | tap "commitdev/zero" 2 | tap "fairwindsops/tap" 3 | tap "fluxcd/tap" 4 | tap "hashicorp/tap" 5 | tap "helm/tap" 6 | tap "heroku/brew" 7 | tap "homebrew/autoupdate" 8 | tap "homebrew/bundle" 9 | tap "homebrew/cask" 10 | tap "homebrew/cask-drivers" 11 | tap "homebrew/cask-fonts" 12 | tap "homebrew/cask-versions" 13 | tap "homebrew/core" 14 | tap "homebrew/services" 15 | tap "instrumenta/instrumenta" 16 | tap "johanhaleby/kubetail" 17 | tap "kube-score/tap" 18 | tap "sal0max/nikon" 19 | tap "superfly/tap" 20 | tap "tilt-dev/tap" 21 | brew "actionlint" 22 | brew "age" 23 | brew "age-plugin-yubikey" 24 | brew "aria2" 25 | brew "autoconf" 26 | brew "automake" 27 | brew "python@3.11" 28 | brew "awscli" 29 | brew "bash" 30 | brew "bat" 31 | brew "coreutils" 32 | brew "bats-core" 33 | brew "icu4c", link: true 34 | brew "bitwarden-cli" 35 | brew "chart-testing" 36 | brew "checkov" 37 | brew "chezmoi" 38 | brew "cosign" 39 | brew "direnv" 40 | brew "eslint" 41 | brew "exa" 42 | brew "flarectl" 43 | brew "libtool" 44 | brew "gawk" 45 | brew "gh" 46 | brew "git" 47 | brew "git-delta" 48 | brew "git-lfs" 49 | brew "gitleaks" 50 | brew "glow" 51 | brew "gnu-sed" 52 | brew "gnupg" 53 | brew "go" 54 | brew "gopass" 55 | brew "gopass-jsonapi" 56 | brew "netpbm" 57 | brew "graphviz" 58 | brew "hadolint" 59 | brew "helm" 60 | brew "http-server" 61 | brew "jq" 62 | brew "k3d" 63 | brew "kind" 64 | brew "kube-score" 65 | brew "kubeaudit" 66 | brew "kubernetes-cli" 67 | brew "kubeval" 68 | brew "kustomize" 69 | brew "libpq" 70 | brew "markdownlint-cli" 71 | brew "mas" 72 | brew "nativefier" 73 | brew "nmap" 74 | brew "php" 75 | brew "pinentry-mac" 76 | brew "postgresql@14", restart_service: true 77 | brew "virtualenv" 78 | brew "pre-commit" 79 | brew "prettier" 80 | brew "pv" 81 | brew "python@3.8" 82 | brew "qt@5" 83 | brew "rename" 84 | brew "ruby" 85 | brew "s3cmd" 86 | brew "shellcheck" 87 | brew "sops" 88 | brew "sqlfluff" 89 | brew "starship" 90 | brew "terraform" 91 | brew "terraform-docs" 92 | brew "tflint" 93 | brew "tfsec" 94 | brew "thefuck" 95 | brew "tmate" 96 | brew "trash" 97 | brew "tree" 98 | brew "vale" 99 | brew "volta" 100 | brew "watch" 101 | brew "wget" 102 | brew "yamllint" 103 | brew "yarn" 104 | brew "ykman" 105 | brew "yq" 106 | brew "zsh-completions" 107 | brew "commitdev/zero/zero" 108 | brew "fairwindsops/tap/polaris" 109 | brew "fluxcd/tap/flux" 110 | brew "helm/tap/chart-releaser" 111 | brew "heroku/brew/heroku" 112 | brew "johanhaleby/kubetail/kubetail" 113 | brew "superfly/tap/flyctl" 114 | brew "tilt-dev/tap/ctlptl" 115 | brew "tilt-dev/tap/tilt" 116 | cask "alfred" 117 | cask "android-studio" 118 | cask "balenaetcher" 119 | cask "browserosaurus" 120 | cask "calibre" 121 | cask "cheatsheet" 122 | cask "cryptomator" 123 | cask "dbeaver-community" 124 | cask "discord" 125 | cask "docker" 126 | cask "dteoh-devdocs" 127 | cask "evernote" 128 | cask "ferdium" 129 | cask "figma" 130 | cask "finicky" 131 | cask "firefox" 132 | cask "firefox-developer-edition" 133 | cask "font-menlo-for-powerline" 134 | cask "font-meslo-lg" 135 | cask "font-meslo-lg-nerd-font" 136 | cask "font-recursive" 137 | cask "font-recursive-code" 138 | cask "gimp" 139 | cask "gitify" 140 | cask "google-chrome" 141 | cask "google-cloud-sdk" 142 | cask "inkscape" 143 | cask "jitsi-meet" 144 | cask "krita" 145 | cask "ledger-live" 146 | cask "lens" 147 | cask "licecap" 148 | cask "logi-options-plus" 149 | cask "macfuse" 150 | cask "moom" 151 | cask "nx-studio" 152 | cask "postman" 153 | cask "qbittorrent" 154 | cask "qlcolorcode" 155 | cask "qlimagesize" 156 | cask "qlmarkdown" 157 | cask "qlstephen" 158 | cask "qlvideo" 159 | cask "quicklook-json" 160 | cask "quicklookase" 161 | cask "raspberry-pi-imager" 162 | cask "secretive" 163 | cask "skype" 164 | cask "slack" 165 | cask "spotify" 166 | cask "suspicious-package" 167 | cask "timemachineeditor" 168 | cask "tor-browser" 169 | cask "utm" 170 | cask "visual-studio-code" 171 | cask "vlc" 172 | cask "zoom" 173 | mas "Actions", id: 1586435171 174 | mas "Amphetamine", id: 937984704 175 | mas "Bitwarden", id: 1352778147 176 | mas "Disk Speed Test", id: 425264550 177 | mas "Home Assistant", id: 1099568401 178 | mas "iMovie", id: 408981434 179 | mas "Microsoft Excel", id: 462058435 180 | mas "Microsoft PowerPoint", id: 462062816 181 | mas "Microsoft Word", id: 462054704 182 | mas "OneDrive", id: 823766827 183 | mas "StopTheMadness", id: 1376402589 184 | mas "The Unarchiver", id: 425424353 185 | mas "Xmind", id: 1327661892 186 | vscode "aaron-bond.better-comments" 187 | vscode "akamud.vscode-theme-onelight" 188 | vscode "antfu.smart-clicks" 189 | vscode "aprilandjan.ascii-tree-generator" 190 | vscode "astro-build.astro-vscode" 191 | vscode "BazelBuild.vscode-bazel" 192 | vscode "bungcip.better-toml" 193 | vscode "chrischinchilla.vale-vscode" 194 | vscode "christian-kohler.path-intellisense" 195 | vscode "DavidAnson.vscode-markdownlint" 196 | vscode "dbaeumer.vscode-eslint" 197 | vscode "debens.sort-js-object" 198 | vscode "eamodio.gitlens" 199 | vscode "ecmel.vscode-html-css" 200 | vscode "EditorConfig.EditorConfig" 201 | vscode "esbenp.prettier-vscode" 202 | vscode "file-icons.file-icons" 203 | vscode "firefox-devtools.vscode-firefox-debug" 204 | vscode "firsttris.vscode-jest-runner" 205 | vscode "fnando.linter" 206 | vscode "GitHub.copilot" 207 | vscode "github.vscode-github-actions" 208 | vscode "GitHub.vscode-pull-request-github" 209 | vscode "GitLab.gitlab-workflow" 210 | vscode "golang.go" 211 | vscode "GraphQL.vscode-graphql" 212 | vscode "GraphQL.vscode-graphql-execution" 213 | vscode "GraphQL.vscode-graphql-syntax" 214 | vscode "hashicorp.terraform" 215 | vscode "hilleer.yaml-plus-json" 216 | vscode "kumar-harsh.graphql-for-vscode" 217 | vscode "mgmcdermott.vscode-language-babel" 218 | vscode "mintlify.document" 219 | vscode "mrmlnc.vscode-attrs-sorter" 220 | vscode "mrmlnc.vscode-json5" 221 | vscode "ms-azuretools.vscode-docker" 222 | vscode "ms-kubernetes-tools.vscode-kubernetes-tools" 223 | vscode "ms-vscode.makefile-tools" 224 | vscode "mtxr.sqltools" 225 | vscode "mtxr.sqltools-driver-pg" 226 | vscode "nrwl.angular-console" 227 | vscode "OfHumanBondage.react-proptypes-intellisense" 228 | vscode "PascalReitermann93.vscode-yaml-sort" 229 | vscode "pflannery.vscode-versionlens" 230 | vscode "Prisma.prisma" 231 | vscode "redhat.vscode-commons" 232 | vscode "redhat.vscode-yaml" 233 | vscode "richie5um2.vscode-sort-json" 234 | vscode "robertoachar.vscode-essentials-snippets" 235 | vscode "SimonSiefke.svg-preview" 236 | vscode "sourcegraph.sourcegraph" 237 | vscode "stkb.rewrap" 238 | vscode "streetsidesoftware.code-spell-checker" 239 | vscode "stylelint.vscode-stylelint" 240 | vscode "Tchoupinax.tilt" 241 | vscode "timonwong.shellcheck" 242 | vscode "Tyriar.sort-lines" 243 | vscode "vincaslt.highlight-matching-tag" 244 | vscode "wix.vscode-import-cost" 245 | vscode "zhuangtongfa.material-theme" 246 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Romain Barissat 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # My .files 2 | 3 | My dotfiles, managed by [chezmoi](https://github.com/twpayne/chezmoi). 4 | 5 | [If you want to fork it for your own usage](#forking) 6 | 7 | ## Setup a new mac 8 | 9 | 1. Install command line tools 10 | 11 | ```sh 12 | xcode-select --install 13 | ``` 14 | 15 | 2. Insert Smart Card (Yubikey, Ledger, etc.) 16 | 17 | 3. Install Homebrew, GPG, Chezmoi and launch configuration 18 | 19 | ```sh 20 | # Install Homebrew 21 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 22 | [[ $(arch) == "arm64" ]] && eval "$(/opt/homebrew/bin/brew shellenv)" || eval "$(/usr/local/bin/brew shellenv)" 23 | 24 | # Install GPG and Chezmoi 25 | brew install gpg chezmoi 26 | 27 | # Use configuration from this repo 28 | chezmoi init politician --apply 29 | ``` 30 | 31 | 4. My personal todo list of manual actions: 32 | 33 | - [ ] This script will open, Alfred, Moom, Docker Desktop. You must manually grant them the needed permissions and enable start at boot 34 | - [ ] Grant Full disk access to Alfred and Terminal 35 | - [ ] Reboot `sudo shutdown -r now` 36 | - [ ] Connect to Firefox sync or copy profile folder (open _about:profiles_) 37 | - [ ] Install Xcode `mas install 497799835` (was removed from this script because the 12GB+ download can be slow as hell) 38 | 39 | ### Pull and apply latest changes from this repo 40 | 41 | ```sh 42 | chezmoi update 43 | ``` 44 | 45 | ### Edit files and push changes 46 | 47 | For example, modify `~/.vimrc` (already managed by chezmoi) 48 | 49 | ```sh 50 | chezmoi edit ~/.vimrc 51 | ``` 52 | 53 | Apply changes 54 | 55 | ```sh 56 | chezmoi apply 57 | ``` 58 | 59 | Commit changes 60 | 61 | ```sh 62 | chezmoi git add . 63 | chezmoi git commit 64 | chezmoi git push 65 | ``` 66 | 67 | ### Before formatting a mac 68 | 69 | Make sure all files are up to date with chezmoi 70 | 71 | ```sh 72 | cd ~ 73 | 74 | # Export list of brew/cask/mas installed packages 75 | brew bundle dump --force 76 | 77 | # Re-add linked files 78 | chezmoi re-add 79 | 80 | # Re-add VSCode settings as multi-arch template 81 | sed 's|'"$(brew --prefix)"'|{{ if eq .chezmoi.arch "arm64" }}/opt/homebrew{{ else }}/usr/local{{ end }}|' ~/Library/Application\ Support/Code/User/settings.json > $(chezmoi source-path)/private_Library/private_Application\ Support/private_Code/User/settings.json.tmpl 82 | ``` 83 | 84 | Review changes and commit 85 | 86 | ```sh 87 | chezmoi git status 88 | 89 | chezmoi git add . 90 | chezmoi git commit 91 | chezmoi git push 92 | ``` 93 | 94 | ## Applications 95 | 96 | This repo includes scripts to 97 | [install](run_once_before_3-install-packages-darwin.sh.tmpl) as well as 98 | [build](run_once_before_5-build-apps-darwin.sh.tmpl) all the apps that need to be. 99 | 100 | I try to choose OSS apps over commercial ones unless the experience is too degraded or it prevents me from doing my work properly. 101 | 102 | Here are the most notable ones: 103 | 104 | | OSS/ Free Alternative | Proprietary/Commercial | 105 | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | 106 | | [NX Studio](https://www.nikonusa.com/en/nikon-products/imaging-software/nx-studio.page) | Lightroom | 107 | | [Gimp](https://github.com/GNOME/gimp) & [Krita](https://github.com/KDE/krita) | Photoshop | 108 | | [Inkscape](https://gitlab.com/inkscape/inkscape) | Illustrator | 109 | | [Jitsi Meet](https://github.com/jitsi/jitsi-meet) | Zoom | 110 | | ~~[Kdenlive](https://kdenlive.org)~~ ([No m1 support](https://bugs.kde.org/show_bug.cgi?id=448443)) - Now using iMovie and evaluating [OpenShot](https://github.com/OpenShot/openshot-qt), [Shotcut](https://github.com/mltframework/shotcut) | Premiere | 111 | | ~~[OnlyOffice](https://github.com/ONLYOFFICE/DesktopEditors)~~ (I have an Office subscription) | Office | 112 | | [Penpot](https://github.com/penpot/penpot) | Figma | 113 | | [DBeaver](https://dbeaver.io/) | Navicat | 114 | 115 | ## Mac OS configuration 116 | 117 | This repo includes a [script to configure](run_once_after_configure-apps-darwin.sh.tmpl) my Mac OS and several applications settings. 118 | 119 | ## Forking 120 | 121 | If you want to fork this repo and modify it for your own personal/commercial usage, please do so freely, it is licensed accordingly (MIT). 122 | 123 | Before you apply any settings, don't forget to: 124 | 125 | - [Customize chezmoi settings](.chezmoi.toml.tmpl) 126 | - Remove my encrypted files and eventually re-add your own. See which files are encrypted with `find $(chezmoi source-path) -type f -name "encrypted*.asc"` 127 | -------------------------------------------------------------------------------- /dot_config/bat/config: -------------------------------------------------------------------------------- 1 | # This is `bat`s configuration file. Each line either contains a comment or 2 | # a command-line option that you want to pass to `bat` by default. You can 3 | # run `bat --help` to get a list of all possible configuration options. 4 | 5 | # Disable automatic paging 6 | --paging=never -------------------------------------------------------------------------------- /dot_config/gh/config.yml: -------------------------------------------------------------------------------- 1 | # What protocol to use when performing git operations. Supported values: ssh, https 2 | git_protocol: ssh 3 | # What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment. 4 | editor: 5 | # When to interactively prompt. This is a global config that cannot be overriden by hostname. Supported values: enabled, disabled 6 | prompt: enabled 7 | # A pager program to send command output to. Example value: less 8 | pager: 9 | # Aliases allow you to create nicknames for gh commands 10 | aliases: 11 | co: pr checkout 12 | 13 | -------------------------------------------------------------------------------- /dot_config/gh/encrypted_hosts.yml.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP MESSAGE----- 2 | 3 | hF4DMadcdehCqzwSAQdAib6N9xp6ocg/JMWqw65tM4iEPkRXcDAPvJQ02fPIjCMw 4 | Mpk0rlXGFgZUHV97f6Evf29d3Qdhl9L80jd8rV0ZemeATGaFxUkqJtb6jPdyO1g/ 5 | 1LYBCQIQh0A8va4e2of/DcqkUmqPiXonvsG3df/aWNs1YLttMXKpoVfmSLHBmB0p 6 | iO/19+9h+lKVMpCF5aEAmmlpjJv3fpCPHq5WHGlS29ot9UYsKXQMhg7TmN5cP9zw 7 | 6bPgNaGmYIb+/MjS058z6qy9oZX2wADcvJIcTuXoQ3ZGHTKtlMKeTjgvLwsQOJw8 8 | p8f7fcCUXO6fijPSw4ebQmPU7R7c8NJd8NMiNvBzloZGO+D3XaoGNA== 9 | =wXxb 10 | -----END PGP MESSAGE----- 11 | -------------------------------------------------------------------------------- /dot_config/git/dot_gitignore_global: -------------------------------------------------------------------------------- 1 | # --------------------------------------------------------------------------------------------------------------------- 2 | # Mac OS 3 | # Source: https://github.com/github/gitignore/blob/main/Global/macOS.gitignore 4 | # --------------------------------------------------------------------------------------------------------------------- 5 | # General 6 | .DS_Store 7 | .AppleDouble 8 | .LSOverride 9 | 10 | # Icon must end with two \r 11 | Icon 12 | 13 | # Thumbnails 14 | ._* 15 | 16 | # Files that might appear in the root of a volume 17 | .DocumentRevisions-V100 18 | .fseventsd 19 | .Spotlight-V100 20 | .TemporaryItems 21 | .Trashes 22 | .VolumeIcon.icns 23 | .com.apple.timemachine.donotpresent 24 | 25 | # Directories potentially created on remote AFP share 26 | .AppleDB 27 | .AppleDesktop 28 | Network Trash Folder 29 | Temporary Items 30 | .apdisk 31 | 32 | # --------------------------------------------------------------------------------------------------------------------- 33 | # Direnv 34 | # Source: https://github.com/toptal/gitignore/blob/master/templates/direnv.gitignore 35 | # --------------------------------------------------------------------------------------------------------------------- 36 | .direnv 37 | .envrc 38 | 39 | # --------------------------------------------------------------------------------------------------------------------- 40 | # Custom 41 | # --------------------------------------------------------------------------------------------------------------------- 42 | .secret 43 | -------------------------------------------------------------------------------- /dot_config/git/hooks/executable_prepare-commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | COMMIT_MSG_FILE=$1 # The git commit file. 4 | COMMIT_SOURCE=$2 # The current commit message. 5 | 6 | # Add "Signed-off-by: " to every commit message. 7 | SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') 8 | git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" 9 | if test -z "$COMMIT_SOURCE"; then 10 | /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" 11 | fi 12 | 13 | -------------------------------------------------------------------------------- /dot_config/starship.toml: -------------------------------------------------------------------------------- 1 | [kubernetes] 2 | disabled = false 3 | [terraform] 4 | symbol="ﲴ " 5 | -------------------------------------------------------------------------------- /dot_config/starship.vscode.toml.tmpl: -------------------------------------------------------------------------------- 1 | {{- include "dot_config/starship.toml" -}} 2 | 3 | 4 | [aws] 5 | disabled = true 6 | -------------------------------------------------------------------------------- /dot_config/yamllint/config: -------------------------------------------------------------------------------- 1 | --- 2 | extends: default 3 | 4 | import_ignore: ".gitignore" 5 | 6 | # Remove the "ignore" key below once this PR is merged 7 | ignore: node_modules/ 8 | 9 | rules: 10 | truthy: 11 | check-keys: false 12 | 13 | # Follow prettier conventions 14 | line-length: 15 | max: 80 16 | level: warning 17 | allow-non-breakable-words: true 18 | allow-non-breakable-inline-mappings: true 19 | comments: 20 | min-spaces-from-content: 1 21 | -------------------------------------------------------------------------------- /dot_finicky.js: -------------------------------------------------------------------------------- 1 | // Learn more about configuration options: https://github.com/johnste/finicky/wiki/Configuration 2 | 3 | module.exports = { 4 | //defaultBrowser: "Browserosaurus", 5 | defaultBrowser: "Firefox", 6 | options: { 7 | // Hide the finicky icon from the top bar. Default: false 8 | hideIcon: true, 9 | // Check for update on startup. Default: true 10 | checkForUpdate: false, 11 | }, 12 | handlers: [ 13 | { 14 | // Open apple.com urls in Safari 15 | match: ["apple.com*", "*.apple.com*"], 16 | browser: "Safari", 17 | }, 18 | { 19 | // Open Spotify links in Spotify app 20 | match: "open.spotify.com/*", 21 | browser: "Spotify", 22 | }, 23 | { 24 | // Open Zoom links in Zoom app 25 | match: ["zoom.us/*", finicky.matchDomains(/.*\zoom.us/), /zoom.us\/j\//], 26 | browser: "us.zoom.xos", 27 | }, 28 | { 29 | // Open DevDocs links in DevDocs app 30 | match: "https://devdocs.io/*", 31 | browser: "DevDocs", 32 | }, 33 | { 34 | // Open Figma links in Figma app 35 | match: "https://www.figma.com/file/*", 36 | browser: "Figma", 37 | }, 38 | { 39 | match: ({ url }) => 40 | url.host.includes("jitsi.your-selfhosted-server.com") || 41 | url.host.includes("meet.jit.si"), 42 | url({ url }) { 43 | return { 44 | ...url, 45 | protocol: "jitsi-meet", 46 | host: url.host, 47 | pathname: url.pathname, 48 | }; 49 | }, 50 | browser: "/Applications/Jitsi Meet.app", 51 | }, 52 | ], 53 | }; 54 | -------------------------------------------------------------------------------- /dot_gitconfig.tmpl: -------------------------------------------------------------------------------- 1 | [alias] 2 | unstash = stash apply 3 | 4 | [commit] 5 | gpgsign = true 6 | 7 | [core] 8 | pager = delta 9 | excludesfile = ~/.config/git/.gitignore_global 10 | # hooksPath = ~/.config/git/hooks 11 | 12 | [credential] 13 | helper = osxkeychain 14 | 15 | [delta] 16 | navigate = true # use n and N to move between diff sections 17 | side-by-side = true 18 | 19 | [diff] 20 | colorMoved = default 21 | 22 | [format] 23 | signOff = true 24 | 25 | [gpg] 26 | program = {{ expandenv "$HOMEBREW_PREFIX/bin/gpg" }} 27 | 28 | [init] 29 | defaultBranch = main 30 | 31 | [interactive] 32 | diffFilter = delta --color-only 33 | 34 | [merge] 35 | conflictstyle = diff3 36 | 37 | [user] 38 | name = {{ .fullname }} 39 | email = {{ .gitemail }} 40 | signingkey = {{ .gpgkey }} 41 | 42 | [filter "lfs"] 43 | clean = git-lfs clean -- %f 44 | smudge = git-lfs smudge -- %f 45 | process = git-lfs filter-process 46 | required = true -------------------------------------------------------------------------------- /dot_vimrc: -------------------------------------------------------------------------------- 1 | autocmd BufWritePost ~/.local/share/chezmoi/* ! chezmoi apply --source-path "%" 2 | 3 | syntax on 4 | 5 | set number " Show line numbers 6 | set backspace=indent,eol,start " Makes backspace key more powerful. 7 | set showcmd " Show me what I'm typing 8 | 9 | set noswapfile " Don't use swapfile 10 | set nobackup " Don't create annoying backup files 11 | set nowritebackup 12 | set encoding=UTF-8 " Set default encoding to UTF-8 13 | 14 | set ruler " Show the cursor position all the time 15 | 16 | set fileformats=unix,mac,dos " Prefer Unix over OS 9 over Windows formats 17 | 18 | set incsearch " Shows the match while typing 19 | set hlsearch " Highlight found searches 20 | set ignorecase " Search case insensitive... 21 | set smartcase " ... but not when search pattern contains upper case characters 22 | set ttyfast " Optimize for fast terminal connections 23 | 24 | " do not hide markdown 25 | set conceallevel=0 26 | 27 | " Make Vim to handle long lines nicely. 28 | set wrap 29 | set textwidth=80 30 | set formatoptions=qrn1 31 | 32 | " Do not use relative numbers to where the cursor is. 33 | set norelativenumber 34 | 35 | " Apply the indentation of the current line to the next line. 36 | set autoindent 37 | set smartindent 38 | set complete-=i 39 | set showmatch 40 | set smarttab 41 | 42 | " Make tabs as wide as two spaces 43 | set tabstop=2 44 | set shiftwidth=2 45 | set expandtab 46 | 47 | " In many terminal emulators the mouse works just fine, thus enable it. 48 | if has('mouse') 49 | set mouse=a 50 | endif 51 | 52 | " Use the OS clipboard by default (on versions compiled with `+clipboard`) 53 | " yank to clipboard 54 | if has("clipboard") 55 | set clipboard=unnamed " copy to the system clipboard 56 | 57 | if has("unnamedplus") " X11 support 58 | set clipboard+=unnamedplus 59 | endif 60 | endif 61 | 62 | " Show 120 character line limit 63 | if exists('+colorcolumn') 64 | set colorcolumn=120 65 | else 66 | au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1) 67 | endif 68 | 69 | " ----------------------------------------- " 70 | " File Type settings " 71 | " ----------------------------------------- " 72 | 73 | au BufNewFile,BufRead *.md setlocal spell noet ts=2 sw=2 74 | au BufNewFile,BufRead *.yml,*.yaml setlocal expandtab ts=2 sw=2 75 | au BufNewFile,BufRead *.json setlocal expandtab ts=2 sw=2 76 | 77 | augroup filetypedetect 78 | au BufNewFile,BufRead .nginx.conf*,nginx.conf* setf nginx 79 | augroup END 80 | 81 | au FileType nginx setlocal noet ts=2 sw=2 sts=2 82 | 83 | " Go settings 84 | au BufNewFile,BufRead *.go setlocal noet ts=4 sw=4 sts=4 85 | 86 | " Dockerfile settings 87 | autocmd FileType dockerfile set noexpandtab 88 | 89 | " shell/config/systemd settings 90 | autocmd FileType fstab,systemd set noexpandtab 91 | autocmd FileType gitconfig,sh,toml set noexpandtab 92 | 93 | " python indent 94 | autocmd BufNewFile,BufRead *.py setlocal tabstop=4 softtabstop=4 shiftwidth=4 textwidth=80 smarttab expandtab 95 | 96 | " For all text files set 'textwidth' to 80 characters. 97 | autocmd FileType text setlocal textwidth=80 fo+=2t ts=2 sw=2 sts=2 expandtab 98 | autocmd BufNewFile,BufRead *.md,*.txt,*.adoc setlocal textwidth=80 fo+=2t ts=2 sw=2 sts=2 expandtab 99 | 100 | " toml settings 101 | au BufRead,BufNewFile MAINTAINERS,*.toml set ft=toml formatprg=toml-fmt 102 | 103 | " hcl settings 104 | au BufRead,BufNewFile *.workflow set ft=hcl 105 | 106 | " spell check for git commits 107 | autocmd FileType gitcommit setlocal spell 108 | -------------------------------------------------------------------------------- /dot_zfuncs/helm: -------------------------------------------------------------------------------- 1 | if [ "$1" = "show" ] && [ "$2" = "values" ]; then 2 | command helm "$@" | yq 3 | elif [ "$1" = "show" ] && [ "$2" = "all" ]; then 4 | command helm "$@" | glow - 5 | else 6 | command helm "$@" 7 | fi 8 | 9 | -------------------------------------------------------------------------------- /dot_zfuncs/kc: -------------------------------------------------------------------------------- 1 | if [ "$1" = "getall" ]; then 2 | kubectl get crd,pods,svc -A 3 | else 4 | kubectl $@; 5 | fi 6 | 7 | -------------------------------------------------------------------------------- /dot_zfuncs/ks: -------------------------------------------------------------------------------- 1 | if [[ $1 == "ls" ]]; then 2 | ls $2 | grep -av "^kustomization.yaml$" | sed 's/^/- /' 3 | fi 4 | -------------------------------------------------------------------------------- /dot_zprofile: -------------------------------------------------------------------------------- 1 | eval "$(/opt/homebrew/bin/brew shellenv)" 2 | FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}" 3 | -------------------------------------------------------------------------------- /dot_zshrc: -------------------------------------------------------------------------------- 1 | # --------------------------------------------------------------------------------------------------------------------- 2 | # Oh My Zsh! 3 | # --------------------------------------------------------------------------------------------------------------------- 4 | # Path to your oh-my-zsh installation 5 | export ZSH="$HOME/.oh-my-zsh" 6 | 7 | # Disable automatic updates 8 | zstyle ':omz:update' mode disabled 9 | 10 | # Theme (https://github.com/ohmyzsh/ohmyzsh/wiki/Themes) 11 | ZSH_THEME="alanpeabody" 12 | 13 | # Specify cache dir outside of the Oh My Zsh installation 14 | ZSH_CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/ohmyzsh" 15 | 16 | # Enable command auto-correction 17 | # ENABLE_CORRECTION="true" 18 | 19 | # Display red dots whilst waiting for completion 20 | COMPLETION_WAITING_DOTS="true" 21 | 22 | # Disable marking untracked files under VCS as dirty (slow on big repos) 23 | DISABLE_UNTRACKED_FILES_DIRTY="true" 24 | 25 | # Command execution time stamp shown in the history command output 26 | HIST_STAMPS="dd.mm.yyyy" 27 | 28 | # Plugins 29 | plugins=( 30 | aliases # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/aliases 31 | aws # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/aws 32 | direnv # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/direnv 33 | encode64 # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/encode64 34 | gitignore # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitignore 35 | golang # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/golang 36 | gpg-agent # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gpg-agent 37 | heroku # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/heroku 38 | istioctl # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/istioctl 39 | kubectl # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/kubectl 40 | # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/kubectx 41 | macos # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/macos 42 | man # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/man 43 | npm # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/npm 44 | # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/pass 45 | # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/ssh-agent 46 | terraform # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/terraform 47 | thefuck # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/thefuck 48 | vscode # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/vscode 49 | yarn # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/yarn 50 | zsh-syntax-highlighting 51 | ) 52 | 53 | # Init Oh My Zsh 54 | source $ZSH/oh-my-zsh.sh 55 | 56 | # --------------------------------------------------------------------------------------------------------------------- 57 | # Aliases & functions 58 | # --------------------------------------------------------------------------------------------------------------------- 59 | alias cat="bat" 60 | alias gitdaemon="gitserve" 61 | alias gitserve="git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose" 62 | alias kind-reset="kreset" 63 | alias kreset="kind delete cluster && curl -fsSL https://raw.githubusercontent.com/tilt-dev/kind-local/master/kind-with-registry.sh | bash" 64 | alias ls="exa --header --git --group-directories-first --group --oneline" 65 | alias pr="gh pr create --fill; gh pr edit --add-label automerge; gh pr view --web" 66 | alias rebase="current=\$(git branch --show-current); git stash; git switch main; git pull; git switch $current; git rebase; git unstash" 67 | alias rm="trash" 68 | alias serve="http-server -o" 69 | alias uncommit="git reset --soft HEAD^" 70 | alias zshrc="chezmoi edit ~/.zshrc --apply" 71 | 72 | fpath=( ~/.zfuncs "${fpath[@]}" ) 73 | freload() { while (( $# )); do; unfunction $1; autoload -U $1; shift; done } 74 | autoload -Uz helm 75 | autoload -Uz kc 76 | autoload -Uz ks 77 | 78 | # --------------------------------------------------------------------------------------------------------------------- 79 | # Android Studio 80 | # --------------------------------------------------------------------------------------------------------------------- 81 | export ANDROID_HOME="$HOME/Library/Android/sdk" 82 | export ANDROID_SDK_ROOT="$HOME/Library/Android/sdk" 83 | export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin; PATH=$PATH:$ANDROID_HOME/emulator; PATH=$PATH:$ANDROID_HOME/platform-tools 84 | 85 | # --------------------------------------------------------------------------------------------------------------------- 86 | # Bat 87 | # https://github.com/sharkdp/bat 88 | # --------------------------------------------------------------------------------------------------------------------- 89 | export MANPAGER="sh -c 'col -bx | bat -l man -p'" 90 | 91 | # --------------------------------------------------------------------------------------------------------------------- 92 | # Chezmoi 93 | # --------------------------------------------------------------------------------------------------------------------- 94 | command -v chezmoi >/dev/null && . <(chezmoi completion zsh) 95 | 96 | # --------------------------------------------------------------------------------------------------------------------- 97 | # DirEnv 98 | # --------------------------------------------------------------------------------------------------------------------- 99 | export DIRENV_LOG_FORMAT="" 100 | 101 | # --------------------------------------------------------------------------------------------------------------------- 102 | # Flux 103 | # --------------------------------------------------------------------------------------------------------------------- 104 | command -v flux >/dev/null && . <(flux completion zsh) 105 | 106 | # --------------------------------------------------------------------------------------------------------------------- 107 | # Go 108 | # --------------------------------------------------------------------------------------------------------------------- 109 | export GOPATH=$HOME/go 110 | export PATH=$PATH:$GOPATH/bin 111 | 112 | # --------------------------------------------------------------------------------------------------------------------- 113 | # Google Cloud SDK 114 | # --------------------------------------------------------------------------------------------------------------------- 115 | source "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc" 116 | source "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc" 117 | 118 | # --------------------------------------------------------------------------------------------------------------------- 119 | # Homebrew 120 | # --------------------------------------------------------------------------------------------------------------------- 121 | export HOMEBREW_CASK_OPTS=--no-quarantine 122 | 123 | # --------------------------------------------------------------------------------------------------------------------- 124 | # GPG 125 | # --------------------------------------------------------------------------------------------------------------------- 126 | alias pinentry="pinentry-mac" 127 | export GPG_TTY=$(tty) 128 | 129 | # --------------------------------------------------------------------------------------------------------------------- 130 | # SSH 131 | # --------------------------------------------------------------------------------------------------------------------- 132 | # SSH with secretive 133 | # It is more user-friendly than using a GPG subkey because I don't need to have 134 | # my hardware key with me to SSH or sign commits. 135 | export SSH_AUTH_SOCK=$HOME/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh 136 | 137 | # SSH with SmartCard (Yubikey/Ledger) 138 | # export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) 139 | # gpgconf --launch gpg-agent 140 | 141 | # --------------------------------------------------------------------------------------------------------------------- 142 | # Starship 143 | # --------------------------------------------------------------------------------------------------------------------- 144 | eval "$(starship init zsh)" 145 | 146 | # --------------------------------------------------------------------------------------------------------------------- 147 | # Terraform 148 | # --------------------------------------------------------------------------------------------------------------------- 149 | # https://github.com/hashicorp/terraform/issues/21271#issuecomment-491424517 150 | unsetopt nomatch 151 | 152 | # --------------------------------------------------------------------------------------------------------------------- 153 | # TheFuck 154 | # --------------------------------------------------------------------------------------------------------------------- 155 | eval "$(thefuck --alias)" 156 | 157 | # --------------------------------------------------------------------------------------------------------------------- 158 | # Volta 159 | # --------------------------------------------------------------------------------------------------------------------- 160 | export VOLTA_HOME="$HOME/.volta" 161 | export PATH="$VOLTA_HOME/bin:$PATH" 162 | 163 | # https://github.com/volta-cli/volta/issues/927 164 | volta-migrate --no-create 1>/dev/null 165 | 166 | # --------------------------------------------------------------------------------------------------------------------- 167 | # Other stuff (may be legacy) 168 | # --------------------------------------------------------------------------------------------------------------------- 169 | export CURRENT_AWS="echo \"\${AWS_PROFILE:-default}(\${AWS_DEFAULT_REGION:-\${AWS_REGION:-\$(cat ~/.aws/config | sed -n -E \"/\\\[((profile \$AWS_PROFILE)|\${AWS_PROFILE:-default})\\\]/,/\\[/p;/\\\[/d\" | grep region | cut -f2- -d=)}})\"" 170 | -------------------------------------------------------------------------------- /encrypted_dot_netrc.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP MESSAGE----- 2 | 3 | hF4DMadcdehCqzwSAQdAnrKngtQsxtYquBtAZMavco+ofr52wWXRue2vyHeU5UMw 4 | omWszcxtHY5rF9UVvFmLuLY+oAogcP7JORP1qCL1FWTjCCBic7Ihdc3QKnsscNJY 5 | 1LABCQIQ+pM9j8avqiFQoltMIzfQz0DkIrueHXxy48n8XSuN1VMD5CBwDsv1dGgm 6 | 85pHjIYmZayBVofOcMOC0qX2/JQUcPqZcksYpimuSFC53Ym2pbuOHmof8k1NHXYp 7 | lmldRX3Z10aSS+VHuSHH3DSkgUURyPOD7iEJPF9AHX8hXuEOSWXPuLPQAdzyIcr8 8 | yJ3gbSpPwTdHIq9ZmSKkZuNVfP5pwxzbKSNNwy8fsQUMWw== 9 | =4me2 10 | -----END PGP MESSAGE----- 11 | -------------------------------------------------------------------------------- /encrypted_dot_terraformrc.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP MESSAGE----- 2 | 3 | hF4DMadcdehCqzwSAQdANNRhGJt0WhcCZcrojpQW8LvE7tHelcgveG/G4NDgMxUw 4 | 3YJ+YAL0pg8dIKtfR40rAuq/XMhoIoGJZ3miPs2OoXXROYduRHPk6rGBOs65yL4F 5 | 1MAYAQkCENoSyappFazgSPMOtUK0KlNVRHurs3clFYiOFv2Khz/TvhMUIYvYKCj/ 6 | B012R147r9aeZN9tTTPD8CI6eBRJQlMBBBZRS71uqrsA5UN/7LD4Ol9rbybjLVia 7 | 9MOU1ykahrOKKVSE9YxyAL2yByK+UsHY1UnJhDpgW8qu+W2VRkWkvlbhjAcgzB6G 8 | WFb5k+NT3u9VckRNj+Vk/AKd5JuH8j03P/JlN252xfAPgRFUVg840stM6A4nvM5q 9 | HfdqmUPNJ8VhlJ2RjBoJxCW9t9jIgcvJAJDc 10 | =3HHh 11 | -----END PGP MESSAGE----- 12 | -------------------------------------------------------------------------------- /keys/Romain-Barissat.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mDMEYfTF6BYJKwYBBAHaRw8BAQdAYbolMn3ony6tXFfNMrTXUeLz7FA3MDIilLNj 4 | Et0qKGK0JVJvbWFpbiBCYXJpc3NhdCA8cm9tYWluQGJhcmlzc2F0LmNvbT6IlwQT 5 | FgoAPwIbAQULCQgHAgMiAgEGFQoJCAsCBBYCAwECHgcCF4AWIQQ/qALyIxXAlA5E 6 | pR9GkMZQlNknlgUCYfTaWwIZAQAKCRBGkMZQlNknlre0AP0fmLyuNJLfniD9Vg/J 7 | zMHdGxAe/rar/IYc8eMVvAfDxAD+MeM9AjQxCmWbGOhv9Mlx5oxE7xx26D/V36ea 8 | TLK0hQKJAjMEEAEIAB0WIQQSbh6tBtBKbt0c4rmVFkwun2SGTwUCYfTHGgAKCRCV 9 | Fkwun2SGT/hSEACwMvElEw+sQawiAYEl9xPKxFnj6Y7Ac9Yx2PKSOO4znH5DuDXC 10 | wCmmPMu/zQjy1QebpMAcMPnU6BOklTRhp2XadvkGbAb3Rj0x4NpsOtre+WEoF0s/ 11 | MjVcHBoEbd+L8SB6wXLnrmwPNxkBrrOi/IO1iC56uGzDjM3YgNNhZuVJLCOVYP4E 12 | 0oyg6iJcs0bUwK1kUHAYpqT/ZM69XETJmFzBGXZfQfNYk3b6yaILBCJT2XtDkaGP 13 | TFmt1i7hfXdUWKfRRqWpwD+/3p+BcoPtBBmxkV6WCystpg8IQQohhte4uKtE6J0E 14 | +lzOG46NRAY4Pb3DjbULW7DXuXUELti7neI8uMjjOK/gLZzvD07Ph1p32yPIqzFc 15 | /saLTVVH2lSzPRZoMFkjgaaI+NTXtm67G4YojpFmMsuuhKIKGqz+RBb7TNPzU2sa 16 | TBhUJ38/DTc+QHjD4Nyv55v3f6rQMTNw8KapavnWdxao1T+pSrhDaI8sfqF2Y9Uo 17 | wPcpS02th0uWwqedEqu1GgzXJEO00OdyW4KvqB9sliwbPhECCSEoHauKNugzj7q0 18 | ENQHmqQzu/djIJNIPXRUB3YgvB+KWmR5yc4n/qFRLLZN3prNDI1FKwRufyKfbaZT 19 | 4+dObMPiBn22TmchJp5sOy/YwlqctzAtddIcRkPjouYbuVYDk9xPF897coiUBBMW 20 | CgA8FiEEP6gC8iMVwJQORKUfRpDGUJTZJ5YFAmH0xegCGwEFCwkIBwIDIgIBBhUK 21 | CQgLAgQWAgMBAh4HAheAAAoJEEaQxlCU2SeWnMsBAIbxa6SS3yz4Bd4IFGqLKIuE 22 | YqzDMI91KCWQeXVw4RSTAQCFo6f66en5GBjt2QNUzLO9vbqqEcvpaGCBwem6gfXG 23 | D7QtUm9tYWluIEJhcmlzc2F0IDxyb21haW4tbm9yZXBseUBiYXJpc3NhdC5jb20+ 24 | iJQEExYKADwWIQQ/qALyIxXAlA5EpR9GkMZQlNknlgUCYfTPggIbAQULCQgHAgMi 25 | AgEGFQoJCAsCBBYCAwECHgcCF4AACgkQRpDGUJTZJ5bkuQD/V0ZT8+8wFrtmuMvc 26 | Vt4l7oSuw4j27NEXbG0nuiA7KqYA/R3vRcBq4TcWdzg/GN5o8tzcdkCym9CirYGO 27 | /5Pjy8gFuDMEYfTNaxYJKwYBBAHaRw8BAQdAm2Uh9oeWbPIrZ4OOE6ACMGMrwE/r 28 | xyRlzn02vYmO9yiI9QQYFgoAJhYhBD+oAvIjFcCUDkSlH0aQxlCU2SeWBQJh9M1r 29 | AhsCBQkB4TOAAIEJEEaQxlCU2SeWdiAEGRYKAB0WIQTx6IYU6mEO78AFm0GOfJrQ 30 | wOtLfAUCYfTNawAKCRCOfJrQwOtLfOW7AP9g7SLnqV4Gt9u2K/fdkh/fLwX9wWjm 31 | KVo92f+f0vBMMwEAltw+Ko+R+t96LWBR4/PAUhfjz2rG7wheGqQ1sR6nLwFLqgD/ 32 | ed0FvRddWINuSXcJoAU9C4UW7ZlWxLYRdc6RAX9MvfsBAJamoTFiaQrget+zihB8 33 | gojGV3BCK/72WhFFZ1m00JEHuDgEYfTNmxIKKwYBBAGXVQEFAQEHQBCHlLq7BZEl 34 | Esvz+O+q/zqYGPkiiBsZh8NECOA6BgtsAwEIB4h+BBgWCgAmFiEEP6gC8iMVwJQO 35 | RKUfRpDGUJTZJ5YFAmH0zZsCGwwFCQHhM4AACgkQRpDGUJTZJ5biOQEA+rAKRqn6 36 | ehG2G6gZ52nnXNM8WXfZC8ZLxkXR2KJ4JSkA/jxZhwdqitMpF9a84vzAVEN/om0G 37 | HItYQxFBVJ593PUCuQINBGH0zbcBEACtZOwhHX6a0hXfeJtMoob4xMhSq5Ena7d+ 38 | euaT5tVCpUfq5jS7SMcyDkaH3cGRnojAr0OCpGt8FJhowSJUJZunJ2ifJ1A6/TZS 39 | 3AzVhaPq0IOnWtBowSd1bvyXdaAdF5CjpcR59MQbF+aLx+Q5vEtigSBXrF3FS87k 40 | Q371ruLvr4Xr906Lig/wehkcSTh9xgUmUYLF3E6S8LRxPB2hs7QUkdfbEIAId1gg 41 | J7AJNKZa8NteCdoKp+UiCxc7Y7oBTZt00S8wAPubzDjNFvb7r6XEM/VgKcs/OfIM 42 | kM9lud9ol7U5qu9SFXoyohGynxQnF8O+Pxnw9OGq0MU949DHY1e6l01xiwxf7kwn 43 | Csvuv1exSODXLZbTW83ezaSq9aC/T5NvD5rzr32XiJ0ObZi8/rNlDKWau0HmsxV2 44 | pBxeo79ouLm6ao6uXaMJ+c7cwpGUBa3mxBCDmfo7R+QPXQQLVncIu8O1G8FN9iVa 45 | nZLpRGjUBQ/mHUXOdPZRGqbpPUQgR3bSZvcbgaG0ViTHsIn1SbO5NC8HwcYajdeJ 46 | S9V2PRzV8mxfUlQRW3GofoBpO7Par4ZuNibdMijZLeiLT2VXlZyrs4iP8jUoTiE4 47 | XgxEEgDPTDNb6O1OZEhxkF7gmh6/1cEchbHqtCllBUy6F6crXGSU1l6KCGdAFIPG 48 | oVSZQ8qp2QARAQABiH4EGBYKACYWIQQ/qALyIxXAlA5EpR9GkMZQlNknlgUCYfTN 49 | twIbIAUJAeEzgAAKCRBGkMZQlNknlgMkAP9gTj7O99hK3nxUblDp/bB7B3vP/B3N 50 | 0mCPpSQo9VuiiAD/Z4zgYsBQ4W0jNHCVEIuXKj2ysuAJh4vrhcECMgJ3KQ8= 51 | =kL9I 52 | -----END PGP PUBLIC KEY BLOCK----- 53 | 54 | -------------------------------------------------------------------------------- /keys/hashicorp.asc: -------------------------------------------------------------------------------- 1 | # https://www.hashicorp.com/security 2 | 3 | -----BEGIN PGP PUBLIC KEY BLOCK----- 4 | 5 | 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 122 | ZF5q4h4I33PSGDdSvGXn9UMY5Isjpg== 123 | =7pIB 124 | -----END PGP PUBLIC KEY BLOCK----- 125 | -------------------------------------------------------------------------------- /keys/olivr.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | 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 84 | 2ZWZH/cAMr2u0qhgjHz74gFcXzcu9udAiQ== 85 | =9Cw8 86 | -----END PGP PUBLIC KEY BLOCK----- 87 | -------------------------------------------------------------------------------- /keys/tflint.asc: -------------------------------------------------------------------------------- 1 | # https://github.com/terraform-linters/tflint/blob/master/8CE69160EB3F2FE9.key 2 | 3 | -----BEGIN PGP PUBLIC KEY BLOCK----- 4 | 5 | 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 99 | =oseb 100 | -----END PGP PUBLIC KEY BLOCK----- 101 | -------------------------------------------------------------------------------- /keys/tfsec.asc: -------------------------------------------------------------------------------- 1 | # https://github.com/aquasecurity/tfsec/blob/master/SIGNING.md 2 | 3 | -----BEGIN PGP PUBLIC KEY BLOCK----- 4 | 5 | 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 52 | nX5QmAEwF/nBYV3Du7TIvHtz91yL8A== 53 | =opqY 54 | -----END PGP PUBLIC KEY BLOCK----- 55 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/Alfred/Alfred.alfredpreferences/preferences/features/defaultresults/prefs.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | applicationFuzzyType 6 | 1 7 | applicationUseKeywords 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/Alfred/Alfred.alfredpreferences/preferences/local/2146c53033a358e2d5f3f27410c9d79fab0b6de5/appearance/prefs.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/Alfred/Alfred.alfredpreferences/preferences/local/2146c53033a358e2d5f3f27410c9d79fab0b6de5/features/clipboard/prefs.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | enabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/Alfred/Alfred.alfredpreferences/preferences/local/2146c53033a358e2d5f3f27410c9d79fab0b6de5/hotkey/prefs.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | default 6 | 7 | key 8 | 49 9 | mod 10 | 1048576 11 | string 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/Alfred/Alfred.alfredpreferences/preferences/local/a0acccf4dd137af9c7938640a0296fe7c1fbd74a/appearance/prefs.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/Alfred/Alfred.alfredpreferences/preferences/local/a0acccf4dd137af9c7938640a0296fe7c1fbd74a/features/clipboard/prefs.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | enabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/Alfred/Alfred.alfredpreferences/preferences/local/a0acccf4dd137af9c7938640a0296fe7c1fbd74a/hotkey/prefs.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | default 6 | 7 | key 8 | 49 9 | mod 10 | 1048576 11 | string 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/Alfred/Workflow Data/com.yannickglt.alfred4.devdocs/aliases.json: -------------------------------------------------------------------------------- 1 | {"terraform":["tf"],"typescript":["ts"],"postgresql~14":["pg"],"javascript":["js"]} -------------------------------------------------------------------------------- /private_Library/private_Application Support/Alfred/Workflow Data/com.yannickglt.alfred4.devdocs/docs.json: -------------------------------------------------------------------------------- 1 | {"terraform":{"name":"Terraform","slug":"terraform","type":"terraform","links":{"home":"https:\/\/www.terraform.io\/","code":"https:\/\/github.com\/hashicorp\/terraform"},"release":"0.11.7","mtime":1531085140,"db_size":8289722,"fullName":"Terraform"},"node":{"name":"Node.js","slug":"node","type":"node","links":{"home":"https:\/\/nodejs.org\/","code":"https:\/\/github.com\/nodejs\/node"},"version":"","release":"17.4.0","mtime":1642868412,"db_size":4482562,"fullName":"Node.js"},"javascript":{"name":"JavaScript","slug":"javascript","type":"mdn","mtime":1641727331,"db_size":10870545,"fullName":"JavaScript"},"typescript":{"name":"TypeScript","slug":"typescript","type":"typescript","links":{"home":"https:\/\/www.typescriptlang.org","code":"https:\/\/github.com\/Microsoft\/TypeScript"},"release":"4.5.2","mtime":1637197264,"db_size":1259645,"fullName":"TypeScript"},"postgresql~14":{"name":"PostgreSQL","slug":"postgresql~14","type":"postgres","links":{"home":"https:\/\/www.postgresql.org\/","code":"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git"},"version":"14","release":"14.1","mtime":1642868321,"db_size":8072422,"fullName":"PostgreSQL 14"},"go":{"name":"Go","slug":"go","type":"go","links":{"home":"https:\/\/golang.org\/","code":"https:\/\/go.googlesource.com\/go"},"release":"1.17.5","mtime":1640127583,"db_size":3536453,"fullName":"Go"},"css":{"name":"CSS","slug":"css","type":"mdn","mtime":1640128557,"db_size":14237576,"fullName":"CSS"},"html":{"name":"HTML","slug":"html","type":"mdn","mtime":1642869104,"db_size":5273595,"fullName":"HTML"},"docker~19":{"name":"Docker","slug":"docker~19","type":"simple","links":{"home":"https:\/\/docker.com\/","code":"https:\/\/github.com\/docker\/docker"},"version":"19","release":"19.03","mtime":1565018323,"db_size":5340967,"fullName":"Docker 19"},"express":{"name":"Express","slug":"express","type":"express","links":{"home":"http:\/\/expressjs.com\/","code":"https:\/\/github.com\/strongloop\/express\/"},"release":"4.17.1","mtime":1606255538,"db_size":351894,"fullName":"Express"},"bash":{"name":"Bash","slug":"bash","type":"bash","links":{"home":"https:\/\/www.gnu.org\/software\/bash\/","code":"http:\/\/git.savannah.gnu.org\/cgit\/bash.git"},"release":"5.1","mtime":1634798647,"db_size":804638,"fullName":"Bash"}} -------------------------------------------------------------------------------- /private_Library/private_Application Support/Many Tricks/Licenses/encrypted_Romain Barissat.moomlicense.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP MESSAGE----- 2 | 3 | hF4DMadcdehCqzwSAQdANVK6XSCFdbnf9wCX3YcvRgLMWACDjJLb/syqKjQUC2kw 4 | RxXM4tMxZ0xLMq7+XiVQ7NHelpaddQrc6fgXj3zADtWNH5r4Xg7yBxGtfZJKWDDZ 5 | 1MEMAQkCEHfWNt+59KRfTX2YqGsDm/HhLhndkSNaotOK5WzdPrctwEeAM//OgBWE 6 | KgBgUBD6Y6Eqpb0d9Lj5Gctq5cOHczKXvMZeqhQ88D7zsIEodE5gzlAGiwtdgj4m 7 | ZA8R925HZAJbbrNp894CZNwq12AjwTDPRamECojzZnSlILLdvVai1VAdDFQRpekA 8 | 8oWnelLH+0rPufelHdGncRSuhywKE8cEgLKfzOp90Ftmh2JJFzrAdjCidV8pQDom 9 | 1mzYcEyEvnB69n2p0CputhEjczlfHAzlHzioFiUtGGD7pG7MsTRBlPupOBv1MEV6 10 | UIw1KCvjDTwzxcBxcQVqUeAtfuIG4UE3e0f3lFxBHeubALPlP4t6neyKJaYsnYFq 11 | QfzQ6ulXGcnY05jFzfjb030kXyUUQ6eTzjCQNg/niGI3km/MfiM0BPGJqK3okpwo 12 | O5l9/sYM8BY0B9boLogeLXp4IbP4KtoXPUtxqSq/w7+DpkaGdPRwzLd8adkmsHF1 13 | H3mNJEoBizlAk+y+sgDP14EwEIVsvXuznTNoef2TyIV7aWs0l3comRENWvAEWvTl 14 | 8sNCL2cs6F1/HSxVt0uf/b9czRAgPZY5QElptH6Law== 15 | =+SWc 16 | -----END PGP MESSAGE----- 17 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/private_Code/User/keybindings.json: -------------------------------------------------------------------------------- 1 | // Place your key bindings in this file to override the defaults 2 | [] 3 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/private_Code/User/settings.json.tmpl: -------------------------------------------------------------------------------- 1 | { 2 | /**********/ 3 | /* ESLint */ 4 | /**********/ 5 | "eslint.alwaysShowStatus": true, 6 | "eslint.packageManager": "yarn", 7 | "eslint.validate": [ 8 | "html", 9 | "javascript", 10 | "javascriptreact", 11 | "json", 12 | "json5", 13 | "jsonc", 14 | "toml", 15 | "typescript", 16 | "vue", 17 | "yaml" 18 | ], 19 | "eslint.workingDirectories": [ 20 | { 21 | "mode": "auto" 22 | } 23 | ], 24 | /************/ 25 | /* Markdown */ 26 | /************/ 27 | "markdown.preview.fontFamily": "Calibri, Roboto, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', 'Ubuntu', 'Droid Sans', sans-serif", 28 | /*************/ 29 | /* Terraform */ 30 | /*************/ 31 | "terraform.languageServer": { 32 | "external": true, 33 | "pathToBinary": "", 34 | "args": ["serve"], 35 | "maxNumberOfProblems": 100, 36 | "trace.server": "off" 37 | }, 38 | /*******/ 39 | /* Vue */ 40 | /*******/ 41 | "attrsSorter.order": [ 42 | "is", 43 | "v-for", 44 | "v-if", 45 | "v-else-if", 46 | "v-else", 47 | "v-show", 48 | "v-cloak", 49 | "v-once", 50 | "v-pre", 51 | "id", 52 | "ref", 53 | "key", 54 | "slot", 55 | "v-model", 56 | "v-model.+", 57 | "v-bind", 58 | "v-bind.+", 59 | ":.+", 60 | "v-text", 61 | "v-text.+", 62 | "v-html", 63 | "v-html.+", 64 | "class", 65 | "v-on.+", 66 | "@.+", 67 | "name", 68 | "data-.+", 69 | "ng-.+", 70 | "src", 71 | "for", 72 | "type", 73 | "href", 74 | "values", 75 | "title", 76 | "alt", 77 | "role", 78 | "aria-.+", 79 | "$unknown$" 80 | ], 81 | /*****************/ 82 | /* Spell-checker */ 83 | /*****************/ 84 | "cSpell.userWords": [ 85 | "astack", 86 | "automerge", 87 | "autosquash", 88 | "bara", 89 | "Barissat", 90 | "builtins", 91 | "Copybara", 92 | "finalizer", 93 | "Finalizers", 94 | "iife", 95 | "kanban", 96 | "Keybase", 97 | "Kubernetes", 98 | "Octokit", 99 | "Oliv'r", 100 | "olivr", 101 | "Polystartup", 102 | "repos", 103 | "Romain", 104 | "symlink", 105 | "vitepress" 106 | ], 107 | "cSpell.ignorePaths": [ 108 | "**/node_modules", 109 | "**/.git", 110 | "**/vendor", 111 | "**/.terraform", 112 | "**/dist" 113 | ], 114 | /*******************/ 115 | /* Code formatting */ 116 | /*******************/ 117 | "editor.formatOnSave": true, 118 | "editor.formatOnType": true, 119 | "editor.formatOnPaste": true, 120 | "editor.codeActionsOnSave": { 121 | "source.fixAll.eslint": true, 122 | "source.organizeImports": true 123 | }, 124 | "editor.defaultFormatter": "esbenp.prettier-vscode", 125 | "[helm]": { 126 | "editor.formatOnSave": false 127 | }, 128 | "[prisma]": { 129 | "editor.defaultFormatter": "Prisma.prisma", 130 | "editor.formatOnSave": true 131 | }, 132 | "[terraform]": { 133 | "editor.formatOnSave": true, 134 | "editor.defaultFormatter": "hashicorp.terraform" 135 | }, 136 | "typescript.extension.sortImports.sortOnSave": true, 137 | "typescript.extension.sortImports.quoteStyle": "double", 138 | "javascript.preferences.importModuleSpecifierEnding": "js", 139 | "typescript.preferences.importModuleSpecifierEnding": "js", 140 | "sqltools.format": { 141 | "linesBetweenQueries": 2, 142 | "reservedWordCase": "upper" 143 | }, 144 | "sqltools.results": { "location": "next" }, 145 | "rewrap.autoWrap.enabled": true, 146 | "rewrap.onSave": true, //https://github.com/stkb/Rewrap/issues/165 147 | /************/ 148 | /* Terminal */ 149 | /************/ 150 | "terminal.integrated.fontFamily": "MesloLGL Nerd Font", 151 | "terminal.integrated.shell.osx": "/bin/zsh", 152 | "terminal.integrated.env.osx": { 153 | "STARSHIP_CONFIG": "${env:HOME}/.config/starship.vscode.toml", 154 | "FIG_NEW_SESSION": "1" 155 | }, 156 | /**********/ 157 | /* Editor */ 158 | /**********/ 159 | "editor.fontFamily": "'Rec Mono Duotone', Menlo, Monaco, 'Courier New', monospace", 160 | "editor.fontLigatures": true, 161 | "editor.fontLigatures": "'ss01','ss03', 'ss06'", 162 | "editor.fontSize": 14, 163 | "editor.lineHeight": 22, 164 | "editor.bracketPairColorization.enabled": true, 165 | "editor.guides.bracketPairs": "active", 166 | "editor.suggestSelection": "first", 167 | "editor.tabSize": 2, 168 | "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", 169 | "workbench.iconTheme": "file-icons", 170 | "cSpell.enableFiletypes": ["!plaintext"], 171 | "terminal.integrated.confirmOnExit": true, 172 | "files.associations": { 173 | "*.tfvars": "terraform", 174 | ".tflint.hcl": "terraform", 175 | "*.tf.tpl": "terraform", 176 | ".env": "shellscript", 177 | "*.yaml.tpl": "helm", 178 | "*.yml.tpl": "helm", 179 | "*.hcl": "terraform", 180 | ".yamllint": "yaml" 181 | }, 182 | "redhat.telemetry.enabled": false, 183 | "terraform-ls.terraformExecPath": "{{ if eq .chezmoi.arch "arm64" }}/opt/homebrew{{ else }}/usr/local{{ end }}/bin/terraform", 184 | "vs-kubernetes": { 185 | "vs-kubernetes.kubectl-path": "{{ if eq .chezmoi.arch "arm64" }}/opt/homebrew{{ else }}/usr/local{{ end }}/bin/kubectl", 186 | "vs-kubernetes.helm-path": "{{ if eq .chezmoi.arch "arm64" }}/opt/homebrew{{ else }}/usr/local{{ end }}/bin/helm", 187 | "vs-kubernetes.knownKubeconfigs": [ 188 | "/Users/romain/Downloads/caesar-kubeconfig.yaml" 189 | ], 190 | "vs-kubernetes.kubeconfig": "/Users/romain/Downloads/caesar-kubeconfig.yaml" 191 | }, 192 | "shellcheck.customArgs": ["-x"], 193 | "editor.accessibilitySupport": "off", 194 | "go.toolsManagement.autoUpdate": true, 195 | "workbench.startupEditor": "none", 196 | "workbench.colorCustomizations": {}, 197 | "workbench.editor.openSideBySideDirection": "down", 198 | "editor.inlineSuggest.enabled": true, 199 | "github.copilot.enable": { 200 | "*": true, 201 | "yaml": true, 202 | "plaintext": false, 203 | "markdown": true 204 | }, 205 | "editor.renderWhitespace": "all", 206 | "zenMode.fullScreen": false, 207 | "window.autoDetectColorScheme": true, 208 | "workbench.preferredLightColorTheme": "Atom One Light", 209 | "workbench.preferredDarkColorTheme": "One Dark Pro", 210 | "workbench.colorTheme": "One Dark Pro", 211 | "vale.valeCLI.path": "{{ if eq .chezmoi.arch "arm64" }}/opt/homebrew{{ else }}/usr/local{{ end }}/bin/vale", 212 | "shellcheck.executablePath": "{{ if eq .chezmoi.arch "arm64" }}/opt/homebrew{{ else }}/usr/local{{ end }}/bin/shellcheck", 213 | "linter.linters": { 214 | "eslint": { 215 | "enabled": false 216 | }, 217 | "markdownlint": { 218 | "enabled": false 219 | }, 220 | "shellcheck": { 221 | "enabled": false 222 | }, 223 | "stylelint": { 224 | "enabled": false 225 | }, 226 | "vale": { 227 | "enabled": false 228 | } 229 | }, 230 | "sourcegraph.url": "https://sourcegraph.com" 231 | } 232 | -------------------------------------------------------------------------------- /private_dot_gnupg/gpg-agent.conf.tmpl: -------------------------------------------------------------------------------- 1 | pinentry-program {{ expandenv "$HOMEBREW_PREFIX/bin/pinentry-mac" }} 2 | enable-ssh-support 3 | -------------------------------------------------------------------------------- /private_dot_gnupg/gpg.conf.tmpl: -------------------------------------------------------------------------------- 1 | default-key {{ .gpgkey }} 2 | -------------------------------------------------------------------------------- /private_dot_gnupg/scdaemon.conf: -------------------------------------------------------------------------------- 1 | reader-port "Ledger Token [Nano S] (0001) 01 00" 2 | allow-admin 3 | enable-pinpad-varlen 4 | -------------------------------------------------------------------------------- /private_dot_gnupg/sshcontrol.tmpl: -------------------------------------------------------------------------------- 1 | {{ .gpg_ssh_keygrip }} 2 | -------------------------------------------------------------------------------- /run_once_after_configure-apps-darwin.sh.tmpl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | {{ if (eq .chezmoi.os "darwin") -}} 3 | 4 | # --------------------------------------------------------------------------------------------------------------------- 5 | # Amphetamine settings 6 | # --------------------------------------------------------------------------------------------------------------------- 7 | killall Amphetamine 8 | # Start session as soon as Amphetamine starts 9 | defaults write com.if.Amphetamine "Start Session At Launch" -bool true 10 | 11 | # --------------------------------------------------------------------------------------------------------------------- 12 | # Docker settings 13 | # --------------------------------------------------------------------------------------------------------------------- 14 | # Disable automatic updates 15 | killall Docker 16 | defaults write com.docker.docker SUAutomaticallyUpdate -bool false 17 | defaults write com.docker.docker SUEnableAutomaticChecks -bool false 18 | open -a Docker 19 | 20 | # --------------------------------------------------------------------------------------------------------------------- 21 | # GPG settings 22 | # --------------------------------------------------------------------------------------------------------------------- 23 | gpg-connect-agent reloadagent /bye 24 | 25 | # --------------------------------------------------------------------------------------------------------------------- 26 | # Homebrew settings 27 | # --------------------------------------------------------------------------------------------------------------------- 28 | # https://github.com/Homebrew/homebrew-autoupdate/issues/10 29 | mkdir -p ~/Library/LaunchAgents 30 | # https://github.com/Homebrew/homebrew-autoupdate/issues/14 31 | sudo touch ~/Library/LaunchAgents/com.github.domt4.homebrew-autoupdate.plist 32 | sudo chown $(whoami) ~/Library/LaunchAgents/com.github.domt4.homebrew-autoupdate.plist 33 | # Auto-upgrade apps every week 34 | echo "Deleting any autoupdate plist before enabling autoupdate" 35 | brew autoupdate delete && brew autoupdate start 604800 --upgrade 36 | 37 | # --------------------------------------------------------------------------------------------------------------------- 38 | # Mail settings 39 | # --------------------------------------------------------------------------------------------------------------------- 40 | killall Mail 41 | # Copy email addresses as `foo@example.com` instead of `Foo Bar ` in Mail.app 42 | defaults write com.apple.mail AddressesIncludeNameOnPasteboard -bool false 43 | 44 | # --------------------------------------------------------------------------------------------------------------------- 45 | # Moom settings 46 | # --------------------------------------------------------------------------------------------------------------------- 47 | killall Moom 48 | # Disable automatic updates 49 | defaults write com.manytricks.Moom SUEnableAutomaticChecks -bool false 50 | # Run as faceless mode 51 | defaults write com.manytricks.Moom "Application Mode" -int 2 52 | open -a Moom 53 | 54 | # --------------------------------------------------------------------------------------------------------------------- 55 | # OneDrive settings 56 | # --------------------------------------------------------------------------------------------------------------------- 57 | # iPhone backups are located in OneDrive 58 | mkdir -p ~/Library/Application\ Support/MobileSync 59 | ln -s ~/Library/CloudStorage/OneDrive-Personal/iPhone\ backup ~/Library/Application\ Support/MobileSync/Backup 60 | 61 | # --------------------------------------------------------------------------------------------------------------------- 62 | # Safari settings 63 | # --------------------------------------------------------------------------------------------------------------------- 64 | killall Safari 65 | # Privacy: don’t send search queries to Apple 66 | defaults write com.apple.Safari UniversalSearchEnabled -bool false 67 | defaults write com.apple.Safari SuppressSearchSuggestions -bool true 68 | # Privacy: Enable “Do Not Track” 69 | defaults write com.apple.Safari SendDoNotTrackHTTPHeader -bool true 70 | # Disable AutoFill 71 | defaults write com.apple.Safari AutoFillFromAddressBook -bool false 72 | defaults write com.apple.Safari AutoFillPasswords -bool false 73 | defaults write com.apple.Safari AutoFillCreditCardData -bool false 74 | defaults write com.apple.Safari AutoFillMiscellaneousForms -bool false 75 | # Update extensions automatically 76 | defaults write com.apple.Safari InstallExtensionUpdatesAutomatically -bool true 77 | 78 | # --------------------------------------------------------------------------------------------------------------------- 79 | # Terminal settings 80 | # --------------------------------------------------------------------------------------------------------------------- 81 | # Make sure Terminal is using the Basic profile 82 | defaults write com.apple.Terminal "Default Window Settings" -string Basic 83 | defaults write com.apple.Terminal "Startup Window Settings" -string Basic 84 | # Only use UTF-8 85 | defaults write com.apple.terminal StringEncodings -array 4 86 | # Set font preferences 87 | # To get the current font name, use: osascript -e "tell application \"Terminal\" to get the font name of window 1" 88 | osascript -e "tell application \"Terminal\" to set font name of settings set \"Basic\" to \"MesloLGLNerdFontComplete-Regular\"" 89 | osascript -e "tell application \"Terminal\" to set font size of settings set \"Basic\" to 18" 90 | # Enable numpad support for Logitech MX Keys 91 | /usr/libexec/PlistBuddy -c "Delete :'Window Settings':Basic:StrictVTKeypad" ~/Library/Preferences/com.apple.Terminal.plist 92 | /usr/libexec/PlistBuddy -c "Add :'Window Settings':Basic:StrictVTKeypad bool false" ~/Library/Preferences/com.apple.Terminal.plist 93 | # https://docs.brew.sh/Shell-Completion#configuring-completions-in-zsh 94 | chmod -R go-w "$(brew --prefix)/share" 95 | 96 | # --------------------------------------------------------------------------------------------------------------------- 97 | # TextEdit settings 98 | # --------------------------------------------------------------------------------------------------------------------- 99 | killall TextEdit 100 | # Set default TextEdit document format as plain text 101 | defaults write com.apple.TextEdit "RichText" -bool "false" 102 | # Open and save files as UTF-8 103 | defaults write com.apple.TextEdit PlainTextEncoding -int 4 104 | defaults write com.apple.TextEdit PlainTextEncodingForWrite -int 4 105 | 106 | # --------------------------------------------------------------------------------------------------------------------- 107 | # Make chezmoi use Git with SSH 108 | # --------------------------------------------------------------------------------------------------------------------- 109 | cd "{{ .chezmoi.sourceDir }}" 110 | CHEZMOI_SSH_URL=$(git remote get-url origin | sed -Ene's#https://([^/]*)/([^/]*/.*.git)#git@\1:\2#p') 111 | [[ -z $CHEZMOI_SSH_URL ]] || git remote set-url origin $CHEZMOI_SSH_URL 112 | 113 | {{ end -}} 114 | -------------------------------------------------------------------------------- /run_once_before_1-prepare-system.sh.tmpl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Import known keys 4 | gpg --import {{ .chezmoi.sourceDir }}/keys/* 5 | # Link secret keys to Smart Card (Yubikey, Ledger, etc.) 6 | gpg-connect-agent "scd serialno" "learn --force" /bye 7 | 8 | # Install Rosetta on Mac m1 9 | {{ if (and (eq .chezmoi.os "darwin") (eq .chezmoi.arch "arm64")) }} 10 | softwareupdate --install-rosetta --agree-to-license 11 | {{ end }} 12 | -------------------------------------------------------------------------------- /run_once_before_2-configure-system-darwin.sh.tmpl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | {{ if (eq .chezmoi.os "darwin") -}} 3 | 4 | osascript -e 'tell application "System Preferences" to quit' 5 | 6 | # --------------------------------------------------------------------------------------------------------------------- 7 | # Global settings 8 | # --------------------------------------------------------------------------------------------------------------------- 9 | # Set default screenshot location 10 | defaults write com.apple.screencapture "location" -string "~/Documents/Screenshots" && killall SystemUIServer 11 | # Do not autogather large files when submitting a feedback report 12 | defaults write com.apple.appleseed.FeedbackAssistant "Autogather" -bool "false" 13 | # Disable automatic capitalization 14 | defaults write -g NSAutomaticCapitalizationEnabled -bool false 15 | # Enable smart dashes 16 | defaults write -g NSAutomaticDashSubstitutionEnabled -bool true 17 | # Prevent Photos from opening automatically when devices are plugged in 18 | defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool true && killall Photos 19 | # Save/Print modals are auto-expanded by default 20 | defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true 21 | defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true 22 | # Trackpad: enable tap to click for this user and for the login screen 23 | defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true 24 | defaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 1 25 | defaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 1 26 | 27 | # --------------------------------------------------------------------------------------------------------------------- 28 | # Security settings 29 | # --------------------------------------------------------------------------------------------------------------------- 30 | # Enable TouchID for sudo 31 | ! grep -q pam_tid.so /etc/pam.d/sudo && sudo gsed -i '2iauth sufficient pam_tid.so' /etc/pam.d/sudo 32 | # Disable Gatekeeper 33 | sudo spctl --master-disable 34 | # Disable Airplay receiver 35 | # https://www.tenable.com/audits/items/CIS_Apple_macOS_13.0_Ventura_v1.0.0_L1.audit:7ec4f921542292406e0217a0e1a6cad6 36 | defaults -currentHost write com.apple.controlcenter.plist AirplayRecieverEnabled -bool false 37 | # Ensure Secure Keyboard Entry in Terminal is enabled 38 | defaults write -app Terminal SecureKeyboardEntry -bool true 39 | 40 | # --------------------------------------------------------------------------------------------------------------------- 41 | # AuthorizationDB settings 42 | # The authorizationdb settings cannot be written to directly, so the plist must be exported out to temporary file 43 | # --------------------------------------------------------------------------------------------------------------------- 44 | # Export AuthorizationDB settings to temporary file 45 | sudo security authorizationdb read system.preferences > /tmp/system.preferences.plist 46 | 47 | # Require an administrator password to access system-wide preferences 48 | # https://www.tenable.com/audits/CIS_Apple_macOS_11_v2.0.0_L1 49 | sudo defaults write /tmp/system.preferences.plist shared -bool false 50 | 51 | # Import AuthorizationDB settings from temporary file 52 | sudo security authorizationdb write system.preferences < /tmp/system.preferences.plist 53 | 54 | # --------------------------------------------------------------------------------------------------------------------- 55 | # Dock settings 56 | # --------------------------------------------------------------------------------------------------------------------- 57 | # Set dock position 58 | defaults write com.apple.dock orientation -string "right" 59 | # Set the icon size of Dock items in pixels 60 | defaults write com.apple.dock "tilesize" -int 43 61 | # Minimize windows into their application’s icon 62 | defaults write com.apple.dock minimize-to-application -bool false 63 | # Enable launch animation 64 | defaults write com.apple.dock launchanim -bool true 65 | # Show indicator lights for open applications in the Dock 66 | defaults write com.apple.dock show-process-indicators -bool true 67 | # Don’t show recent applications in Dock 68 | defaults write com.apple.dock show-recents -bool false 69 | # Clear Dock of all default icons and set my own 70 | defaults write com.apple.dock persistent-others -array 71 | defaults write com.apple.dock persistent-apps -array\ 72 | 'tile-datafile-data_CFURLString/Applications/Firefox.app_CFURLStringType0'\ 73 | 'tile-datafile-data_CFURLString/System/Applications/Mail.app_CFURLStringType0'\ 74 | 'tile-datafile-data_CFURLString/Applications/Visual Studio Code.app_CFURLStringType0'\ 75 | 'tile-datafile-data_CFURLString/System/Applications/Utilities/Terminal.app_CFURLStringType0'\ 76 | 'tile-datafile-data_CFURLString/Applications/XMind.app_CFURLStringType0' 77 | 78 | killall Dock 79 | 80 | # --------------------------------------------------------------------------------------------------------------------- 81 | # Finder settings 82 | # --------------------------------------------------------------------------------------------------------------------- 83 | # Show hidden files in the Finder 84 | defaults write com.apple.Finder "AppleShowAllFiles" -bool "true" 85 | # Allowing text selection in Quick Look/Preview in Finder by default 86 | defaults write com.apple.finder QLEnableTextSelection -bool true 87 | # When performing a search, search the current folder by default 88 | defaults write com.apple.finder FXDefaultSearchScope -string "SCcf" 89 | # Use list view in all Finder windows by default 90 | defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv" 91 | defaults write com.apple.finder SearchRecentsSavedViewStyle -string "Nlsv" 92 | # Disable creation of metadata files on external volumes 93 | defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true 94 | defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true 95 | # Empty Trash securely by default 96 | defaults write com.apple.finder EmptyTrashSecurely -bool true 97 | # Remove CMD+Space shortcut for Spotlight (So Alfred can use it) 98 | /usr/libexec/PlistBuddy ~/Library/Preferences/com.apple.symbolichotkeys.plist -c "Delete :AppleSymbolicHotKeys:64" 99 | /usr/libexec/PlistBuddy ~/Library/Preferences/com.apple.symbolichotkeys.plist -c "Add :AppleSymbolicHotKeys:64:enabled bool false" 100 | 101 | killall Finder 102 | 103 | # --------------------------------------------------------------------------------------------------------------------- 104 | # Firewall settings 105 | # --------------------------------------------------------------------------------------------------------------------- 106 | # Enable firewall 107 | sudo defaults write /Library/Preferences/com.apple.alf globalstate -int 1 108 | sudo defaults write /Library/Preferences/com.apple.alf stealthenabled -int 1 109 | 110 | #launchctl unload /System/Library/LaunchAgents/com.apple.alf.useragent.plist 111 | #sudo launchctl unload /System/Library/LaunchDaemons/com.apple.alf.agent.plist 112 | #sudo launchctl load /System/Library/LaunchDaemons/com.apple.alf.agent.plist 113 | #launchctl load /System/Library/LaunchAgents/com.apple.alf.useragent.plist 114 | 115 | # --------------------------------------------------------------------------------------------------------------------- 116 | # Software Update settings 117 | # --------------------------------------------------------------------------------------------------------------------- 118 | # Automatically check for updates 119 | sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool true 120 | # Download updates automatically in the background 121 | sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -bool true 122 | # Install macos updates automatically 123 | sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates -bool true 124 | # Install system data file updates automatically 125 | sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate ConfigDataInstall -bool true 126 | # Install critical security updates automatically 127 | sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CriticalUpdateInstall -bool true 128 | # Check for software updates daily, not just once per week 129 | sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate ScheduleFrequency -int 1 130 | # Install app updates automatically 131 | defaults write com.apple.commerce AutoUpdate -bool true 132 | 133 | {{ end -}} 134 | -------------------------------------------------------------------------------- /run_once_before_3-install-packages-darwin.sh.tmpl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | {{ if (eq .chezmoi.os "darwin") -}} 3 | 4 | # Close App Store apps in case this script updates them 5 | killall Amphetamine iMovie OneDrive "The Unarchiver" Xcode XMind 6 | 7 | # Disable quarantine for casks 8 | export HOMEBREW_CASK_OPTS=--no-quarantine 9 | 10 | brew bundle 11 | 12 | {{ end -}} 13 | 14 | # Install latest stable version of Node.js 15 | volta install node 16 | 17 | # Install latest versions of global Node.js packages 18 | npm install -g\ 19 | stylelint@latest\ 20 | textlint@latest\ 21 | typescript@latest\ 22 | nx@latest 23 | -------------------------------------------------------------------------------- /run_once_before_4-build-apps-darwin.sh.tmpl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | {{ if (eq .chezmoi.os "darwin") -}} 3 | 4 | cd $(mktemp -d) 5 | 6 | # PG Modeler 7 | git clone https://github.com/pgmodeler/pgmodeler.git && cd pgmodeler && git checkout main 8 | export HOMEBREW_PREFIX=$(brew --prefix) 9 | $HOMEBREW_PREFIX/opt/qt@5/bin/qmake PGSQL_LIB=$HOMEBREW_PREFIX/opt/libpq/lib/libpq.dylib PGSQL_INC=$HOMEBREW_PREFIX/opt/libpq/include -r pgmodeler.pro 10 | make -j $(expr $(getconf _NPROCESSORS_ONLN) + 1) 11 | make install 12 | 13 | cd $(mktemp -d) 14 | 15 | # PenPot 16 | nativefier "https://design.penpot.app" --name Penpot --darwin-dark-mode-support 17 | rm -rf /Applications/Penpot.app 18 | mv Penpot*/Penpot.app /Applications 19 | rm -rf Penpot* 20 | 21 | # Reclaim 22 | curl -s https://app.reclaim.ai/img/icons/apple-touch-icon.png -o reclaim.png 23 | nativefier "https://app.reclaim.ai/tasks" --name Reclaim --darwin-dark-mode-support --single-instance --honest --internal-urls ".*?" --icon reclaim.png 24 | rm -rf /Applications/Reclaim.app 25 | mv Reclaim*/Reclaim.app /Applications 26 | rm -rf reclaim.png Reclaim* 27 | {{ end -}} 28 | --------------------------------------------------------------------------------