⚡ 59 developer tools, always updated, new upstream releases land in apt within hours. Join the Discord

📅 From , the apt mirror will require a subscription. See pricing · 🆓 There is an always-free mirror

🍃 Install Latest fresh-editor on Ubuntu

A terminal based IDE and text editor: easy, powerful and fast

Latest version: 0.5.2 · updated 2026-09-30
SourceVersion
deb.griffo.io0.5.2 ✅
Official Ubuntu🚫 not packaged
← Back to home

What is fresh-editor?

fresh-editor is the package for Fresh, a terminal based IDE and text editor by Noam Lewis, written in Rust. It brings what you expect from an IDE into the terminal: language server support, syntax highlighting, multiple cursors and a plugin system that runs TypeScript, while staying easy to pick up. It opens huge files without making you wait, keeps your editing session alive in a background daemon you can reattach to with fresh -a, and can even serve itself to a web browser with fresh --web. The package is called fresh-editor, and the command you type is fresh.

🚀 Why Latest Versions Matter: Fresh is young and under active development, so each release brings language server, plugin API and performance work. It is not in the Debian or Ubuntu archives at all, and upstream publishes standalone .deb files on GitHub releases but no apt repository, so a .deb installed by hand never updates itself. Plugins written against today's TypeScript API expect today's editor.

⚡ Key Features of fresh-editor

🧠 Language Server Support

Fresh speaks the Language Server Protocol, so diagnostics, completion, go to definition and hover come from the same servers other editors use, such as rust-analyzer, gopls or clangd.

🎨 Syntax Highlighting

Code is highlighted as soon as you open it, in the terminal you already use, with no separate setup step before the first file looks right.

✏️ Multiple Cursors

Put a cursor on several places at once and type in all of them, the quick way to rename a variable in a block or reshape a column of similar lines.

🧩 TypeScript Plugins

Fresh embeds a TypeScript runtime for plugins, so extending the editor means writing TypeScript against its plugin API, not learning a configuration language of its own.

🔌 Sessions That Survive

A session daemon keeps the editor and its open files alive when the terminal closes or an SSH connection drops. fresh -a attaches to it again.

🌐 Terminal or Browser

fresh --web serves the same editor to a web browser, handy when a machine is easier to reach through a browser than through a terminal.

🚀 Always ahead of the official archives: Debian and Ubuntu freeze package versions when a release ships. This repository publishes new upstream releases typically within hours. A simple apt upgrade keeps you on the latest version.

📦 Installation from deb.griffo.io

Run the commands

Step 1: Add Repository

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt update
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update

🆓 There is an always-free mirror. deb-free.griffo.io serves packages free forever, no account, no subscription, at most 2 months behind upstream, security fixes immediately. It currently carries cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud and Zed; fresh-editor is not one of them, so the repository above is the only way to get it today, ask and it can be enrolled.

How the free mirror works →

Step 2: Install fresh-editor

# Install latest fresh-editor
sudo apt install fresh-editor

# Verify installation, the command is fresh and not fresh-editor
fresh --version
# Install latest fresh-editor
apt install fresh-editor

# Verify installation, the command is fresh and not fresh-editor
fresh --version

Step 3: Open your first file

# The command is fresh. Open a file to start editing
fresh README.md

# Jump straight to a line and column, the file:line:col form compilers and grep print
fresh src/main.rs:42:7

# The manual page and the full option list ship with the package
man fresh
fresh --help

🎯 Basic Usage Examples

Opening files:

# Open a file at the spot a compiler error or a grep hit points to
fresh src/lib.rs:120:5

# Huge files open without a long wait, multi-gigabyte logs included
fresh /var/log/big-application.log

Sessions that outlive the terminal:

# Attach to the running editor session with its open files,
# after closing the terminal or when an SSH connection drops
fresh -a

# The same works from a new SSH login on the machine
ssh devbox
fresh -a

Editing in a web browser:

# Serve Fresh to a web browser instead of drawing it in this terminal
fresh --web

Language servers:

# Install a language server for your language, then open a file in it
sudo apt install clangd
fresh src/main.c

# rust-analyzer comes with rustup
rustup component add rust-analyzer
fresh src/main.rs:1:1
# Install a language server for your language, then open a file in it
apt install clangd
fresh src/main.c

# rust-analyzer comes with rustup
rustup component add rust-analyzer
fresh src/main.rs:1:1

🔧 Tool Integrations

Fresh fits into an existing terminal workflow:

  • Git: git config --global core.editor fresh opens commit messages and interactive rebases in Fresh
  • Shell: export EDITOR=fresh in ~/.bashrc makes crontab -e, sudoedit and friends use it
  • Compilers and grep: their file:line:col output opens right at the reported spot
  • Desktop: the package installs a desktop entry and icons, so Fresh shows up in your application menu
  • SSH and tmux: the session daemon keeps your work open on the remote side, and fresh -a picks it up again

🚀 Why Choose deb.griffo.io?

📊 Repository Comparison:
  • Official Ubuntu: not packaged: Fresh is in neither main nor universe on any Ubuntu release
  • Upstream .deb: current on the day you download it, but upstream publishes standalone .deb files on GitHub releases with no apt repository, so apt upgrade never sees a new version and every release is another manual download
  • Building with cargo: needs a Rust toolchain and a full compile on every upgrade, and leaves out the desktop entry, icons and man page
  • deb.griffo.io: latest version with automatic updates

📦 Package Build Repository

The Ubuntu packages are automatically built and maintained in this GitHub repository:

🔗 Related Packages

Also available from deb.griffo.io:

🎯 Perfect for: an IDE-like editor in the terminal that is easy to pick up, editing over SSH with a session that survives a dropped connection, opening huge log files, writing editor plugins in TypeScript, and anyone running upstream's .deb who wants apt upgrade to keep it current.

💝 Support This Project

If this repository saves you time and effort, please consider supporting it!

⭐ Star on GitHub 🐦 Share on Twitter

Just after the command? See apt install fresh-editor, one page covering Debian and Ubuntu.

📦 Recent releases from this repository

📚 Release-specific install guides

❓ Frequently asked questions

Is fresh-editor in the official Ubuntu repositories?

No, fresh-editor is not packaged in the official Ubuntu archives. This repository is currently the only apt source, serving fresh-editor 0.5.2.

How do I install the latest fresh-editor on Ubuntu?

Add the deb.griffo.io repository once using the instructions above, then run: sudo apt install fresh-editor. New releases arrive through the normal sudo apt upgrade.

Are the packages signed and how are they built?

Every package is signed with the repository's GPG key (EA0F721D231FDD3A0A17B9AC7808B4DD62C41256) and built from upstream releases in public GitHub packaging repositories that anyone can inspect.

Which Ubuntu releases are supported?

Ubuntu 22.04 Jammy, 24.04 Noble, 25.10 Questing and 26.04 Resolute.