{"id":13837893,"url":"https://github.com/midchildan/dotfiles","last_synced_at":"2025-07-10T19:31:08.292Z","repository":{"id":7354314,"uuid":"44468964","full_name":"midchildan/dotfiles","owner":"midchildan","description":"My personal dotfiles.","archived":false,"fork":false,"pushed_at":"2025-06-30T17:57:23.000Z","size":2829,"stargazers_count":31,"open_issues_count":1,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-30T18:48:37.126Z","etag":null,"topics":["doom-emacs","dotfiles","home-manager","nix","tmux","vim","zsh"],"latest_commit_sha":null,"homepage":"https://www.midchildan.org/dotfiles/","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/midchildan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2015-10-18T07:09:51.000Z","updated_at":"2025-06-21T19:11:19.000Z","dependencies_parsed_at":"2024-02-15T11:27:12.966Z","dependency_job_id":"4783810d-4fa2-4030-8859-66e4ce80ed90","html_url":"https://github.com/midchildan/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/midchildan/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/midchildan%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/midchildan%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/midchildan%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/midchildan%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/midchildan","download_url":"https://codeload.github.com/midchildan/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/midchildan%2Fdotfiles/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264639838,"owners_count":23642313,"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":["doom-emacs","dotfiles","home-manager","nix","tmux","vim","zsh"],"created_at":"2024-08-04T15:01:29.558Z","updated_at":"2025-07-10T19:31:07.924Z","avatar_url":"https://github.com/midchildan.png","language":"Nix","funding_links":[],"categories":["Nix"],"sub_categories":[],"readme":"# dotfiles\n\ndotfiles for my personal use.\n\n[![Build][build-badge]][build-url]\n\n## Requirements\n\n### Nix Package Manager\n\nConsult the following for more details.\n\n- [Official website](https://nixos.org)\n- [Official docs](https://nixos.org/learn.html)\n\n## Installation\n\n### Step 1: Preparation\n\nDrop into a [nix-shell][nix-shell] with the following command. This would\ndownload some commands required for setup, open a new temporary shell, and make\nthe commands available through `PATH`.\n\n```console\n$ system=\"$(nix-instantiate --eval -E 'builtins.currentSystem' | tr -d '\"')\"\n$ nix-shell -A \"devShells.$system.setup\" 'https://github.com/midchildan/dotfiles/archive/main.tar.gz'\n$\n```\n\n### Step 2: Setup your repository\n\nFork this repository and clone it to your location of choice. Then edit\n`nix/config.nix` and commit the changes.\n\n```console\n$ git clone https://github.com/${USER}/dotfiles.git ~/Documents/src/repos/github.com/${USER}/dotfiles\n$ cd ~/Documents/src/repos/github.com/${USER}/dotfiles\n$ nvim nix/config.nix\n$ git commit -am 'chore: adjust config.nix for my own use'\n```\n\n### Step 3: Checkout the relevant branch\n\nUsing the table in the [Supported Platforms](#supported-platforms) section,\ncheckout the most relevant branch for your platform. Note that instead of\nchecking out your chosen branch directly, it is recommended that you create a\n`local` branch based on your chosen branch that is tied to your local machine\nand check it out to a separate path for deployment. This way, you can make edits\non any branch without affecting your current configuration.\n\n```console\n$ git branch --track local  # create local branch\n$ git worktree add ~/.config/dotfiles local  # checkout local branch\n```\n\n### Step 4: Symlink dotfiles\n\nRun the setup script. This script would symlink files in [files](files) to your\nhome directory. It should be run each time changes are made to your dotfiles\neven after bootstrapping is complete. The `--init` flag indicates that this is\nthe first time you've run this script.\n\n```console\n$ ./setup.sh --init\n```\n\n### Step 5: Bootstrap NixOS / Nix-Darwin / Home Manager Configuration\n\nFor details about each, read the docs linked below. Pick the ones you need and\nconfigure them as needed before proceeding.\n\n| Software     | File                                         | Required? |\n| ------------ | -------------------------------------------- | --------- |\n| Home Manager | [nix/home/README.md](nix/home/README.md)     | yes       |\n| NixOS        | [nix/nixos/README.md](nix/nixos/README.md)   | no        |\n| Nix-Darwin   | [nix/darwin/README.md](nix/darwin/README.md) | no        |\n\nBootstrapping instructions for each are listed below. Home Manager can\noptionally be integrated into NixOS or Nix-Darwin. If you do this, NixOS or\nNix-Darwin would take care of bootstrapping Home Manager for you.\n\n- Home Manager:\n\n```console\n$ nix run '.#home' -- switch --flake .\n```\n\n- NixOS:\n\n```console\n$ sudo nix --experimental-features 'nix-command flakes' run '.#os' -- switch --flake '.#'\n```\n\n- nix-darwin:\n\n```console\n$ nix --experimental-features 'nix-command flakes' run '.#os' -- switch --flake '.#'\n$ sudo -H nix-env -e '*' # remove existing packages not managed by nix-darwin\n```\n\n## Supported platforms\n\n| branch | platform |\n| ------ | -------- |\n| main   | Linux    |\n| osx    | macOS    |\n\nIn addition to the platforms listed above, support for one-off remote Linux\nsessions is included in the `gh-pages` branch. This is useful in cases where\nit's cumbersome to maintain a full-blown dotfiles, e.g. docker sessions, servers\nyou rarely login to directly, etc. Notably, this branch doesn't require Nix. See\n[here](https://www.midchildan.org/dotfiles) for details.\n\nChanges common to all platforms should first be made in `main`, and then merged\ninto the remaining branches. Make sure you never go the other way and merge\nnon-`main` branches into `main` or you'll end up with non-common\nplatform-specific stuff in `main`.\n\n\u003c!-- prettier-ignore-start --\u003e\n[build-badge]: https://github.com/midchildan/dotfiles/actions/workflows/build.yaml/badge.svg\n[build-url]: https://github.com/midchildan/dotfiles/actions/workflows/build.yaml\n[nix-shell]: https://nixos.wiki/wiki/Development_environment_with_nix-shell\n\u003c!-- prettier-ignore-end --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmidchildan%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmidchildan%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmidchildan%2Fdotfiles/lists"}