{"id":16717832,"url":"https://github.com/xoolive/dotfiles","last_synced_at":"2026-05-19T11:06:35.959Z","repository":{"id":244515051,"uuid":"815343205","full_name":"xoolive/dotfiles","owner":"xoolive","description":"Personal dotfiles under version control","archived":false,"fork":false,"pushed_at":"2025-01-16T15:49:48.000Z","size":104,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T00:49:33.600Z","etag":null,"topics":["dotfiles"],"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/xoolive.png","metadata":{"files":{"readme":".github/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":"2024-06-14T22:49:33.000Z","updated_at":"2025-01-16T15:49:49.000Z","dependencies_parsed_at":"2024-07-14T16:07:27.944Z","dependency_job_id":"d407f32e-9d43-4228-8396-1d2fa6805482","html_url":"https://github.com/xoolive/dotfiles","commit_stats":null,"previous_names":["xoolive/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xoolive","download_url":"https://codeload.github.com/xoolive/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243713420,"owners_count":20335567,"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":["dotfiles"],"created_at":"2024-10-12T21:34:07.761Z","updated_at":"2026-05-19T11:06:30.924Z","avatar_url":"https://github.com/xoolive.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Version controlled .dotfiles\n\nI synchronize this folder across several macOS and Linux computers, even if there are different approaches to deal with installations:\n\n- the [Homebrew](https://brew.sh) approach for macOS;\n- a more _compile what you need_ approach with Linux (mostly `cargo install` based).\n\nA description of how to install several environments are available in the `.github` folder:\n\n- `brew.sh` for the installed Homebrew packages (macOS)\n- `go.sh` for the Golang environment (installed through brew)\n- `volta.sh` for the Volta (Javascript) environment\n- `latex.sh` for a lightweight LaTeX installation (macOS)\n- `ocaml.sh` for the opam environment\n- `python.sh` for Python and uv tools\n- `rust.sh` for the Rust tool suite (Linux)\n\n## Miscellaneous\n\n- Use TouchID for sudo (macOS), in /etc/pam.d/\n\n  ```sh\n  # sudo_local: local config file which survives system update and is included for sudo\n  # uncomment following line to enable Touch ID for sudo\n  auth       sufficient     pam_tid.so\n  ```\n\n- Keyboard layout\n\n  I use a specific French variant of the Dvorak keyboard layout (no, not bépo), and like to use Caps Lock as an extra Ctrl key. All the settings are described in [xoolive/dvorak-fr](https://github.com/xoolive/dvorak-fr).\n\n  Read more about it in the [Dvorak zine](https://www.dvzine.org/)\n\n## Setup\n\nJust clone this repository in the `~/.dotfiles/` folder:\n\n```zsh\ngit clone --bare git@github.com:xoolive/dotfiles ~/.dotfiles\n```\n\nThe `home` command is defined in `.zsh.d/30_alias.zsh` and used as a replacement for `git`.\n\n```zsh\nalias home='git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'\n```\n\nIt is preferable to have a `*` in the `.gitignore` for this repository, but it may conflict with the global `~/.gitignore`, hence the following setting:\n\n```zsh\nhome config core.excludesFile '.gitignore_dotfiles'\n```\n\nTo start with:\n- run `echo '*' \u003e ~/.gitignore_dotfiles`\n- run `home status` and compare files, proceed cautiously\n\nThe settings are based for my environment with:\n\n- **zsh** as a default shell  \n  [oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh) as a configuration framework\n\n  Optional plugins: [spaceship](https://github.com/spaceship-prompt/spaceship-prompt) (prompt), [zsh-completions](https://github.com/zsh-users/zsh-completions) and [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting).\n\n- **vim** as a principal terminal editor  \n  [vim-plug](https://github.com/junegunn/vim-plug) for plugin management\n\nUseful for copy-pasting:\n\n```zsh\ngit clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM}/plugins/zsh-completions\ngit clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM}/plugins/zsh-syntax-highlighting\ngit clone https://github.com/spaceship-prompt/spaceship-prompt.git \"$ZSH_CUSTOM/themes/spaceship-prompt\" --depth=1\nln -s \"$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme\" \"$ZSH_CUSTOM/themes/spaceship.zsh-theme\"\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxoolive%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxoolive%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxoolive%2Fdotfiles/lists"}