1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ArchLinuxでUnity+Neovim

Posted at

経緯

ArchLinuxでUnityとneovimを連携しようと思ったら少し詰まったので

環境

  • ArchLinux(Hyprland)
  • Neovim(Lazyvim)
  • Unity(AUR版)

インストール

  1. neovimをインストール
  2. AUR版UnityHubをインストール
  3. nvim-unityをUnityにインストール
  4. パッケージファイルをいじる
  5. Unity側の設定

1.neovimをインストール

neovimをインストールします。
方法は複数あるようですが、どの方法でも大丈夫だと思います。

pacmanの場合

sudo pacman -S neovim

AppImageの場合

curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.appimage
chmod u+x nvim-linux-x86_64.appimage
./nvim-linux-x86_64.appimage

2.AUR版UnityHubをインストール

AUR版というのを初めて聞いたのでGPTに聞いたところ

「AUR版」というのは、Arch Linux の AUR (Arch User Repository) にあるユーザー提供パッケージを指して「公式リポジトリ版」と区別するときによく使う言い方です。

🔹 AURとは

Arch User Repository (AUR) は、Arch Linux ユーザーが作ったパッケージビルド用のスクリプト(PKGBUILD)を共有する場所。

公式リポジトリにないソフトウェアをインストールしたいときに使われます。

AURのパッケージは基本的にソースコードやバイナリを取得して、自分の環境でビルドしてインストールする仕組みです。

🔹 「AUR版」とは?

たとえば同じソフトウェアでも:

公式リポジトリ版:Arch Linuxの公式メンテナが管理している安定版

AUR版:ユーザーが管理しているパッケージ(最新版や派生版が多い)

例:

firefox(公式リポジトリ版)

firefox-beta-bin(AUR版:Mozillaが配布するバイナリをインストールするもの)

firefox-nightly(AUR版:開発中の最新版をビルドするもの)

🔹 利用時の注意

公式リポジトリと違って動作保証はなく、自己責任

セキュリティリスクやビルド失敗の可能性がある

多くの場合、yay や paru などの AURヘルパーを使って簡単にインストールできます

👉 まとめると、AUR版 = ユーザーが作った非公式パッケージ(Arch User Repositoryにあるもの) です。

...らしいです。
使っているとファイル参照でエラー落ちするバグ(解決済み)があったりしますが基本的に安定しています。

インストール方法は

yay -S unityhub

でインストールできます

3.nvim-unityをUnityにインストール

neovimとUnityを連携するには.csproj・.slnの生成やExternal Toolsの設定など面倒な手順がありますが、nvim-unityはボタン一つでそれらの操作を行ってくれます。
しかし、Linuxの対応がやや雑なので自分でコードをいじる必要があります。
プロジェクト毎にクローンして編集するのは大変なのでディスク上にgitリポジトリをクローンして、それをパッケージマネージャから読み込ませる方が楽だと思います。

まずはgitリポジトリをcloneします

mkdir unity-nvim #ファイル名は何でも大丈夫です
git clone https://github.com/apyra/nvim-unity.git

UnityでWindows->PackageManager->Add package from diskでクローンしたリポジトリのpackage.jsonを選択します。

次にslnファイルを生成するため必要なのでにdotnetをインストールします

sudo pacman -S dotnet-sdk dotnet-runtime

リポジトリに付属しているAppImageを取得します
https://github.com/apyra/nvim-unity/releases/latest/download/nvimunity-linux.AppImage
AppImageを展開して中のshファイルを取り出します

./nvimunity-linux.AppImage --appimage-extract

squashfs-root/AppDir/usr/bin/nvimunity.shをテキストエディタで開いてSOCKETの中身を以下のように変更してください

- SOCKET="/tmp/unity2025.sock"
+ SOCKET="/home/username/.cash/nvimunity.sock"

nvimunity.shをneovimで開いている場合windowsの改行コードが混じってしまうため

:set ff=unix

を実行してから保存してください

cd /opt
#opt下にnvimunityディレクトリを作成する
#後述するUtils.csのfallbacksにディレクトリを追加すれば他でもOK
sudo mkdir nvimunity
cd nvimunity
mv ~/appimageDirectory/squashfs-root/usr/bin/nvimunity.sh
chmod +x nvimunity.sh

4.パッケージファイルをいじる

まずNeovimPreferences.csの

NeovimPreferences.cs
private static Dictionary<string, string> availableTerminals = new Dictionary<string, string>
        {
            ["ghostty"] = "", // Binary
            ["xdg-terminal-exec"] = "xdg-terminal-exec -e \"{0}\"",
            // More terminals can be added
        };

に使っているターミナルの実行コマンドを追記します。私が使っているのはkittyなので

NeovimPreferences.cs
private static Dictionary<string, string> availableTerminals = new Dictionary<string, string>
        {
            ["ghostty"] = "", // Binary
            ["xdg-terminal-exec"] = "xdg-terminal-exec -e \"{0}\"",
            ["kitty"]="kitty -e {0}"
            // More terminals can be added
        };

となります。

Utils.csのfallbackPathsにディレクトリを追加すればnvimunity.shをopt下に置く必要はありません

Utils.cs
string[] fallbackPaths = new[]
                {
                    "/usr/bin/nvimunity",
                    "/usr/local/bin/nvimunity",
                    "/opt/nvimunity/nvimunity.sh",
                    Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads", "NvimUnity.AppImage"),
                    Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".local/bin/nvimunity"),
                    "/Applications/NvimUnity.app/Contents/MacOS/nvimunity"
                };

5.Unity側の設定

ここまで来たらあとはGUI操作だけです
Edit->Preferenceを開き
NeovimSettingから先程設定したターミナルアプリを選択してください
image.png
ExternalToolsでNeovim Code Editorを選択してください。
image.png
Regenerate project filesで.csprojと.slnファイルを生成します。
csファイルをダブルクリックしてneovimが開けば成功です。
もし一瞬だけ出現して消えるときは~/.cache/nvimunity.sockがないか確認して、あれば削除してみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?