Setup scripts for Ubuntu (Desktop / Server / WSL2 / Container).
curl -fsSL https://raw.githubusercontent.com/kimushun1101/ubuntu-setup-scripts/main/install/desktop.bash | bash
curl -fsSL https://raw.githubusercontent.com/kimushun1101/ubuntu-setup-scripts/main/install/server.bash | bash
curl -fsSL https://raw.githubusercontent.com/kimushun1101/ubuntu-setup-scripts/main/install/wsl.bash | bash
curl -fsSL https://raw.githubusercontent.com/kimushun1101/ubuntu-setup-scripts/main/install/container.bash | bash
If you want to review the script before running, open the file in install/ in the browser and copy-paste.
sudo apt install git
git clone https://github.com/kimushun1101/ubuntu-setup-scripts.git ~/.ubuntu-setup-scripts
cd ~/.ubuntu-setup-scripts
# Pick one:
# ./1a_run_desktop.bash
# ./1b_run_server.bash
# ./1c_run_wsl.bash
# ./1d_run_container.bash
Preference scripts invoked per environment:
| env | entry | 2a common | 2b systemd | 2c desktop | 2d mozc | 6 ssh→win |
|---|---|---|---|---|---|---|
| Desktop | 1a | ● | ● | ● | ● | |
| Server | 1b | ● | ||||
| WSL2 | 1c | ● | ● | |||
| Container | 1d | ● | ● |
Software is called per package from each 1*_run_*.bash via software/<name>/install.bash. Defaults:
| env | uv | gh | claude-code | codex | code | docker | tmux | brave-browser | hackgen |
|---|---|---|---|---|---|---|---|---|---|
| Desktop | ● | ● | ● | ● | ● | ● | ● | ● | ● |
| Server | ● | ● | ● | ● | ● | ● | |||
| WSL2 | ● | ● | ● | ● | ● | ● | |||
| Container | ● | ● | ● | ● | ● | ● | ● |
google-chrome-stable / terminator are alternative choices prompted in the Desktop entry (when the primary brave-browser / ghostty is declined). muhenkan-switch (a key-chord shortcut tool, X11-verified) is prompted in 1a and replaces the former ulauncher launcher. VS Code is not pre-installed on Server/WSL/Container; Remote-SSH / Dev Containers auto-install ~/.vscode-server.
Environment-specific entry points. Runs sudo apt update → preference scripts → software installs.
- Install vim
- Symlinks to
config/.vimrcandconfig/bash_aliases - Home directory names in English
timedatectl set-local-rtc true(to align clock when dual-booting with Windows)
Skip on environments without systemd (containers, systemd-less WSL).
- Show date and weekday on the clock (gsettings)
- Caps Lock → Ctrl (gsettings)
- xkb keymap (Muhenkan + hjkl cursor movement)
Requires X11/GNOME. Skip on CLI/headless.
- Install
mozc-utils-gui - Open Mozc property dialog interactively
Requires DISPLAY.
Removes symlinks and settings created by 2a-d. Rerun the corresponding script to reconfigure.
Copies WSL2 SSH key to %USERPROFILE%\.ssh on the Windows side. Invoked from 1c_run_wsl.bash automatically.
Per-software install scripts.
uv/— Python package manager (curl https://astral.sh/uv/install.sh)gh/— GitHub CLI (via official apt repository)claude-code/— Claude Code CLIcodex/— OpenAI Codex CLI (requires Node.js / npm)code/— VS Code Desktopdocker/— Docker Enginetmux/brave-browser/google-chrome-stable/terminator/muhenkan-switch/— key-chord shortcut tool (official one-linerscripts/install/get.sh, X11-verified); prompted in1aulauncher/— app launcher (no longer invoked by any1*_run_*.bash; kept for manual use after the switch tomuhenkan-switch)hackgen/— HackGen NF font (programming-friendly Japanese font, pulled from GitHub Releases)