{"id":19296759,"url":"https://github.com/viasnake/dotfiles","last_synced_at":"2026-05-18T07:09:16.174Z","repository":{"id":257900147,"uuid":"873086956","full_name":"viasnake/dotfiles","owner":"viasnake","description":"@viasnake dotfiles","archived":false,"fork":false,"pushed_at":"2026-05-10T01:34:19.000Z","size":228,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-10T03:36:35.855Z","etag":null,"topics":["dotfiles","dotfiles-linux","dotfiles-macos","dotfiles-windows","dotfiles-wsl","dotfiles-zorin","fish"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":false,"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/viasnake.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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2024-10-15T15:21:06.000Z","updated_at":"2026-05-10T01:34:24.000Z","dependencies_parsed_at":"2024-11-15T01:19:16.678Z","dependency_job_id":"6b219fe7-5da1-4585-8101-c534241d5565","html_url":"https://github.com/viasnake/dotfiles","commit_stats":{"total_commits":83,"total_committers":1,"mean_commits":83.0,"dds":0.0,"last_synced_commit":"ea092dc31ef0ee1cae634f50e82ec7b18085e999"},"previous_names":["viasnake/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/viasnake/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viasnake%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viasnake%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viasnake%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viasnake%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/viasnake","download_url":"https://codeload.github.com/viasnake/dotfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viasnake%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33168910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T05:43:36.989Z","status":"ssl_error","status_checked_at":"2026-05-18T05:43:19.133Z","response_time":71,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["dotfiles","dotfiles-linux","dotfiles-macos","dotfiles-windows","dotfiles-wsl","dotfiles-zorin","fish"],"created_at":"2024-11-09T23:00:29.174Z","updated_at":"2026-05-18T07:09:16.169Z","avatar_url":"https://github.com/viasnake.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dotfiles\n\nPersonal dotfiles for macOS, Linux, and WSL2.\n\nThis repository is a chezmoi source state. `.chezmoiroot` points chezmoi at\n`home/`, so files under `home/` are rendered into `$HOME`.\n\n## Quick Start\n\nInstall the minimum tools needed to clone this repository and run `make`.\n\n```bash\n# macOS\nxcode-select --install\n\n# Debian / Ubuntu / WSL2\nsudo apt-get update\nsudo apt-get install -y curl git make\n```\n\nThen apply the dotfiles:\n\n```bash\ngit clone https://github.com/viasnake/dotfiles.git\ncd dotfiles\nmake init\n```\n\n## Local Settings\n\nUser-specific chezmoi data belongs in:\n\n```text\n~/.config/chezmoi/chezmoi.toml\n```\n\nThe managed template for that file is:\n\n```text\nhome/dot_config/chezmoi/create_private_chezmoi.toml.tmpl\n```\n\nUse it for profile names, Git identity, Bitwarden item IDs, and SSH attachment\nnames. To apply a different profile once:\n\n```bash\nDOTFILES_PROFILE=work make apply\n```\n\nBitwarden-backed secrets and SSH keys require an unlocked Bitwarden session:\n\n```bash\nbw login --apikey\nexport BW_SESSION=\"$(bw unlock --raw)\"\nmake apply\n```\n\n## Commands\n\nRun `make help` for the current target list.\n\nCommon targets:\n\n```bash\nmake init\nmake apply\nmake dry-run\nmake status\nmake diff\nmake verify\nmake managed\n```\n\nMake targets print command boundaries through `script/log-run` so long\n`chezmoi`, `gh`, and container logs are easier to scan. Disable color when\nneeded:\n\n```bash\nDOTFILES_LOG_COLOR=never make dry-run\n```\n\nAdditional maintenance targets:\n\n```bash\nmake apply-scripts\nmake skills-install\nmake skills-update\nmake skills-update-dry-run\nmake test-ubuntu-container\nmake test-ubuntu24-container\nmake test-ubuntu24-container-full\nmake test-macos-docker-osx-preflight\nmake test-macos-docker-osx-smoke\nmake remove-managed\n```\n\n## Agent Skills\n\nDesired GitHub-backed skills are listed in:\n\n```text\nagent-skills.tsv\n```\n\nInstall or update them with:\n\n```bash\nmake skills-install\nmake skills-update\n```\n\nBy default, installation targets both `codex` and `opencode`. Override the\ntarget list when needed:\n\n```bash\nmake skills-install SKILL_AGENTS=\"codex opencode\"\n```\n\nFor a single target agent, `SKILL_AGENT` remains supported:\n\n```bash\nmake skills-install SKILL_AGENT=opencode\n```\n\n## OpenCode\n\nOpenCode config lives in:\n\n```text\nhome/dot_config/opencode/\n```\n\nApply it with chezmoi and run OpenCode normally:\n\n```bash\nmake apply\nopencode\n```\n\n## Fonts\n\nFont installation is manual. The Ghostty config expects Firge Nerd fonts:\n\n```text\nhttps://github.com/yuru7/Firge/releases\n```\n\n## Verification\n\nUse dry-runs before applying broad changes:\n\n```bash\nmake dry-run\nchezmoi --source \"$PWD\" apply --dry-run --verbose\n```\n\nFor Ubuntu container checks:\n\n```bash\nmake test-ubuntu-container\nGITHUB_TOKEN=\u003cgithub-token\u003e make test-ubuntu-container-full\n```\n\nBy default, `make test-ubuntu-container` validates Ubuntu 20.04 and 26.04.\nSet `UBUNTU_TEST_VERSIONS` to override the matrix:\n\n```bash\nmake test-ubuntu-container UBUNTU_TEST_VERSIONS=\"20.04 24.04 26.04\"\n```\n\nCompatibility targets remain available for single-version checks:\n\n```bash\nmake test-ubuntu20-container\nmake test-ubuntu24-container\nmake test-ubuntu26-container\n```\n\nmacOS-in-Docker validation uses Docker-OSX and requires an x86_64 host with\nKVM exposed at `/dev/kvm` and enough Docker storage for the image/runtime disk.\nCheck those host prerequisites with:\n\n```bash\nmake test-macos-docker-osx-preflight\n```\n\nTo verify that Docker-OSX can actually start QEMU with KVM on the current host:\n\n```bash\nmake test-macos-docker-osx-smoke\n```\n\nThis is a container/KVM smoke test. A full macOS guest dotfiles apply still\nrequires a booted and provisioned macOS image that accepts SSH.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviasnake%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviasnake%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviasnake%2Fdotfiles/lists"}