🦒
NixOSをミニマルインストールしてswayを動かす
はじめに
タイトルのとおりですが、ここからダウンロードしたNixOSのMinimal ISO Imageを使ってNixOSをインストールして、swayを動かすまでの手順を記した記事です。
USBのブートイメージの作成方法は他のディストリビューションと同様のため割愛しています。
手順
まずはsudo -i
でrootユーザーにログインします。
こちら[1]の記事を参考にgdiskコマンドを使ってパーティションを分割します。
次にNixOSのマニュアル[2]を参考に、Ext4パーティション、スワップパーティション、bootパーティションを作成します。
mkfs.fat -F 32 -n BOOT /dev/nvme0n1p1
mkfs.ext4 -L nixos /dev/nvme0n1p2
mkswap /dev/nvme0n1p3
最後に、/mnt
へマウントとNixOSの設定ファイルを生成して[3]下準備は完了です。
mount /dev/nvme0n1p2 /mnt
mkdir -p /mnt/boot
mount -o umask=077 /dev/nvme0n1p1 /mnt/boot
swapon /dev/nvme0n1p3
nixos-generate-config --root /mnt
ここから/mnt/etc/nixos/configuration.nix
ファイルを修正していきます。
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ config, lib, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Set your time zone.
time.timeZone = "Asia/Tokyo";
# Select internationalisation properties.
i18n.defaultLocale = "ja_JP.UTF-8";
console = {
useXkbConfig = true; # use xkb.options in tty.
};
# Enable the X11 windowing system.
services.xserver = {
xkb = {
layout = "jp"; # 日本語配列にする
variant = "";
options = "terminate:ctrl_alt_bksp";
};
enable = true;
displayManager = {
gdm.enable = true;
};
};
# swayを自動起動させるための設定
services.displayManager = {
defaultSession = "sway";
};
# swayを有効化
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
};
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
firefox
gh
git
neovim
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
wget
# https://nixos.wiki/wiki/Sway 参照
grim # screenshot functionality
slurp # screenshot functionality
wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
mako # notification system developed by swaywm maintainer
];
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "24.05"; # Did you read the comment?
}
設定ファイルを修正しnixos-install
を実行してください。ミスっているとエラーがでます。基本的にtypoだと思うので、頑張って修正してください。
最後にパスワードの実行を求められるので、rootのパスワードを設定してreboot
で再起動してください。reboot前は日本語配列が適用されていないので、パスワードに記号を含める際には気を付けて入力してください。
再起動で画面が暗くなったタイミングでUSBメモリを抜いておきましょう。
GUIのログイン画面が表示されると成功です!!!
おわりに
あとはhome-managerを入れるなり、flakeを入れるなり好きにしてください。
ユーザーも作ってないミニマルな設定なので、まずはユーザー作ってくださいね。
参考
Discussion