{"id":28043702,"url":"https://github.com/intscription/dotfiles","last_synced_at":"2026-05-09T09:45:33.551Z","repository":{"id":291948707,"uuid":"979295583","full_name":"IntScription/dotfiles","owner":"IntScription","description":"My dotfiles","archived":false,"fork":false,"pushed_at":"2025-05-10T14:54:48.000Z","size":12012,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-11T16:54:44.931Z","etag":null,"topics":["alacritty","dotfiles","nvim","tmux","yazi"],"latest_commit_sha":null,"homepage":"","language":"Lua","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/IntScription.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}},"created_at":"2025-05-07T09:43:59.000Z","updated_at":"2025-05-10T14:54:52.000Z","dependencies_parsed_at":"2025-05-07T11:39:42.508Z","dependency_job_id":null,"html_url":"https://github.com/IntScription/dotfiles","commit_stats":null,"previous_names":["xenderador/dotfiles","intscription/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntScription%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntScription%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntScription%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntScription%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IntScription","download_url":"https://codeload.github.com/IntScription/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253600984,"owners_count":21934244,"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":["alacritty","dotfiles","nvim","tmux","yazi"],"created_at":"2025-05-11T16:55:03.394Z","updated_at":"2026-05-09T09:45:33.537Z","avatar_url":"https://github.com/IntScription.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotfiles\n\n---\n\n## 🚀 Quick Start on a New Mac\n\nTo set up your full development environment on a fresh macOS machine:\n\n1. **Install Xcode Command Line Tools (if prompted):**\n\n   ```sh\n   xcode-select --install\n   ```\n\n   This is required for Homebrew and many developer tools.\n\n2. **Clone this repository:**\n\n   ```sh\n   git clone https://github.com/IntScription/dotfiles.git\n   cd dotfiles\n   ```\n\n3. **Run the install script:**\n\n   ```sh\n   chmod +x install.sh\n   ./install.sh\n   ```\n\nThis will:\n\n- Install Homebrew (if needed) and then all tools from the `Brewfile` via\n  `brew bundle`\n- Use **GNU stow** to symlink all configuration files from this repo into your\n  home directory\n- Automatically install Tmux plugins and Neovim plugins\n- Clone and bootstrap my Devlog (Jekyll) site at\n  `~/projects/learning/devlog`\n- Give you clear feedback at every step\n\nAfter the script completes, restart your terminal or source your shell config:\n\n```sh\nsource ~/.zshrc\n```\n\n---\n\n## 📦 What Are Dotfiles?\n\nDotfiles are configuration files for Unix-based systems that help you\npersonalize your shell, editors, terminal, and other tools. Keeping them in a\nversion-controlled repository makes it easy to set up a new machine or share\nyour setup with others.\n\n---\n\n## 🛠️ Tools \u0026 Features\n\nThis repository includes custom configurations for:\n\n- **Zsh**: My preferred shell, with custom prompts, aliases, and plugins.\n- **Neovim**: A powerful text editor setup with plugins and custom key mappings.\n- **Tmux**: Terminal multiplexer for managing multiple terminal sessions.\n- **Alacritty**: Fast, GPU-accelerated terminal emulator.\n- **Yazi**: Blazing-fast terminal file manager.\n- **LazyGit**: Terminal UI for Git, simplifying Git operations.\n- **System Configurations**: Other essential config files for macOS/Linux optimization.\n- **Devlog (Jekyll)**: Auto-clones my Devlog repo and installs Ruby gems.\n  Includes a `devlog` Zsh helper to create today’s entry with Prev/Next\n  navigation.\n\n---\n\n## 📁 Folder Structure\n\n```sh\n.\n├── zsh/\n│   └── .zshrc\n├── nvim/\n│   └── .config/nvim/\n├── tmux/\n│   └── .config/tmux/\n├── alacritty/\n│   └── .config/alacritty/\n├── yazi/\n│   └── .config/yazi/\n├── Brewfile\n├── coolnight.itermcolors\n├── scripts/\n├── README.md\n└── install.sh\n```\n\n---\n\n## 🚀 Quick Installation\n\n### 1. Prerequisites\n\n- **macOS** (or Linux)\n- [Homebrew](https://brew.sh/) (for macOS, see below)\n- [Git](https://git-scm.com/)\n\n### 2. Clone the Repository\n\n```sh\ngit clone https://github.com/IntScription/dotfiles.git\ncd dotfiles\n```\n\n### 3. Run the Setup Script\n\nThis will:\n\n- Install Homebrew (if not present, macOS only)\n- Use `brew bundle` with the `Brewfile` to install CLI tools, GUI apps, and\n  fonts\n- Use GNU stow to symlink the configs in this repo into your `$HOME`\n\n```sh\nchmod +x install.sh\n./install.sh\n```\n\n### 4. Restart Your Terminal\n\nAfter installation, restart your terminal or source your shell config:\n\n```sh\nsource ~/.zshrc\n```\n\n---\n\n## 📓 Devlog (Jekyll)\n\n- The installer clones `https://github.com/IntScription/devlog` to\n  `~/projects/learning/devlog` and runs `bundle install`.\n- Repo: [IntScription/devlog](https://github.com/IntScription/devlog)\n\n### Local preview\n\n```sh\ncd ~/projects/learning/devlog\nbundle exec jekyll serve\n```\n\nThen open `http://localhost:4000/devlog/`.\n\n### Daily logging helper\n\nAfter reloading your shell:\n\n```sh\nsource ~/.zshrc\ndevlog\n```\n\nThis opens today’s `logs/YYYY-MM-DD/index.md` in Neovim and auto-updates\nPrev/Next links for today and the previous entry. It also refreshes the archive\nand the homepage’s recent entries.\n\n### Notes (optional)\n\nPlace Markdown notes under `~/projects/learning/devlog/notes/`, or symlink an\nObsidian folder:\n\n```sh\nln -s ~/Obsidian/Vault/MyNotes ~/projects/learning/devlog/notes/MyNotes\n```\n\n---\n\n## ✅ Auto-fix Markdown on Save (LazyVim)\n\n- A fixer script lives at `scripts/fix_markdown.sh` and a config at\n  `.markdownlint.json`.\n- Neovim is configured to run the fixer automatically on save for Markdown\n  files in this repo.\n- You can also run it manually:\n\n```sh\n/Users/kartiksanil/dotfiles/scripts/fix_markdown.sh\n```\n\nOr with the alias:\n\n```sh\nfixmd\n```\n\nThe fixer prefers `markdownlint-cli2` if installed, falling back to\n`markdownlint` (markdownlint-cli). The installer sets up both on macOS.\n\nPreview Markdown in-browser with `iamcco/markdown-preview.nvim`:\n\n```sh\n:MarkdownPreviewToggle\n```\n\nKeymap: `\u003cleader\u003emp`.\n\n## 🍺 Homebrew \u0026 Brewfile (macOS)\n\nIf you don't have Homebrew, the `install.sh` script will install it for you.\nHomebrew is the recommended package manager for macOS and is used to install\ntools like LazyGit.\n\nThis repo also includes a `Brewfile`, so `install.sh` can run:\n\n```sh\nbrew bundle --file=Brewfile\n```\n\nto install all of your CLI tools, GUI apps, and fonts in one go.\n\n---\n\n## 🔧 Troubleshooting\n\n- **Tmux using default config**: Tmux 3.1+ reads `~/.config/tmux/tmux.conf`. This\n  repo uses `config/tmux/tmux.conf`. If you get “No such file or directory” when\n  sourcing, (re)create the symlinks from the repo root:\n  `ln -sfn \"$(pwd)/config/tmux\" \"$HOME/.config/tmux\"` and\n  `ln -sfn \"$HOME/.config/tmux/tmux.conf\" \"$HOME/.tmux.conf\"`. Then run\n  `tmux source-file ~/.config/tmux/tmux.conf` or restart tmux.\n- **Neovim closes on H or yank with “kill” in terminal**: If pressing H (e.g. in\n  neo-tree to toggle hidden) or yanking closes nvim and the terminal shows “kill”,\n  check what’s mapped: in nvim run `:verbose map H` and `:verbose map y`. Test\n  without plugins: `nvim -u NONE` and try H/y again. In iTerm2, check Keys →\n  Key Mappings for anything bound to H or y that might send a control character.\n\n---\n\n## 🔗 How `stow` Symlinking Works\n\n- Each top-level folder (`zsh`, `nvim`, `tmux`, `alacritty`, `yazi`, …) is a\n  **stow package**.\n- Inside each package, the directory structure mirrors the final location under\n  your `$HOME` (for example, `nvim/.config/nvim`, `tmux/.config/tmux`).\n- Running:\n\n  ```sh\n  stow -t \"$HOME\" zsh nvim tmux alacritty yazi\n  ```\n\n  from the repo root creates symlinks from this repo into your home directory.\n- This makes it easy to update configs by just pulling changes and re-running\n  the script (or re-stowing specific packages).\n\n---\n\n## 🛠️ Customization \u0026 Forking\n\nFeel free to fork this repo and adapt it to your needs! You can:\n\n- Add your own plugins, themes, or scripts\n- Modify configs for your workflow\n- Share improvements via pull requests\n\n---\n\n## 🤝 Contributing\n\nContributions, suggestions, and issues are welcome! Please open an issue or PR\nif you have ideas to improve these dotfiles.\n\n---\n\n## 📄 License\n\nMIT License.\n\n---\n\n## 💡 Why Use This Setup?\n\n- **Fast onboarding:** Get your dev environment up and running in minutes.\n- **Consistency:** Same setup across all your machines.\n- **Easy to update:** Just pull and re-run the script.\n\n---\n\nHappy coding! 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintscription%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintscription%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintscription%2Fdotfiles/lists"}