• Pop!_Planet is still very much under development. Data for the wiki is being sourced from the Arch Linux and Ubuntu wikis, along with a bunch of completely unique content specific to Pop!_OS, and sourcing, converting and updating that content takes time; please be patient. If you can't find what you're looking for here, check the Arch Linux and Ubuntu wikis.
  • Welcome!

    I'll get straight to the point.

    When I started Pop!_Planet, I launched it because I saw a need for a centralized community for Pop!_OS. To be frank, I never expected the level of popularity it has achieved. Over the last year, we have gone from under 50 users, to almost 400 users. That's awesome! However... it also comes with a downside. We are rapidly running out of disk space on our server, and the bandwidth costs go up every month.

    Pop!_Planet is not affiliated with System76 in any way, and is funded completely out of pocket. From day one, I said that I'd never use on-site ads (I hate them as much as you do), so the only monetization we get is through donations. Right now, the donations we receive don't even cover our overhead.

    I know that most users will ignore this message, and that's ok. However, if even a few of our users are willing and able to donate a few dollars to help offset our expenses, it would be greatly appreciated.

    Support Pop!_Planet

    Thank you for your time,

    Dan Griffiths
    Pop!_Planet Founder

Getting Started w/ Rust on Pop

mmstick

Member
System76 Staff
Founding Member
Dec 15, 2018
216
40
20
28
Denver, Colorado
At System76, we write most of our Pop projects in Rust. It enables the rapid development of reliable, efficient software, even if you are a small team working on a very complex project. If you need to develop a project that's guaranteed to succeed, with minimal hurdles, and avoiding entire classes of security vulnerabilities, with the performance of C, Rust is the tool for the job. Rust is bundled with the Cargo package manager; and the Crates.io and Docs.rs services; to enable rapid and massive distribution of modular code, and readily-available documentation for every Rust crate on the Internet.

Where to Install

Rust is offered in the Ubuntu repositories, and we may backport newer versions of Rust from time to time, but software developers that are writing software in Rust should always look to the official Rustup Toolchain Manager for their toolchain needs. The packages in the Pop and Ubuntu repos are for those that would like to have their software packaged for Pop, and are used by the build systems to build Debian packages.

Configuring a Rust Development Environment

The IDE that you choose will not matter too much. All of the actively-developed IDEs for Rust are based around the Rustup and Rust Language Server -- both official projects of Rust. To set up your environment, you simply need to run the following after installing Rustup:

[CODE lang="shell"]rustup default stable
rustup component add rustfmt \
clippy \
rls \
rust-analysis \
rust-src
[/CODE]

Then it's just a matter of installing any editor or IDE you want, and getting the Rust extension for that editor. See the Tools section of the Rust website for a list of supported editors and IDEs.

Contributing to Pop and the Rust Community

The Rust community is still new (Rust officially released with the first stable version in 2015), so there's a lot of code that you can contribute if you want to, which might very well end up in a System76 project at some point! We host a handful of crates of our own, but any contributions that software developers make to the Rust community will both indirectly and directly benefit the development of Pop over time. You will also bring benefits to everyone across the globe that is also building software in Rust.

Getting Help With Rust

For general Rust queries, the official Rust users forum is a good place to start. You can also ask here for more advanced advice from myself and others experience with writing Rust software from, and targeting, Pop!\_OS.
 
Last edited:
  • Like
Reactions: Fuhrmann

stratact

New member
Founding Member
Dec 18, 2018
6
3
4
31
Los Angeles
I'm grateful for all the Pop related crate libraries that mmstick has produced, since the code has been really useful for my current project. Distributing the code that was originally used for Pop!_OS, which they are the only ones to provide such functionality, is a blessing.
 

Members online

No members online now.

Latest posts

Latest projects

Forum statistics

Threads
1,495
Messages
6,733
Members
1,433
Latest member
denis_vasconcelos