インストールしたてのNixOS で Haskell を使ひ SDL2 を利用して 何かつくりたい と思ったとき 最低限(だと思ふ)やることを 列挙する
stack を入れる
おそらく どのやうなインストール方法をしたとしても 何らかのターミナルと nano といふエディタが使へるはずだ
私の場合は XTerm といふターミナルが入ってゐた
ターミナルを開き
sudo nano /etc/nixos/configuration.nix
と入力してEnterキーを押す
はじめに設定してゐたパスワードを入れて 編集画面に入る
environment.systemPackages =
などと書かれたところを見つけて
次のやうに 中身に haskellPakages.stack を書く(エディタとしてvimも追加したい人は追加する)
environment.systemPackages = with pkgs; [ vim haskellPackages.stack ];
次に 下のやうにコマンドを打ちこむ
sudo nixos-rebuild switch --upgrade
ここで 一旦再起動してもよいのだが
このままでも stack のプロジェクトを書くことができる
もし stack といふコマンドが認識されてゐないなら
nix-shell -p haskellPackages.stack
としてEnter
プロンプトの部分が
[nix-shell: なんとかかんとか]
になってる筈
stack new myproject
などとして プロジェクトを立ちあげる (myproject はプロジェクト名なので なんでもいい)
cd myproject
として プロジェクトフォルダの中にはいる
stack.yaml を編集する
sdl2を使ふ設定は stack.yaml
といふファイルに書く
nano stack.yaml
(vimをエディタで使ふ人は vi stack.yaml)
一番下の行に(別に途中でもいいけれど)
次を追加する
nix: enable: true packages: [pkg-config, SDL2, SDL2_image, SDL2_ttf, SDL2_gfx, SDL2_mixer, libtiff, harfbuzz, freetype, libwebp, glib, pcre2, libsndfile, libpulseaudio, alsa-lib, jack2]
package.yaml を編集する
次に package.yaml を編集する
sdl2 単体の他に sdl2-ttf(フォント関係) sdl2-image(イメージ関連) sdl2-mixer(音関連) sdl2-gfx(描画補助関連) を入れたいばあいはそれも記述する
場所は dependencies: といふところの下
dependencies: - base >= 4.7 && < 5 --(もともと書いてあるやつ) - sdl2 - sdl2-ttf - sdl2-image - sdl2-gfx - sdl2-mixer
あとは app フォルダにある Main.hs ファイルを編集したりして
sdl2を使ったコードなんかを書き
myprojectフォルダ(はじめに作ったやつ)直下で
stack run
をすれば ちゃんとコードが書かれてゐるなら 實行できる筈
おおまかだけど だいたい こんなとこかな〜