{"id":22668692,"url":"https://github.com/thecollinsbyte/dotfiles","last_synced_at":"2026-01-06T15:13:33.924Z","repository":{"id":172575888,"uuid":"647667779","full_name":"TheCollinsByte/dotfiles","owner":"TheCollinsByte","description":"Did you hear about the restaurant on the moon? Great food, no atmosphere!","archived":false,"fork":false,"pushed_at":"2024-09-15T10:26:41.000Z","size":3763,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-16T12:24:15.523Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/TheCollinsByte.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}},"created_at":"2023-05-31T09:14:43.000Z","updated_at":"2024-09-15T10:26:44.000Z","dependencies_parsed_at":"2024-02-20T09:26:22.478Z","dependency_job_id":"89f6d1cc-e64c-49c0-857c-ae7daa2b8fa5","html_url":"https://github.com/TheCollinsByte/dotfiles","commit_stats":null,"previous_names":["paradigm-lab/dotfiles","theoddagen/dotfiles","collinsbyte/dotfiles","thecollinsbyte/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCollinsByte%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCollinsByte%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCollinsByte%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCollinsByte%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheCollinsByte","download_url":"https://codeload.github.com/TheCollinsByte/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228911888,"owners_count":17990774,"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":[],"created_at":"2024-12-09T15:16:20.624Z","updated_at":"2026-01-06T15:13:33.918Z","avatar_url":"https://github.com/TheCollinsByte.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003ch1\u003e\u003ca href=\"https://github.com/TheCollinsByte\"\u003eDotfiles\u003c/a\u003e\u003c/h1\u003e\n\n\u003ca href=\"https://github.com/TheCollinsByte/dotfiles/graphs/contributors\"\u003e\n\u003cimg alt=\"People\" src=\"https://img.shields.io/github/contributors/TheCollinsByte/dotfiles?style=flat\u0026color=ffaaf2\u0026label=People\"\u003e \u003c/a\u003e\n\n\u003ca href=\"https://github.com/TheCollinsByte/dotfiles/stargazers\"\u003e\n\u003cimg alt=\"Stars\" src=\"https://img.shields.io/github/stars/TheCollinsByte/dotfiles?style=flat\u0026color=98c379\u0026label=Stars\"\u003e \u003c/a\u003e\n\n\u003ca href=\"https://github.com/TheCollinsByte/dotfiles/network/members\"\u003e\n\u003cimg alt=\"Forks\" src=\"https://img.shields.io/github/forks/TheCollinsByte/dotfiles?style=flat\u0026color=66a8e0\u0026label=Forks\"\u003e \u003c/a\u003e\n\n\u003ca href=\"https://github.com/TheCollinsByte/dotfiles/watchers\"\u003e\n\u003cimg alt=\"Watches\" src=\"https://img.shields.io/github/watchers/TheCollinsByte/dotfiles?style=flat\u0026color=f5d08b\u0026label=Watches\"\u003e \u003c/a\u003e\n\n\u003ca href=\"https://github.com/TheCollinsByte/dotfiles/pulse\"\u003e\n\u003cimg alt=\"Last Updated\" src=\"https://img.shields.io/github/last-commit/TheCollinsByte/dotfiles?style=flat\u0026color=e06c75\u0026label=\"\u003e \u003c/a\u003e\n\n\u003c/div\u003e\n\n# TheCollinsByte Dotfiles\n\nThis repository contains my personal dotfiles and configurations for various Linux tools and applications.\n\n## Repository Structure\n\n```\ndotfiles/\n├── bin/                # Scripts and binaries\n├── config/             # Configuration files for various programs\n│   ├── bat/            # Bat syntax highlighter config\n│   ├── cmus/           # Music player config\n│   ├── fontconfig/     # Font configuration\n│   ├── htop/           # System monitor config\n│   ├── nvim/           # Neovim configuration (git submodule)\n│   └── shell/          # Shell configurations\n├── docs/               # Documentation\n│   ├── CHANGELOG.md    # Version history and changes\n│   ├── TODO.md         # Planned features and tasks\n│   ├── SERVER_INSTALL.md       # Server/VPS installation guide\n│   └── LOCATION_GUIDE.md       # Location flexibility guide\n├── suckless/           # Suckless programs as git submodules\n│   ├── dwm/            # Dynamic Window Manager\n│   ├── st/             # Simple Terminal\n│   ├── dmenu/          # Dynamic Menu\n│   └── dwmblocks/      # Status bar for DWM\n├── .bashrc             # Bash configuration\n├── .bash_profile       # Bash profile\n├── .gitconfig          # Git configuration\n├── .vimrc              # Vim configuration\n├── .xinitrc            # X initialization\n├── .tmux.conf          # Tmux configuration\n├── install.sh          # Installation script\n└── README.md           # This file\n```\n\n## Features\n\n- Git submodule integration for easier management of external repositories\n- Modular configuration for easy customization\n- Comprehensive installation script\n- Suckless utilities (dwm, st, dmenu, dwmblocks)\n- Shell configuration\n- Neovim configuration\n\n## Installation\n\n### Quick Install\n\n```bash\n# Clone to any temporary location\ngit clone --recursive https://github.com/TheCollinsByte/dotfiles.git\ncd dotfiles\n\n# Choose your preferred location during installation\n./install.sh --location\n\n# Or install directly\n./install.sh --all\n```\n\n### Custom Location\n\nThe script will help you choose the best location for your dotfiles:\n\n```bash\n# Option 1: Interactive chooser (Recommended)\n./install.sh --location\n# Shows menu with popular locations and lets you choose\n\n# Option 2: Set location directly\n./install.sh --set-location ~/.dotfiles\n# Moves dotfiles to specified location automatically\n\n# Option 3: Clone directly to preferred location\ngit clone https://github.com/TheCollinsByte/dotfiles.git ~/.dotfiles\ncd ~/.dotfiles\n./install.sh --all\n```\n\n**Popular locations:**\n- `~/.dotfiles` - Hidden, popular convention\n- `~/dotfiles` - Visible, simple\n- `~/.config/dotfiles` - XDG compliant\n- `~/org/dotfiles` - Organized\n- Or any custom path you prefer!\n\n### Step-by-Step Installation\n\n1. Clone the repository (any location works):\n   ```bash\n   git clone --recursive https://github.com/TheCollinsByte/dotfiles.git\n   cd dotfiles\n   ```\n\n2. Choose your preferred location:\n   ```bash\n   ./install.sh --location\n   ```\n   \n   Or skip this step to use the current location.\n\n3. Install everything:\n   ```bash\n   ./install.sh --all\n   ```\n\n4. Or use the interactive menu:\n   - Install System Packages\n   - Set Up Dotfiles\n   - Setup Suckless Repositories\n   - Build \u0026 Install Suckless Tools\n   - Install Everything\n   - Show System Info\n\n### Command-line Options\n\n```\nUsage: ./install.sh [options]\n\nModes:\n  --dry-run, --dry         Preview changes without making them\n  -s, --server             Server mode (skip GUI packages/configs)\n  -m, --minimal            Minimal mode (essential packages only)\n\nLocation:\n  -l, --location           Choose dotfiles location interactively\n  --set-location \u003cpath\u003e    Set dotfiles location directly\n\nCommands:\n  -c, --check          Check system dependencies\n  -u, --update         Update dotfiles and submodules\n  -p, --packages       Install system packages\n  -d, --dotfiles       Set up dotfiles\n  -r, --suckless-repos Set up Suckless repositories\n  -b, --suckless-build Build and install Suckless tools\n  -a, --all            Run all setup steps\n  -h, --help           Show this help message\n\nExamples:\n  # Check if system is ready\n  ./install.sh --check\n  \n  # Server/VPS installation (no GUI)\n  ./install.sh --server --all\n  \n  # Minimal installation\n  ./install.sh --minimal --dotfiles\n  \n  # Preview changes before installing\n  ./install.sh --dry-run --all\n  \n## Server/VPS Installation\n\nPerfect for Linux VPS servers and headless systems!\n\n### Quick Start for Servers\n\n```bash\n# Clone the repository (location doesn't matter)\ngit clone https://github.com/TheCollinsByte/dotfiles.git\ncd dotfiles\n\n# Install in server mode (skips GUI packages)\n./install.sh --server --all\n```\n\n### What Server Mode Does\n\n**Skips:**\n- ❌ X11/GUI packages (libx11, libxft, etc.)\n- ❌ Suckless tools (dwm, st, dmenu, dwmblocks)\n- ❌ GUI configuration files (.xinitrc, .Xresources, etc.)\n- ❌ Font configurations\n- ❌ Audio/video tools\n\n**Installs:**\n- ✅ Core shell configuration (bash, aliases, functions)\n- ✅ Terminal tools (tmux, vim, neovim)\n- ✅ CLI utilities (git, curl, wget, htop, ripgrep, fzf, bat, eza)\n- ✅ Development tools (shellcheck, stow)\n\n### Minimal Mode\n\nFor even lighter installations:\n\n```bash\n./install.sh --minimal --dotfiles\n```\n\nMinimal mode skips build tools and only installs essential packages.\n\n## Updating\n\nThe easiest way to update:\n\n```bash\n./install.sh --update\n```\n\nThis will:\n- Check for uncommitted changes\n- Show what will be updated\n- Pull latest changes\n- Update all submodules\n- Ask for confirmation before applying\n\nOr manually:\n\n```bash\ngit pull\ngit submodule update --init --recursive\n```\n\n## Customization\n\nFeel free to modify any configuration files to suit your preferences. The repository structure makes it easy to add or remove components.\n\n## Documentation\n\nComprehensive documentation is available in the `docs/` directory:\n\n- **[CHANGELOG.md](docs/CHANGELOG.md)** - Version history and detailed changes\n- **[TODO.md](docs/TODO.md)** - Planned features, improvements, and task list\n- **[SERVER_INSTALL.md](docs/SERVER_INSTALL.md)** - Complete guide for server/VPS installations\n- **[LOCATION_GUIDE.md](docs/LOCATION_GUIDE.md)** - Guide for choosing and managing dotfiles location\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecollinsbyte%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthecollinsbyte%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecollinsbyte%2Fdotfiles/lists"}