Skip to content

Commit 1a2bf4c

Browse files
authored
documentation for NixOS builds and minor changes (#203)
1 parent 77da6dd commit 1a2bf4c

12 files changed

Lines changed: 651 additions & 34 deletions

README.md

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
</p>
1919

2020
<p align="center">
21-
<a href="#-how-to-install-skyscraper">Installation</a> (<a href="#linux">Linux</a>|<a href="#macos">macOS</a>|<a href="#docker">Docker</a>|<a href="#windows">Windows</a>) •
21+
<a href="#-how-to-install-skyscraper">Installation</a> (<a href="#linux">Linux</a>|<a href="#macos">NixOS</a>|<a href="#macos">macOS</a>|<a href="#docker">Docker</a>|<a href="#windows">Windows</a>) •
2222
<a href="#-how-to-use-skyscraper">Quick Usage</a> •
2323
<a href="https://gemba.github.io/skyscraper/">User Manual</a> •
2424
<a href="https://gemba.github.io/skyscraper/CHANGELOG/">Changelog</a>
@@ -58,12 +58,16 @@ You can configure and add platforms without having the needs to edit the code so
5858
These files are copied into the folder `/home/pi/.skyscraper` on RetroPie (or `/usr/local/etc/skyscraper/` in general) at the first run of the program.
5959

6060
## 🕹 Frontends Supported (set with '-f'):
61+
6162
* EmulationStation
6263
* ES-DE (EmulationStation Desktop Edition)
64+
* Batocera
6365
* AttractMode
6466
* Pegasus
6567
* RetroBat
6668

69+
More details in the [frontends documentation](https://gemba.github.io/skyscraper/FRONTENDS/)
70+
6771
## 📚 Supported scraping modules (set with '-s')
6872
Skyscraper supports a variety of different scraping sources called *scraping modules*. Use these to gather game data into the Skyscraper resource cache. Check the full list of [scraping modules](https://gemba.github.io/skyscraper/SCRAPINGMODULES/) and read more about the [resource cache](https://gemba.github.io/skyscraper/CACHE/).
6973

@@ -75,14 +79,17 @@ Follow the steps below to install the latest version of Skyscraper. Lines beginn
7579

7680
NOTE! If you are using the RetroPie distribution, you have the option to install Skyscraper directly from the RetroPie-Setup script (*you need to update the script before installing it!*). Read more about all of that [in the RetroPie documentation](https://retropie.org.uk/docs/Scraper/#skyscraper).
7781

78-
### Installation of Skyscraper on RetroPie and Programmable Completion
79-
This goes in the usual RetroPie stanza: Either run `sudo RetroPie-Setup/retropie_setup.sh` and folow the menus (_Manage packages_ -> _Manage optional packages_ -> then look for _Skyscraper_) or run `sudo RetroPie-Setup/retropie_packages.sh skyscraper`. This will also automagically install programmable completion (aka. bash completion) for the Skyscraper command line (see [command line completion](https://gemba.github.io/skyscraper/CLIHELP#programmable-completion)).
82+
### Installation of Skyscraper on RetroPie <img src="docs/resources/os/RetroPie.svg" width="20px">
83+
This goes in the usual RetroPie stanza: Either run `sudo RetroPie-Setup/retropie_setup.sh` and folow the menus (_Manage packages_ -> _Manage optional packages_ -> then look for _Skyscraper_) or run `sudo RetroPie-Setup/retropie_packages.sh skyscraper`.
84+
85+
#### Programmable Completion (aka. Bash Completion)
86+
The scriptmodule will also automagically install programmable completion for the Skyscraper command line, see [command line completion](https://gemba.github.io/skyscraper/CLIHELP#programmable-completion) for more details.
8087

8188
### Installation Prerequisites on Other Systems or Architectures
8289

83-
_Qt5 is end-of-life by end of May 2025_: You can still use and compile Skyscraper with Qt5 with no restrictions, when your setup does not provide Qt6. However, if you have the option to use Qt6 I strongly recommend it, Skyscraper works well with Qt6. Use Qt6 especially when you use Skyscraper on a recent Linux distribution, macOS or Windows. In rare cases you may have to use `qmake6` instead of `qmake`. If you find a mismatch in the build scripts, please file an issue.
90+
_Qt5 is end-of-life by end of May 2025_: You can still use and compile Skyscraper with Qt5 with no restrictions, when your setup does not provide Qt6. However, if you have the option to use Qt6 I strongly recommend it, Skyscraper works well with Qt6. Use Qt6 especially when you use Skyscraper on a recent Linux distribution, macOS or Windows. In some cases you may have to use `qmake6` instead of `qmake`. If you find a mismatch in the build scripts, please file an issue.
8491

85-
#### Linux
92+
#### Linux <img src="docs/resources/os/Tux.svg" width="20px">
8693
_For Qt6_:
8794
```bash
8895
$ sudo apt update
@@ -96,9 +103,23 @@ $ sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5sql5-
96103
# You may need these too, if they are not installed already
97104
$ sudo apt install make g++ gcc git
98105
```
99-
To install Qt5 on other Linux distributions, please refer to their documentation.
106+
To install Qt5 (disencouraged) or Qt6 (preferred) on other Linux distributions, please refer to their documentation.
107+
108+
#### NixOS <img src="docs/resources/os/NixOS.svg" width="20px">
109+
Only use Qt6. Apply:
110+
111+
```bash
112+
nix-shell -p \
113+
gcc_multi \
114+
gnumake42 \
115+
p7zip \
116+
qt6.qtbase \
117+
qt6.qmake \
118+
qt6.qtimageformats
119+
```
120+
You may omit `p7zip` if you don't want to enable the [`unpack`](https://gemba.github.io/skyscraper/CLIHELP/?h=unp#unpack) option of Skyscraper. If you want to use the `update_skyscraper.sh` script also install `python3`. Then proceed with this [section](#updating-skyscraper) for release build or this [section](#download-compile-and-install) for a development build of `main/HEAD`.
100121

101-
#### macOS
122+
#### macOS <img src="docs/resources/os/macOS.svg" width="20px">
102123
Skyscraper works perfectly on macOS as well but is not officially supported as I don't own a Mac. Here are the commands needed to install the Qt6 and other prerequisites. You can skip the Qt5 _un_install if you don't have it installed:
103124
```
104125
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
@@ -107,12 +128,12 @@ $ brew install gnu-tar
107128
$ brew install wget
108129
$ brew install qt
109130
```
110-
You may also need a recent installation of [XCode](https://xcodereleases.com/) for the development tools. Then proceed to the default installation instructions in the "Download, compile and install" section. It should work and give you a working installation of Skyscraper.
131+
You may also need a recent installation of [XCode](https://xcodereleases.com/) for the development tools. Then proceed to the default installation instructions in the "Download, compile and install" section. It will give you a working installation of Skyscraper.
111132

112-
#### Docker
133+
#### Docker <img src="docs/resources/os/docker-mark-blue.svg" width="20px">
113134
Two Docker setups exist: One general in the `docker/` folder. The other resides in the `.devcontainer/` and its use is for [MS Dev Containers](https://microsoft.github.io/code-with-engineering-playbook/developer-experience/devcontainers/).
114135

115-
#### Windows
136+
#### Windows <img src="docs/resources/os/ms-windows.svg" width="20px">
116137
Windows is not officially supported at this time. However, you [may roll your own](win32/README.md) Windows 64-bit version that works just fine with a recent Windows. It even supports colored terminal output.
117138

118139
### Download, compile and install
@@ -146,10 +167,10 @@ If you want to build the latest `main/HEAD` version use the following commands.
146167
```bash
147168
git clone --depth 1 https://github.com/Gemba/skyscraper.git
148169
cd skyscraper
149-
[[ -f Makefile ]] && make --ignore-errors clean
150-
rm --force .qmake.stash
170+
[[ -f Makefile ]] && make --ignore-errors distclean
151171
# You may need to issue qmake6 with Qt6 for the next command instead of qmake
152-
qmake # Add also PREFIX=/path/to before qmake if you want a different PREFIX than /usr/local
172+
# Add also PREFIX=/path/to before qmake if you want a different PREFIX than /usr/local
173+
qmake # or qmake6
153174
make -j$(nproc)
154175
sudo make install
155176
```

docs/INSTALLATION.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@ You can find detailled installation instructions in the respective section in th
44

55
- [RetroPie on Linux distros with Debian package system](https://github.com/Gemba/skyscraper/blob/master/README.md#installation-of-skyscraper-on-retropie-and-programmable-completion) (Ubuntu, RaspiOS, aso.)
66
- Other unixoid OSes first match the dependencies:
7+
78
- Linux distros with Debian package system (Ubuntu, RaspiOS, aso.), [without RetroPie](https://github.com/Gemba/skyscraper/blob/master/README.md#linux)
89
- For other Linux distributions assure the [package dependencies](https://github.com/Gemba/skyscraper/blob/master/README.md#linux) are met for your distro
10+
- NixOS aficionados are happy with these packages: [NixOS](https://github.com/Gemba/skyscraper/blob/master/README.md#nixos)
911
- macOS users can install the dependencies [via brew](https://github.com/Gemba/skyscraper/blob/master/README.md#macos)
10-
- After having the dependencies installed proceed with the [install script](https://github.com/Gemba/skyscraper/blob/master/README.md#download-compile-and-install) or use the few [manual commands](https://github.com/Gemba/skyscraper/blob/master/README.md#installing-the-development-version)
12+
13+
After having the dependencies installed proceed with the [install script](https://github.com/Gemba/skyscraper/blob/master/README.md#download-compile-and-install) or use the few [manual commands](https://github.com/Gemba/skyscraper/blob/master/README.md#installing-the-development-version).
14+
Last but not least you can also follow these paths:
15+
1116
- [Docker use](https://github.com/Gemba/skyscraper/blob/master/README.md#docker)
12-
- [Native Windows installation](https://github.com/Gemba/skyscraper/tree/master/win32#readme) (or use WSL2 with Linux)
17+
- [Native Windows installation](https://github.com/Gemba/skyscraper/tree/master/win32#readme) (or use WSL2 with a Linux Distro and follow the Linux instructions above)

docs/resources/os/NixOS.svg

Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)