{"id":16676207,"url":"https://github.com/maartenstaa/dotfiles","last_synced_at":"2025-12-26T08:32:28.852Z","repository":{"id":190657149,"uuid":"153833690","full_name":"MaartenStaa/dotfiles","owner":"MaartenStaa","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-16T09:31:45.000Z","size":1033,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-16T11:50:08.458Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Nix","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/MaartenStaa.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-10-19T19:45:08.000Z","updated_at":"2025-09-16T09:31:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"c1177687-8d2b-41e6-96cf-4f72d4a85282","html_url":"https://github.com/MaartenStaa/dotfiles","commit_stats":null,"previous_names":["maartenstaa/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MaartenStaa/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaartenStaa%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaartenStaa%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaartenStaa%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaartenStaa%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaartenStaa","download_url":"https://codeload.github.com/MaartenStaa/dotfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaartenStaa%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28050310,"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","status":"online","status_checked_at":"2025-12-26T02:00:06.189Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-10-12T13:09:36.273Z","updated_at":"2025-12-26T08:32:28.847Z","avatar_url":"https://github.com/MaartenStaa.png","language":"Nix","readme":"# Maarten's dotfiles repo\n\nThese are my dotfiles, managed using nix/nix-darwin/nix-homebrew. At the moment,\nthey contain the configurations for my work and private MacBook Pro, but I may\nexpand them in the future for my homelab (which is currently managed\nimperatively).\n\n## Installation\n\nMake sure this repository is cloned in `~/.dotfiles`. Some parts of the\nconfiguration rely on this, to work around a known symlink issue (see Issues\nbelow).\n\nFirst, install Nix. I like using [nix-installer].\n\n```sh\ncurl -fsSL https://install.determinate.systems/nix | sh -s -- install --determinate\n```\n\nNext, after sourcing the Nix shell functions or opening a new shell, run\n`nix-darwin` and `home-manager` to switch the appropriate configuration:\n\n```sh\nmake switch MACHINE_NAME=\u003cname\u003e\n```\n\nThe very first time this may not work, since `nix-darwin` is not yet available.\nTo fix that, run it from the Nix source directly:\n\n```sh\nsudo nix run nix-darwin#darwin-rebuild -- switch --flake .#\u003cmachine-name\u003e\n```\n\nIn this case, also check the known issues below for SSH agent caveats. After\nrunning the above, refer to the various `make switch` commands to take care\nof the Home Manager activation as well.\n\n## Updates\n\n### Updating Flake inputs \u0026 nvfetcher sources\n\n```sh\nmake upgrade MACHINE_NAME=\u003cname\u003e\n```\n\nThis will pull in updates, let you commit the changes, and switch to the new\nconfiguration.\n\n### Activating new version\n\nAfter making changes to the configuration, switch to the new configuration:\n\n```sh\nmake switch MACHINE_NAME=\u003cname\u003e\n```\n\n### Non-flake inputs\n\nThis repository uses [nv-fetcher] to manage inputs that aren't flakes. These\ninputs are defined in `nvfetcher.toml`. They can be updated like this:\n\n```sh\nmake update-sources\n```\n\nNote that running `make upgrade` already takes care of updating the non-flake\ninputs too.\n\n### Upgrading Nix\n\nAs mentioned in the [nix-installer] readme, you can run the following command to\nthe latest recommended version of Nix:\n\n```sh\nsudo -i nix upgrade-nix\n```\n\n## Home Manager versus nix-darwin\n\nThese dotfiles use both Home Manager and nix-darwin separately from each other,\nmainly to work around nix-darwin requiring running with sudo, and HM not liking\nthis too much (possibly especially with Determinate Nix).\n\nThis means nix-darwin and its `darwin-rebuild` is used for system-level\nconfiguration, including managing Homebrew, whereas Home Manager is used\nto handle installed packages and their configurations (e.g. files under `~/.config`).\n\nIn general, `make switch` will switch both nix-darwin and Home Manager, but\nthey can be switched separately from each other if required:\n\n```sh\nmake switch-nix-darwin MACHINE_NAME=\u003cname\u003e\nmake switch-home-manager MACHINE_NAME=\u003cname\u003e\n```\n\n## Uninstalling\n\nIf, for some reason, you need to uninstall Nix, you should be able to use run\n`/nix/nix-installer uninstall`, assuming you've used [nix-installer] as\nmentioned above.\n\n## Issues\n\n- The first installation might be a little rough, particularly when using the\n  1Password SSH agent, for sources fetched over SSH. Running `make switch` with\n  `SSH_AUTH_SOCK=\u003cpath\u003e` set may help.\n\n- It is currently not possible to symlink directly to a file or directory using\n  `mkOutOfStoreSymlink`, as the symlink will point into the Nix store, rather\n  than to `~/.dotfiles/...` as expected. As such, instead of\n\n  ```nix\n  xdg.configFile.\"program\" = {\n    source = config.lib.file.mkOutOfStoreSymlink ./config;\n  };\n  ```\n\n  You need to pass an absolute file path:\n\n  ```nix\n  xdg.configFile.\"program\" = {\n    source = config.lib.file.mkOutOfStoreSymlink \"${config.home.homeDirectory}/.dotfiles/modules/program/config\";\n  };\n  ```\n\n[nix-installer]: https://github.com/DeterminateSystems/nix-installer?tab=readme-ov-file\n[nv-fetcher]: https://github.com/berberman/nvfetcher\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaartenstaa%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaartenstaa%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaartenstaa%2Fdotfiles/lists"}