Open19

Manjaro Cinnamon Edition 構築メモ

calloc134calloc134

昨日一日をLinux mintの環境構築に溶かしていた

結構うまく環境が構築できたものの、pacmanとyayが恋しくなったので急遽manjaroとデュアルブートすることにしてみる。

完成図としてはこんな感じ

calloc134calloc134

ライブ環境・インストール後の環境がどちらも文字化けしている。
noto sans cjkをインストールしてフォントを設定するとみられるようになる。

sudo pacman -S noto-fonts-cjk

calloc134calloc134

インストールが遅いのでミラーを最適化

sudo pacman-mirrors --fasttrack

calloc134calloc134

パッケージ入れていきます

sudo pacman -S zsh neovim wezterm starship sheldon

シェル変更
chsh -s /usr/bin/zsh

.configディレクトリ以下にstarshipとsheldonの構成ファイルを配置できる

.config/starship.toml
これとすべて同じ。
https://starship.rs/ja-JP/presets/gruvbox-rainbow

starship
format = """
[](#9A348E)\
$os\
$username\
[](bg:#DA627D fg:#9A348E)\
$directory\
[](fg:#DA627D bg:#FCA17D)\
$git_branch\
$git_status\
[](fg:#FCA17D bg:#86BBD8)\
$c\
$elixir\
$elm\
$golang\
$gradle\
$haskell\
$java\
$julia\
$nodejs\
$nim\
$rust\
$scala\
[](fg:#86BBD8 bg:#06969A)\
$docker_context\
[](fg:#06969A bg:#33658A)\
$time\
[ ](fg:#33658A)\
"""

# Disable the blank line at the start of the prompt
# add_newline = false

# You can also replace your username with a neat symbol like   or disable this
# and use the os module below
[username]
show_always = true
style_user = "bg:#9A348E"
style_root = "bg:#9A348E"
format = '[$user ]($style)'
disabled = false

# An alternative to the username module which displays a symbol that
# represents the current operating system
[os]
style = "bg:#9A348E"
disabled = true # Disabled by default

[directory]
style = "bg:#DA627D"
format = "[ $path ]($style)"
truncation_length = 3
truncation_symbol = "…/"

# Here is how you can shorten some long paths by text replacement
# similar to mapped_locations in Oh My Posh:
[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = " "
"Pictures" = " "
# Keep in mind that the order matters. For example:
# "Important Documents" = " 󰈙 "
# will not be replaced, because "Documents" was already substituted before.
# So either put "Important Documents" before "Documents" or use the substituted version:
# "Important 󰈙 " = " 󰈙 "

[c]
symbol = " "
style = "bg:#86BBD8"
format = '[ $symbol ($version) ]($style)'

[docker_context]
symbol = " "
style = "bg:#06969A"
format = '[ $symbol $context ]($style)'

[elixir]
symbol = " "
style = "bg:#86BBD8"
format = '[ $symbol ($version) ]($style)'

[elm]
symbol = " "
style = "bg:#86BBD8"
format = '[ $symbol ($version) ]($style)'

[git_branch]
symbol = ""
style = "bg:#FCA17D"
format = '[ $symbol $branch ]($style)'

[git_status]
style = "bg:#FCA17D"
format = '[$all_status$ahead_behind ]($style)'

[golang]
symbol = " "
style = "bg:#86BBD8"
format = '[ $symbol ($version) ]($style)'

[gradle]
style = "bg:#86BBD8"
format = '[ $symbol ($version) ]($style)'

[haskell]
symbol = " "
style = "bg:#86BBD8"
format = '[ $symbol ($version) ]($style)'

[java]
symbol = " "
style = "bg:#86BBD8"
format = '[ $symbol ($version) ]($style)'

[julia]
symbol = " "
style = "bg:#86BBD8"
format = '[ $symbol ($version) ]($style)'

[nodejs]
symbol = ""
style = "bg:#86BBD8"
format = '[ $symbol ($version) ]($style)'

[nim]
symbol = "󰆥 "
style = "bg:#86BBD8"
format = '[ $symbol ($version) ]($style)'

[rust]
symbol = ""
style = "bg:#86BBD8"
format = '[ $symbol ($version) ]($style)'

[scala]
symbol = " "
style = "bg:#86BBD8"
format = '[ $symbol ($version) ]($style)'

[time]
disabled = false
time_format = "%R" # Hour:Minute Format
style = "bg:#33658A"
format = '[ ♥ $time ]($style)'

.config/sheldon/plugins.toml

# `sheldon` configuration file
# ----------------------------
#
# You can modify this file directly or you can use one of the following
# `sheldon` commands which are provided to assist in editing the config file:
#
# - `sheldon add` to add a new plugin to the config file
# - `sheldon edit` to open up the config file in the default editor
# - `sheldon remove` to remove a plugin from the config file
#
# See the documentation for more https://github.com/rossmacarthur/sheldon#readme

shell = "zsh"

[plugins]

[plugins.oh-my-zsh]
github = "ohmyzsh/ohmyzsh"

[plugins.zsh-completions]
github = "zsh-users/zsh-completions"

[plugins.zsh-autosuggestions]
github = "zsh-users/zsh-autosuggestions"
use = ["{{ name }}.zsh"]

[plugins.dracula-zsh-syntax-highlighting]
github = "dracula/zsh-syntax-highlighting"

[plugins.zsh-syntax-highlighting]
github = "zsh-users/zsh-syntax-highlighting"

[plugins.blackbox]
github = "StackExchange/blackbox"

[plugins.enhancd]
github = "b4b4r07/enhancd"

[plugins.zsh-vi-mode]
github = "jeffreytse/zsh-vi-mode"

# For example:
#
# [plugins.base16]
# github = "chriskempson/base16-shell"

weztermを設定

sudo mkdir .config/wezterm

以下の内容を.config/wezterm/wezterm.lua に設定
なお、このショートカットは一部swayと同じものにしている
ペインの移動はVimキーバインド

local wezterm = require 'wezterm';
wezterm.on('gui-startup', function(cmd)
    local tab, pane, window = wezterm.mux.spawn_window(cmd or {})
    window:gui_window():maximize()
end)

return {

    keys = {
        -- 垂直分割 (SwayのデフォルトではMod+v, ここではMod+Enterを使用)
        {
            key = "Enter",
            mods = "SUPER",
            action = wezterm.action {
                SplitVertical = {domain = "CurrentPaneDomain"}
            }
        },
        -- 水平分割 (SwayのデフォルトではMod+h, ここではMod+Shift+Enterを使用)
        {
            key = "Enter",
            mods = "SUPER|SHIFT",
            action = wezterm.action {
                SplitHorizontal = {domain = "CurrentPaneDomain"}
            }
        }, -- ペイン間の移動
        {
            key = "h",
            mods = "SUPER",
            action = wezterm.action {ActivatePaneDirection = "Left"}
        }, {
            key = "l",
            mods = "SUPER",
            action = wezterm.action {ActivatePaneDirection = "Right"}
        }, {
            key = "k",
            mods = "SUPER",
            action = wezterm.action {ActivatePaneDirection = "Up"}
        }, {
            key = "j",
            mods = "SUPER",
            action = wezterm.action {ActivatePaneDirection = "Down"}
        },
        {
            key = "u",
            mods = "SUPER",
            -- 上にスクロール
            action = wezterm.action {ScrollByPage = -0.25}
        }, {
            key = "d",
            mods = "SUPER",
            -- 下にスクロール
            action = wezterm.action {ScrollByPage = 0.25}

        }
    },

    -- カラースキーム
    color_scheme = 'nord',   

    -- 透明度
    window_background_opacity = 0.85,

    -- ウィンドウの境界線と影
    window_frame = {
        border_left_width = 1,
        border_right_width = 1,
        border_top_height = 1,
        border_bottom_height = 1,
        border_left_color = "#555555",
        border_right_color = "#555555",
        border_top_color = "#555555",
        border_bottom_color = "#555555"
    },
    window_background_image_hsb = {
        brightness = 0.8,
        saturation = 1.0,
        hue = 1.0
    },

    -- フォントとフォントサイズ
    font_size = 12.0,

    -- パディング
    window_padding = {left = 5, right = 5, top = 5, bottom = 5},

}

こんな感じ

calloc134calloc134

日本語環境が欲しくなったのでfcitx5関連のパッケージを導入

sudo pacman -S fcitx5-im

このようにするとfcitx5 fcitx5-mozc fcitx5-configtoolに加えてgtk/qt用のモジュールも入る。

.xprofileに以下の内容を記述して保存

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

cinnamonの「自動開始させるアプリ」へfcitxを登録する

何回か再起動していると動作するようになる

calloc134calloc134

ホームディレクトリのそれぞれのディレクトリ(ダウンロード)を英語名にする

LANG=C xdg-user-dirs-gtk-update

calloc134calloc134

スタイルを導入
whitesurスタイルを導入していく

yay -S whitesur-gtk-theme whitesur-icon-theme

cinnamonのテーマからwhite surのものを選択

calloc134calloc134

目が気になるのでredshiftで暖色カラーにする

sudo pacman -S redshift

.config/redshift.confへ以下の内容を追加

[redshift]
temp-day=5000
temp-night=5000

自動起動アプリに登録

calloc134calloc134

スクリーンショットを取るためのユーティリティ追加

sudo pacman -S spectacle

以下のようにショートカットを設定する。

calloc134calloc134

vscodeやその他の開発ツールを導入していく

sudo pacman -S docker neovide
yay -S goland-jre goland rancher-desktop slack-desktop zoom visual-studio-code-bin

calloc134calloc134

ファイルを解答できるようにユーティリティ追加

sudo pacman -s unarchiver xarchiver

calloc134calloc134

ブート画面を工夫してみる

今回はこのテーマを用いる
AURに存在していないため、手動でインストールする必要がありそうだ

https://github.com/vinceliuice/grub2-themes

git clone https://github.com/vinceliuice/grub2-themes --depth 1
cd grub2-themes
sudo bash install.sh -t tela -b
calloc134calloc134

作曲がしたいのでREAPERを導入

sudo pacman -S REAPER

日本語化パッチを導入すると文字化けしてしまう

VSTiとしてVitalとSurgeXTを導入

SurgeXTはかんたんに導入できる
なお、パッケージが少し古いらしい

sudo pacman -S surge-xt

Vitalの方は少し工夫がいる
これが一番安定したというやり方をご紹介

公式サイトからVitalをダウンロード

debtapを用いてdebをpacmanでインストールできる形に変換
https://zenn.dev/suba/articles/bb2d641f744418

yay -S debtap
sudo debtap -u
debtap VitalInstaller.deb

できたパッケージをインストール

sudo pacman -U vital-1.5.5-1-x86_64.pkg.tar.zst

手動でやるとうまく行かなかったが、こちらだとうまくいきました

calloc134calloc134

動画編集がしたいのでDavinci Resolve Studioを導入
自分の環境ではAURからのインストールに失敗した。うまく行った方法を記述する

OpenCLドライバを導入

yay -S opencl-amd

次に公式からインストール
インストールが終わったら以下の手順で環境変数を記述する

sudo nvim /etc/profile.d/davinci.sh

以下の内容を記述

export LD_PRELOAD=/usr/lib64/libglib-2.0.so

これで起動するようになるはず。

calloc134calloc134

お絵描きしたいのでkritaを導入 + ペンタブの設定

グラフィックタブレットからボタンにショートカットを割り当てる

kritaを導入

sudo pacman -S krita

フェルン

calloc134calloc134

PDFや画像・動画を閲覧するためのソフトウェアを導入

sudo pacman -S okular gwenview vlc

お気に入りのアプリから以下のように設定する