{"id":26244504,"url":"https://github.com/tjmaynes/config-nix","last_synced_at":"2025-07-13T15:37:57.073Z","repository":{"id":38103285,"uuid":"374151480","full_name":"tjmaynes/config-nix","owner":"tjmaynes","description":"Configuration files for my workstations using nixos, nix-darwin and home-manager.","archived":false,"fork":false,"pushed_at":"2022-10-06T15:14:48.000Z","size":633,"stargazers_count":14,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-30T01:23:44.893Z","etag":null,"topics":["automation","home-manager","nix","nix-darwin","nixos"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tjmaynes.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}},"created_at":"2021-06-05T15:41:20.000Z","updated_at":"2025-01-23T19:04:31.000Z","dependencies_parsed_at":"2023-01-19T12:47:17.931Z","dependency_job_id":null,"html_url":"https://github.com/tjmaynes/config-nix","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/tjmaynes%2Fconfig-nix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjmaynes%2Fconfig-nix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjmaynes%2Fconfig-nix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjmaynes%2Fconfig-nix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tjmaynes","download_url":"https://codeload.github.com/tjmaynes/config-nix/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250468277,"owners_count":21435454,"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":["automation","home-manager","nix","nix-darwin","nixos"],"created_at":"2025-03-13T11:27:48.354Z","updated_at":"2025-04-23T16:20:46.404Z","avatar_url":"https://github.com/tjmaynes.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Config\n\u003e Configuration files for my workstations using `nixos`, `nix-darwin` and `home-manager`.\n\n## Requirements\n\n- [GNU Make](https://www.gnu.org/software/make/)\n- [Nix](https://nixos.org/download.html)\n\n## Background\n\n| Host                                                       | Usage                                       | Tools                       | Status |\n| :--------------------------------------------------------- | :-----------------------------------------: | :-------------------------: | :----: |\n| [apollo](https://en.wikipedia.org/wiki/apollo)             | ubuntu dev workstation                      | ubuntu / home-manager       | ✅ |\n| [glaucus](https://en.wikipedia.org/wiki/Glaucus)           | full nixos dev workstation                  | nixos / home-manager        | ✅ |\n| [gaia](https://en.wikipedia.org/wiki/Gaia)                 | macos apple silicon (personal) workstation  | nix-darwin / home-manager   | ✅ |\n| [demeter](https://en.wikipedia.org/wiki/Demeter)           | macos intel (personal) workstation          | nix-darwin / home-manager   | ✅ |\n\n## Usage\nTo install `gaia` on an Silicon Mac, run the following command:\n```bash\nmake install_gaia\n```\n\nTo install `demeter` on an Intel Mac, run the following command:\n```bash\nmake install_demeter\n```\n\nTo install `glaucus` on a new NixOS machine, run the following command:\n```bash\nmake install_glaucus\n```\n\nTo install `apollo` on a new Ubuntu machine, run the following command:\n```bash\nmake install_apollo\n```\n\nTo reload local changes, run the following command:\n```bash\nmake reload\n```\n\n## Setting up NixOS on a new machine\n\n```bash\n# login as root\nsudo -i\n\n# download repo\ncurl -SL https://github.com/tjmaynes/config/archive/master.tar.gz | tar xz\ncd config-main\n\n# download dotfiles\nrm -rf dotfiles\ncurl -SL https://github.com/tjmaynes/dotfiles/archive/master.tar.gz | tar xz\nmv dotfiles-main dotfiles\n\n# Cannot create partitions through automation\n# -- too much headache and bugs with parted\n\nparted /dev/sda\n\nmklabel gpt\n\nmkpart \"BOOT\" fat32 1MiB 3MiB \\\n  set 1 esp on\n\nmkpart \"root\" ext4 1000MiB ${NIX_PARTITION}000MiB\n\nmkpart \"swap\" linux-swap ${NIX_PARTITION}000MiB 100% \\\n  set 3 swap on\n\n# run installer\n./scripts/install.sh \"glaucus\" \"nixos\" \"tjmaynes\"\n\n# change password\npasswd \"tjmaynes\"\n\n# reboot\nreboot\n\n# login as user in GUI\n\n# open terminal\nctrl+enter\n\n# create new keys\nssh-keygen -t ed25519 -C \"your-email\"\ncat ~/.ssh/id_ed25519.pub | pbcopy\n\n# clone config repo\npclone config\nmake install_glaucus\n```\n\n## Notes\n\n- I learned quite a bit of NixOS-specific concepts from Malloc47's [config repo](https://github.com/malloc47/config).\n- Learning how to setup nextcloud on NixOS via this [blog post](https://jacobneplokh.com/how-to-setup-nextcloud-on-nixos/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjmaynes%2Fconfig-nix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftjmaynes%2Fconfig-nix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjmaynes%2Fconfig-nix/lists"}