|
1 | 1 | #!/bin/bash |
2 | 2 | # Description: Installer for OFS + MTFG |
3 | | -# Requirements: On Debian based systems e.g. Ubuntu you have to install Anaconda or Miniconda |
4 | | -# befor running this installer! |
5 | 3 |
|
6 | 4 | arg1="$1" |
7 | 5 |
|
|
13 | 11 | echo "install required packages" |
14 | 12 | if command -v apt; then |
15 | 13 | # debian based distro: |
| 14 | + sudo mkdir -p /nix |
| 15 | + sudo chown $USER /nix |
| 16 | + sudo apt install curl |
| 17 | + sh <(curl -L https://nixos.org/nix/install) |
| 18 | + . /home/$USER/.nix-profile/etc/profile.d/nix.sh |
16 | 19 |
|
17 | | - if [ ! -d ~/anaconda3 ] && [ ! -d ~/miniconda3 ]; then |
18 | | - echo "ERROR: miniconda is not properly installed. Please first install [miniconda](https://docs.conda.io/en/latest/miniconda.html)" |
19 | | - exit 1 |
20 | | - fi |
21 | | - |
| 20 | + echo "Install OFS build dependencies" |
22 | 21 | sudo apt install -y cmake build-essential libmpv-dev libglvnd-dev libxext-dev make \ |
23 | 22 | git gcc g++ cmake libmpv-dev libatlas-base-dev |
24 | 23 | fi |
25 | 24 |
|
26 | | -if command -v pacman; then |
27 | | - # arch based distro: |
28 | | - sudo pacman -Syu --needed --noconfirm |
29 | | - sudo pacman -Sy --needed --noconfirm python-opencv python-pyqt5 git base-devel python python-pip mpv cmake |
| 25 | +if [ ! -f ~/.config/nix/nix.conf ]; then |
| 26 | + mkdir -p ~/.config/nix |
| 27 | + echo "experimental-features = nix-command flakes" > ~/.config/nix/nix.conf |
30 | 28 | fi |
31 | 29 |
|
32 | 30 | OFS_APP_DIR="$HOME/.local/share/OFS/application" |
|
59 | 57 | echo "Use latest git commit (only for developers!)" |
60 | 58 | fi |
61 | 59 |
|
62 | | -if command -v pacman; then |
63 | | - echo "apply fixes for arch linux" |
64 | | - sed -i 's/libmpv.so.1/libmpv.so.2/g' OFS-lib/OFS_MpvLoader.cpp |
65 | | -fi |
66 | | - |
67 | 60 | echo ">> Build OFS in $PWD" |
68 | 61 | rm -rf build |
69 | 62 | mkdir -p build |
@@ -103,34 +96,20 @@ else |
103 | 96 | fi |
104 | 97 | fi |
105 | 98 |
|
106 | | -if command -v apt; then |
107 | | - # debian based distro: |
108 | | - source ~/anaconda3/etc/profile.d/conda.sh 2>/dev/null |
109 | | - source ~/miniconda3/etc/profile.d/conda.sh 2>/dev/null |
110 | | - export CONDA_ALWAYS_YES="true" |
111 | | - conda env create -f environment_ubuntu.yaml |
112 | | - conda activate funscript-editor |
113 | | - conda env update --file environment_ubuntu.yaml --prune |
114 | | - unset CONDA_ALWAYS_YES |
115 | | -fi |
| 99 | +# build nix environment |
| 100 | +nix develop --command sleep 1 |
116 | 101 |
|
117 | | -if command -v pacman; then |
118 | | - # arch based distro: |
119 | | - pip install -r requirements.txt |
120 | | -fi |
| 102 | +popd |
121 | 103 |
|
122 | 104 | cp -fv "$OFS_EXTENSION_DIR/MTFG/Python-Funscript-Editor/assets/ffmpeg" \ |
123 | 105 | "$OFS_EXTENSION_DIR/MTFG/Python-Funscript-Editor/funscript_editor/data/ffmpeg" |
124 | | -popd |
125 | 106 |
|
126 | 107 | cp -fv "$OFS_EXTENSION_DIR/MTFG/Python-Funscript-Editor/contrib/Installer/assets/main.lua" \ |
127 | 108 | "$OFS_EXTENSION_DIR/MTFG/main.lua" |
128 | 109 |
|
129 | 110 | cp -fv "$OFS_EXTENSION_DIR/MTFG/Python-Funscript-Editor/contrib/Installer/assets/json.lua" \ |
130 | 111 | "$OFS_EXTENSION_DIR/MTFG/json.lua" |
131 | 112 |
|
132 | | -popd |
133 | | - |
134 | 113 | if [ ! -e ~/.local/bin/OpenFunscripter ]; then |
135 | 114 | mkdir -p ~/.local/bin |
136 | 115 | ln -s `realpath $OFS_APP_DIR`/bin/OpenFunscripter ~/.local/bin/OpenFunscripter |
|
0 commit comments