How to install Homebrew package manager on Steam Deck to compile software and install command-line programs without disabling the read-only partition (allowing the installation to persist on SteamOS updates)

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/SteamDeck

Our great sponsors
  • JetBrains - Developer Ecosystem Survey 2022
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • Mono

    Mono open source ECMA CLI, C# and .NET implementation.

    ([email protected] bin)$ brew install --build-from-source mono ==> Downloading https://github.com/mono/mono/commit/3070886a1c5e3e3026d1077e36e67bd5310e0faa.patch?full_index=1 Already downloaded: /home/deck/.cache/Homebrew/downloads/77885651b42fb3b50e405e300ab4dce5d65e10eac8ee6b8d956b5240b58adcb3--3070886a1c5e3e3026d1077e36e67bd5310e0faa.patch ==> Downloading https://raw.githubusercontent.com/Homebrew/formula-patches/03cf8088210822aa2c1ab544ed58ea04c897d9c4/libtool/configure-big_sur.diff Already downloaded: /home/deck/.cache/Homebrew/downloads/195208ba31cadc265ea97bb8aad4e78caab1200daf4d855e6c839b5f987f92db--configure-big_sur.diff ==> Downloading https://raw.githubusercontent.com/mono/mono/a22ed3f094e18f1f82e1c6cead28d872d3c57e40/packaging/MacSDK/patches/fsharp-portable-pdb.patch Already downloaded: /home/deck/.cache/Homebrew/downloads/81c9245ab2b5c07a5bc87a8792e374b22a652c14be27b73aa21c1948f1273464--fsharp-portable-pdb.patch ==> Downloading https://raw.githubusercontent.com/mono/mono/a22ed3f094e18f1f82e1c6cead28d872d3c57e40/packaging/MacSDK/patches/fsharp-netfx-multitarget.patch Already downloaded: /home/deck/.cache/Homebrew/downloads/13d3ba5313c9e2b60ebfa4c40d5039269485e75aa41fcf301cc55458382fcb29--fsharp-netfx-multitarget.patch ==> Downloading https://github.com/dotnet/fsharp/commit/be6b22d11ae996b2d9b8e0724d9cf05ad65a0485.patch?full_index=1 Already downloaded: /home/deck/.cache/Homebrew/downloads/c3d6a94f53c828d6ad7b5a563682a6de3d388644f3a33f1ea55ec28fa461e24b--be6b22d11ae996b2d9b8e0724d9cf05ad65a0485.patch ==> Cloning https://github.com/dotnet/fsharp.git Updating /home/deck/.cache/Homebrew/mono--fsharp--git ==> Checking out tag v11.0.0-beta.20471.5 HEAD is now at 03283e07f Merge pull request #10172 from dotnet/merges/main-to-release/dev16.8 HEAD is now at 03283e07f Merge pull request #10172 from dotnet/merges/main-to-release/dev16.8 ==> Downloading https://raw.githubusercontent.com/mono/mono/3070886a1c5e3e3026d1077e36e67bd5310e0faa/packaging/MacSDK/fsharp-layout.sh Already downloaded: /home/deck/.cache/Homebrew/downloads/85ab59b70661632962989d0527aa31b2a720c49968d45f368ff0a1fa190159b0--fsharp-layout.sh ==> Cloning https://github.com/mono/msbuild.git Updating /home/deck/.cache/Homebrew/mono--msbuild--git origin/HEAD set to xplat-master refs/remotes/origin/xplat-master ==> Checking out revision 70bf6710473a2b6ffe363ea588f7b3ab87682a8d HEAD is now at 70bf67104 prevent exception for increasing priority (#5547) HEAD is now at 70bf67104 prevent exception for increasing priority (#5547) ==> Downloading https://download.mono-project.com/sources/mono/mono-6.12.0.122.tar.xz Already downloaded: /home/deck/.cache/Homebrew/downloads/6092400166df5dee225b09670c68fa3aa400319e8871facaff0106aa143419fb--mono-6.12.0.122.tar.xz ==> Patching ==> Applying 3070886a1c5e3e3026d1077e36e67bd5310e0faa.patch patching file packaging/MacSDK/fsharp-layout.sh ==> Applying configure-big_sur.diff patching file configure Hunk #1 succeeded at 10928 (offset 2195 lines). ==> ./configure --prefix=/home/linuxbrew/.linuxbrew/Cellar/mono/6.12.0.122_1 --enable-nls=no Last 15 lines from /home/deck/.cache/Homebrew/Logs/mono/01.configure: checking whether we are using the GNU C++ compiler... yes checking whether g++-11 accepts -g... yes checking dependency style of g++-11... gcc3 checking for a Python interpreter with version >= 3.2... python checking for python... /usr/bin/python checking for python version... 3.1 checking for python platform... linux checking for python script directory... ${prefix}/lib/python3.10/site-packages checking for python extension module directory... ${exec_prefix}/lib/python3.10/site-packages checking dependency style of gcc-11... gcc3 checking for gawk... (cached) gawk checking how to run the C preprocessor... /lib/cpp configure: error: in `/tmp/mono-20220328-41596-77f8ae/mono-6.12.0.122': configure: error: C preprocessor "/lib/cpp" fails sanity check See `config.log' for more details READ THIS: https://docs.brew.sh/Troubleshooting

  • VisualFSharp

    The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio

    ([email protected] bin)$ brew install --build-from-source mono ==> Downloading https://github.com/mono/mono/commit/3070886a1c5e3e3026d1077e36e67bd5310e0faa.patch?full_index=1 Already downloaded: /home/deck/.cache/Homebrew/downloads/77885651b42fb3b50e405e300ab4dce5d65e10eac8ee6b8d956b5240b58adcb3--3070886a1c5e3e3026d1077e36e67bd5310e0faa.patch ==> Downloading https://raw.githubusercontent.com/Homebrew/formula-patches/03cf8088210822aa2c1ab544ed58ea04c897d9c4/libtool/configure-big_sur.diff Already downloaded: /home/deck/.cache/Homebrew/downloads/195208ba31cadc265ea97bb8aad4e78caab1200daf4d855e6c839b5f987f92db--configure-big_sur.diff ==> Downloading https://raw.githubusercontent.com/mono/mono/a22ed3f094e18f1f82e1c6cead28d872d3c57e40/packaging/MacSDK/patches/fsharp-portable-pdb.patch Already downloaded: /home/deck/.cache/Homebrew/downloads/81c9245ab2b5c07a5bc87a8792e374b22a652c14be27b73aa21c1948f1273464--fsharp-portable-pdb.patch ==> Downloading https://raw.githubusercontent.com/mono/mono/a22ed3f094e18f1f82e1c6cead28d872d3c57e40/packaging/MacSDK/patches/fsharp-netfx-multitarget.patch Already downloaded: /home/deck/.cache/Homebrew/downloads/13d3ba5313c9e2b60ebfa4c40d5039269485e75aa41fcf301cc55458382fcb29--fsharp-netfx-multitarget.patch ==> Downloading https://github.com/dotnet/fsharp/commit/be6b22d11ae996b2d9b8e0724d9cf05ad65a0485.patch?full_index=1 Already downloaded: /home/deck/.cache/Homebrew/downloads/c3d6a94f53c828d6ad7b5a563682a6de3d388644f3a33f1ea55ec28fa461e24b--be6b22d11ae996b2d9b8e0724d9cf05ad65a0485.patch ==> Cloning https://github.com/dotnet/fsharp.git Updating /home/deck/.cache/Homebrew/mono--fsharp--git ==> Checking out tag v11.0.0-beta.20471.5 HEAD is now at 03283e07f Merge pull request #10172 from dotnet/merges/main-to-release/dev16.8 HEAD is now at 03283e07f Merge pull request #10172 from dotnet/merges/main-to-release/dev16.8 ==> Downloading https://raw.githubusercontent.com/mono/mono/3070886a1c5e3e3026d1077e36e67bd5310e0faa/packaging/MacSDK/fsharp-layout.sh Already downloaded: /home/deck/.cache/Homebrew/downloads/85ab59b70661632962989d0527aa31b2a720c49968d45f368ff0a1fa190159b0--fsharp-layout.sh ==> Cloning https://github.com/mono/msbuild.git Updating /home/deck/.cache/Homebrew/mono--msbuild--git origin/HEAD set to xplat-master refs/remotes/origin/xplat-master ==> Checking out revision 70bf6710473a2b6ffe363ea588f7b3ab87682a8d HEAD is now at 70bf67104 prevent exception for increasing priority (#5547) HEAD is now at 70bf67104 prevent exception for increasing priority (#5547) ==> Downloading https://download.mono-project.com/sources/mono/mono-6.12.0.122.tar.xz Already downloaded: /home/deck/.cache/Homebrew/downloads/6092400166df5dee225b09670c68fa3aa400319e8871facaff0106aa143419fb--mono-6.12.0.122.tar.xz ==> Patching ==> Applying 3070886a1c5e3e3026d1077e36e67bd5310e0faa.patch patching file packaging/MacSDK/fsharp-layout.sh ==> Applying configure-big_sur.diff patching file configure Hunk #1 succeeded at 10928 (offset 2195 lines). ==> ./configure --prefix=/home/linuxbrew/.linuxbrew/Cellar/mono/6.12.0.122_1 --enable-nls=no Last 15 lines from /home/deck/.cache/Homebrew/Logs/mono/01.configure: checking whether we are using the GNU C++ compiler... yes checking whether g++-11 accepts -g... yes checking dependency style of g++-11... gcc3 checking for a Python interpreter with version >= 3.2... python checking for python... /usr/bin/python checking for python version... 3.1 checking for python platform... linux checking for python script directory... ${prefix}/lib/python3.10/site-packages checking for python extension module directory... ${exec_prefix}/lib/python3.10/site-packages checking dependency style of gcc-11... gcc3 checking for gawk... (cached) gawk checking how to run the C preprocessor... /lib/cpp configure: error: in `/tmp/mono-20220328-41596-77f8ae/mono-6.12.0.122': configure: error: C preprocessor "/lib/cpp" fails sanity check See `config.log' for more details READ THIS: https://docs.brew.sh/Troubleshooting

  • JetBrains

    Developer Ecosystem Survey 2022. Take part in the Developer Ecosystem Survey 2022 by JetBrains and get a chance to win a Macbook, a Nvidia graphics card, or other prizes. We’ll create an infographic full of stats, and you’ll get personalized results so you can compare yourself with other developers.

  • msbuild

    The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio. (by mono)

    ([email protected] bin)$ brew install --build-from-source mono ==> Downloading https://github.com/mono/mono/commit/3070886a1c5e3e3026d1077e36e67bd5310e0faa.patch?full_index=1 Already downloaded: /home/deck/.cache/Homebrew/downloads/77885651b42fb3b50e405e300ab4dce5d65e10eac8ee6b8d956b5240b58adcb3--3070886a1c5e3e3026d1077e36e67bd5310e0faa.patch ==> Downloading https://raw.githubusercontent.com/Homebrew/formula-patches/03cf8088210822aa2c1ab544ed58ea04c897d9c4/libtool/configure-big_sur.diff Already downloaded: /home/deck/.cache/Homebrew/downloads/195208ba31cadc265ea97bb8aad4e78caab1200daf4d855e6c839b5f987f92db--configure-big_sur.diff ==> Downloading https://raw.githubusercontent.com/mono/mono/a22ed3f094e18f1f82e1c6cead28d872d3c57e40/packaging/MacSDK/patches/fsharp-portable-pdb.patch Already downloaded: /home/deck/.cache/Homebrew/downloads/81c9245ab2b5c07a5bc87a8792e374b22a652c14be27b73aa21c1948f1273464--fsharp-portable-pdb.patch ==> Downloading https://raw.githubusercontent.com/mono/mono/a22ed3f094e18f1f82e1c6cead28d872d3c57e40/packaging/MacSDK/patches/fsharp-netfx-multitarget.patch Already downloaded: /home/deck/.cache/Homebrew/downloads/13d3ba5313c9e2b60ebfa4c40d5039269485e75aa41fcf301cc55458382fcb29--fsharp-netfx-multitarget.patch ==> Downloading https://github.com/dotnet/fsharp/commit/be6b22d11ae996b2d9b8e0724d9cf05ad65a0485.patch?full_index=1 Already downloaded: /home/deck/.cache/Homebrew/downloads/c3d6a94f53c828d6ad7b5a563682a6de3d388644f3a33f1ea55ec28fa461e24b--be6b22d11ae996b2d9b8e0724d9cf05ad65a0485.patch ==> Cloning https://github.com/dotnet/fsharp.git Updating /home/deck/.cache/Homebrew/mono--fsharp--git ==> Checking out tag v11.0.0-beta.20471.5 HEAD is now at 03283e07f Merge pull request #10172 from dotnet/merges/main-to-release/dev16.8 HEAD is now at 03283e07f Merge pull request #10172 from dotnet/merges/main-to-release/dev16.8 ==> Downloading https://raw.githubusercontent.com/mono/mono/3070886a1c5e3e3026d1077e36e67bd5310e0faa/packaging/MacSDK/fsharp-layout.sh Already downloaded: /home/deck/.cache/Homebrew/downloads/85ab59b70661632962989d0527aa31b2a720c49968d45f368ff0a1fa190159b0--fsharp-layout.sh ==> Cloning https://github.com/mono/msbuild.git Updating /home/deck/.cache/Homebrew/mono--msbuild--git origin/HEAD set to xplat-master refs/remotes/origin/xplat-master ==> Checking out revision 70bf6710473a2b6ffe363ea588f7b3ab87682a8d HEAD is now at 70bf67104 prevent exception for increasing priority (#5547) HEAD is now at 70bf67104 prevent exception for increasing priority (#5547) ==> Downloading https://download.mono-project.com/sources/mono/mono-6.12.0.122.tar.xz Already downloaded: /home/deck/.cache/Homebrew/downloads/6092400166df5dee225b09670c68fa3aa400319e8871facaff0106aa143419fb--mono-6.12.0.122.tar.xz ==> Patching ==> Applying 3070886a1c5e3e3026d1077e36e67bd5310e0faa.patch patching file packaging/MacSDK/fsharp-layout.sh ==> Applying configure-big_sur.diff patching file configure Hunk #1 succeeded at 10928 (offset 2195 lines). ==> ./configure --prefix=/home/linuxbrew/.linuxbrew/Cellar/mono/6.12.0.122_1 --enable-nls=no Last 15 lines from /home/deck/.cache/Homebrew/Logs/mono/01.configure: checking whether we are using the GNU C++ compiler... yes checking whether g++-11 accepts -g... yes checking dependency style of g++-11... gcc3 checking for a Python interpreter with version >= 3.2... python checking for python... /usr/bin/python checking for python version... 3.1 checking for python platform... linux checking for python script directory... ${prefix}/lib/python3.10/site-packages checking for python extension module directory... ${exec_prefix}/lib/python3.10/site-packages checking dependency style of gcc-11... gcc3 checking for gawk... (cached) gawk checking how to run the C preprocessor... /lib/cpp configure: error: in `/tmp/mono-20220328-41596-77f8ae/mono-6.12.0.122': configure: error: C preprocessor "/lib/cpp" fails sanity check See `config.log' for more details READ THIS: https://docs.brew.sh/Troubleshooting

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts