[
"{"payload":"{\"@context\":[\"https:\/\/join-lemmy.org\/context.json\",\"https:\/\/www.w3.org\/ns\/activitystreams\"],\"actor\":\"https:\/\/lemmy.ml\/c\/linux\",\"to\":[\"https:\/\/www.w3.org\/ns\/activitystreams#Public\"],\"object\":{\"id\":\"https:\/\/lemmy.ml\/post\/30917638\",\"actor\":\"https:\/\/lemmy.ml\/u\/Charger8232\",\"type\":\"Page\",\"attributedTo\":\"https:\/\/lemmy.ml\/u\/Charger8232\",\"to\":[\"https:\/\/lemmy.ml\/c\/linux\",\"https:\/\/www.w3.org\/ns\/activitystreams#Public\"],\"name\":\"[GUIDE] How To Setup Rust on secureblue (with some pictures)\",\"cc\":[],\"content\":\"<h1>NOTE<\/h1>\\n<p>For some reason, Lemmy isn\u2019t allowing me to upload more than 11 images. I will try to add the missing images after posting. It will take a while.<\/p>\\n<p>Edit: It isn\u2019t allowing me to add more images. If anyone is interested, I will upload the images elsewhere.<\/p>\\n<h1>Introduction<\/h1>\\n<p>Setting up a secure coding environment for the <a href=\\\"https:\/\/www.rust-lang.org\/\\\" rel=\\\"nofollow\\\">Rust programming language<\/a> on <a href=\\\"https:\/\/secureblue.dev\/\\\" rel=\\\"nofollow\\\">secureblue<\/a> isn\u2019t hard to do, but it\u2019s difficult to figure out on your own. That is why I am making a guide explaining how to do it yourself.<\/p>\\n<p>For this tutorial, I will be using the <code>silverblue-main-hardened:latest<\/code> <a href=\\\"https:\/\/secureblue.dev\/images\\\" rel=\\\"nofollow\\\">image<\/a> of secureblue. For this tutorial, I am also assuming you have enabled Flatpak permission lockdown by running <code>ujust flatpak-permissions-lockdown<\/code>.<\/p>\\n<h1>Install a code editor<\/h1>\\n<p>You can install whichever code editor you want, but for this tutorial I will be using <a href=\\\"https:\/\/vscodium.com\/\\\" rel=\\\"nofollow\\\">VSCodium<\/a> which is an open source binary of Microsoft\u2019s <a href=\\\"https:\/\/code.visualstudio.com\/\\\" rel=\\\"nofollow\\\">Visual Studio Code<\/a> without telemetry.<\/p>\\n<h3>Command-line instructions<\/h3>\\n<p>Open the terminal.<\/p>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>VScodium can be installed using the following command:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">flatpak install com.vscodium.codium\\n<\/span><\/pre>\\n<p>Sources: <a href=\\\"https:\/\/vscodium.com\/#flatpak-option-linux\\\" rel=\\\"nofollow\\\">1<\/a>, <a href=\\\"https:\/\/flathub.org\/apps\/com.vscodium.codium\\\" rel=\\\"nofollow\\\">2<\/a><\/p>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/13b81ff7-9b58-4f0b-9d77-9027a29b501e.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>You will be prompted to proceed with changes to the user installation. After reviewing the changes, you can press enter. VSCodium will be downloaded and installed for the current user.<\/p>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/d96ba6fd-491c-417a-b1ad-5eae3ac39d56.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>You may close the terminal now.<\/p>\\n<h3>User-interface instructions<\/h3>\\n<ol>\\n<li>Open <a href=\\\"https:\/\/apps.gnome.org\/Software\/\\\" rel=\\\"nofollow\\\">GNOME Software<\/a>.<\/li>\\n<\/ol>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/7384e8ec-66e1-4467-94c9-966887b30a39.png\\\" alt=\\\"\\\" \/><\/p>\\n<ol start=\\\"2\\\">\\n<li>Type <code>VSCodium<\/code>. This should begin typing in a search bar, and VSCodium should show up as a search result.<\/li>\\n<\/ol>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/1863f671-ec5a-4d57-8bfd-e70b18d0d9b2.png\\\" alt=\\\"\\\" \/><\/p>\\n<ol start=\\\"3\\\">\\n<li>Select <code>VSCodium<\/code> (the blue one). <code>VSCodium - Insiders<\/code> (the orange one) is the nightly release of VSCodium, and is not recommended for daily use.<\/li>\\n<\/ol>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/4dfdb694-35ea-4232-ac2d-37cacea983fb.png\\\" alt=\\\"\\\" \/><\/p>\\n<ol start=\\\"4\\\">\\n<li>Click the blue <code>Install<\/code> button on the top right. VSCodium will be downloaded and installed for the current user.<\/li>\\n<\/ol>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/ffa6b0b8-d58b-4801-8add-dadf0b54ce82.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>You may close GNOME Software now.<\/p>\\n<h1>Install the Rust SDK<\/h1>\\n<p>Rust provides multiple ways of installing. On secureblue, things are more locked down, especially with VSCodium being installed as a Flatpak. Rather than layering Rust as a system package and giving VSCodium invasive permissions to make it work, there is a much more elegant way to install Rust that isn\u2019t mentioned in their <a href=\\\"https:\/\/www.rust-lang.org\/tools\/install\\\" rel=\\\"nofollow\\\">install instructions<\/a>.<\/p>\\n<p><a href=\\\"https:\/\/flathub.org\/\\\" rel=\\\"nofollow\\\">Flathub<\/a> provides an <a href=\\\"https:\/\/github.com\/flathub\/org.freedesktop.Sdk.Extension.rust-stable\\\" rel=\\\"nofollow\\\">SDK Extension for Rust<\/a> that can be used for Flatpak code editors, such as VSCodium. <strong>This can only be installed from the command line.<\/strong> Trying to install it from GNOME Software will install an outdated version of the Rust SDK.<\/p>\\n<p>Open the terminal.<\/p>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>First, we need to find the branch of <code>org.freedesktop.Sdk<\/code>. This will allow us to install the correct version of the Rust SDK.<\/p>\\n<p>The branch of <code>org.freedesktop.Sdk<\/code> can be found using the following command:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">flatpak info org.freedesktop.Sdk\\n<\/span><\/pre>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/5c2a3d67-0b8a-40a4-9bd2-25c3c67232e9.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>Make a note of the version number next to the <code>Branch:<\/code> section. In my case, it is <code>24.08<\/code>.<\/p>\\n<p>The Rust SDK can be installed using the following command:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">flatpak install org.freedesktop.Sdk.Extension.rust-stable\\n<\/span><\/pre>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/7ef087ed-a301-4e46-a10e-30e3cb35c0c3.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>You will be prompted to select which ref you would like to install. Find the version that matches the branch of <code>org.freedesktop.Sdk<\/code>. Type the number corresponding with the version (in my case, <code>5<\/code>), and press enter.<\/p>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/f70ec844-98e5-408c-924c-0b519853b44b.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>You will be prompted to proceed with changes to the user installation. After reviewing the changes, you can press enter. The Rust SDK will be downloaded and installed for the current user.<\/p>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/0d64c7b4-db8d-4f5d-bfab-020d5c099b51.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>You may close the terminal now.<\/p>\\n<h1>Grant Flatpak permissions<\/h1>\\n<p>Assuming you enabled Flatpak permission lockdown, VSCodium won\u2019t have permission to access everything it needs to work properly. We need to grant these permissions manually.<\/p>\\n<p>We will need to create a directory to act as your project directory. VSCodium will have access to every file in this directory, so it is best to only use it for VSCodium. I am deciding to create a folder in my home directory named <code>VSCodium<\/code> to store all of my VSCodium projects.<\/p>\\n<p>VSCodium will need the following permissions to work:<\/p>\\n<ul>\\n<li>The <code>Network<\/code> permission, in order to efficiently install extensions and update them automatically.<\/li>\\n<li>Access to a dedicated project directory, in order to create workspaces.<\/li>\\n<li>Permission to access the Rust SDK, in order to support the Rust language.<\/li>\\n<li>Optional access to <code>Development syscalls<\/code>, in order to use debugging extensions.<\/li>\\n<\/ul>\\n<h3>Command-line instructions<\/h3>\\n<p>Open the terminal.<\/p>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>VScodium can be granted the <code>Network<\/code> permission using the following command:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">flatpak override -u --share=network com.vscodium.codium\\n<\/span><\/pre>\\n<p>The <code>-u<\/code> flag is an alias for <code>\u2013user<\/code>, which will change the permission only for the current user.<\/p>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>A project directory can be created using the following command:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"font-weight:bold;color:#a71d5d;\\\">mkdir<\/span><span style=\\\"color:#323232;\\\"> VSCodium\\n<\/span><\/pre>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>VSCodium can be granted access to the project directory using the following command:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">flatpak override -u --filesystem=~\/VSCodium com.vscodium.codium\\n<\/span><\/pre>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>VScodium can be granted access to the Rust SDK using the following command:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">flatpak override -u --env=FLATPAK_ENABLE_SDK_EXT=rust-stable com.vscodium.codium\\n<\/span><\/pre>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>You may close the terminal now.<\/p>\\n<h3>User-interface instructions<\/h3>\\n<ol>\\n<li>\\n<p>Open <a href=\\\"https:\/\/github.com\/tchx84\/Flatseal\\\" rel=\\\"nofollow\\\">Flatseal<\/a>. This should be installed by default, but if you decided not to install it during the <a href=\\\"https:\/\/secureblue.dev\/install#post-install\\\" rel=\\\"nofollow\\\">post-install of secureblue<\/a>, it can be installed from GNOME Software.<\/p>\\n<\/li>\\n<li>\\n<p>Type <code>VSCodium<\/code>. This should begin typing in a search bar on the left, and VSCodium should show up as a search result.<\/p>\\n<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"3\\\">\\n<li>Select <code>VSCodium<\/code>.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"4\\\">\\n<li>To grant VSCodium the <code>Network<\/code> permission, enable the switch next to the <code>Network<\/code> permission. It should turn blue, indicating that the permission has been granted.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"5\\\">\\n<li>Open <a href=\\\"https:\/\/apps.gnome.org\/en\/Nautilus\/\\\" rel=\\\"nofollow\\\">Files<\/a><\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"6\\\">\\n<li>Right click, and click on the option labeled <code>New Folder\u2026<\/code> (This can also be done using <code>Shift+Ctrl+N<\/code>)<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"7\\\">\\n<li>Enter <code>VSCodium<\/code> in the text field labeled <code>Folder Name<\/code>.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"8\\\">\\n<li>Click <code>Create<\/code> to create the folder. This will create a project directory for VSCodium to use.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"9\\\">\\n<li>In Flatseal, scroll down to the <code>Filesystem<\/code> section.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"10\\\">\\n<li>Click on the folder with a plus icon under the <code>Other files<\/code> section. An empty text field should appear.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"11\\\">\\n<li>Click on the empty text field.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"12\\\">\\n<li>Enter the following into the text field:<\/li>\\n<\/ol>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">~\/VSCodium\\n<\/span><\/pre>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"13\\\">\\n<li>To grant VSCodium access to the Rust SDK, scroll down to the <code>Environment<\/code> section.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"14\\\">\\n<li>Click the plus icon on the top right. An empty text field should appear.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"15\\\">\\n<li>Click on the empty text field.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"16\\\">\\n<li>Enter the following into the text field:<\/li>\\n<\/ol>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">FLATPAK_ENABLE_SDK_EXT=rust-stable\\n<\/span><\/pre>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>You may close Flatseal now.<\/p>\\n<h3>Open VSCodium<\/h3>\\n<p>Now that VSCodium has the necessary permissions to function, we can finally run it.<\/p>\\n<h3>Command-line instructions<\/h3>\\n<p>Open the terminal.<\/p>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>VScodium can berun using the following command:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">flatpak run com.vscodium.codium\\n<\/span><\/pre>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<h3>User-interface instructions<\/h3>\\n<ol>\\n<li>\\n<p>Press the <code>Super<\/code> key to view the dock.<\/p>\\n<\/li>\\n<li>\\n<p>Click on the <code>Show Apps<\/code> button (nine dots) on the bottom right to show a list of installed apps.<\/p>\\n<\/li>\\n<li>\\n<p>Click on the VSCodium icon to open it.<\/p>\\n<\/li>\\n<\/ol>\\n<h1>Install the rust-analyzer extension<\/h1>\\n<p>Upon first launching VSCodium, you will be presented with a <code>README.md<\/code> file. This file has information about using VSCodium as a Flatpak. Since we have already granted it the necessary permissions, this file can be ignored.<\/p>\\n<p>We now need to install the <a href=\\\"https:\/\/marketplace.visualstudio.com\/items?itemName=rust-lang.rust-analyzer\\\" rel=\\\"nofollow\\\">rust-analyzer extension<\/a>. This extension will give us a comfortable Rust development environment in VSCodium.<\/p>\\n<h3>Keyboard instructions<\/h3>\\n<p>Launch the VSCodium Quick Open by using <code>Ctrl+P<\/code>.<\/p>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>Enter the following command:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">ext install rust-lang.rust-analyzer\\n<\/span><\/pre>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>Press enter to install the <code>rust-analyzer<\/code> extension.<\/p>\\n<p>Sources: <a href=\\\"https:\/\/marketplace.visualstudio.com\/items?itemName=rust-lang.rust-analyzer\\\" rel=\\\"nofollow\\\">1<\/a><\/p>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>You will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can press enter to select the <code>Trust Publisher & Install<\/code> button on the bottom right.<\/p>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>You may be prompted to trust the authors of the files in this workspace. After reviewing the prompt, you can select the <code>Install<\/code> button. The <code>rust-analyzer<\/code> extension will be downloaded and installed for the current profile.<\/p>\\n<h3>Mouse instructions<\/h3>\\n<ol>\\n<li>Click on the <code>Extensions<\/code> menu on the left. (This can also be opened by using <code>Ctrl+Shift+X<\/code>)<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"2\\\">\\n<li>Enter <code>rust-analyzer<\/code> into the search bar. This will search for the extension we need.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"3\\\">\\n<li>Click on the extension labeled <code>rust-analyzer<\/code>.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"4\\\">\\n<li>Click the <code>Install<\/code> button for the <code>rust-analyzer<\/code> extension.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"5\\\">\\n<li>You will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can click on the <code>Trust Publisher & Install<\/code> button on the bottom right.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"6\\\">\\n<li>You may be prompted to trust the authors of the files in this workspace. After reviewing the prompt, you can click the <code>Install<\/code> button. The <code>rust-analyzer<\/code> extension will be downloaded and installed for the current profile.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>The <code>rust-analyzer<\/code> extension is now installed.<\/p>\\n<h1>Create a new project<\/h1>\\n<p>Now that we have the <code>rust-analyzer<\/code> extension installed, we can create a new Rust project.<\/p>\\n<p>The keyboard instructions are broken due to the <code>Ctrl+K<\/code> keybind being unfunctional, and the <code>Ctrl+O<\/code> keybind being binded to the wrong option. Because of that, only mouse instructions are available for this step.<\/p>\\n<ol>\\n<li>Click on the <code>File<\/code> dropdown on the top left.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"2\\\">\\n<li>Click on the option labeled <code>Open Folder\u2026<\/code><\/li>\\n<\/ol>\\n<p>You will get a dialogue saying the following:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">Oops! Something went wrong.\\n<\/span><span style=\\\"color:#323232;\\\">Unable to <\/span><span style=\\\"font-weight:bold;color:#a71d5d;\\\">find <\/span><span style=\\\"color:#183691;\\\">"\/app\/share\/ide-flatpak-wrapper"<\/span><span style=\\\"color:#323232;\\\">. Please check the spelling and try again.\\n<\/span><\/pre>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>This can be ignored. It is appearing because we never granted VSCodium access to a specific folder, and it has no effect.<\/p>\\n<ol start=\\\"3\\\">\\n<li>Click on <code>OK<\/code> to dismiss it.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"4\\\">\\n<li>Double click on the <code>VSCodium<\/code> folder to enter it.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"5\\\">\\n<li>Right click, and click on the option labeled <code>New Folder\u2026<\/code> (This can also be done using <code>Shift+Ctrl+N<\/code>). Alternatively, select the folder with a plus icon on the top right.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"6\\\">\\n<li>Enter the name of your project in the text field labeled <code>Folder Name<\/code>. For this example, I will create a folder named <code>example<\/code>.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"9\\\">\\n<li>Click <code>Create<\/code> to create the folder.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"10\\\">\\n<li>Click <code>Open<\/code> in the bottom left to open the folder.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"11\\\">\\n<li>You will be prompted to trust the authors of the files in this folder. After reviewing the prompt, you can select the <code>Yes, I trust the authors<\/code> button.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"12\\\">\\n<li>Press Ctrl+` to open the terminal.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"13\\\">\\n<li>The project can be initialized using the following command:<\/li>\\n<\/ol>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">cargo init\\n<\/span><\/pre>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>You have now created a Rust project, and you can get started coding in Rust.<\/p>\\n<h1>Optional: Support for debugging<\/h1>\\n<p>Right now, there are no debugging extensions installed. The two recommended debugging extensions are <a href=\\\"https:\/\/marketplace.visualstudio.com\/items?itemName=vadimcn.vscode-lldb\\\" rel=\\\"nofollow\\\">CodeLLDB<\/a> and <a href=\\\"https:\/\/marketplace.visualstudio.com\/items?itemName=webfreak.debug\\\" rel=\\\"nofollow\\\">Native Debug<\/a>. I prefer CodeLLDB because, as of writing this, Native Debug has not been updated in over a year. It is still in active development, but there has not been a release in over a year.<\/p>\\n<h3>Keyboard instructions<\/h3>\\n<p>Open VSCodium.<\/p>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>Launch the VSCodium Quick Open by using <code>Ctrl+P<\/code>.<\/p>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>Enter the following command:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">ext install vadimcn.vscode-lldb\\n<\/span><\/pre>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>Press enter to install the CodeLLDB extension.<\/p>\\n<p>Sources: <a href=\\\"https:\/\/marketplace.visualstudio.com\/items?itemName=vadimcn.vscode-lldb\\\" rel=\\\"nofollow\\\">1<\/a><\/p>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>You will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can press enter to select the <code>Trust Publisher & Install<\/code> button on the bottom right. The CodeLLDB extension will be downloaded and installed for the current profile.<\/p>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>You will see a prompt on the bottom right saying the following:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">Completed installing extension. Please restart extensions to enable it.\\n<\/span><\/pre>\\n<p>Select <code>Restart Extensions<\/code> to restart the extensions.<\/p>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<h3>Mouse instructions<\/h3>\\n<ol>\\n<li>Click on the <code>Extensions<\/code> menu on the left. (This can also be opened by using <code>Ctrl+Shift+X<\/code>)<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"2\\\">\\n<li>Enter <code>CodeLLDB<\/code> into the search bar. This will search for the extension we need.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"3\\\">\\n<li>Click on the extension labeled <code>CodeLLDB<\/code>.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"4\\\">\\n<li>Click the <code>Install<\/code> button for the CodeLLDB extension.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"5\\\">\\n<li>You will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can click on the <code>Trust Publisher & Install<\/code> button on the bottom right. The CodeLLDB extension will be downloaded and installed for the current profile.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>You will see a prompt on the bottom right saying the following:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">Completed installing extension. Please restart extensions to enable it.\\n<\/span><\/pre>\\n<p>Select <code>Restart Extensions<\/code> to restart the extensions.<\/p>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>The CodeLLDB extension is now installed.<\/p>\\n<h1>Grant VSCodium ptrace access<\/h1>\\n<p>If you try to debug a program using a debugger extension, you will receive the following error:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">VSCodium\\n<\/span><span style=\\\"color:#323232;\\\">Cannot launch '\/var\/home\/anonymous\/VSCodium\/example\/target\/<\/span><span style=\\\"font-weight:bold;color:#a71d5d;\\\">debug<\/span><span style=\\\"color:#323232;\\\">\/example': ptrace failed: Operation <\/span><span style=\\\"font-weight:bold;color:#a71d5d;\\\">not<\/span><span style=\\\"color:#323232;\\\"> permitted\\n<\/span><\/pre>\\n<p>The reason for this is because VSCodium does not have permission to access development syscalls.<\/p>\\n<h3>Command-line instructions<\/h3>\\n<p>Open the terminal.<\/p>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>VScodium can be granted the <code>Development syscalls<\/code> permission using the following command:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">flatpak override -u --allow=devel com.vscodium.codium\\n<\/span><\/pre>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>You may close the terminal now.<\/p>\\n<h3>User-interface instructions<\/h3>\\n<ol>\\n<li>\\n<p>Open Flatseal.<\/p>\\n<\/li>\\n<li>\\n<p>Type <code>VSCodium<\/code>. This should begin typing in a search bar on the left, and VSCodium should show up as a search result.<\/p>\\n<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"3\\\">\\n<li>Select <code>VSCodium<\/code>.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"4\\\">\\n<li>To grant VSCodium the <code>Development syscalls<\/code> permission, scroll down to the section labeled <code>Allow<\/code>.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<ol start=\\\"5\\\">\\n<li>Enable the switch next to the <code>Development syscalls (e.g. ptrace)<\/code> permission. It should turn blue, indicating that the permission has been granted.<\/li>\\n<\/ol>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>You may close Flatseal now.<\/p>\\n<h1>Enable enable anti-cheat support<\/h1>\\n<p>Even though VSCodium has access to ptrace, the system still does not permit it. This is to defend against <a href=\\\"https:\/\/www.kernel.org\/doc\/Documentation\/security\/Yama.txt\\\" rel=\\\"nofollow\\\">basic security concerns<\/a>. secureblue provides a toggle to enable support for anti-cheat, which will allow VSCodium to access ptrace.<\/p>\\n<p>Open the terminal.<\/p>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>Anti-cheat support can be enabled using one of the following commands:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">ujust toggle-anticheat-support\\n<\/span><\/pre>\\n<p>or<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">ujust toggle-ptrace-scope\\n<\/span><\/pre>\\n<p>Sources: <a href=\\\"https:\/\/secureblue.dev\/faq#anticheat\\\" rel=\\\"nofollow\\\">1<\/a><\/p>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>You will be prompted for your administrator passphrase. After reviewing the prompt, enter your passphrase and click <code>Authenticate<\/code>. This will enable anti-cheat support.<\/p>\\n<p>[INSERT IMAGE HERE]<\/p>\\n<p>You will need to restart your device to complete the changes.<\/p>\\n<h3>Command-line instructions<\/h3>\\n<p>Open the terminal.<\/p>\\n<p><img src=\\\"https:\/\/lemmy.ml\/pictrs\/image\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\" alt=\\\"\\\" \/><\/p>\\n<p>The device can be restarted using the following command:<\/p>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">reboot\\n<\/span><\/pre>\\n<h3>User-interface instructions<\/h3>\\n<ol>\\n<li>\\n<p>Click on the status bar on the top right.<\/p>\\n<\/li>\\n<li>\\n<p>Click on the power button.<\/p>\\n<\/li>\\n<li>\\n<p>Click on the option labeled <code>Restart\u2026<\/code>.<\/p>\\n<\/li>\\n<li>\\n<p>You will get a prompt saying the following:<\/p>\\n<\/li>\\n<\/ol>\\n<pre style=\\\"background-color:#ffffff;\\\">\\n<span style=\\\"color:#323232;\\\">Restart\\n<\/span><span style=\\\"color:#323232;\\\">The system will restart automatically in <\/span><span style=\\\"color:#0086b3;\\\">60<\/span><span style=\\\"color:#323232;\\\"> seconds\\n<\/span><\/pre>\\n<ol start=\\\"5\\\">\\n<li>Click on the button labeled <code>Restart<\/code> to restart the system now.<\/li>\\n<\/ol>\\n<p>Anti-cheat support is now enabled, and debugging extensions will work.<\/p>\\n\",\"mediaType\":\"text\/html\",\"source\":{\"content\":\"# NOTE\\n\\nFor some reason, Lemmy isn't allowing me to upload more than 11 images. I will try to add the missing images after posting. It will take a while.\\n\\nEdit: It isn't allowing me to add more images. If anyone is interested, I will upload the images elsewhere.\\n\\n# Introduction\\n\\nSetting up a secure coding environment for the [Rust programming language](https:\/\/www.rust-lang.org\/) on [secureblue](https:\/\/secureblue.dev\/) isn't hard to do, but it's difficult to figure out on your own. That is why I am making a guide explaining how to do it yourself.\\n\\nFor this tutorial, I will be using the `silverblue-main-hardened:latest` [image](https:\/\/secureblue.dev\/images) of secureblue. For this tutorial, I am also assuming you have enabled Flatpak permission lockdown by running `ujust flatpak-permissions-lockdown`.\\n\\n# Install a code editor\\n\\nYou can install whichever code editor you want, but for this tutorial I will be using [VSCodium](https:\/\/vscodium.com\/) which is an open source binary of Microsoft's [Visual Studio Code](https:\/\/code.visualstudio.com\/) without telemetry.\\n\\n### Command-line instructions\\n\\nOpen the terminal.\\n\\n\\n\\nVScodium can be installed using the following command:\\n\\n```cmd\\nflatpak install com.vscodium.codium\\n```\\n\\nSources: [1](https:\/\/vscodium.com\/#flatpak-option-linux), [2](https:\/\/flathub.org\/apps\/com.vscodium.codium)\\n\\n\\n\\nYou will be prompted to proceed with changes to the user installation. After reviewing the changes, you can press enter. VSCodium will be downloaded and installed for the current user. \\n\\n\\n\\nYou may close the terminal now.\\n\\n### User-interface instructions\\n\\n1. Open [GNOME Software](https:\/\/apps.gnome.org\/Software\/).\\n\\n\\n\\n2. Type `VSCodium`. This should begin typing in a search bar, and VSCodium should show up as a search result.\\n\\n\\n\\n3. Select `VSCodium` (the blue one). `VSCodium - Insiders` (the orange one) is the nightly release of VSCodium, and is not recommended for daily use.\\n\\n\\n\\n4. Click the blue `Install` button on the top right. VSCodium will be downloaded and installed for the current user. \\n\\n\\n\\nYou may close GNOME Software now.\\n\\n# Install the Rust SDK\\n\\nRust provides multiple ways of installing. On secureblue, things are more locked down, especially with VSCodium being installed as a Flatpak. Rather than layering Rust as a system package and giving VSCodium invasive permissions to make it work, there is a much more elegant way to install Rust that isn't mentioned in their [install instructions](https:\/\/www.rust-lang.org\/tools\/install).\\n\\n[Flathub](https:\/\/flathub.org\/) provides an [SDK Extension for Rust](https:\/\/github.com\/flathub\/org.freedesktop.Sdk.Extension.rust-stable) that can be used for Flatpak code editors, such as VSCodium. **This can only be installed from the command line.** Trying to install it from GNOME Software will install an outdated version of the Rust SDK.\\n\\nOpen the terminal.\\n\\n\\n\\nFirst, we need to find the branch of `org.freedesktop.Sdk`. This will allow us to install the correct version of the Rust SDK.\\n\\nThe branch of `org.freedesktop.Sdk` can be found using the following command:\\n\\n```cmd\\nflatpak info org.freedesktop.Sdk\\n```\\n\\n\\n\\nMake a note of the version number next to the `Branch:` section. In my case, it is `24.08`.\\n\\nThe Rust SDK can be installed using the following command:\\n\\n```cmd\\nflatpak install org.freedesktop.Sdk.Extension.rust-stable\\n```\\n\\n\\n\\nYou will be prompted to select which ref you would like to install. Find the version that matches the branch of `org.freedesktop.Sdk`. Type the number corresponding with the version (in my case, `5`), and press enter.\\n\\n\\n\\nYou will be prompted to proceed with changes to the user installation. After reviewing the changes, you can press enter. The Rust SDK will be downloaded and installed for the current user. \\n\\n\\n\\nYou may close the terminal now.\\n\\n# Grant Flatpak permissions\\n\\nAssuming you enabled Flatpak permission lockdown, VSCodium won't have permission to access everything it needs to work properly. We need to grant these permissions manually.\\n\\nWe will need to create a directory to act as your project directory. VSCodium will have access to every file in this directory, so it is best to only use it for VSCodium. I am deciding to create a folder in my home directory named `VSCodium` to store all of my VSCodium projects.\\n\\nVSCodium will need the following permissions to work:\\n- The `Network` permission, in order to efficiently install extensions and update them automatically.\\n- Access to a dedicated project directory, in order to create workspaces.\\n- Permission to access the Rust SDK, in order to support the Rust language.\\n- Optional access to `Development syscalls`, in order to use debugging extensions.\\n\\n### Command-line instructions\\n\\nOpen the terminal.\\n\\n\\n\\nVScodium can be granted the `Network` permission using the following command:\\n\\n```cmd\\nflatpak override -u --share=network com.vscodium.codium\\n```\\n\\nThe `-u` flag is an alias for `--user`, which will change the permission only for the current user.\\n\\n[INSERT IMAGE HERE]\\n\\nA project directory can be created using the following command:\\n\\n```cmd\\nmkdir VSCodium\\n```\\n\\n[INSERT IMAGE HERE]\\n\\nVSCodium can be granted access to the project directory using the following command:\\n\\n```cmd\\nflatpak override -u --filesystem=~\/VSCodium com.vscodium.codium\\n```\\n\\n[INSERT IMAGE HERE]\\n\\nVScodium can be granted access to the Rust SDK using the following command:\\n\\n```cmd\\nflatpak override -u --env=FLATPAK_ENABLE_SDK_EXT=rust-stable com.vscodium.codium\\n```\\n\\n[INSERT IMAGE HERE]\\n\\nYou may close the terminal now.\\n\\n### User-interface instructions\\n\\n1. Open [Flatseal](https:\/\/github.com\/tchx84\/Flatseal). This should be installed by default, but if you decided not to install it during the [post-install of secureblue](https:\/\/secureblue.dev\/install#post-install), it can be installed from GNOME Software.\\n\\n2. Type `VSCodium`. This should begin typing in a search bar on the left, and VSCodium should show up as a search result.\\n\\n[INSERT IMAGE HERE]\\n\\n3. Select `VSCodium`.\\n\\n[INSERT IMAGE HERE]\\n\\n4. To grant VSCodium the `Network` permission, enable the switch next to the `Network` permission. It should turn blue, indicating that the permission has been granted.\\n\\n[INSERT IMAGE HERE]\\n\\n5. Open [Files](https:\/\/apps.gnome.org\/en\/Nautilus\/)\\n\\n[INSERT IMAGE HERE]\\n\\n6. Right click, and click on the option labeled `New Folder...` (This can also be done using `Shift+Ctrl+N`)\\n\\n[INSERT IMAGE HERE]\\n\\n7. Enter `VSCodium` in the text field labeled `Folder Name`.\\n\\n[INSERT IMAGE HERE]\\n\\n8. Click `Create` to create the folder. This will create a project directory for VSCodium to use.\\n\\n[INSERT IMAGE HERE]\\n\\n9. In Flatseal, scroll down to the `Filesystem` section.\\n\\n[INSERT IMAGE HERE]\\n\\n10. Click on the folder with a plus icon under the `Other files` section. An empty text field should appear.\\n\\n[INSERT IMAGE HERE]\\n\\n11. Click on the empty text field.\\n\\n[INSERT IMAGE HERE]\\n\\n12. Enter the following into the text field:\\n\\n```cmd\\n~\/VSCodium\\n```\\n\\n[INSERT IMAGE HERE]\\n\\n13. To grant VSCodium access to the Rust SDK, scroll down to the `Environment` section.\\n\\n[INSERT IMAGE HERE]\\n\\n14. Click the plus icon on the top right. An empty text field should appear.\\n\\n[INSERT IMAGE HERE]\\n\\n15. Click on the empty text field.\\n\\n[INSERT IMAGE HERE]\\n\\n16. Enter the following into the text field:\\n\\n```cmd\\nFLATPAK_ENABLE_SDK_EXT=rust-stable\\n```\\n\\n[INSERT IMAGE HERE]\\n\\nYou may close Flatseal now.\\n\\n### Open VSCodium\\n\\nNow that VSCodium has the necessary permissions to function, we can finally run it.\\n\\n### Command-line instructions\\n\\nOpen the terminal.\\n\\n\\n\\nVScodium can berun using the following command:\\n\\n```cmd\\nflatpak run com.vscodium.codium\\n```\\n\\n[INSERT IMAGE HERE]\\n\\n### User-interface instructions\\n\\n1. Press the `Super` key to view the dock.\\n\\n2. Click on the `Show Apps` button (nine dots) on the bottom right to show a list of installed apps.\\n\\n3. Click on the VSCodium icon to open it.\\n\\n# Install the rust-analyzer extension\\n\\nUpon first launching VSCodium, you will be presented with a `README.md` file. This file has information about using VSCodium as a Flatpak. Since we have already granted it the necessary permissions, this file can be ignored.\\n\\nWe now need to install the [rust-analyzer extension](https:\/\/marketplace.visualstudio.com\/items?itemName=rust-lang.rust-analyzer). This extension will give us a comfortable Rust development environment in VSCodium.\\n\\n### Keyboard instructions\\n\\nLaunch the VSCodium Quick Open by using `Ctrl+P`.\\n\\n[INSERT IMAGE HERE]\\n\\nEnter the following command:\\n\\n```\\next install rust-lang.rust-analyzer\\n```\\n\\n[INSERT IMAGE HERE]\\n\\nPress enter to install the `rust-analyzer` extension.\\n\\nSources: [1](https:\/\/marketplace.visualstudio.com\/items?itemName=rust-lang.rust-analyzer)\\n\\n[INSERT IMAGE HERE]\\n\\nYou will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can press enter to select the `Trust Publisher & Install` button on the bottom right.\\n\\n[INSERT IMAGE HERE]\\n\\nYou may be prompted to trust the authors of the files in this workspace. After reviewing the prompt, you can select the `Install` button. The `rust-analyzer` extension will be downloaded and installed for the current profile. \\n\\n### Mouse instructions\\n\\n1. Click on the `Extensions` menu on the left. (This can also be opened by using `Ctrl+Shift+X`)\\n\\n[INSERT IMAGE HERE]\\n\\n2. Enter `rust-analyzer` into the search bar. This will search for the extension we need.\\n\\n[INSERT IMAGE HERE]\\n\\n3. Click on the extension labeled `rust-analyzer`. \\n\\n[INSERT IMAGE HERE]\\n\\n4. Click the `Install` button for the `rust-analyzer` extension.\\n\\n[INSERT IMAGE HERE]\\n\\n5. You will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can click on the `Trust Publisher & Install` button on the bottom right.\\n\\n[INSERT IMAGE HERE]\\n\\n6. You may be prompted to trust the authors of the files in this workspace. After reviewing the prompt, you can click the `Install` button. The `rust-analyzer` extension will be downloaded and installed for the current profile. \\n\\n[INSERT IMAGE HERE]\\n\\nThe `rust-analyzer` extension is now installed. \\n\\n# Create a new project\\n\\nNow that we have the `rust-analyzer` extension installed, we can create a new Rust project.\\n\\nThe keyboard instructions are broken due to the `Ctrl+K` keybind being unfunctional, and the `Ctrl+O` keybind being binded to the wrong option. Because of that, only mouse instructions are available for this step.\\n\\n1. Click on the `File` dropdown on the top left.\\n\\n[INSERT IMAGE HERE]\\n\\n2. Click on the option labeled `Open Folder...`\\n\\nYou will get a dialogue saying the following:\\n\\n```cmd\\nOops! Something went wrong.\\nUnable to find \\\"\/app\/share\/ide-flatpak-wrapper\\\". Please check the spelling and try again.\\n```\\n\\n[INSERT IMAGE HERE]\\n\\nThis can be ignored. It is appearing because we never granted VSCodium access to a specific folder, and it has no effect.\\n\\n3. Click on `OK` to dismiss it.\\n\\n[INSERT IMAGE HERE]\\n\\n4. Double click on the `VSCodium` folder to enter it.\\n\\n[INSERT IMAGE HERE]\\n\\n5. Right click, and click on the option labeled `New Folder...` (This can also be done using `Shift+Ctrl+N`). Alternatively, select the folder with a plus icon on the top right.\\n\\n[INSERT IMAGE HERE]\\n\\n6. Enter the name of your project in the text field labeled `Folder Name`. For this example, I will create a folder named `example`.\\n\\n[INSERT IMAGE HERE]\\n\\n9. Click `Create` to create the folder. \\n\\n[INSERT IMAGE HERE]\\n\\n10. Click `Open` in the bottom left to open the folder.\\n\\n[INSERT IMAGE HERE]\\n\\n11. You will be prompted to trust the authors of the files in this folder. After reviewing the prompt, you can select the `Yes, I trust the authors` button.\\n\\n[INSERT IMAGE HERE]\\n\\n12. Press Ctrl+` to open the terminal.\\n\\n[INSERT IMAGE HERE]\\n\\n13. The project can be initialized using the following command:\\n\\n```cmd\\ncargo init\\n```\\n\\n[INSERT IMAGE HERE]\\n\\nYou have now created a Rust project, and you can get started coding in Rust.\\n\\n# Optional: Support for debugging\\n\\nRight now, there are no debugging extensions installed. The two recommended debugging extensions are [CodeLLDB](https:\/\/marketplace.visualstudio.com\/items?itemName=vadimcn.vscode-lldb) and [Native Debug](https:\/\/marketplace.visualstudio.com\/items?itemName=webfreak.debug). I prefer CodeLLDB because, as of writing this, Native Debug has not been updated in over a year. It is still in active development, but there has not been a release in over a year.\\n\\n### Keyboard instructions\\n\\nOpen VSCodium.\\n\\n[INSERT IMAGE HERE]\\n\\nLaunch the VSCodium Quick Open by using `Ctrl+P`.\\n\\n[INSERT IMAGE HERE]\\n\\nEnter the following command:\\n\\n```\\next install vadimcn.vscode-lldb\\n```\\n\\n[INSERT IMAGE HERE]\\n\\nPress enter to install the CodeLLDB extension.\\n\\nSources: [1](https:\/\/marketplace.visualstudio.com\/items?itemName=vadimcn.vscode-lldb)\\n\\n[INSERT IMAGE HERE]\\n\\nYou will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can press enter to select the `Trust Publisher & Install` button on the bottom right. The CodeLLDB extension will be downloaded and installed for the current profile. \\n\\n[INSERT IMAGE HERE]\\n\\nYou will see a prompt on the bottom right saying the following:\\n\\n```\\nCompleted installing extension. Please restart extensions to enable it.\\n```\\n\\nSelect `Restart Extensions` to restart the extensions.\\n\\n[INSERT IMAGE HERE]\\n\\n### Mouse instructions\\n\\n1. Click on the `Extensions` menu on the left. (This can also be opened by using `Ctrl+Shift+X`)\\n\\n[INSERT IMAGE HERE]\\n\\n2. Enter `CodeLLDB` into the search bar. This will search for the extension we need.\\n\\n[INSERT IMAGE HERE]\\n\\n3. Click on the extension labeled `CodeLLDB`. \\n\\n[INSERT IMAGE HERE]\\n\\n4. Click the `Install` button for the CodeLLDB extension.\\n\\n[INSERT IMAGE HERE]\\n\\n5. You will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can click on the `Trust Publisher & Install` button on the bottom right. The CodeLLDB extension will be downloaded and installed for the current profile. \\n\\n[INSERT IMAGE HERE]\\n\\nYou will see a prompt on the bottom right saying the following:\\n\\n```\\nCompleted installing extension. Please restart extensions to enable it.\\n```\\n\\nSelect `Restart Extensions` to restart the extensions.\\n\\n[INSERT IMAGE HERE]\\n\\nThe CodeLLDB extension is now installed. \\n\\n# Grant VSCodium ptrace access\\n\\nIf you try to debug a program using a debugger extension, you will receive the following error:\\n\\n```cmd\\nVSCodium\\nCannot launch '\/var\/home\/anonymous\/VSCodium\/example\/target\/debug\/example': ptrace failed: Operation not permitted\\n```\\n\\nThe reason for this is because VSCodium does not have permission to access development syscalls. \\n\\n### Command-line instructions\\n\\nOpen the terminal.\\n\\n\\n\\nVScodium can be granted the `Development syscalls` permission using the following command:\\n\\n```cmd\\nflatpak override -u --allow=devel com.vscodium.codium\\n```\\n\\n[INSERT IMAGE HERE]\\n\\nYou may close the terminal now.\\n\\n### User-interface instructions\\n\\n1. Open Flatseal.\\n\\n2. Type `VSCodium`. This should begin typing in a search bar on the left, and VSCodium should show up as a search result.\\n\\n[INSERT IMAGE HERE]\\n\\n3. Select `VSCodium`.\\n\\n[INSERT IMAGE HERE]\\n\\n4. To grant VSCodium the `Development syscalls` permission, scroll down to the section labeled `Allow`.\\n\\n[INSERT IMAGE HERE]\\n\\n5. Enable the switch next to the `Development syscalls (e.g. ptrace)` permission. It should turn blue, indicating that the permission has been granted.\\n\\n[INSERT IMAGE HERE]\\n\\nYou may close Flatseal now.\\n\\n# Enable enable anti-cheat support\\n\\nEven though VSCodium has access to ptrace, the system still does not permit it. This is to defend against [basic security concerns](https:\/\/www.kernel.org\/doc\/Documentation\/security\/Yama.txt). secureblue provides a toggle to enable support for anti-cheat, which will allow VSCodium to access ptrace.\\n\\nOpen the terminal.\\n\\n\\n\\nAnti-cheat support can be enabled using one of the following commands:\\n\\n```cmd\\nujust toggle-anticheat-support\\n```\\n\\nor\\n\\n```cmd\\nujust toggle-ptrace-scope\\n```\\n\\nSources: [1](https:\/\/secureblue.dev\/faq#anticheat)\\n\\n[INSERT IMAGE HERE]\\n\\nYou will be prompted for your administrator passphrase. After reviewing the prompt, enter your passphrase and click `Authenticate`. This will enable anti-cheat support.\\n\\n[INSERT IMAGE HERE]\\n\\nYou will need to restart your device to complete the changes. \\n\\n### Command-line instructions\\n\\nOpen the terminal.\\n\\n\\n\\nThe device can be restarted using the following command:\\n\\n```cmd\\nreboot\\n```\\n\\n### User-interface instructions\\n\\n1. Click on the status bar on the top right.\\n\\n2. Click on the power button.\\n\\n3. Click on the option labeled `Restart...`.\\n\\n4. You will get a prompt saying the following:\\n\\n```cmd\\nRestart\\nThe system will restart automatically in 60 seconds\\n```\\n\\n5. Click on the button labeled `Restart` to restart the system now.\\n\\nAnti-cheat support is now enabled, and debugging extensions will work.\",\"mediaType\":\"text\/markdown\"},\"attachment\":[],\"sensitive\":false,\"published\":\"2025-05-30T21:32:31.476792Z\",\"updated\":\"2025-05-30T21:42:22.375574Z\",\"audience\":\"https:\/\/lemmy.ml\/c\/linux\",\"tag\":[{\"href\":\"https:\/\/lemmy.ml\/post\/30917638\",\"name\":\"#linux\",\"type\":\"Hashtag\"}]},\"cc\":[\"https:\/\/lemmy.ml\/c\/linux\/followers\"],\"type\":\"Announce\",\"id\":\"https:\/\/lemmy.ml\/activities\/announce\/page\/155d3c11-38d9-4b3b-af21-8809f5a421cb\"}","request":{"host":"kbin.spritesserver.nl","method":"POST","uri":"\/f\/inbox","client_ip":"54.36.178.108"},"headers":{"content-type":["application\/activity+json"],"host":["kbin.spritesserver.nl"],"date":["Fri, 30 May 2025 21:42:53 GMT"],"digest":["SHA-256=ezU3E4y03OpNrzMdJOv4W\/B7LCVCHMtbMNtxFxws2RU="],"signature":["keyId=\"https:\/\/lemmy.ml\/c\/linux#main-key\",algorithm=\"hs2019\",headers=\"(request-target) content-type date digest host\",signature=\"IKbac1Ro70M6LOqz57JQd7Y6v5y+zk+1l7SW5XHS1cqhNpoV0dTHJFA86FKE6voFSz3Nb3eGdKAzPLj7ikPIBquuzKMAfZfVLm+gl4ahS7ufWZkWz3kQycNKv8KCEnIbNxeyOaLWJoQ6vXH6IDO7DhbRWcMUCFbl8K429kJkJYDHYExJSwjiuZ6BIeJkmQwL6J7qhZGUdiDn\/9Vi6vqi5WexRpn4q5ckiK3r746xyHLWsiR3jjJVpIGn4ZCHNdpxe4xEfeEbuQOcp\/0T8e0dlw0VI7d0Ozl3P\/Ixxr0XQIwuwks0NJmbdh0T04CAF\/FBsl9PbEELT6hWz3Od+d9syQ==\""],"accept":["*\/*"],"user-agent":["Lemmy\/0.19.12-beta.8; +https:\/\/lemmy.ml"],"accept-encoding":["gzip"],"content-length":["44708"],"x-php-ob-level":["1"]}}"
"{"type":"App\\Message\\ActivityPub\\Inbox\\ActivityMessage","X-Message-Stamp-Symfony\\Component\\Messenger\\Stamp\\BusNameStamp":"[{\"busName\":\"messenger.bus.default\"}]","Content-Type":"application\/json"}"
"default"
"2025-05-30 21:42:53"
"2025-05-30 21:42:53"
]
INSERTINTOmessenger_messages (body,headers,queue_name,created_at,available_at) VALUES('{\"payload\":\"{\\\"@context\\\":[\\\"https:\\/\\/join-lemmy.org\\/context.json\\\",\\\"https:\\/\\/www.w3.org\\/ns\\/activitystreams\\\"],\\\"actor\\\":\\\"https:\\/\\/lemmy.ml\\/c\\/linux\\\",\\\"to\\\":[\\\"https:\\/\\/www.w3.org\\/ns\\/activitystreams#Public\\\"],\\\"object\\\":{\\\"id\\\":\\\"https:\\/\\/lemmy.ml\\/post\\/30917638\\\",\\\"actor\\\":\\\"https:\\/\\/lemmy.ml\\/u\\/Charger8232\\\",\\\"type\\\":\\\"Page\\\",\\\"attributedTo\\\":\\\"https:\\/\\/lemmy.ml\\/u\\/Charger8232\\\",\\\"to\\\":[\\\"https:\\/\\/lemmy.ml\\/c\\/linux\\\",\\\"https:\\/\\/www.w3.org\\/ns\\/activitystreams#Public\\\"],\\\"name\\\":\\\"[GUIDE] How To Setup Rust on secureblue (with some pictures)\\\",\\\"cc\\\":[],\\\"content\\\":\\\"<h1>NOTE<\\/h1>\\\\n<p>For some reason, Lemmy isn\\u2019t allowing me to upload more than 11 images. I will try to add the missing images after posting. It will take a while.<\\/p>\\\\n<p>Edit: It isn\\u2019t allowing me to add more images. If anyone is interested, I will upload the images elsewhere.<\\/p>\\\\n<h1>Introduction<\\/h1>\\\\n<p>Setting up a secure coding environment for the <a href=\\\\\\\"https:\\/\\/www.rust-lang.org\\/\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">Rust programming language<\\/a> on <a href=\\\\\\\"https:\\/\\/secureblue.dev\\/\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">secureblue<\\/a> isn\\u2019t hard to do, but it\\u2019s difficult to figure out on your own. That is why I am making a guide explaining how to do it yourself.<\\/p>\\\\n<p>For this tutorial, I will be using the <code>silverblue-main-hardened:latest<\\/code> <a href=\\\\\\\"https:\\/\\/secureblue.dev\\/images\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">image<\\/a> of secureblue. For this tutorial, I am also assuming you have enabled Flatpak permission lockdown by running <code>ujust flatpak-permissions-lockdown<\\/code>.<\\/p>\\\\n<h1>Install a code editor<\\/h1>\\\\n<p>You can install whichever code editor you want, but for this tutorial I will be using <a href=\\\\\\\"https:\\/\\/vscodium.com\\/\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">VSCodium<\\/a> which is an open source binary of Microsoft\\u2019s <a href=\\\\\\\"https:\\/\\/code.visualstudio.com\\/\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">Visual Studio Code<\\/a> without telemetry.<\\/p>\\\\n<h3>Command-line instructions<\\/h3>\\\\n<p>Open the terminal.<\\/p>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>VScodium can be installed using the following command:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">flatpak install com.vscodium.codium\\\\n<\\/span><\\/pre>\\\\n<p>Sources: <a href=\\\\\\\"https:\\/\\/vscodium.com\\/#flatpak-option-linux\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">1<\\/a>, <a href=\\\\\\\"https:\\/\\/flathub.org\\/apps\\/com.vscodium.codium\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">2<\\/a><\\/p>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/13b81ff7-9b58-4f0b-9d77-9027a29b501e.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>You will be prompted to proceed with changes to the user installation. After reviewing the changes, you can press enter. VSCodium will be downloaded and installed for the current user.<\\/p>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/d96ba6fd-491c-417a-b1ad-5eae3ac39d56.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>You may close the terminal now.<\\/p>\\\\n<h3>User-interface instructions<\\/h3>\\\\n<ol>\\\\n<li>Open <a href=\\\\\\\"https:\\/\\/apps.gnome.org\\/Software\\/\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">GNOME Software<\\/a>.<\\/li>\\\\n<\\/ol>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/7384e8ec-66e1-4467-94c9-966887b30a39.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<ol start=\\\\\\\"2\\\\\\\">\\\\n<li>Type <code>VSCodium<\\/code>. This should begin typing in a search bar, and VSCodium should show up as a search result.<\\/li>\\\\n<\\/ol>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/1863f671-ec5a-4d57-8bfd-e70b18d0d9b2.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<ol start=\\\\\\\"3\\\\\\\">\\\\n<li>Select <code>VSCodium<\\/code> (the blue one). <code>VSCodium - Insiders<\\/code> (the orange one) is the nightly release of VSCodium, and is not recommended for daily use.<\\/li>\\\\n<\\/ol>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/4dfdb694-35ea-4232-ac2d-37cacea983fb.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<ol start=\\\\\\\"4\\\\\\\">\\\\n<li>Click the blue <code>Install<\\/code> button on the top right. VSCodium will be downloaded and installed for the current user.<\\/li>\\\\n<\\/ol>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/ffa6b0b8-d58b-4801-8add-dadf0b54ce82.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>You may close GNOME Software now.<\\/p>\\\\n<h1>Install the Rust SDK<\\/h1>\\\\n<p>Rust provides multiple ways of installing. On secureblue, things are more locked down, especially with VSCodium being installed as a Flatpak. Rather than layering Rust as a system package and giving VSCodium invasive permissions to make it work, there is a much more elegant way to install Rust that isn\\u2019t mentioned in their <a href=\\\\\\\"https:\\/\\/www.rust-lang.org\\/tools\\/install\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">install instructions<\\/a>.<\\/p>\\\\n<p><a href=\\\\\\\"https:\\/\\/flathub.org\\/\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">Flathub<\\/a> provides an <a href=\\\\\\\"https:\\/\\/github.com\\/flathub\\/org.freedesktop.Sdk.Extension.rust-stable\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">SDK Extension for Rust<\\/a> that can be used for Flatpak code editors, such as VSCodium. <strong>This can only be installed from the command line.<\\/strong> Trying to install it from GNOME Software will install an outdated version of the Rust SDK.<\\/p>\\\\n<p>Open the terminal.<\\/p>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>First, we need to find the branch of <code>org.freedesktop.Sdk<\\/code>. This will allow us to install the correct version of the Rust SDK.<\\/p>\\\\n<p>The branch of <code>org.freedesktop.Sdk<\\/code> can be found using the following command:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">flatpak info org.freedesktop.Sdk\\\\n<\\/span><\\/pre>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/5c2a3d67-0b8a-40a4-9bd2-25c3c67232e9.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>Make a note of the version number next to the <code>Branch:<\\/code> section. In my case, it is <code>24.08<\\/code>.<\\/p>\\\\n<p>The Rust SDK can be installed using the following command:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">flatpak install org.freedesktop.Sdk.Extension.rust-stable\\\\n<\\/span><\\/pre>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/7ef087ed-a301-4e46-a10e-30e3cb35c0c3.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>You will be prompted to select which ref you would like to install. Find the version that matches the branch of <code>org.freedesktop.Sdk<\\/code>. Type the number corresponding with the version (in my case, <code>5<\\/code>), and press enter.<\\/p>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/f70ec844-98e5-408c-924c-0b519853b44b.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>You will be prompted to proceed with changes to the user installation. After reviewing the changes, you can press enter. The Rust SDK will be downloaded and installed for the current user.<\\/p>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/0d64c7b4-db8d-4f5d-bfab-020d5c099b51.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>You may close the terminal now.<\\/p>\\\\n<h1>Grant Flatpak permissions<\\/h1>\\\\n<p>Assuming you enabled Flatpak permission lockdown, VSCodium won\\u2019t have permission to access everything it needs to work properly. We need to grant these permissions manually.<\\/p>\\\\n<p>We will need to create a directory to act as your project directory. VSCodium will have access to every file in this directory, so it is best to only use it for VSCodium. I am deciding to create a folder in my home directory named <code>VSCodium<\\/code> to store all of my VSCodium projects.<\\/p>\\\\n<p>VSCodium will need the following permissions to work:<\\/p>\\\\n<ul>\\\\n<li>The <code>Network<\\/code> permission, in order to efficiently install extensions and update them automatically.<\\/li>\\\\n<li>Access to a dedicated project directory, in order to create workspaces.<\\/li>\\\\n<li>Permission to access the Rust SDK, in order to support the Rust language.<\\/li>\\\\n<li>Optional access to <code>Development syscalls<\\/code>, in order to use debugging extensions.<\\/li>\\\\n<\\/ul>\\\\n<h3>Command-line instructions<\\/h3>\\\\n<p>Open the terminal.<\\/p>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>VScodium can be granted the <code>Network<\\/code> permission using the following command:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">flatpak override -u --share=network com.vscodium.codium\\\\n<\\/span><\\/pre>\\\\n<p>The <code>-u<\\/code> flag is an alias for <code>\\u2013user<\\/code>, which will change the permission only for the current user.<\\/p>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>A project directory can be created using the following command:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"font-weight:bold;color:#a71d5d;\\\\\\\">mkdir<\\/span><span style=\\\\\\\"color:#323232;\\\\\\\"> VSCodium\\\\n<\\/span><\\/pre>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>VSCodium can be granted access to the project directory using the following command:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">flatpak override -u --filesystem=~\\/VSCodium com.vscodium.codium\\\\n<\\/span><\\/pre>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>VScodium can be granted access to the Rust SDK using the following command:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">flatpak override -u --env=FLATPAK_ENABLE_SDK_EXT=rust-stable com.vscodium.codium\\\\n<\\/span><\\/pre>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>You may close the terminal now.<\\/p>\\\\n<h3>User-interface instructions<\\/h3>\\\\n<ol>\\\\n<li>\\\\n<p>Open <a href=\\\\\\\"https:\\/\\/github.com\\/tchx84\\/Flatseal\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">Flatseal<\\/a>. This should be installed by default, but if you decided not to install it during the <a href=\\\\\\\"https:\\/\\/secureblue.dev\\/install#post-install\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">post-install of secureblue<\\/a>, it can be installed from GNOME Software.<\\/p>\\\\n<\\/li>\\\\n<li>\\\\n<p>Type <code>VSCodium<\\/code>. This should begin typing in a search bar on the left, and VSCodium should show up as a search result.<\\/p>\\\\n<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"3\\\\\\\">\\\\n<li>Select <code>VSCodium<\\/code>.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"4\\\\\\\">\\\\n<li>To grant VSCodium the <code>Network<\\/code> permission, enable the switch next to the <code>Network<\\/code> permission. It should turn blue, indicating that the permission has been granted.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"5\\\\\\\">\\\\n<li>Open <a href=\\\\\\\"https:\\/\\/apps.gnome.org\\/en\\/Nautilus\\/\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">Files<\\/a><\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"6\\\\\\\">\\\\n<li>Right click, and click on the option labeled <code>New Folder\\u2026<\\/code> (This can also be done using <code>Shift+Ctrl+N<\\/code>)<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"7\\\\\\\">\\\\n<li>Enter <code>VSCodium<\\/code> in the text field labeled <code>Folder Name<\\/code>.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"8\\\\\\\">\\\\n<li>Click <code>Create<\\/code> to create the folder. This will create a project directory for VSCodium to use.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"9\\\\\\\">\\\\n<li>In Flatseal, scroll down to the <code>Filesystem<\\/code> section.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"10\\\\\\\">\\\\n<li>Click on the folder with a plus icon under the <code>Other files<\\/code> section. An empty text field should appear.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"11\\\\\\\">\\\\n<li>Click on the empty text field.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"12\\\\\\\">\\\\n<li>Enter the following into the text field:<\\/li>\\\\n<\\/ol>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">~\\/VSCodium\\\\n<\\/span><\\/pre>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"13\\\\\\\">\\\\n<li>To grant VSCodium access to the Rust SDK, scroll down to the <code>Environment<\\/code> section.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"14\\\\\\\">\\\\n<li>Click the plus icon on the top right. An empty text field should appear.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"15\\\\\\\">\\\\n<li>Click on the empty text field.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"16\\\\\\\">\\\\n<li>Enter the following into the text field:<\\/li>\\\\n<\\/ol>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">FLATPAK_ENABLE_SDK_EXT=rust-stable\\\\n<\\/span><\\/pre>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>You may close Flatseal now.<\\/p>\\\\n<h3>Open VSCodium<\\/h3>\\\\n<p>Now that VSCodium has the necessary permissions to function, we can finally run it.<\\/p>\\\\n<h3>Command-line instructions<\\/h3>\\\\n<p>Open the terminal.<\\/p>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>VScodium can berun using the following command:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">flatpak run com.vscodium.codium\\\\n<\\/span><\\/pre>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<h3>User-interface instructions<\\/h3>\\\\n<ol>\\\\n<li>\\\\n<p>Press the <code>Super<\\/code> key to view the dock.<\\/p>\\\\n<\\/li>\\\\n<li>\\\\n<p>Click on the <code>Show Apps<\\/code> button (nine dots) on the bottom right to show a list of installed apps.<\\/p>\\\\n<\\/li>\\\\n<li>\\\\n<p>Click on the VSCodium icon to open it.<\\/p>\\\\n<\\/li>\\\\n<\\/ol>\\\\n<h1>Install the rust-analyzer extension<\\/h1>\\\\n<p>Upon first launching VSCodium, you will be presented with a <code>README.md<\\/code> file. This file has information about using VSCodium as a Flatpak. Since we have already granted it the necessary permissions, this file can be ignored.<\\/p>\\\\n<p>We now need to install the <a href=\\\\\\\"https:\\/\\/marketplace.visualstudio.com\\/items?itemName=rust-lang.rust-analyzer\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">rust-analyzer extension<\\/a>. This extension will give us a comfortable Rust development environment in VSCodium.<\\/p>\\\\n<h3>Keyboard instructions<\\/h3>\\\\n<p>Launch the VSCodium Quick Open by using <code>Ctrl+P<\\/code>.<\\/p>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>Enter the following command:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">ext install rust-lang.rust-analyzer\\\\n<\\/span><\\/pre>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>Press enter to install the <code>rust-analyzer<\\/code> extension.<\\/p>\\\\n<p>Sources: <a href=\\\\\\\"https:\\/\\/marketplace.visualstudio.com\\/items?itemName=rust-lang.rust-analyzer\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">1<\\/a><\\/p>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>You will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can press enter to select the <code>Trust Publisher & Install<\\/code> button on the bottom right.<\\/p>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>You may be prompted to trust the authors of the files in this workspace. After reviewing the prompt, you can select the <code>Install<\\/code> button. The <code>rust-analyzer<\\/code> extension will be downloaded and installed for the current profile.<\\/p>\\\\n<h3>Mouse instructions<\\/h3>\\\\n<ol>\\\\n<li>Click on the <code>Extensions<\\/code> menu on the left. (This can also be opened by using <code>Ctrl+Shift+X<\\/code>)<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"2\\\\\\\">\\\\n<li>Enter <code>rust-analyzer<\\/code> into the search bar. This will search for the extension we need.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"3\\\\\\\">\\\\n<li>Click on the extension labeled <code>rust-analyzer<\\/code>.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"4\\\\\\\">\\\\n<li>Click the <code>Install<\\/code> button for the <code>rust-analyzer<\\/code> extension.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"5\\\\\\\">\\\\n<li>You will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can click on the <code>Trust Publisher & Install<\\/code> button on the bottom right.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"6\\\\\\\">\\\\n<li>You may be prompted to trust the authors of the files in this workspace. After reviewing the prompt, you can click the <code>Install<\\/code> button. The <code>rust-analyzer<\\/code> extension will be downloaded and installed for the current profile.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>The <code>rust-analyzer<\\/code> extension is now installed.<\\/p>\\\\n<h1>Create a new project<\\/h1>\\\\n<p>Now that we have the <code>rust-analyzer<\\/code> extension installed, we can create a new Rust project.<\\/p>\\\\n<p>The keyboard instructions are broken due to the <code>Ctrl+K<\\/code> keybind being unfunctional, and the <code>Ctrl+O<\\/code> keybind being binded to the wrong option. Because of that, only mouse instructions are available for this step.<\\/p>\\\\n<ol>\\\\n<li>Click on the <code>File<\\/code> dropdown on the top left.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"2\\\\\\\">\\\\n<li>Click on the option labeled <code>Open Folder\\u2026<\\/code><\\/li>\\\\n<\\/ol>\\\\n<p>You will get a dialogue saying the following:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">Oops! Something went wrong.\\\\n<\\/span><span style=\\\\\\\"color:#323232;\\\\\\\">Unable to <\\/span><span style=\\\\\\\"font-weight:bold;color:#a71d5d;\\\\\\\">find <\\/span><span style=\\\\\\\"color:#183691;\\\\\\\">"\\/app\\/share\\/ide-flatpak-wrapper"<\\/span><span style=\\\\\\\"color:#323232;\\\\\\\">. Please check the spelling and try again.\\\\n<\\/span><\\/pre>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>This can be ignored. It is appearing because we never granted VSCodium access to a specific folder, and it has no effect.<\\/p>\\\\n<ol start=\\\\\\\"3\\\\\\\">\\\\n<li>Click on <code>OK<\\/code> to dismiss it.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"4\\\\\\\">\\\\n<li>Double click on the <code>VSCodium<\\/code> folder to enter it.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"5\\\\\\\">\\\\n<li>Right click, and click on the option labeled <code>New Folder\\u2026<\\/code> (This can also be done using <code>Shift+Ctrl+N<\\/code>). Alternatively, select the folder with a plus icon on the top right.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"6\\\\\\\">\\\\n<li>Enter the name of your project in the text field labeled <code>Folder Name<\\/code>. For this example, I will create a folder named <code>example<\\/code>.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"9\\\\\\\">\\\\n<li>Click <code>Create<\\/code> to create the folder.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"10\\\\\\\">\\\\n<li>Click <code>Open<\\/code> in the bottom left to open the folder.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"11\\\\\\\">\\\\n<li>You will be prompted to trust the authors of the files in this folder. After reviewing the prompt, you can select the <code>Yes, I trust the authors<\\/code> button.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"12\\\\\\\">\\\\n<li>Press Ctrl+` to open the terminal.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"13\\\\\\\">\\\\n<li>The project can be initialized using the following command:<\\/li>\\\\n<\\/ol>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">cargo init\\\\n<\\/span><\\/pre>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>You have now created a Rust project, and you can get started coding in Rust.<\\/p>\\\\n<h1>Optional: Support for debugging<\\/h1>\\\\n<p>Right now, there are no debugging extensions installed. The two recommended debugging extensions are <a href=\\\\\\\"https:\\/\\/marketplace.visualstudio.com\\/items?itemName=vadimcn.vscode-lldb\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">CodeLLDB<\\/a> and <a href=\\\\\\\"https:\\/\\/marketplace.visualstudio.com\\/items?itemName=webfreak.debug\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">Native Debug<\\/a>. I prefer CodeLLDB because, as of writing this, Native Debug has not been updated in over a year. It is still in active development, but there has not been a release in over a year.<\\/p>\\\\n<h3>Keyboard instructions<\\/h3>\\\\n<p>Open VSCodium.<\\/p>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>Launch the VSCodium Quick Open by using <code>Ctrl+P<\\/code>.<\\/p>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>Enter the following command:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">ext install vadimcn.vscode-lldb\\\\n<\\/span><\\/pre>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>Press enter to install the CodeLLDB extension.<\\/p>\\\\n<p>Sources: <a href=\\\\\\\"https:\\/\\/marketplace.visualstudio.com\\/items?itemName=vadimcn.vscode-lldb\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">1<\\/a><\\/p>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>You will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can press enter to select the <code>Trust Publisher & Install<\\/code> button on the bottom right. The CodeLLDB extension will be downloaded and installed for the current profile.<\\/p>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>You will see a prompt on the bottom right saying the following:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">Completed installing extension. Please restart extensions to enable it.\\\\n<\\/span><\\/pre>\\\\n<p>Select <code>Restart Extensions<\\/code> to restart the extensions.<\\/p>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<h3>Mouse instructions<\\/h3>\\\\n<ol>\\\\n<li>Click on the <code>Extensions<\\/code> menu on the left. (This can also be opened by using <code>Ctrl+Shift+X<\\/code>)<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"2\\\\\\\">\\\\n<li>Enter <code>CodeLLDB<\\/code> into the search bar. This will search for the extension we need.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"3\\\\\\\">\\\\n<li>Click on the extension labeled <code>CodeLLDB<\\/code>.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"4\\\\\\\">\\\\n<li>Click the <code>Install<\\/code> button for the CodeLLDB extension.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"5\\\\\\\">\\\\n<li>You will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can click on the <code>Trust Publisher & Install<\\/code> button on the bottom right. The CodeLLDB extension will be downloaded and installed for the current profile.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>You will see a prompt on the bottom right saying the following:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">Completed installing extension. Please restart extensions to enable it.\\\\n<\\/span><\\/pre>\\\\n<p>Select <code>Restart Extensions<\\/code> to restart the extensions.<\\/p>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>The CodeLLDB extension is now installed.<\\/p>\\\\n<h1>Grant VSCodium ptrace access<\\/h1>\\\\n<p>If you try to debug a program using a debugger extension, you will receive the following error:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">VSCodium\\\\n<\\/span><span style=\\\\\\\"color:#323232;\\\\\\\">Cannot launch '\\/var\\/home\\/anonymous\\/VSCodium\\/example\\/target\\/<\\/span><span style=\\\\\\\"font-weight:bold;color:#a71d5d;\\\\\\\">debug<\\/span><span style=\\\\\\\"color:#323232;\\\\\\\">\\/example': ptrace failed: Operation <\\/span><span style=\\\\\\\"font-weight:bold;color:#a71d5d;\\\\\\\">not<\\/span><span style=\\\\\\\"color:#323232;\\\\\\\"> permitted\\\\n<\\/span><\\/pre>\\\\n<p>The reason for this is because VSCodium does not have permission to access development syscalls.<\\/p>\\\\n<h3>Command-line instructions<\\/h3>\\\\n<p>Open the terminal.<\\/p>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>VScodium can be granted the <code>Development syscalls<\\/code> permission using the following command:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">flatpak override -u --allow=devel com.vscodium.codium\\\\n<\\/span><\\/pre>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>You may close the terminal now.<\\/p>\\\\n<h3>User-interface instructions<\\/h3>\\\\n<ol>\\\\n<li>\\\\n<p>Open Flatseal.<\\/p>\\\\n<\\/li>\\\\n<li>\\\\n<p>Type <code>VSCodium<\\/code>. This should begin typing in a search bar on the left, and VSCodium should show up as a search result.<\\/p>\\\\n<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"3\\\\\\\">\\\\n<li>Select <code>VSCodium<\\/code>.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"4\\\\\\\">\\\\n<li>To grant VSCodium the <code>Development syscalls<\\/code> permission, scroll down to the section labeled <code>Allow<\\/code>.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<ol start=\\\\\\\"5\\\\\\\">\\\\n<li>Enable the switch next to the <code>Development syscalls (e.g. ptrace)<\\/code> permission. It should turn blue, indicating that the permission has been granted.<\\/li>\\\\n<\\/ol>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>You may close Flatseal now.<\\/p>\\\\n<h1>Enable enable anti-cheat support<\\/h1>\\\\n<p>Even though VSCodium has access to ptrace, the system still does not permit it. This is to defend against <a href=\\\\\\\"https:\\/\\/www.kernel.org\\/doc\\/Documentation\\/security\\/Yama.txt\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">basic security concerns<\\/a>. secureblue provides a toggle to enable support for anti-cheat, which will allow VSCodium to access ptrace.<\\/p>\\\\n<p>Open the terminal.<\\/p>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>Anti-cheat support can be enabled using one of the following commands:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">ujust toggle-anticheat-support\\\\n<\\/span><\\/pre>\\\\n<p>or<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">ujust toggle-ptrace-scope\\\\n<\\/span><\\/pre>\\\\n<p>Sources: <a href=\\\\\\\"https:\\/\\/secureblue.dev\\/faq#anticheat\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">1<\\/a><\\/p>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>You will be prompted for your administrator passphrase. After reviewing the prompt, enter your passphrase and click <code>Authenticate<\\/code>. This will enable anti-cheat support.<\\/p>\\\\n<p>[INSERT IMAGE HERE]<\\/p>\\\\n<p>You will need to restart your device to complete the changes.<\\/p>\\\\n<h3>Command-line instructions<\\/h3>\\\\n<p>Open the terminal.<\\/p>\\\\n<p><img src=\\\\\\\"https:\\/\\/lemmy.ml\\/pictrs\\/image\\/d02c2e53-069b-4c86-997b-55c6c0253099.png\\\\\\\" alt=\\\\\\\"\\\\\\\" \\/><\\/p>\\\\n<p>The device can be restarted using the following command:<\\/p>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">reboot\\\\n<\\/span><\\/pre>\\\\n<h3>User-interface instructions<\\/h3>\\\\n<ol>\\\\n<li>\\\\n<p>Click on the status bar on the top right.<\\/p>\\\\n<\\/li>\\\\n<li>\\\\n<p>Click on the power button.<\\/p>\\\\n<\\/li>\\\\n<li>\\\\n<p>Click on the option labeled <code>Restart\\u2026<\\/code>.<\\/p>\\\\n<\\/li>\\\\n<li>\\\\n<p>You will get a prompt saying the following:<\\/p>\\\\n<\\/li>\\\\n<\\/ol>\\\\n<pre style=\\\\\\\"background-color:#ffffff;\\\\\\\">\\\\n<span style=\\\\\\\"color:#323232;\\\\\\\">Restart\\\\n<\\/span><span style=\\\\\\\"color:#323232;\\\\\\\">The system will restart automatically in <\\/span><span style=\\\\\\\"color:#0086b3;\\\\\\\">60<\\/span><span style=\\\\\\\"color:#323232;\\\\\\\"> seconds\\\\n<\\/span><\\/pre>\\\\n<ol start=\\\\\\\"5\\\\\\\">\\\\n<li>Click on the button labeled <code>Restart<\\/code> to restart the system now.<\\/li>\\\\n<\\/ol>\\\\n<p>Anti-cheat support is now enabled, and debugging extensions will work.<\\/p>\\\\n\\\",\\\"mediaType\\\":\\\"text\\/html\\\",\\\"source\\\":{\\\"content\\\":\\\"# NOTE\\\\n\\\\nFor some reason, Lemmy isn\'t allowing me to upload more than 11 images. I will try to add the missing images after posting. It will take a while.\\\\n\\\\nEdit: It isn\'t allowing me to add more images. If anyone is interested, I will upload the images elsewhere.\\\\n\\\\n# Introduction\\\\n\\\\nSetting up a secure coding environment for the [Rust programming language](https:\\/\\/www.rust-lang.org\\/) on [secureblue](https:\\/\\/secureblue.dev\\/) isn\'t hard to do, but it\'s difficult to figure out on your own. That is why I am making a guide explaining how to do it yourself.\\\\n\\\\nFor this tutorial, I will be using the `silverblue-main-hardened:latest` [image](https:\\/\\/secureblue.dev\\/images) of secureblue. For this tutorial, I am also assuming you have enabled Flatpak permission lockdown by running `ujust flatpak-permissions-lockdown`.\\\\n\\\\n# Install a code editor\\\\n\\\\nYou can install whichever code editor you want, but for this tutorial I will be using [VSCodium](https:\\/\\/vscodium.com\\/) which is an open source binary of Microsoft\'s [Visual Studio Code](https:\\/\\/code.visualstudio.com\\/) without telemetry.\\\\n\\\\n### Command-line instructions\\\\n\\\\nOpen the terminal.\\\\n\\\\n\\\\n\\\\nVScodium can be installed using the following command:\\\\n\\\\n```cmd\\\\nflatpak install com.vscodium.codium\\\\n```\\\\n\\\\nSources: [1](https:\\/\\/vscodium.com\\/#flatpak-option-linux), [2](https:\\/\\/flathub.org\\/apps\\/com.vscodium.codium)\\\\n\\\\n\\\\n\\\\nYou will be prompted to proceed with changes to the user installation. After reviewing the changes, you can press enter. VSCodium will be downloaded and installed for the current user. \\\\n\\\\n\\\\n\\\\nYou may close the terminal now.\\\\n\\\\n### User-interface instructions\\\\n\\\\n1. Open [GNOME Software](https:\\/\\/apps.gnome.org\\/Software\\/).\\\\n\\\\n\\\\n\\\\n2. Type `VSCodium`. This should begin typing in a search bar, and VSCodium should show up as a search result.\\\\n\\\\n\\\\n\\\\n3. Select `VSCodium` (the blue one). `VSCodium - Insiders` (the orange one) is the nightly release of VSCodium, and is not recommended for daily use.\\\\n\\\\n\\\\n\\\\n4. Click the blue `Install` button on the top right. VSCodium will be downloaded and installed for the current user. \\\\n\\\\n\\\\n\\\\nYou may close GNOME Software now.\\\\n\\\\n# Install the Rust SDK\\\\n\\\\nRust provides multiple ways of installing. On secureblue, things are more locked down, especially with VSCodium being installed as a Flatpak. Rather than layering Rust as a system package and giving VSCodium invasive permissions to make it work, there is a much more elegant way to install Rust that isn\'t mentioned in their [install instructions](https:\\/\\/www.rust-lang.org\\/tools\\/install).\\\\n\\\\n[Flathub](https:\\/\\/flathub.org\\/) provides an [SDK Extension for Rust](https:\\/\\/github.com\\/flathub\\/org.freedesktop.Sdk.Extension.rust-stable) that can be used for Flatpak code editors, such as VSCodium. **This can only be installed from the command line.** Trying to install it from GNOME Software will install an outdated version of the Rust SDK.\\\\n\\\\nOpen the terminal.\\\\n\\\\n\\\\n\\\\nFirst, we need to find the branch of `org.freedesktop.Sdk`. This will allow us to install the correct version of the Rust SDK.\\\\n\\\\nThe branch of `org.freedesktop.Sdk` can be found using the following command:\\\\n\\\\n```cmd\\\\nflatpak info org.freedesktop.Sdk\\\\n```\\\\n\\\\n\\\\n\\\\nMake a note of the version number next to the `Branch:` section. In my case, it is `24.08`.\\\\n\\\\nThe Rust SDK can be installed using the following command:\\\\n\\\\n```cmd\\\\nflatpak install org.freedesktop.Sdk.Extension.rust-stable\\\\n```\\\\n\\\\n\\\\n\\\\nYou will be prompted to select which ref you would like to install. Find the version that matches the branch of `org.freedesktop.Sdk`. Type the number corresponding with the version (in my case, `5`), and press enter.\\\\n\\\\n\\\\n\\\\nYou will be prompted to proceed with changes to the user installation. After reviewing the changes, you can press enter. The Rust SDK will be downloaded and installed for the current user. \\\\n\\\\n\\\\n\\\\nYou may close the terminal now.\\\\n\\\\n# Grant Flatpak permissions\\\\n\\\\nAssuming you enabled Flatpak permission lockdown, VSCodium won\'t have permission to access everything it needs to work properly. We need to grant these permissions manually.\\\\n\\\\nWe will need to create a directory to act as your project directory. VSCodium will have access to every file in this directory, so it is best to only use it for VSCodium. I am deciding to create a folder in my home directory named `VSCodium` to store all of my VSCodium projects.\\\\n\\\\nVSCodium will need the following permissions to work:\\\\n- The `Network` permission, in order to efficiently install extensions and update them automatically.\\\\n- Access to a dedicated project directory, in order to create workspaces.\\\\n- Permission to access the Rust SDK, in order to support the Rust language.\\\\n- Optional access to `Development syscalls`, in order to use debugging extensions.\\\\n\\\\n### Command-line instructions\\\\n\\\\nOpen the terminal.\\\\n\\\\n\\\\n\\\\nVScodium can be granted the `Network` permission using the following command:\\\\n\\\\n```cmd\\\\nflatpak override -u --share=network com.vscodium.codium\\\\n```\\\\n\\\\nThe `-u` flag is an alias for `--user`, which will change the permission only for the current user.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nA project directory can be created using the following command:\\\\n\\\\n```cmd\\\\nmkdir VSCodium\\\\n```\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nVSCodium can be granted access to the project directory using the following command:\\\\n\\\\n```cmd\\\\nflatpak override -u --filesystem=~\\/VSCodium com.vscodium.codium\\\\n```\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nVScodium can be granted access to the Rust SDK using the following command:\\\\n\\\\n```cmd\\\\nflatpak override -u --env=FLATPAK_ENABLE_SDK_EXT=rust-stable com.vscodium.codium\\\\n```\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nYou may close the terminal now.\\\\n\\\\n### User-interface instructions\\\\n\\\\n1. Open [Flatseal](https:\\/\\/github.com\\/tchx84\\/Flatseal). This should be installed by default, but if you decided not to install it during the [post-install of secureblue](https:\\/\\/secureblue.dev\\/install#post-install), it can be installed from GNOME Software.\\\\n\\\\n2. Type `VSCodium`. This should begin typing in a search bar on the left, and VSCodium should show up as a search result.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n3. Select `VSCodium`.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n4. To grant VSCodium the `Network` permission, enable the switch next to the `Network` permission. It should turn blue, indicating that the permission has been granted.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n5. Open [Files](https:\\/\\/apps.gnome.org\\/en\\/Nautilus\\/)\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n6. Right click, and click on the option labeled `New Folder...` (This can also be done using `Shift+Ctrl+N`)\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n7. Enter `VSCodium` in the text field labeled `Folder Name`.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n8. Click `Create` to create the folder. This will create a project directory for VSCodium to use.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n9. In Flatseal, scroll down to the `Filesystem` section.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n10. Click on the folder with a plus icon under the `Other files` section. An empty text field should appear.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n11. Click on the empty text field.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n12. Enter the following into the text field:\\\\n\\\\n```cmd\\\\n~\\/VSCodium\\\\n```\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n13. To grant VSCodium access to the Rust SDK, scroll down to the `Environment` section.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n14. Click the plus icon on the top right. An empty text field should appear.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n15. Click on the empty text field.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n16. Enter the following into the text field:\\\\n\\\\n```cmd\\\\nFLATPAK_ENABLE_SDK_EXT=rust-stable\\\\n```\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nYou may close Flatseal now.\\\\n\\\\n### Open VSCodium\\\\n\\\\nNow that VSCodium has the necessary permissions to function, we can finally run it.\\\\n\\\\n### Command-line instructions\\\\n\\\\nOpen the terminal.\\\\n\\\\n\\\\n\\\\nVScodium can berun using the following command:\\\\n\\\\n```cmd\\\\nflatpak run com.vscodium.codium\\\\n```\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n### User-interface instructions\\\\n\\\\n1. Press the `Super` key to view the dock.\\\\n\\\\n2. Click on the `Show Apps` button (nine dots) on the bottom right to show a list of installed apps.\\\\n\\\\n3. Click on the VSCodium icon to open it.\\\\n\\\\n# Install the rust-analyzer extension\\\\n\\\\nUpon first launching VSCodium, you will be presented with a `README.md` file. This file has information about using VSCodium as a Flatpak. Since we have already granted it the necessary permissions, this file can be ignored.\\\\n\\\\nWe now need to install the [rust-analyzer extension](https:\\/\\/marketplace.visualstudio.com\\/items?itemName=rust-lang.rust-analyzer). This extension will give us a comfortable Rust development environment in VSCodium.\\\\n\\\\n### Keyboard instructions\\\\n\\\\nLaunch the VSCodium Quick Open by using `Ctrl+P`.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nEnter the following command:\\\\n\\\\n```\\\\next install rust-lang.rust-analyzer\\\\n```\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nPress enter to install the `rust-analyzer` extension.\\\\n\\\\nSources: [1](https:\\/\\/marketplace.visualstudio.com\\/items?itemName=rust-lang.rust-analyzer)\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nYou will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can press enter to select the `Trust Publisher & Install` button on the bottom right.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nYou may be prompted to trust the authors of the files in this workspace. After reviewing the prompt, you can select the `Install` button. The `rust-analyzer` extension will be downloaded and installed for the current profile. \\\\n\\\\n### Mouse instructions\\\\n\\\\n1. Click on the `Extensions` menu on the left. (This can also be opened by using `Ctrl+Shift+X`)\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n2. Enter `rust-analyzer` into the search bar. This will search for the extension we need.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n3. Click on the extension labeled `rust-analyzer`. \\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n4. Click the `Install` button for the `rust-analyzer` extension.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n5. You will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can click on the `Trust Publisher & Install` button on the bottom right.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n6. You may be prompted to trust the authors of the files in this workspace. After reviewing the prompt, you can click the `Install` button. The `rust-analyzer` extension will be downloaded and installed for the current profile. \\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nThe `rust-analyzer` extension is now installed. \\\\n\\\\n# Create a new project\\\\n\\\\nNow that we have the `rust-analyzer` extension installed, we can create a new Rust project.\\\\n\\\\nThe keyboard instructions are broken due to the `Ctrl+K` keybind being unfunctional, and the `Ctrl+O` keybind being binded to the wrong option. Because of that, only mouse instructions are available for this step.\\\\n\\\\n1. Click on the `File` dropdown on the top left.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n2. Click on the option labeled `Open Folder...`\\\\n\\\\nYou will get a dialogue saying the following:\\\\n\\\\n```cmd\\\\nOops! Something went wrong.\\\\nUnable to find \\\\\\\"\\/app\\/share\\/ide-flatpak-wrapper\\\\\\\". Please check the spelling and try again.\\\\n```\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nThis can be ignored. It is appearing because we never granted VSCodium access to a specific folder, and it has no effect.\\\\n\\\\n3. Click on `OK` to dismiss it.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n4. Double click on the `VSCodium` folder to enter it.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n5. Right click, and click on the option labeled `New Folder...` (This can also be done using `Shift+Ctrl+N`). Alternatively, select the folder with a plus icon on the top right.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n6. Enter the name of your project in the text field labeled `Folder Name`. For this example, I will create a folder named `example`.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n9. Click `Create` to create the folder. \\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n10. Click `Open` in the bottom left to open the folder.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n11. You will be prompted to trust the authors of the files in this folder. After reviewing the prompt, you can select the `Yes, I trust the authors` button.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n12. Press Ctrl+` to open the terminal.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n13. The project can be initialized using the following command:\\\\n\\\\n```cmd\\\\ncargo init\\\\n```\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nYou have now created a Rust project, and you can get started coding in Rust.\\\\n\\\\n# Optional: Support for debugging\\\\n\\\\nRight now, there are no debugging extensions installed. The two recommended debugging extensions are [CodeLLDB](https:\\/\\/marketplace.visualstudio.com\\/items?itemName=vadimcn.vscode-lldb) and [Native Debug](https:\\/\\/marketplace.visualstudio.com\\/items?itemName=webfreak.debug). I prefer CodeLLDB because, as of writing this, Native Debug has not been updated in over a year. It is still in active development, but there has not been a release in over a year.\\\\n\\\\n### Keyboard instructions\\\\n\\\\nOpen VSCodium.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nLaunch the VSCodium Quick Open by using `Ctrl+P`.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nEnter the following command:\\\\n\\\\n```\\\\next install vadimcn.vscode-lldb\\\\n```\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nPress enter to install the CodeLLDB extension.\\\\n\\\\nSources: [1](https:\\/\\/marketplace.visualstudio.com\\/items?itemName=vadimcn.vscode-lldb)\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nYou will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can press enter to select the `Trust Publisher & Install` button on the bottom right. The CodeLLDB extension will be downloaded and installed for the current profile. \\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nYou will see a prompt on the bottom right saying the following:\\\\n\\\\n```\\\\nCompleted installing extension. Please restart extensions to enable it.\\\\n```\\\\n\\\\nSelect `Restart Extensions` to restart the extensions.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n### Mouse instructions\\\\n\\\\n1. Click on the `Extensions` menu on the left. (This can also be opened by using `Ctrl+Shift+X`)\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n2. Enter `CodeLLDB` into the search bar. This will search for the extension we need.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n3. Click on the extension labeled `CodeLLDB`. \\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n4. Click the `Install` button for the CodeLLDB extension.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n5. You will be prompted to trust the publisher and install the extension. After reviewing the prompt, you can click on the `Trust Publisher & Install` button on the bottom right. The CodeLLDB extension will be downloaded and installed for the current profile. \\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nYou will see a prompt on the bottom right saying the following:\\\\n\\\\n```\\\\nCompleted installing extension. Please restart extensions to enable it.\\\\n```\\\\n\\\\nSelect `Restart Extensions` to restart the extensions.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nThe CodeLLDB extension is now installed. \\\\n\\\\n# Grant VSCodium ptrace access\\\\n\\\\nIf you try to debug a program using a debugger extension, you will receive the following error:\\\\n\\\\n```cmd\\\\nVSCodium\\\\nCannot launch \'\\/var\\/home\\/anonymous\\/VSCodium\\/example\\/target\\/debug\\/example\': ptrace failed: Operation not permitted\\\\n```\\\\n\\\\nThe reason for this is because VSCodium does not have permission to access development syscalls. \\\\n\\\\n### Command-line instructions\\\\n\\\\nOpen the terminal.\\\\n\\\\n\\\\n\\\\nVScodium can be granted the `Development syscalls` permission using the following command:\\\\n\\\\n```cmd\\\\nflatpak override -u --allow=devel com.vscodium.codium\\\\n```\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nYou may close the terminal now.\\\\n\\\\n### User-interface instructions\\\\n\\\\n1. Open Flatseal.\\\\n\\\\n2. Type `VSCodium`. This should begin typing in a search bar on the left, and VSCodium should show up as a search result.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n3. Select `VSCodium`.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n4. To grant VSCodium the `Development syscalls` permission, scroll down to the section labeled `Allow`.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\n5. Enable the switch next to the `Development syscalls (e.g. ptrace)` permission. It should turn blue, indicating that the permission has been granted.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nYou may close Flatseal now.\\\\n\\\\n# Enable enable anti-cheat support\\\\n\\\\nEven though VSCodium has access to ptrace, the system still does not permit it. This is to defend against [basic security concerns](https:\\/\\/www.kernel.org\\/doc\\/Documentation\\/security\\/Yama.txt). secureblue provides a toggle to enable support for anti-cheat, which will allow VSCodium to access ptrace.\\\\n\\\\nOpen the terminal.\\\\n\\\\n\\\\n\\\\nAnti-cheat support can be enabled using one of the following commands:\\\\n\\\\n```cmd\\\\nujust toggle-anticheat-support\\\\n```\\\\n\\\\nor\\\\n\\\\n```cmd\\\\nujust toggle-ptrace-scope\\\\n```\\\\n\\\\nSources: [1](https:\\/\\/secureblue.dev\\/faq#anticheat)\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nYou will be prompted for your administrator passphrase. After reviewing the prompt, enter your passphrase and click `Authenticate`. This will enable anti-cheat support.\\\\n\\\\n[INSERT IMAGE HERE]\\\\n\\\\nYou will need to restart your device to complete the changes. \\\\n\\\\n### Command-line instructions\\\\n\\\\nOpen the terminal.\\\\n\\\\n\\\\n\\\\nThe device can be restarted using the following command:\\\\n\\\\n```cmd\\\\nreboot\\\\n```\\\\n\\\\n### User-interface instructions\\\\n\\\\n1. Click on the status bar on the top right.\\\\n\\\\n2. Click on the power button.\\\\n\\\\n3. Click on the option labeled `Restart...`.\\\\n\\\\n4. You will get a prompt saying the following:\\\\n\\\\n```cmd\\\\nRestart\\\\nThe system will restart automatically in 60 seconds\\\\n```\\\\n\\\\n5. Click on the button labeled `Restart` to restart the system now.\\\\n\\\\nAnti-cheat support is now enabled, and debugging extensions will work.\\\",\\\"mediaType\\\":\\\"text\\/markdown\\\"},\\\"attachment\\\":[],\\\"sensitive\\\":false,\\\"published\\\":\\\"2025-05-30T21:32:31.476792Z\\\",\\\"updated\\\":\\\"2025-05-30T21:42:22.375574Z\\\",\\\"audience\\\":\\\"https:\\/\\/lemmy.ml\\/c\\/linux\\\",\\\"tag\\\":[{\\\"href\\\":\\\"https:\\/\\/lemmy.ml\\/post\\/30917638\\\",\\\"name\\\":\\\"#linux\\\",\\\"type\\\":\\\"Hashtag\\\"}]},\\\"cc\\\":[\\\"https:\\/\\/lemmy.ml\\/c\\/linux\\/followers\\\"],\\\"type\\\":\\\"Announce\\\",\\\"id\\\":\\\"https:\\/\\/lemmy.ml\\/activities\\/announce\\/page\\/155d3c11-38d9-4b3b-af21-8809f5a421cb\\\"}\",\"request\":{\"host\":\"kbin.spritesserver.nl\",\"method\":\"POST\",\"uri\":\"\\/f\\/inbox\",\"client_ip\":\"54.36.178.108\"},\"headers\":{\"content-type\":[\"application\\/activity+json\"],\"host\":[\"kbin.spritesserver.nl\"],\"date\":[\"Fri, 30 May 2025 21:42:53 GMT\"],\"digest\":[\"SHA-256=ezU3E4y03OpNrzMdJOv4W\\/B7LCVCHMtbMNtxFxws2RU=\"],\"signature\":[\"keyId=\\\"https:\\/\\/lemmy.ml\\/c\\/linux#main-key\\\",algorithm=\\\"hs2019\\\",headers=\\\"(request-target) content-type date digest host\\\",signature=\\\"IKbac1Ro70M6LOqz57JQd7Y6v5y+zk+1l7SW5XHS1cqhNpoV0dTHJFA86FKE6voFSz3Nb3eGdKAzPLj7ikPIBquuzKMAfZfVLm+gl4ahS7ufWZkWz3kQycNKv8KCEnIbNxeyOaLWJoQ6vXH6IDO7DhbRWcMUCFbl8K429kJkJYDHYExJSwjiuZ6BIeJkmQwL6J7qhZGUdiDn\\/9Vi6vqi5WexRpn4q5ckiK3r746xyHLWsiR3jjJVpIGn4ZCHNdpxe4xEfeEbuQOcp\\/0T8e0dlw0VI7d0Ozl3P\\/Ixxr0XQIwuwks0NJmbdh0T04CAF\\/FBsl9PbEELT6hWz3Od+d9syQ==\\\"\"],\"accept\":[\"*\\/*\"],\"user-agent\":[\"Lemmy\\/0.19.12-beta.8; +https:\\/\\/lemmy.ml\"],\"accept-encoding\":[\"gzip\"],\"content-length\":[\"44708\"],\"x-php-ob-level\":[\"1\"]}}','{\"type\":\"App\\\\Message\\\\ActivityPub\\\\Inbox\\\\ActivityMessage\",\"X-Message-Stamp-Symfony\\\\Component\\\\Messenger\\\\Stamp\\\\BusNameStamp\":\"[{\\\"busName\\\":\\\"messenger.bus.default\\\"}]\",\"Content-Type\":\"application\\/json\"}','default','2025-05-30 21:42:53','2025-05-30 21:42:53');