{"id":23533354,"url":"https://github.com/necojackarc/dotfiles","last_synced_at":"2025-04-22T22:41:41.378Z","repository":{"id":25851265,"uuid":"29290953","full_name":"necojackarc/dotfiles","owner":"necojackarc","description":"My dotfiles","archived":false,"fork":false,"pushed_at":"2025-04-10T09:32:57.000Z","size":320,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T10:50:04.994Z","etag":null,"topics":["bash","dotfiles","editorconfig","gem","git","pry","rspec","tmux","vim"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/necojackarc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-01-15T09:48:41.000Z","updated_at":"2025-04-10T09:33:01.000Z","dependencies_parsed_at":"2025-01-30T17:24:06.654Z","dependency_job_id":"9d8e4b7d-3882-4fda-98b9-c956d88f275e","html_url":"https://github.com/necojackarc/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/necojackarc%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/necojackarc%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/necojackarc%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/necojackarc%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/necojackarc","download_url":"https://codeload.github.com/necojackarc/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250337287,"owners_count":21414092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","dotfiles","editorconfig","gem","git","pry","rspec","tmux","vim"],"created_at":"2024-12-25T23:14:54.563Z","updated_at":"2025-04-22T22:41:41.370Z","avatar_url":"https://github.com/necojackarc.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dotfiles\n\nMy dotfiles\n\n## Supported OSs\n\n* Linux\n* macOS\n\n## Dependencies\n\n### Linux\n\n* gcc (vimproc)\n* make (vimproc)\n* xsel (tmux-yank)\n\n### macOS\n\n* reattach-to-user-namespace (tmux-yank)\n\n## Installation\nClone this repository:\n\n```sh\n$ git clone --recursive git@github.com:necojackarc/dotfiles.git ~/dotfiles\n```\n\nIn case you don't want to overwrite some of your dotfiles in `$HOME`, edit `setup.sh`.\n\nExecute the following commands to create symlinks to the dotfiles:\n\n```sh\n$ chmod +x ~/dotfiles/setup.sh\n$ ~/dotfiles/setup.sh\n```\n\nTo make the most of it, install the following packages:\n\n### Git commit signing with GPG\n\nAs Git with my configuration always attempts to sign a commit, you have to have a GPG key in your machine.\nGenerate a new key if you don't have any but make sure your name and email are the same as your Git ones.\n\n- [Managing commit signature verification](https://docs.github.com/en/authentication/managing-commit-signature-verification)\n\nSet the generated GPG key ID by adding the following to `$HOME/.env`, which is not part of this repository but always loaded from 'profile':\n\n```bash\nexport GIT_CONFIG_PARAMETERS=\"'user.signingkey=\u003cYOUR GPG KEY ID\u003e'\"\n```\n\nIf you see an error, you can debug with `GIT_TRACE=1`. If you find something wrong in your GPG key, you can edit it with `gpg --edit-key \u003cKEY_ID\u003e`.\n\n#### Mac\n\nOn Max, you need to have `gpg-suite` installed. Plus, you also need to use `gpg2`:\n\n```bash\nexport GIT_CONFIG_PARAMETERS=\"'user.signingkey=\u003cYOUR GPG KEY ID\u003e' 'gpg.program=gpg2'\"\n```\n\nTo enable this configuration, run `killall gpg-agent`.\n\n### CLI tools\n\n* [direnv](https://github.com/direnv/direnv)\n* [fzf](https://github.com/junegunn/fzf)\n* [gh](https://github.com/cli/cli)\n* [ghq](https://github.com/motemen/ghq)\n* [git-delta](https://github.com/dandavison/delta)\n* [mise](https://github.com/jdx/mise)\n* [ripgrep](https://github.com/BurntSushi/ripgrep)\n* [tig](https://github.com/jonas/tig)\n* [tmux](https://github.com/tmux/tmux)\n* [vim-plug](https://github.com/junegunn/vim-plug)\n\n### tmux\nAfter the initial run, do `Ctrl+B -\u003e Shift+I` to install all plugins.\n\n### Vim\nRun `PlugInstall` to install all plugins.\n\n### mise\nYou can install commonly used tools easily such as:\n\n- `mise install node`\n- `mise install postgres`\n- `mise install awscli`\n- `mise install granted`\n  - See [AWS Switch Roles](https://github.com/necojackarc/til/blob/master/aws/switch-roles.md)\n\nYou can check the installed versions with `mise ls`.\n\n## Tips\n\n### Set computer-specific environment variables\n\nWhen you'd like to set environment variables that you don't like to commit to the repo but want to set as regular environment variables applied to the logged-in user, you can use a `~/.env` file.\n`~/.env` is loaded in .profile, so place `.env` in your home directory.\n\n### Set directory-specific environment variables\n\n`direnv` allows you to set directory-specific variables by placing `.envrc` in the target directory. That file is loaded and unloaded when you get into and get out of that directory.\n\n### Show `***DANGER***` in the prompt message\n\nSet `export IS_DANGER=true` in an `.envrc` where you'd like to display `***DANGER***`.\n\n### Docker Compose\nIn some environments, they still refer to the old command `docker-compose`. To cope with that, I'd recommend adding the following executable instead of adding an alias:\n\n```bash\n#!/bin/bash\ndocker compose \"$@\"\n```\n\nThen run `chmod +x /usr/local/bin/docker-compose`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnecojackarc%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnecojackarc%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnecojackarc%2Fdotfiles/lists"}