Introducing IssueFinder.fun — a simple tool to help contributors find beginner-friendly OSS issues
Hello OSS community!
I built IssueFinder.fun, a small project to make finding good first issues easier for new contributors.
Highlights:
▪️Pulls beginner-friendly GitHub issues
▪️Easy browsing & clean interface
▪️Built for contributors, improving weekly
Looking for:
▪️Feature suggestions
▪️Contributors (frontend/backend)
▪️Feedback on filtering or UX
🌐 Live: https://issuefinder.fun
https://redd.it/1pd5uqt
@r_opensource
Hello OSS community!
I built IssueFinder.fun, a small project to make finding good first issues easier for new contributors.
Highlights:
▪️Pulls beginner-friendly GitHub issues
▪️Easy browsing & clean interface
▪️Built for contributors, improving weekly
Looking for:
▪️Feature suggestions
▪️Contributors (frontend/backend)
▪️Feedback on filtering or UX
🌐 Live: https://issuefinder.fun
https://redd.it/1pd5uqt
@r_opensource
www.issuefinder.fun
IssueFinder – Discover Beginner-Friendly GitHub Issues
Find beginner-friendly GitHub issues and contribute to open source projects
I made a simple Epic Games Launcher account switcher (Epic Switcher)
Hey everyone!
I wanted to share a little side project I've been cooking up: Epic Switcher, a completely free and open source tool I originally built for myself and a few friends.
It solved a small annoyance we kept running into, and since it ended up being way more useful than I expected, I thought others might vibe with it too.
If you're curious, here's the project's repo: https://github.com/symonxdd/epic-switcher/
If you check it out, I'd really appreciate any thoughts, ideas or issues you wanna drop my way. And if not, no worries at all. I'm just happy to put something back into a community that's taught me a ton 💛
Thanks for reading, and hope your day is treating you kindly ✨
https://redd.it/1pd7wug
@r_opensource
Hey everyone!
I wanted to share a little side project I've been cooking up: Epic Switcher, a completely free and open source tool I originally built for myself and a few friends.
It solved a small annoyance we kept running into, and since it ended up being way more useful than I expected, I thought others might vibe with it too.
If you're curious, here's the project's repo: https://github.com/symonxdd/epic-switcher/
If you check it out, I'd really appreciate any thoughts, ideas or issues you wanna drop my way. And if not, no worries at all. I'm just happy to put something back into a community that's taught me a ton 💛
Thanks for reading, and hope your day is treating you kindly ✨
https://redd.it/1pd7wug
@r_opensource
GitHub
GitHub - symonxdd/epic-switcher: Epic Switcher is designed to facilitate switching between accounts in the Epic Games Launcher…
Epic Switcher is designed to facilitate switching between accounts in the Epic Games Launcher (Windows only) - symonxdd/epic-switcher
help with freac:
Hi,
I have multiple MP3 files downloaded from YouTube that contain chapters. When converting in fre:ac, the chapters are causing the audio to split into multiple files. I need one single MP3 per download with chapters ignored.
Can someone please guide me on the correct fre:ac settings to disable chapter splitting and bulk convert the files properly?
Thank you.
https://redd.it/1pd96gp
@r_opensource
Hi,
I have multiple MP3 files downloaded from YouTube that contain chapters. When converting in fre:ac, the chapters are causing the audio to split into multiple files. I need one single MP3 per download with chapters ignored.
Can someone please guide me on the correct fre:ac settings to disable chapter splitting and bulk convert the files properly?
Thank you.
https://redd.it/1pd96gp
@r_opensource
Reddit
From the opensource community on Reddit
Explore this post and more from the opensource community
Using ClickHouse for Real-Time L7 DDoS & Bot Traffic Analytics with Tempesta FW
Most open-source L7 DDoS mitigation and bot-protection approaches rely on challenges (e.g., CAPTCHA or JavaScript proof-of-work) or static rules based on the User-Agent, Referer, or client geolocation. These techniques are increasingly ineffective, as they are easily bypassed by modern open-source impersonation libraries and paid cloud proxy networks.
We explore a different approach: classifying HTTP client requests in near real time using ClickHouse as the primary analytics backend.
We collect access logs directly from [Tempesta FW](https://github.com/tempesta-tech/tempesta), a high-performance open-source hybrid of an HTTP reverse proxy and a firewall. Tempesta FW implements zero-copy per-CPU log shipping into ClickHouse, so the dataset growth rate is limited only by ClickHouse bulk ingestion performance - which is very high.
[WebShield](https://github.com/tempesta-tech/webshield/), a small open-source Python daemon:
* periodically executes analytic queries to detect spikes in traffic (requests or bytes per second), response delays, surges in HTTP error codes, and other anomalies;
* upon detecting a spike, classifies the clients and validates the current model;
* if the model is validated, automatically blocks malicious clients by IP, TLS fingerprints, or HTTP fingerprints.
To simplify and accelerate classification — whether automatic or manual — we introduced a new TLS fingerprinting method.
WebShield is a small and simple daemon, yet it is effective against multi-thousand-IP botnets.
The [full article](https://tempesta-tech.com/blog/defending-against-l7-ddos-and-web-bots-with-tempesta-fw/) with configuration examples, ClickHouse schemas, and queries.
https://redd.it/1pdd85i
@r_opensource
Most open-source L7 DDoS mitigation and bot-protection approaches rely on challenges (e.g., CAPTCHA or JavaScript proof-of-work) or static rules based on the User-Agent, Referer, or client geolocation. These techniques are increasingly ineffective, as they are easily bypassed by modern open-source impersonation libraries and paid cloud proxy networks.
We explore a different approach: classifying HTTP client requests in near real time using ClickHouse as the primary analytics backend.
We collect access logs directly from [Tempesta FW](https://github.com/tempesta-tech/tempesta), a high-performance open-source hybrid of an HTTP reverse proxy and a firewall. Tempesta FW implements zero-copy per-CPU log shipping into ClickHouse, so the dataset growth rate is limited only by ClickHouse bulk ingestion performance - which is very high.
[WebShield](https://github.com/tempesta-tech/webshield/), a small open-source Python daemon:
* periodically executes analytic queries to detect spikes in traffic (requests or bytes per second), response delays, surges in HTTP error codes, and other anomalies;
* upon detecting a spike, classifies the clients and validates the current model;
* if the model is validated, automatically blocks malicious clients by IP, TLS fingerprints, or HTTP fingerprints.
To simplify and accelerate classification — whether automatic or manual — we introduced a new TLS fingerprinting method.
WebShield is a small and simple daemon, yet it is effective against multi-thousand-IP botnets.
The [full article](https://tempesta-tech.com/blog/defending-against-l7-ddos-and-web-bots-with-tempesta-fw/) with configuration examples, ClickHouse schemas, and queries.
https://redd.it/1pdd85i
@r_opensource
GitHub
GitHub - tempesta-tech/tempesta: Web application acceleration, advanced DDoS protection and web security
Web application acceleration, advanced DDoS protection and web security - tempesta-tech/tempesta
Shape the future with Google Summer of Code 2026!
https://opensource.googleblog.com/2025/12/shape-future-with-google-summer-of-code.html
https://redd.it/1pde40j
@r_opensource
https://opensource.googleblog.com/2025/12/shape-future-with-google-summer-of-code.html
https://redd.it/1pde40j
@r_opensource
Googleblog
Shape the future with Google Summer of Code 2026!
Now is your chance to make an impact in the 2026 Google Summer of Code (GSoC) program. Here's the dates for 2026.
The current AI-driven SSD crisis prompted me to continue working on "Trash-Compactor" - a Windows program to compress bloated apps and recover lots of storage space
https://github.com/me-when-the-uh/trash-compactor
https://redd.it/1pdfbhj
@r_opensource
https://github.com/me-when-the-uh/trash-compactor
https://redd.it/1pdfbhj
@r_opensource
GitHub
GitHub - me-when-the-uh/trash-compactor
Contribute to me-when-the-uh/trash-compactor development by creating an account on GitHub.
Open Source Test Management - TestPlanIt
https://github.com/testplanit/testplanit
Just released - a full featured open source test management platform called TestPlanIt.
If you’re looking to self-host something that will scale and grow with you, please have a look!
If you want to try before installing there is a demo on the website. You can use the free trial on the website to set up an instance for your own private data if you need a better idea of how it works in the real world.
If you like it I can help you get it going on your own server. I promise I’m not a robot. Just a guy who didn’t like the current open source tools and frustrated with the increasing costs of the paid ones.
https://redd.it/1pdfrdt
@r_opensource
https://github.com/testplanit/testplanit
Just released - a full featured open source test management platform called TestPlanIt.
If you’re looking to self-host something that will scale and grow with you, please have a look!
If you want to try before installing there is a demo on the website. You can use the free trial on the website to set up an instance for your own private data if you need a better idea of how it works in the real world.
If you like it I can help you get it going on your own server. I promise I’m not a robot. Just a guy who didn’t like the current open source tools and frustrated with the increasing costs of the paid ones.
https://redd.it/1pdfrdt
@r_opensource
GitHub
GitHub - TestPlanIt/testplanit: Modern Test Management for Agile Teams
Modern Test Management for Agile Teams. Contribute to TestPlanIt/testplanit development by creating an account on GitHub.
I built a lightweight headless CMS for Firebase (Open Source, Svelte 4)
Hey everyone,
I’d like to share a small open-source project I’ve been working on: Firelighter CMS (fl-cms) — a minimal, self-hosted CMS for Firebase/Firestore.
Why I built it
I needed a simple way to manage content (blog posts, release notes, documentation, small knowledge bases) directly in Firestore, without using a full-blown CMS or paying for a SaaS.
Tools like FireCMS are powerful, but for my smaller apps they felt a bit heavy. complex model configuration, modal-based editing, and no longer a free cloud version. I wanted something simpler and more focused on straightforward content editing.
So I built a lightweight alternative using Svelte 4.
What it does
- Connects to your Firebase project using only your config
- Stores its schema inside Firestore under a schema collection
- Lets you define content models in JSON
- Provides a dedicated editor (no popups, no inline editing)
- Content is structured in sections that can be reordered easily
- Uses Markdown via bytemd for writing
- Includes a lightweight media browser for Firebase Storage
MIT-licensed & fully client-side (self-hosting is trivial)
Tech stack
Svelte 4, TypeScript, CodeMirror, bytemd.
Why it might be useful
If you’re building small to medium Firebase apps and just need a simple content editor, not a large enterprise CMS, this might be a good fit.
I’ve started using it in a few of my own projects, and with subcollections it becomes easier to handle multi-language content as well.
Looking for feedback
I’d appreciate feedback, ideas, or contributions.
Demo: https://fl-cms.web.app
GitHub: https://github.com/ortwic/web-apps/tree/main/apps/fl-cms
Short video walkthrough: https://www.youtube.com/watch?v=ZMjv29k0ttE
https://redd.it/1pdfny0
@r_opensource
Hey everyone,
I’d like to share a small open-source project I’ve been working on: Firelighter CMS (fl-cms) — a minimal, self-hosted CMS for Firebase/Firestore.
Why I built it
I needed a simple way to manage content (blog posts, release notes, documentation, small knowledge bases) directly in Firestore, without using a full-blown CMS or paying for a SaaS.
Tools like FireCMS are powerful, but for my smaller apps they felt a bit heavy. complex model configuration, modal-based editing, and no longer a free cloud version. I wanted something simpler and more focused on straightforward content editing.
So I built a lightweight alternative using Svelte 4.
What it does
- Connects to your Firebase project using only your config
- Stores its schema inside Firestore under a schema collection
- Lets you define content models in JSON
- Provides a dedicated editor (no popups, no inline editing)
- Content is structured in sections that can be reordered easily
- Uses Markdown via bytemd for writing
- Includes a lightweight media browser for Firebase Storage
MIT-licensed & fully client-side (self-hosting is trivial)
Tech stack
Svelte 4, TypeScript, CodeMirror, bytemd.
Why it might be useful
If you’re building small to medium Firebase apps and just need a simple content editor, not a large enterprise CMS, this might be a good fit.
I’ve started using it in a few of my own projects, and with subcollections it becomes easier to handle multi-language content as well.
Looking for feedback
I’d appreciate feedback, ideas, or contributions.
Demo: https://fl-cms.web.app
GitHub: https://github.com/ortwic/web-apps/tree/main/apps/fl-cms
Short video walkthrough: https://www.youtube.com/watch?v=ZMjv29k0ttE
https://redd.it/1pdfny0
@r_opensource
fl-cms.web.app
Firebase CMS
Custom Firebase Content Management System
Looking for open-source CI / CD alternative to GitHub Actions.
Looking for open-source alternatives to GitHub actions with support for running on VMs (I want to avoid running privileged containers) and ephemeral runners. I'm aware that Forgejo is working on a solution for this. But was curious if any other solution exists.
I want to use external autoscaling solutions like GARM to scale runners and run jobs on individual ephemeral runners.
https://redd.it/1pdrg89
@r_opensource
Looking for open-source alternatives to GitHub actions with support for running on VMs (I want to avoid running privileged containers) and ephemeral runners. I'm aware that Forgejo is working on a solution for this. But was curious if any other solution exists.
I want to use external autoscaling solutions like GARM to scale runners and run jobs on individual ephemeral runners.
https://redd.it/1pdrg89
@r_opensource
Codeberg.org
Implement Ephemeral runners
As described in [this comment](https://gitea.com/gitea/act_runner/issues/19#issuecomment-739221) one-job runners are not secure when running in host mode.
We implmeneted a routine preventing runner tokens from receiving a second job in order to render a…
We implmeneted a routine preventing runner tokens from receiving a second job in order to render a…
I released a hypervisor OS I've been working on
https://github.com/WillProvince/Starlight-Hypervisor/tree/main
https://redd.it/1pdrlt2
@r_opensource
https://github.com/WillProvince/Starlight-Hypervisor/tree/main
https://redd.it/1pdrlt2
@r_opensource
GitHub
GitHub - WillProvince/Starlight-Hypervisor: Starlight is deisgned to be the hypervisor for everyone!
Starlight is deisgned to be the hypervisor for everyone! - WillProvince/Starlight-Hypervisor
Whatever happened to "post-open source"?
A few years ago there was an idea by one OG open source pioneer to create a new set of source-avalible licenses that would allow commercial usage in exchange for 1% of revenue, and open-source developers could dual-license their code (e.g. "MIT OR Post-Open") and still get a share from that 1%.
"News" section on their website (postopen.org) is empty and evidence of the last update was a year ago, some links are dead. It this abandoned?
https://redd.it/1pdtozo
@r_opensource
A few years ago there was an idea by one OG open source pioneer to create a new set of source-avalible licenses that would allow commercial usage in exchange for 1% of revenue, and open-source developers could dual-license their code (e.g. "MIT OR Post-Open") and still get a share from that 1%.
"News" section on their website (postopen.org) is empty and evidence of the last update was a year ago, some links are dead. It this abandoned?
https://redd.it/1pdtozo
@r_opensource
Reddit
From the opensource community on Reddit
Explore this post and more from the opensource community
OASIS Approves Open Document Format (ODF) V1.4 Standard, Marking 20 Years of Interoperable Document Innovation
https://www.oasis-open.org/2025/12/03/oasis-approves-open-document-format-odf-v1-4-standard-marking-20-years-of-interoperable-document-innovation/
https://redd.it/1pdwjo5
@r_opensource
https://www.oasis-open.org/2025/12/03/oasis-approves-open-document-format-odf-v1-4-standard-marking-20-years-of-interoperable-document-innovation/
https://redd.it/1pdwjo5
@r_opensource
OASIS Open
OASIS Approves Open Document Format (ODF) V1.4 Standard, Marking 20 Years of Interoperable Document Innovation
BOSTON, MA, 3 December 2025 — Members of OASIS Open, the global open source and standards organization, have approved the Open Document Format (ODF) for Office Applications V1.4 as an OASIS Standard, the organization’s highest level of ratification. ODF V1.4…
Call out for backend developers and interested techies
Hello folks, I am the founder of Qodex.ai we are a deep tech startup and an expert in Automated API testing and security.
I built an Open sourced tool called ApiMesh it scans your codebase and instantly generates OpenAPI 3.0 specs plus an interactive HTML docs page. No setup, no manual writing.
GitHub repo: https://github.com/qodex-ai/apimesh
It works across Python, Node.js, Go, Rails, Java and more. It picks up all your REST endpoints, params, auth and schemas straight from the code and outputs a clean swagger.json + a self-contained docs file you can open in any browser.
The goal is simple: help teams avoid missing, outdated or accidental endpoints by keeping docs always synced with the repo.
If you want to try it out or suggest improvements, we'd really appreciate the feedback. PRs are welcome.
Thank you!
https://redd.it/1pdwioa
@r_opensource
Hello folks, I am the founder of Qodex.ai we are a deep tech startup and an expert in Automated API testing and security.
I built an Open sourced tool called ApiMesh it scans your codebase and instantly generates OpenAPI 3.0 specs plus an interactive HTML docs page. No setup, no manual writing.
GitHub repo: https://github.com/qodex-ai/apimesh
It works across Python, Node.js, Go, Rails, Java and more. It picks up all your REST endpoints, params, auth and schemas straight from the code and outputs a clean swagger.json + a self-contained docs file you can open in any browser.
The goal is simple: help teams avoid missing, outdated or accidental endpoints by keeping docs always synced with the repo.
If you want to try it out or suggest improvements, we'd really appreciate the feedback. PRs are welcome.
Thank you!
https://redd.it/1pdwioa
@r_opensource
GitHub
GitHub - qodex-ai/apimesh: Auto-generate OpenAPI 3.0 specs + interactive HTML API UI from your codebase — in seconds.
Auto-generate OpenAPI 3.0 specs + interactive HTML API UI from your codebase — in seconds. - qodex-ai/apimesh
Looking for open source app so download music
Uhh I remember I had an app to download music but I literally forgot it's name guys help me out
https://redd.it/1pdygw0
@r_opensource
Uhh I remember I had an app to download music but I literally forgot it's name guys help me out
https://redd.it/1pdygw0
@r_opensource
Reddit
From the opensource community on Reddit
Explore this post and more from the opensource community
A file-based Postman alternative
Hi all, I have been working on an open-source Postman alternative for a month and I have just finished the first set of key features:
# File-based API client
* Define workspaces, collections, and requests in JSON
* Works well with Git, code review, and keeping API examples next to your code
# Mock servers
* Define local HTTP/HTTPS endpoints in JSON
* Jest-style matchers in configs, like `any(String)`, `stringContaining('foo')`, etc.
* Request **forward** (acts like a proxy)
# Middlewares
For example `requestMiddleware` that gives you full control before/after a request. Useful for auth, logging, custom workflows, etc.
Next, I plan to add API testing automation features etc. It does not have much difference to other similar projects now, but it could be interesting soon.
Intro and docs are here: [https://hanlogy.github.io/api-studio/](https://hanlogy.github.io/api-studio/)
What do you think? :)
https://redd.it/1pe0jyl
@r_opensource
Hi all, I have been working on an open-source Postman alternative for a month and I have just finished the first set of key features:
# File-based API client
* Define workspaces, collections, and requests in JSON
* Works well with Git, code review, and keeping API examples next to your code
# Mock servers
* Define local HTTP/HTTPS endpoints in JSON
* Jest-style matchers in configs, like `any(String)`, `stringContaining('foo')`, etc.
* Request **forward** (acts like a proxy)
# Middlewares
For example `requestMiddleware` that gives you full control before/after a request. Useful for auth, logging, custom workflows, etc.
Next, I plan to add API testing automation features etc. It does not have much difference to other similar projects now, but it could be interesting soon.
Intro and docs are here: [https://hanlogy.github.io/api-studio/](https://hanlogy.github.io/api-studio/)
What do you think? :)
https://redd.it/1pe0jyl
@r_opensource
hanlogy.github.io
Api Studio
API Studio is an open-source API workspace for developers. It runs entirely locally, keeping your data private while offering a simple, flexible interface for testing and managing APIs.
Java SpringBoot library for Kafka - handles retries, DLQ, pluggable redis cache for multiple instances, tracing with OpenTelemetry and more
I built a library that removes most of the boilerplate when working with Kafka in Spring Boot. You add one annotation to your listener and it handles retries, dead letter queues, circuit breakers, rate limiting, and distributed tracing for you.
What it does:
Automatic retries with multiple backoff strategies (exponential, linear, fibonacci, custom). You pick how many attempts and the delay between them
Dead letter queue routing - failed messages go to DLQ with full metadata (attempt count, timestamps, exception details). You can also route different exceptions to different DLQ topics
OpenTelemetry tracing - set one flag and the library creates all the spans for retries, dlq routing, circuit breaker events, etc. You handle exporting, the library does the instrumentation
Circuit breaker - if your listener keeps failing, it opens the circuit and sends messages straight to DLQ until things recover. Uses resilience4j
Message deduplication - prevents duplicate processing when Kafka redelivers
Distributed caching - add Redis and it shares state across multiple instances. Falls back to Caffeine if Redis goes down
DLQ REST API - query your dead letter queue and replay messages back to the original topic with one API call
Metrics - two endpoints, one for summary stats and one for detailed event info
Example usage:
u/CustomKafkaListene(
topic = "orders",
dlqtopic = "orders-dlq",
maxattempts = 3,
delay = 1000,
delaymethod = delaymethod.expo,
opentelemetry = true
)
u/KafkaListener(topics = "orders", groupid = "order-processor")
public void process(consumerrecord<string, object> record, acknowledgment ack) {
// your logic here
ack.acknowledge();
}
Thats basically it. The library handles the retry logic, dlq routing, tracing spans, and everything else.
Im a 3rd year student and posted an earlier version of this a while back. Its come a long way since then. Still in active development and semi production ready, but its working well in my testing.
Looking for feedback, suggestions, or anyone who wants to try it out.
https://redd.it/1pe1w41
@r_opensource
I built a library that removes most of the boilerplate when working with Kafka in Spring Boot. You add one annotation to your listener and it handles retries, dead letter queues, circuit breakers, rate limiting, and distributed tracing for you.
What it does:
Automatic retries with multiple backoff strategies (exponential, linear, fibonacci, custom). You pick how many attempts and the delay between them
Dead letter queue routing - failed messages go to DLQ with full metadata (attempt count, timestamps, exception details). You can also route different exceptions to different DLQ topics
OpenTelemetry tracing - set one flag and the library creates all the spans for retries, dlq routing, circuit breaker events, etc. You handle exporting, the library does the instrumentation
Circuit breaker - if your listener keeps failing, it opens the circuit and sends messages straight to DLQ until things recover. Uses resilience4j
Message deduplication - prevents duplicate processing when Kafka redelivers
Distributed caching - add Redis and it shares state across multiple instances. Falls back to Caffeine if Redis goes down
DLQ REST API - query your dead letter queue and replay messages back to the original topic with one API call
Metrics - two endpoints, one for summary stats and one for detailed event info
Example usage:
u/CustomKafkaListene(
topic = "orders",
dlqtopic = "orders-dlq",
maxattempts = 3,
delay = 1000,
delaymethod = delaymethod.expo,
opentelemetry = true
)
u/KafkaListener(topics = "orders", groupid = "order-processor")
public void process(consumerrecord<string, object> record, acknowledgment ack) {
// your logic here
ack.acknowledge();
}
Thats basically it. The library handles the retry logic, dlq routing, tracing spans, and everything else.
Im a 3rd year student and posted an earlier version of this a while back. Its come a long way since then. Still in active development and semi production ready, but its working well in my testing.
Looking for feedback, suggestions, or anyone who wants to try it out.
https://redd.it/1pe1w41
@r_opensource
Reddit
From the opensource community on Reddit
Explore this post and more from the opensource community
Set Up Your Mac Development Environment in Minutes with Hola
Ever spent hours setting up a new Mac for development? Installing Homebrew packages, configuring dotfiles, tweaking system settings, arranging your Dock... it's tedious and error-prone. What if you could automate everything with a simple Ruby DSL that reads like plain English?
Meet Hola – a blazing-fast development environment manager that combines the best of Homebrew, mise, and dotfiles management into one cohesive tool.
## The Problem with Existing Solutions
I've been a long-time Chef user because typing endless
Other configuration management tools? Ansible and Salt force you to write complex YAML files when you'd rather just type commands directly. Popular dotfiles managers have steep learning curves for what should be a simple task: symlinking files to the right places.
## Enter Hola: Convention Over Configuration
Inspired by modern tools like Ghostty and Bun, I built Hola in Zig for its speed, cross-compilation capabilities, and seamless C integration. The result? A tool that sets up your entire development environment in minutes, not hours.
### What Makes Hola Different?
1. Convention Over Configuration – Use tools you already know:
Brewfile (Homebrew's native format):
mise.toml (mise's native format):
2. Optional Ruby DSL – For advanced provisioning (90% of users won't need this):
3. Intelligent Dotfiles Management – No complex configs needed:
4. macOS Desktop Configuration – The killer feature that even Chef doesn't offer:
## Getting Started in 3 Minutes
### 1. Install Hola
### 2. Create Your Dotfiles Repo
Create a GitHub repo with these files:
Brewfile (in repo root):
mise.toml (in repo root):
~/.config/hola/provision.rb (optional, see "macOS Desktop Configuration" section above for examples)
### 3. Run It
That's it! Hola will:
- ✅ Clone your dotfiles repo to
- ✅ Install all Homebrew packages from Brewfile
- ✅ Install and pin tool versions from mise.toml
- ✅ Symlink dotfiles to your home directory
- ✅ Run
Ever spent hours setting up a new Mac for development? Installing Homebrew packages, configuring dotfiles, tweaking system settings, arranging your Dock... it's tedious and error-prone. What if you could automate everything with a simple Ruby DSL that reads like plain English?
Meet Hola – a blazing-fast development environment manager that combines the best of Homebrew, mise, and dotfiles management into one cohesive tool.
## The Problem with Existing Solutions
I've been a long-time Chef user because typing endless
brew install or apt install commands drives me crazy. Chef's Ruby DSL is perfect – it's readable and expressive. But Chef comes with heavy dependencies, especially on macOS where it installs unnecessary components and even creates system users.Other configuration management tools? Ansible and Salt force you to write complex YAML files when you'd rather just type commands directly. Popular dotfiles managers have steep learning curves for what should be a simple task: symlinking files to the right places.
## Enter Hola: Convention Over Configuration
Inspired by modern tools like Ghostty and Bun, I built Hola in Zig for its speed, cross-compilation capabilities, and seamless C integration. The result? A tool that sets up your entire development environment in minutes, not hours.
### What Makes Hola Different?
1. Convention Over Configuration – Use tools you already know:
Brewfile (Homebrew's native format):
brew "git"
brew "neovim"
cask "ghostty"
cask "visual-studio-code"
mise.toml (mise's native format):
[tools]
node = "24"
python = "3.14"
rust = "stable"
2. Optional Ruby DSL – For advanced provisioning (90% of users won't need this):
# ~/.config/hola/provision.rb
package ["git", "tmux", "neovim"]
execute "install-oh-my-zsh" do
command 'sh -c "$(curl -fsSL https://ohmyz.sh/install.sh)"'
not_if { Dir.exist?(File.expand_path("~/.oh-my-zsh")) }
end
3. Intelligent Dotfiles Management – No complex configs needed:
# Bootstrap from a GitHub repo (clones + installs packages + links dotfiles)
hola apply --github username/dotfiles
# Or just link dotfiles from local directory
hola link --dotfiles ~/.dotfiles
4. macOS Desktop Configuration – The killer feature that even Chef doesn't offer:
# ~/.config/hola/provision.rb
macos_dock do
apps [
'/Applications/Ghostty.app/',
'/Applications/Visual Studio Code.app/',
'/Applications/Safari.app/',
]
orientation "bottom"
autohide true
magnification true
tilesize 50
largesize 40
end
macos_defaults "show hidden files" do
domain "com.apple.finder"
key "AppleShowAllFiles"
value true
end
macos_defaults "keyboard repeat rate" do
global true
key "KeyRepeat"
value 1
end
## Getting Started in 3 Minutes
### 1. Install Hola
# Quick install (recommended)
curl -fsSL https://hola.ac/install | bash
# Or using Homebrew
brew tap ratazzi/hola
brew install hola
# Or download manually
curl -fsSL https://github.com/ratazzi/hola/releases/latest/download/hola-macos-aarch64 -o hola
chmod +x hola
xattr -d com.apple.quarantine hola
sudo mv hola /usr/local/bin/
### 2. Create Your Dotfiles Repo
Create a GitHub repo with these files:
Brewfile (in repo root):
brew "git"
brew "gh"
brew "ripgrep"
brew "fzf"
cask "ghostty"
cask "zed"
cask "raycast"
mise.toml (in repo root):
[tools]
node = "20"
python = "3.12"
go = "latest"
~/.config/hola/provision.rb (optional, see "macOS Desktop Configuration" section above for examples)
### 3. Run It
# One command to set up everything!
hola apply --github username/dotfiles
That's it! Hola will:
- ✅ Clone your dotfiles repo to
~/.dotfiles- ✅ Install all Homebrew packages from Brewfile
- ✅ Install and pin tool versions from mise.toml
- ✅ Symlink dotfiles to your home directory
- ✅ Run
GitHub
GitHub - ratazzi/hola: Zero-dependency macOS setup tool. Combines Brewfile, mise, and dotfiles management into a single binary.
Zero-dependency macOS setup tool. Combines Brewfile, mise, and dotfiles management into a single binary. - ratazzi/hola
provision.rb (if exists) for Dock/system settings
## Real-World Use Cases
### Migrate Your Current Setup
Export your existing configuration:
### Team Onboarding
Create a company dotfiles repo with Brewfile:
And ~/.config/hola/provision.rb for advanced setup:
Then new hires just run:
### Personal Dotfiles Management
Bootstrap your entire environment with one command:
## Performance That Matters
Built in Zig, Hola is incredibly fast:
- Dock configuration: ~50ms (vs seconds with AppleScript)
- Dotfiles linking: <100ms for hundreds of files
- Package installation: Limited only by Homebrew/mise speed
- Memory usage: <10MB resident
## Why Developers Love It
"It's like Chef, but without the baggage" – Hola gives you Chef's beautiful Ruby DSL without the heavyweight dependencies.
"Finally, Dock management that works" – No more manual dragging or complex AppleScript. Define your Dock layout in code.
"Convention over configuration done right" – Smart defaults mean less typing. Hola knows where dotfiles should go.
## Advanced Features
### Conditional Logic
Use Ruby's full power in provision.rb:
### File Templates
### Resource Notifications
Chain resources together:
## Try It Today
Stop wasting time on manual setup. Whether you're setting up a new Mac, onboarding team members, or just want reproducible configurations, Hola makes it simple.
Or start simple with just a Brewfile:
GitHub: https://github.com/ratazzi/hola
Installation: https://github.com/ratazzi/hola#installation
---
Built with ❤️ in Zig by developers who value their time.
What's your Mac setup routine? Have you tried Hola? Share your thoughts in the
## Real-World Use Cases
### Migrate Your Current Setup
Export your existing configuration:
# Export current Dock configuration
hola dock
# Export Homebrew packages to Brewfile
brew bundle dump
### Team Onboarding
Create a company dotfiles repo with Brewfile:
# Core tools every developer needs
brew "git"
brew "docker"
brew "kubectl"
# Company-specific tools
cask "slack"
cask "zoom"
cask "visual-studio-code"
And ~/.config/hola/provision.rb for advanced setup:
# Install VS Code extensions
execute "install vscode extensions" do
command "code --install-extension ms-python.python"
command "code --install-extension dbaeumer.vscode-eslint"
not_if "code --list-extensions | grep -q ms-python.python"
end
# Clone team repositories
directory "/Users/#{ENV['USER']}/work" do
recursive true
end
git "/Users/#{ENV['USER']}/work/backend" do
repository "git@github.com:company/backend.git"
end
Then new hires just run:
hola apply --github company/dotfiles
### Personal Dotfiles Management
Bootstrap your entire environment with one command:
# Clone repo, install packages, link dotfiles - all in one
hola apply --github username/dotfiles
# Hola automatically:
# 1. Clones https://github.com/username/dotfiles to ~/.dotfiles
# 2. Installs packages from Brewfile
# 3. Installs tools from mise.toml
# 4. Symlinks dotfiles/ directory to ~/
# ~/.dotfiles/dotfiles/.zshrc → ~/.zshrc
# ~/.dotfiles/dotfiles/.gitconfig → ~/.gitconfig
# ~/.dotfiles/dotfiles/.config/ghostty → ~/.config/ghostty
## Performance That Matters
Built in Zig, Hola is incredibly fast:
- Dock configuration: ~50ms (vs seconds with AppleScript)
- Dotfiles linking: <100ms for hundreds of files
- Package installation: Limited only by Homebrew/mise speed
- Memory usage: <10MB resident
## Why Developers Love It
"It's like Chef, but without the baggage" – Hola gives you Chef's beautiful Ruby DSL without the heavyweight dependencies.
"Finally, Dock management that works" – No more manual dragging or complex AppleScript. Define your Dock layout in code.
"Convention over configuration done right" – Smart defaults mean less typing. Hola knows where dotfiles should go.
## Advanced Features
### Conditional Logic
Use Ruby's full power in provision.rb:
# In ~/.config/hola/provision.rb
if ENV['USER'] == 'john'
package "discord"
end
case node['platform']
when 'darwin'
package "mas" # Mac App Store CLI
when 'ubuntu'
apt_repository "ppa:graphics-drivers/ppa"
end
### File Templates
template "/Users/#{ENV['USER']}/.gitconfig" do
content <<~GITCONFIG
[user]
name = #{ENV['GIT_NAME'] || 'Your Name'}
email = #{ENV['GIT_EMAIL'] || 'you@example.com'}
[core]
editor = nvim
GITCONFIG
end
### Resource Notifications
Chain resources together:
file "/etc/app/config.yml" do
content "production: true"
notify :execute, "restart-app", :immediately
end
execute "restart-app" do
command "systemctl restart app"
action :nothing # Only runs when notified
end
## Try It Today
Stop wasting time on manual setup. Whether you're setting up a new Mac, onboarding team members, or just want reproducible configurations, Hola makes it simple.
# Install
curl -fsSL https://hola.ac/install | bash
# Bootstrap from your dotfiles repo
./hola apply --github username/dotfiles
Or start simple with just a Brewfile:
# Create a Brewfile
echo 'brew "git"' > Brewfile
echo 'cask "ghostty"' >> Brewfile
# Run apply in current directory
hola apply
GitHub: https://github.com/ratazzi/hola
Installation: https://github.com/ratazzi/hola#installation
---
Built with ❤️ in Zig by developers who value their time.
What's your Mac setup routine? Have you tried Hola? Share your thoughts in the
GitHub
GitHub - ratazzi/hola: Zero-dependency macOS setup tool. Combines Brewfile, mise, and dotfiles management into a single binary.
Zero-dependency macOS setup tool. Combines Brewfile, mise, and dotfiles management into a single binary. - ratazzi/hola
Looking to Connect With GSoC Org Admins for Guidance (We’re Expanding Our Open Source Efforts)
Hey everyone, Akshay here. I’m working as DevRel at my company, OLake. We’ve been growing our open source efforts internally we even ran our own Hacktoberfest campaign, announced bounties around $100, and saw some really great contributions from the community.
Now, we want to take things a step further and explore becoming part of GSoC. Since this is our first time, I’m hoping to connect with people who have managed GSoC before either as organization admins or mentors. I’d really like to understand how you handled the process, what things you had to take care of, and what you think new orgs should prepare for.
If anyone here has experience with getting an organization into GSoC or running it in previous years, your guidance would be super helpful. Even a short explanation or a quick chat would mean a lot. We’d love to make sure we do things the right way and build something meaningful for contributors.
Thanks in advance, and if any org admins are open to sharing their experience, I’d love to connect and work together on this.
https://redd.it/1pe13t4
@r_opensource
Hey everyone, Akshay here. I’m working as DevRel at my company, OLake. We’ve been growing our open source efforts internally we even ran our own Hacktoberfest campaign, announced bounties around $100, and saw some really great contributions from the community.
Now, we want to take things a step further and explore becoming part of GSoC. Since this is our first time, I’m hoping to connect with people who have managed GSoC before either as organization admins or mentors. I’d really like to understand how you handled the process, what things you had to take care of, and what you think new orgs should prepare for.
If anyone here has experience with getting an organization into GSoC or running it in previous years, your guidance would be super helpful. Even a short explanation or a quick chat would mean a lot. We’d love to make sure we do things the right way and build something meaningful for contributors.
Thanks in advance, and if any org admins are open to sharing their experience, I’d love to connect and work together on this.
https://redd.it/1pe13t4
@r_opensource
Reddit
From the opensource community on Reddit
Explore this post and more from the opensource community
Building a small open-source CI/CD engine. I would love technical feedback & a github star
https://github.com/open-ug/conveyor
https://redd.it/1pe9w3e
@r_opensource
https://github.com/open-ug/conveyor
https://redd.it/1pe9w3e
@r_opensource
GitHub
GitHub - open-ug/conveyor: Conveyor CI is an open-source lightweight engine for building CI/CD systems with ease
Conveyor CI is an open-source lightweight engine for building CI/CD systems with ease - open-ug/conveyor