{"id":37315373,"url":"https://github.com/gitayam/dotfiles","last_synced_at":"2026-01-16T03:08:54.097Z","repository":{"id":264533626,"uuid":"886045814","full_name":"gitayam/dotfiles","owner":"gitayam","description":null,"archived":false,"fork":false,"pushed_at":"2025-12-16T11:07:47.000Z","size":734,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-19T23:09:16.891Z","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/gitayam.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":"2024-11-10T03:28:01.000Z","updated_at":"2025-12-16T11:07:51.000Z","dependencies_parsed_at":"2025-01-18T23:23:08.600Z","dependency_job_id":"83081b20-7a6d-4039-a05d-2ba2f427c325","html_url":"https://github.com/gitayam/dotfiles","commit_stats":null,"previous_names":["gitayam/dotfiles"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/gitayam/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitayam%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitayam%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitayam%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitayam%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitayam","download_url":"https://codeload.github.com/gitayam/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitayam%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28476875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T03:02:43.018Z","status":"ssl_error","status_checked_at":"2026-01-16T03:01:27.857Z","response_time":107,"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":[],"created_at":"2026-01-16T03:08:53.688Z","updated_at":"2026-01-16T03:08:54.092Z","avatar_url":"https://github.com/gitayam.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotfiles\n\nThis repository contains my personal dotfiles for `zsh`, `git`, and other tools, organized by platform and technology.\n\n## 📁 Directory Structure\n\nThe repository is organized into the following top-level directories:\n\n*   `macos/`: Contains installation scripts and configuration files specific to macOS.\n*   `linux/`: Contains installation scripts and configuration files specific to Linux.\n*   `ansible/`: Contains Ansible playbooks for system configuration.\n*   `python/`: Contains advanced, cross-platform Python scripts.\n*   `typescript/`: Contains TypeScript and JavaScript projects and scripts.\n*   `development/`: Contains configurations for development environments, such as Cloudflare workers.\n*   `scripts/`: A collection of useful shell scripts.\n*   `docs/`: Documentation, guides, and notes.\n*   `assets/`: Image assets.\n*   `shared/`: Contains configurations and scripts that are shared across multiple platforms, primarily the `zsh` configuration.\n\n## 🎯 Quick Start\n\n1.  **Clone the repository:**\n    ```bash\n    git clone https://github.com/gitayam/dotfiles.git ~/.dotfiles\n    ```\n\n2.  **Run the installation script for your OS:**\n    *   **macOS:**\n        ```bash\n        cd ~/.dotfiles/macos\n        ./install.sh\n        ```\n    *   **Linux:**\n        ```bash\n        cd ~/.dotfiles/linux\n        ./install.sh\n        ```\n\n3.  **Reload your shell:**\n    ```bash\n    source ~/.zshrc\n    ```\n\n## 🐍 Python \u0026 ☕ TypeScript/JavaScript\n\nThe `python` and `typescript` directories contain more advanced, cross-platform scripts. These scripts are intended to be run directly and are not part of the shell configuration.\n\n### Python Scripts\n\n*   **`organize_files.py`**: A script to organize files in a directory (by default, `~/Downloads`) into subdirectories based on their file extension.\n    *   **Usage:** `python python/organize_files.py [directory]`\n\n*   **`mac_manager.py`**: An advanced tool for managing MAC addresses, with features like live vendor lookup, random address generation, and the ability to set MAC addresses.\n    *   **Usage:** `python python/mac_manager.py [command]`\n\n### TypeScript/Node.js Scripts\n\n*   **`check-env.js`**: A script to check if all required environment variables are set. It reads the required variables from a `.env.example` file in the current directory.\n    *   **Usage:** `node typescript/check-env.js`\n\n### Dependencies\n\nBefore running the Python or JavaScript scripts, you will need to install their dependencies.\n\n*   **Python:** Each Python script that has dependencies should have a corresponding `requirements.txt` file in the same directory. You can install the dependencies using `pip`:\n    ```bash\n    pip install -r python/requirements.txt\n    ```\n\n*   **TypeScript/JavaScript:** The `typescript` directory may contain one or more Node.js projects. Each project will have its own `package.json` file. To install dependencies for a project, navigate to its directory and run `npm install`.\n\n## ⚡ AWS Power Functions\n\nA collection of helper functions to make working with the AWS CLI easier and more intuitive.\n\n### Profile \u0026 Region Management\n\nThe AWS functions now have a more robust and consistent way of handling profiles and regions.\n\n*   **Automatic Profile Detection:** The functions will automatically use the profile set in your `AWS_PROFILE` environment variable, or `default` if it's not set.\n*   **Per-Command Overrides:** You can override the profile and region for any command by using the `--profile` and `--region` flags.\n    ```bash\n    aws_ec2_instances --profile my-other-profile --region us-west-2\n    ```\n*   **`aws_use_profile \u003cprofile\u003e`:** Easily switch your active AWS profile for the current shell session.\n\n### New \u0026 Improved Functions\n\n*   **`aws_list_profiles`**: List all your configured AWS profiles.\n*   **`aws_check_profile`**: Check the authentication status of the current or a specified profile.\n*   **`aws_ec2_instances`**: List EC2 instances in a clean, readable table format.\n*   **`aws_ssm_session \u003cinstance_id\u003e`**: Start an interactive SSM session with an EC2 instance.\n*   **`aws_s3_ls [s3://path]`**: A more user-friendly `ls`-like interface for S3 buckets and objects.\n*   **`aws_cw_logs \u003cgroup\u003e [--follow]`**: Fetch and optionally follow logs from a CloudWatch log group.\n*   **`aws_help`**: Displays a help message with a list of all available AWS Power Functions.\n\n## ☁️ Cloudflare Scripts\n\nThis repository includes powerful scripts for sharing files using Cloudflare Tunnels and Workers.\n\n*   **`cffile-hybrid.sh`**: Share files or directories through a secure tunnel with an optional password protection layer provided by a Cloudflare Worker. This is great for quickly sharing files with a layer of authentication.\n    *   **Usage:** `development/cloudflare/cffile-hybrid.sh [options] [file]`\n\n*   **`cfsecure-integrated.sh`**: Provides true end-to-end encrypted file sharing. It encrypts files locally before uploading them, ensuring that only someone with the password can decrypt them.\n    *   **Usage:** `development/cloudflare/cfsecure-integrated.sh [options] [file]`\n\n## Useful Shell Functions and Aliases\n\n\n\nThis repository includes a collection of useful shell functions and aliases to streamline your workflow.\n\n\n\n### Functions\n\n\n\n*   `extract \u003cfile\u003e`: Extracts various archive types (e.g., `.tar`, `.zip`, `.rar`).\n\n*   `listening`: Shows which processes are listening on network ports.\n\n\n\n### Git Aliases\n\n\n\n*   `gs`: Shows a concise Git status.\n\n*   `ga`: Adds all changes to the staging area.\n\n*   `gac`: Adds all changes and commits with a message.\n\n*   `gc`: Commits with a message.\n\n*   `glog`: Displays a visual and readable Git log graph.\n\n*   `gp`: Pulls and pushes changes.\n\n*   `gco`: Checks out a branch.\n\n*   `gcb`: Creates and checks out a new branch.\n\n*   `back`: Checks out the last branch you were on.\n\n*   `gd`: Shows the Git diff.\n\n\n\n### Docker Aliases\n\n\n\n*   `d`: Short for `docker`.\n\n*   `dps`: Lists running Docker containers.\n\n*   `dka`: Attaches to a running container.\n\n*   `dkl`: Fetches logs of a container.\n\n*   `dkL`: Fetches and follows logs of a container.\n\n*   `dcu`: Brings up Docker Compose services in detached mode.\n\n*   `dcd`: Brings down Docker Compose services.\n\n*   `dke`: Executes a command in a running container.\n\n\n\n## 🤝 Contributing\n\n\n\nContributions are welcome! Please open an issue or submit a pull request with your changes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitayam%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitayam%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitayam%2Fdotfiles/lists"}