I am having a bit of a brain freeze here but I would like to install pandoc but I don't want to disable the default steam deck settings to do so even though using pacman on the command line would be way simpler I don't want to fiddle if I don't have to fiddle.
Can I not just download a binary and point Linux towards it? I know this is a silly question but frustratingly I am more familiar with how you are supposed to do this on windows with the $home variable nonsense.
SteamOS on Steam Deck supports Nix packaging system, besides pacman. pandoc is in the Nix repositories: https://search.nixos.org/packages?channel=25.11&query=pandoc The Nix packaging does not require you to disable read only, as Valve did an exception for this. It should also persist between updates, if I understand this right.
Having said this, i did not ever use the Nix packaging system on Steam Deck (yet). So I cannot assist with advice and have no idea how easy is it to pull off. Here is a random article to set it up once: https://chrastecky.dev/gaming/persistent-packages-on-steam-deck-using-nix The good thing is, once Nix is setup, one can use it for other stuff too.
Thank you for pointing out the specific file, that was helpful confirmation but I do not seem to be able to run it either by running it in the command line or by changing its properties to be able to be executed as a program.
The binary is a command line only program, usual format for running it is ./pandoc inputfile -o outputfile"
If you want it runable anywhere from command line, you can put the downloaded binary in ~/.local/bin
I don't know what exactly you want to use pandoc for, but you might also consider Morphosis. It's in the discovery store and I think it's a graphical front end for pandoc.
OK so I remembered. Downloaded and extracted it. Not a tool I'm familiar with but it worked fine first time. It's command line so I opened up a command prompt and got this output (snipped a bit as the output was long):
(deck@steamdeck ~)$ cd Downloads/pandoc-3.9.0.2/bin/
(deck@steamdeck bin)$ ./pandoc --help
pandoc [OPTIONS] [FILES]
-f FORMAT, -r FORMAT --from=FORMAT, --read=FORMAT
-t FORMAT, -w FORMAT --to=FORMAT, --write=FORMAT
-o FILE --output=FILE
etc......
Does that help?
I see you're coming from windows so how comfortable are you with the command line? I see someone else mentioned that there is a frontend available which might be more useful to you if the answer is "not very".
FYI tab is your friend on the command line as it will autofill stuff for you. So I didn't actually type "cd Downloads/pandoc-3.9.0.2/bin/" I just typed cd Down (tab) p (tab) and it filled it to "cd Downloads/pandoc-3.9.0.2/"
edit: The ./ is essential once you're in the directory when you're running stuff this way. It essentially means "in this directory, run ...". Otherwise the shell will just look in your $PATH directories list and not find "pandoc" anywhere in it. You can add "." to your $PATH to avoid this but it's not there by default on the deck.
Last thing - I know you weren't confident picking the right package to download. For binaries you're always looking for stuff with "linux-amd64" or similar in the name for the deck.
There's also a cool little community that you might like called "Linux Upskill Challenge" which you can find at:
edit: The ./ is essential once you’re in the directory when you’re running stuff this way. It essentially means “in this directory, run …”. Otherwise the shell will just look in your $PATH directories list and not find “pandoc” anywhere in it. You can add “.” to your $PATH to avoid this but it’s not there by default on the deck.
This was the issue, I am fairly comfortable with the command line there are just lots of little things that were never explained to me because I have learned it all myself.
I appreciate the recommendation for a front end engine! I want pandoc for exporting org files to document/website formats from org mode in emacs so I don't need a front end but I will definitely check it out!
I actually think I still need to add pandoc to the $PATH directory so emacs can run it though.
No, but anything you change will be undone by the next update. Better to use something like distrobox, that's stored in the home directory.
You could theoretically download a binary, but you run into the chance of it being compiled against different versions of libraries than on the Steam Deck's system. A statically linked binary would fix that particular issue, though.
You can use micromamba or brew as local and then install pandoc and run from the terminal. It will rest in your home so I don't think it will get erased.
all 19 comments