Hacker Newsnew | past | comments | ask | show | jobs | submit | antomal's commentslogin

It's not in the official repo just yet, but the Port is already under review on FreeBSD Bugzilla! I’m currently working through the review process to get it merged into the official ports collection. In the meantime, you can build it from source via Cargo or check out the progress on the Bugzilla ticket.


Thanks


Yes, absolutely! Autocomplete is a core feature of grsh. It currently supports history for single command and Standard command/file completion


That’s a fair point. To be concrete, 'native to FreeBSD' in the context of grsh refers to three design choices where general-purpose shells often feel like guests:

Direct System Integration: Most shells target a generic POSIX or GNU/Linux environment. grsh is being built with FreeBSD-specific subsystems in mind—specifically Jails awareness (knowing if you are inside one and interacting with it) and planned ZFS integration for smarter path completions and status reporting.

The 'Base System' Philosophy: FreeBSD users generally prefer the 'base system' vs 'ports' distinction. I've chosen the BSD-3-Clause license and focused on keeping dependencies minimal to align with the FreeBSD architectural style, rather than bringing in the heavy baggage often found in Linux-first projects.

Signal & TTY Handling: Implementing job control directly against the FreeBSD termios and signal delivery nuances. While Rust provides abstractions, the 'feel' of a shell depends on how it handles these OS-specific edge cases.

Regarding macOS: It’s 'seamless' because macOS (via Darwin) shares that BSD heritage. The implementation for process management and terminal control translates much more naturally to macOS than it does to Linux, which often requires specific workarounds for its PTY/TTY behavior.

In short: I’m building for the BSD crowd first, not as an afterthought.


I can promise you there are no agents or bots here—just a solo dev who's been working on a Rust shell for FreeBSD in his spare time.

I think the 'weird' influx of new accounts is likely because this got picked up by some FreeBSD/Rust communities or Telegram/IRC groups where people aren't usually on HN. It’s my first time posting a project here, and I'm honestly just trying to keep up with the technical questions!

If anyone is skeptical, I'd much rather talk about the code, the job control implementation, or the FreeBSD porting process. That’s why I’m here!


I noticed that too, and I can assure you it’s purely organic. I’m just as surprised as you are!

I suspect the project might have been shared in some FreeBSD or Rust-specific IRC channels or forums outside of HN, which brought in people who aren't regular HN users but are passionate about these specific technologies.

It’s exciting to see new faces, but I definitely didn’t expect this level of influx!


Great question. In practice, 'native to FreeBSD' means a few things for grsh:

System Integration: I’m prioritizing first-class support for FreeBSD-specific tools and environments (like Jails and the Ports system). While many shells treat BSD as an afterthought, I want grsh to feel like it was built specifically for the FreeBSD base system.

Technical Implementation: Currently, I’m leveraging specific behaviors of the FreeBSD terminal driver and signal handling. While the Rust codebase is portable in theory, I’m not 'watering down' the features to guarantee Linux compatibility yet. I want to exploit FreeBSD’s strengths first.

License & Philosophy: The project is under the BSD-3-Clause license, which aligns with the ecosystem's preference for permissive licensing.

Can it work on Linux/other BSDs? Yes, it can be compiled on Linux, but you might find that certain job control nuances or terminal optimizations are currently 'tuned' for the FreeBSD kernel. I’d rather have it work perfectly on one OS than 'okay-ish' on all of them.


Not yet! grsh is currently in its early stages, and I haven't submitted it to the official Ubuntu/Debian repositories yet.

However, since it's written in Rust, you can easily install it from source on Ubuntu:

Install Rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Clone the repo and run: cargo install --path .

I am currently prioritizing the FreeBSD Ports collection, but creating a .deb package or a PPA for Ubuntu is definitely on the roadmap. If anyone wants to help with the packaging, feel free to reach out on GitHub!


Thanks everyone for the incredible feedback! I'm seeing great suggestions about transparent archive navigation and plugin systems. I'm focusing on the FreeBSD port right now, but I'll be opening issues for these features on GitHub tonight. The interest in job control and Rust implementation details has been amazing.


Actually, GRSH already supports this!

You can use Ctrl+Z to suspend, and fg for basic job control. Regarding the interactive selection you mentioned: that’s one of the core features I wanted to get right from the start. Instead of memorizing job IDs, you can manage them interactively.

I’m a big fan of reducing the cognitive load when multitasking in the terminal, so I’m glad we share the same vision for a more modern job control experience!


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: