{"id":51454344,"url":"https://github.com/rangzen/dotfiles","last_synced_at":"2026-07-05T23:30:36.549Z","repository":{"id":367413899,"uuid":"1280716801","full_name":"rangzen/dotfiles","owner":"rangzen","description":"My dotfiles. Love U.","archived":false,"fork":false,"pushed_at":"2026-07-04T03:03:46.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-04T04:30:15.976Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/rangzen.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":"2026-06-25T21:45:31.000Z","updated_at":"2026-07-04T03:03:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rangzen/dotfiles","commit_stats":null,"previous_names":["rangzen/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rangzen/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rangzen%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rangzen%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rangzen%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rangzen%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rangzen","download_url":"https://codeload.github.com/rangzen/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rangzen%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35172975,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"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":"2026-07-05T23:30:35.872Z","updated_at":"2026-07-05T23:30:36.538Z","avatar_url":"https://github.com/rangzen.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dotfiles\n\nMy personal dotfiles, managed with [GNU Stow](https://www.gnu.org/software/stow/).\n\nEach top-level directory is a stow package whose contents mirror `$HOME`. Stow creates symlinks so the real files live here while tools find them at their expected paths.\n\n## Requirements\n\n```bash\n# Debian/Ubuntu\nsudo apt install stow\n\n# macOS\nbrew install stow\n```\n\n## Usage\n\n```bash\ngit clone https://github.com/rangzen/dotfiles.git ~/.dotfiles\ncd ~/.dotfiles\n\nstow tmux        # install a package\nstow */          # install all packages\nstow -D tmux     # remove a package\nstow -n tmux     # dry-run\n```\n\nIf you clone elsewhere: `stow --target=\"$HOME\" tmux`\n\n## WezTerm\n\n- Starts maximized on the active screen\n- No decorations, no tab bar, no padding\n- Launches tmux directly on startup\n\n## Whispypy\n\n- Audio input: ALSA HDA DSP device\n- Keyboard layout: French BEPO\n\n## markdownlint\n\nRules for `markdownlint-cli2` (`~/.markdownlint-cli2.yaml`). Used by the `nvim` package via `nvim-lint`.\n\n## Neovim\n\n- `lint.lua` - `nvim-lint` with `markdownlint-cli2`, uses the `markdownlint` package config\n\n## tmux\n\nInspired by [Omarchy](https://omarchy.org/).\n\n- Prefix: `Ctrl+Space`\n- Default shell: Fish\n- Pane split: `prefix+v` (vertical) / `prefix+h` (horizontal)\n- Pane navigation: `Shift+Alt+Arrows`\n- Pane resize: `Ctrl+Alt+Arrows`\n- Window switch: `Alt+Left/Right` or `Alt+\u003cBEPO digit keys\u003e` for windows 1-9\n- Session switch: `Alt+Up/Down`\n- Copy mode: vi-style (`v` to select, `y` to copy)\n- Reload config: `prefix+q`\n\n### Layout scripts\n\nMust be run inside a tmux session. `\u003cai\u003e` is any CLI command e.g. `claude`, `opencode`, `gemini`.\n\n| Command | Meaning | Usage |\n|---------|---------|-------|\n| `tdl`  | Tmux Dev Layout | `tdl \u003cai\u003e [\u003cai2\u003e]` - editor left, AI pane(s) right, terminal strip at bottom |\n| `tdlm` | Tmux Dev Layout Multi | `tdlm \u003cai\u003e [\u003cai2\u003e]` - runs `tdl` in one window per subdirectory |\n| `tds`  | Tmux Dev Square | `tds` - square 4-pane layout: nvim, diff watch, terminal, opencode |\n| `tsl`  | Tmux Split Launch | `tsl \u003ccount\u003e \u003ccmd\u003e` - N tiled panes all running the same command |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frangzen%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frangzen%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frangzen%2Fdotfiles/lists"}