* updating arch for new developer focused content * remove about codespaces from child list * Devcontainer updates * rearranging for new getting started content * reorganizing and renaming getting started * Add VS to tool switcher * Actually adding correct key for vscode * Adding vscode as a switcher value * Adding switcher to quickstart * Updates to quickstart * adding first draft of creating your codespace * taking out additional line and linking to customizing your codespace docs * Update new codespace img * Updating devcontainer.json for docs * fixing changes and adding more ideas for deep dive * adding a few more changes to the deep dive * suggestings from jake and expanding the deep dive * re-writing some content * adding information about a shallow clone * add more information about dev containers * adding feedback * Apply suggestions from code review Co-authored-by: Felicity Chapman <felicitymay@github.com> * adding a note box to committing section * adding correct link for default container * improving deep dive based on feedback * making some edits, adding diagrams and images, and making it seem less like a wall of text * addinig new image * updating port forwarding diagram * removing duplicated redirects * updating overview with feedback from Matt and a more active voice * updating quickstart based on feedback * updating deep dive based on feedback * remove updates for switcher * Clarify that dotfiles are opt-in Per https://github.com/github/codespaces/issues/3223 * fixing header size * moving codespace higher up the list * updating based on feedback from Martin and Meg Co-authored-by: Allison Weins <3174849+2percentsilk@users.noreply.github.com> Co-authored-by: Felicity Chapman <felicitymay@github.com> Co-authored-by: Jake Shorty <jshorty@github.com> Co-authored-by: James M. Greene <JamesMGreene@github.com>
76 lines
5.6 KiB
Markdown
76 lines
5.6 KiB
Markdown
---
|
||
title: Personalizing Codespaces for your account
|
||
intro: 'You can personalize {% data variables.product.prodname_codespaces %} by using a `dotfiles` repository on {% data variables.product.product_name %} or by using Settings Sync.'
|
||
permissions: 'Anyone can personalize {% data variables.product.prodname_codespaces %} for their user account.'
|
||
redirect_from:
|
||
- /github/developing-online-with-github-codespaces/personalizing-github-codespaces-for-your-account
|
||
- /github/developing-online-with-codespaces/personalizing-codespaces-for-your-account
|
||
- /codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account
|
||
versions:
|
||
fpt: '*'
|
||
type: how_to
|
||
topics:
|
||
- Codespaces
|
||
- Set up
|
||
- Fundamentals
|
||
shortTitle: Personalize your account
|
||
---
|
||
|
||
{% data reusables.codespaces.release-stage %}
|
||
|
||
## About personalizing {% data variables.product.prodname_codespaces %}
|
||
|
||
When using any development environment, customizing the settings and tools to your preferences and workflows is an important step. {% data variables.product.prodname_codespaces %} allows for two main ways of personalizing your codespaces.
|
||
|
||
- [Settings Sync](#settings-sync) - You can use and share {% data variables.product.prodname_vscode %} settings between {% data variables.product.prodname_codespaces %} and other instances of {% data variables.product.prodname_vscode %}.
|
||
- [Dotfiles](#dotfiles) – You can use a public `dotfiles` repository to specify scripts, shell preferences, and other configurations.
|
||
|
||
{% data variables.product.prodname_codespaces %} personalization applies to any codespace you create.
|
||
|
||
Project maintainers can also define a default configuration that applies to every codespace for a repository, created by anyone. For more information, see "[Configuring {% data variables.product.prodname_codespaces %} for your project](/github/developing-online-with-codespaces/configuring-codespaces-for-your-project)."
|
||
|
||
## Settings Sync
|
||
|
||
Settings Sync allows you to share configurations such as settings, keyboard shortcuts, snippets, extensions, and UI state across machines and instances of {% data variables.product.prodname_vscode %}.
|
||
|
||
Settings Sync is on by default. To configure any settings, in the bottom-left corner of the Activity Bar, select {% octicon "gear" aria-label="The gear icon" %} and click **Settings Sync is on**. From the dialog, you can choose to configure, show settings and data, or turn off Settings Sync.
|
||
|
||

|
||
|
||
For more information, see the [Settings Sync guide](https://code.visualstudio.com/docs/editor/settings-sync) in the {% data variables.product.prodname_vscode %} documentation.
|
||
|
||
## Dotfiles
|
||
|
||
Dotfiles are files and folders on Unix-like systems starting with `.` that control the configuration of applications and shells on your system. You can store and manage your dotfiles in a repository on {% data variables.product.prodname_dotcom %}. For advice and tutorials about what to include in your `dotfiles` repository, see [GitHub does dotfiles](https://dotfiles.github.io/).
|
||
|
||
If your user account on {% data variables.product.prodname_dotcom %} owns a public repository named `dotfiles`, {% data variables.product.prodname_dotcom %} can automatically use this repository to personalize your codespace environment, once enabled from your [personal Codespaces settings](https://github.com/settings/codespaces). Private `dotfiles` repositories are not currently supported.
|
||
|
||
Your `dotfiles` repository might include your shell aliases and preferences, any tools you want to install, or any other codespace personalization you want to make.
|
||
|
||
When you create a new codespace, {% data variables.product.prodname_dotcom %} clones your `dotfiles` repository to the codespace environment, and looks for one of the following files to set up the environment.
|
||
|
||
* _install.sh_
|
||
* _install_
|
||
* _bootstrap.sh_
|
||
* _bootstrap_
|
||
* _script/bootstrap_
|
||
* _setup.sh_
|
||
* _setup_
|
||
* _script/setup_
|
||
|
||
If none of these files are found, then any files or folders in `dotfiles` starting with `.` are symlinked to the codespace's `~` or `$HOME` directory.
|
||
|
||
Any changes to your `dotfiles` repository will apply only to each new codespace, and do not affect any existing codespace.
|
||
|
||
{% note %}
|
||
|
||
**Note:** Currently, {% data variables.product.prodname_codespaces %} does not support personalizing the _User_ settings for the {% data variables.product.prodname_vscode %} editor with your `dotfiles` repository. You can set default _Workspace_ and _Remote [Codespaces]_ settings for a specific project in the project's repository. For more information, see "[Configuring {% data variables.product.prodname_codespaces %} for your project](/github/developing-online-with-codespaces/configuring-codespaces-for-your-project#creating-a-custom-codespace-configuration)."
|
||
|
||
{% endnote %}
|
||
|
||
You can also configure settings for your user account to add encrypted secrets, enable GPG verification, and allow your codespaces to access other repositories. For more information, see "[Managing encrypted secrets for {% data variables.product.prodname_codespaces %}](/github/developing-online-with-codespaces/managing-encrypted-secrets-for-codespaces)", "[Managing GPG verification for {% data variables.product.prodname_codespaces %}](/github/developing-online-with-codespaces/managing-gpg-verification-for-codespaces)", and "[Managing access and security for {% data variables.product.prodname_codespaces %}](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces)."
|
||
|
||
## Further reading
|
||
|
||
* "[Creating a new repository](/github/creating-cloning-and-archiving-repositories/creating-a-new-repository)"
|