Arch Linux install 備忘録
参考にさせていただいた記事
ネットワークの接続
システムクロックの更新
# timedatectl status
パーティション
# fdisk -l
fdisk /dev/nvme0n1
↑使いにくかった
fdisk /dev/nvme0n1
cgdisk /dev/nvme0n1
最終的にこちらを使った
フォーマット
# mkfs.ext4 /dev/nvme0n1p2
or
# mkfs.btrfs /dev/nvme0n1p2
どちらでも大差無さそうですが、SSD なら btrfs という記事を見たので信じてこちらを選択
# mkswap /dev/nvme0n1p3
# mkfs.fat -F 32 /dev/nvme0n1p1
ファイルシステムのマウント
mount /dev/nvme0n1p2 /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot
swapon /dev/nvme0n1p3
いろいろ
ほぼこちらの通りにしました
ミラーリストは Arch Wiki を見る限りインターネット接続してあれば勝手によしなにされているらしいので一旦デフォルトで行きます(必要なら後で更新する)
- pacstrap で必要なツールをインストール
pacstrap -K /mnt base base-devel linux linux-firmware vim zsh zsh-completions
開発用のツールパッケージ base-devel
だけ追加しています
vim, zsh 周りは使いたいのでそのまま
- fstab の作成
genfstab -U /mnt >> /mnt/etc/fstab
- chroot
arch-chroot /mnt
echo $SHELL
で現在のシェルが bash だったので zsh に変更
zsh
- タイムゾーン
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
/etc/adjtime を生成
hwclock --systohc
- ローカライゼーション
/etc/locale.gen
を編集して、en_US.UTF-8 UTF-8
, ja_JP.UTF-8 UTF-8
の行をアンコメントして、以下のコマンドで locale を作成する
locale-gen
locale.conf を以下のように作成する
echo "LANG=en_US.UTF-8" > /etc/locale.conf
- pacman の設定
/etc/pacman.conf/
を編集する
Misc options
を以下のように修正(コメントアウトしているものは書いていません)
# Misc options
Color
CheckSpace
VerbosePkgLists
ParallelDownloads = 5
ILoveCandy
DownloadUser = alpm
terminus-font についてよく知らなかったので調べてみたけど、等幅フォントみたいだし特別なこだわりは無いので一旦採用
pacman -S terminus-font
echo "FONT=ter-128n" > /etc/vconsole.conf
- ホスト名の設定
echo "hogehoge" > /etc/hostname
/etc/hosts
を以下のように編集
127.0.0.1 localhost
::1 localhost
127.0.1.1 hogehoge.localdomain hogehoge
- パスワード
passwd
- grub の設定
efibootmgr: UEFIブートの表示や管理コマンド
dosfstools: mkfs.fat および fsck.fat ユーティリティが含まれ、 それぞれ MS-DOS FAT ファイルシステムの作成および検査を実行
os-prober: mtab を読み込んで、起動可能なエントリを検索すべき場所を特定
mtools: MS-DOSのファイルを操作するためのツール
pacman -S grub efibootmgr dosfstools os-prober mtools
--efi-directory=/boot
のパスはEFIパーティションをマウントしているパスを指定(chroot で /mnt
をroot にしているため、/boot
でOK)
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB_UEFI
grub-mkconfig -o /boot/grub/grub.cfg
ucode は使うプロセッサに応じて変えてください(AMDなら amd-ucode
)
pacman -S intel-ucode
grub-mkconfig -o /boot/grub/grub.cfg
- rEFInd を入れる
grub よりモダンなブートローダーで、grub との共存も出来る
pacman -S refind
refind-install
- ネットワーク設定
pacman -S networkmanager wpa_supplicant dialog iw iwd dhcpcd netctl
systemctl enable NetworkManager
- reboot
exit
-> exit
-> reboot
reboot 後、rEFInd の画面 EFI/GRUB_UEFI/grubx64.efi
を選択して起動
その後 root ユーザーのパスワードを入力して入る
カスタマイズ
カスタマイズもこちらの記事を参考にしました。
- ネットワーク設定
- アップデート
- ユーザー追加とsudo
- AURヘルパーの導入
$ sudo pacman -S --needed git base-devel rustup
$ rustup default stable
$ git clone https://aur.archlinux.org/paru.git
$ cd paru
$ makepkg -si
$ chsh -s $(which zsh)
$ sudo timedatectl set-ntp true
$ paru -S hyprland-nvidia kitty gtk3 waybar-hyprland-git mpd ttf-font-awesome noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-firge ttf-fira-code ttf-firacode-nerd pipewire neovim gdm
error: could not find all required packages:
hyprland-nvidia (target)
waybar-hyprland-git (target)
公式 に従って以下のように修正
hyprland-nvidia
-> hyprland
waybar はどうやら hyprland にデフォルトで含まれるようになったぽい?(公式)
後で設定はしてみる
$ sudo systemctl enable gdm.service
$ sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
$ Hyprland
- [各種ソフトのインストール]
$ paru -S firefox-developer-edition rofi-wayland hyprpaper discord zed-git nemo flameshot vlc pipewire-pulse
- firefox-developer-edition: ブラウザ
- rofi:
rofi
は wayland で使うためには対応した fork 先を使う必要があるらしい。今はrofi-wayland
という名前で extraリポジトリ にある - hyprpaper: 壁紙制御
- discord: discord
- zed-git: 最近使っているテキストエディタ
- nemo: ファイルマネージャ
- flameshot: スクーリーンショット取るやつ
- vlc: メディアプレイヤー
- pipewire-pulse: bluetooth オーディオを使えるようにする
- トラックパッドの設定
-
xwaylandの設定
10.自動画面ロックとサスペンド
公式wiki
swayidle, swaylock を入れる
paru -S swayidle swaylock
以下のスクリプトを作成
swayidle -w timeout 300 'swaylock -f -c 000000' \
timeout 600 'systemctl suspend' \
before-sleep 'swaylock -f -c 000000' &
呼び出し
...
exec-once = ~/.config/hypr/scripts/sleep.sh
...
- 自分用の設定いろいろ
11. [dotfiles](https://github.com/ymidori/dotfiles
12. peco, ghq install
Discussion