English / Japanese(日本語)
わたしの Dotfiles へようこそ.数多くのプロジェクトの中から見つけてくれてありがとうございます!
このリポジトリを利用することで,直感的なターミナル環境を簡単に構築できます.高速に起動・動作する Go言語 と Rust 製のコマンドラインツールを中心に構成しています.何か一つでも新しい知識や考え方との出会いになれば幸甚です.
このDotfilesリポジトリの内容は、GitHub Pagesでもご覧いただけます。
1. ダウンロードとインストール
curl, wget, git のいずれかでインストールできます
curl -sL https://raw.githubusercontent.com/irichu/dotfiles/main/install.sh | bash
wget -qO- https://raw.githubusercontent.com/irichu/dotfiles/main/install.sh | bash
git clone --depth=1 https://github.com/irichu/dotfiles.git && cd dotfiles && ./install.sh
2. パッケージの一括インストール
[!IMPORTANT] ・Linux(Ubuntu/Fedora/Arch Linux)またはmacOSでは
--brew
による自動構築が可能です
・Ubuntuでは--apt
または--snap
で高速なインストールが可能です
・Termuxでは--pkg
によるセットアップが可能です
[!NOTE] LinuxまたはmacOSでは
sudo
コマンドが使える必要があります
--brew
ではHomebrew本体をインストールするために利用します
--apt
,--snap
の場合もパッケージ管理のため使用します
利用するパッケージマネージャーに応じて以下のコマンドで一括インストールを実施します
dots install [--apt|--brew|--snap|--pkg]
具体的には [--apt|--brew|--snap|--pkg]
の部分を置き換えて実行します
LinuxまたはmacOS環境にて,brewでセットアップする場合は以下を実行します
dots install --brew
Termux にて pkg でセットアップする場合は以下の通りです
dots install --pkg
[!NOTE]
dots
コマンドが見つからない場合は
以下のコマンドを実行して ~/.local/bin へのパスを通すようにしてみてください もしくは一括インストールが完了するまでは直接~/.local/bin/dots
で実行してください
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
3. スタート
以下のコマンドで設定を読み込みます
exec -l $(which zsh)
[!NOTE] SSH接続のように,ログインシェルの場合はTmuxが自動起動します.
Tmuxサーバーがすでに起動している場合は,セッション一覧から接続するセッションを選択できます.
[!WARNING] Google Playストア版のTermuxは一部のコマンドなどが正常に動作しないことがあるようです.
F-Droidからインストールすることが推奨されています
コマンドのヘルプと使用できるコマンドを表示します
dots --help
ターミナルウィンドウの背景透過度を取得/設定します
# get current opacity
dots opacity
# set current opacity
dots set-theme
現在のカラーテーマを取得します:
dots theme
指定のカラーテーマに設定します:
dots set-theme <NUMBER|NAME>
# Example
dots set-theme 4 # Set by number
dots set-theme "developer-mono" # Set by name
利用可能なテーマ:
1. developer
2. developer-textcolored
3. developer-colorful
4. developer-mono
5. dark-turquoise
6. dark-turquoise-textcolored
7. dark-turquoise-colorful
8. dark-turquoise-mono
9. dark-orange
10. dark-orange-textcolored
11. dark-orange-colorful
12. dark-orange-mono
13. dark-skyblue
14. dark-skyblue-textcolored
15. dark-skyblue-colorful
16. dark-skyblue-mono
現在の starship テーマを表示します:
dots starship
指定した starship テーマを設定します:
dots set-starship simple # oneline
dots set-starship default # multiline
バックアップを作成します:
# $XDG_CONFIG_HOME ディレクトリのバックアップコピーを $XDG_DATA_HOME/dotfiles/backup に作成します
dots backup
データを整理(削除)します:
# remove dotfiles cache
dots clean
# remove cache + dotfiles backup directories
dots clean backup
# remove cache + config directories
dots clean config
# remove cache + backup + config
dots clean all
パッケージマネージャーごとにインストールする対象のパッケージ一覧を表示します
dots list [--apt|--brew|--snap|--pkg]
個別パッケージのインストールを実行します
dots install <package_name>
ヘルプ表示のイメージ |
---|
The following apps can be installed individually from the dots install <package_name>
command
パッケージ名 | 説明 |
---|---|
docker |
追加のaptリポジトリからDockerをインストールします |
fnm |
最新版のFNM(Fast Node Manager)と最新版LTSのNode.jsをインストールします |
fzf |
fzf(fuzzy finder)をgithubからインストールします |
lazydocker |
LazyDockerをインストールします |
lazygit |
LazyGitをインストールします |
lazyvim |
LazyVimをインストールします |
neovim |
NeovimとLazyVimをインストールします |
starship |
starship.rsをインストールします |
パッケージ名 | 説明 |
---|---|
copyq |
CopyQをインストールします |
rustdesk |
Ubuntu Desktop向けにRustDeskをインストールします |
zed |
Zedエディターをインストールします |
パッケージ名 | 説明 |
---|---|
hackgen |
HackGenフォント(Hack+源柔ゴシックの合成フォント) NerdFont対応版 をインストールします |
dots install --brew
コマンドでインストールする主なパッケージは次のとおりです
パッケージ名 | 説明 |
---|---|
alacritty |
高速でGPU対応のターミナルエミュレータ。 |
clipy |
履歴機能付きのmacOS用クリップボードマネージャ。 |
docker |
コンテナの開発・配布・実行を行うためのプラットフォーム。 |
flameshot |
高機能で使いやすいスクリーンショットツール。 |
ghostty |
macOS向けのミニマルでGPUベースのターミナルエミュレータ。 |
rectangle |
キーボード操作でウィンドウを整理できるウィンドウ管理アプリ。 |
visual-studio-code |
軽量で高機能なソースコードエディタ。 |
パッケージ名 | 説明 |
---|---|
bat |
cat の代替ツール |
bottom |
TUI のシステムリソースモニター |
broot |
対話型のディレクトリナビゲーションツール |
cloc |
プロジェクト内のコード行数をカウント |
duf |
df の代替ツール(視覚的に見やすい) |
dust |
du の代替ツール(直感的な出力) |
eza |
ls の代替ツール(モダンな機能付き) |
fastfetch |
高速なシステム情報取得ツール |
fd |
find の代替ツール(シンプルな構文) |
fnm |
Node.js のバージョン管理ができる高速 Node マネージャー |
fzf |
コマンドライン用のファジーファインダー |
gh |
GitHub の操作ができる CLI ツール |
git-delta |
Git や diff の出力をシンタックスハイライト付きで表示 |
gping |
グラフィカルな ping ツール(リアルタイム可視化) |
gum |
インタラクティブな UI を可能とするシェルスクリプト拡張 |
jq |
コマンドライン用の JSON プロセッサ |
just |
Make に似た便利なコマンドランナー |
lazygit |
シンプルな TUI の Git クライアント |
ripgrep |
grep の代替ツール(超高速検索) |
ruff |
高速な Python 用リンター&フォーマッター |
sd |
シンプルで高速なsedの代替ツール |
starship |
最小限でカスタマイズ可能なシェルプロンプト |
tmux |
複数のペインを管理できるターミナルマルチプレクサ |
tokei |
コード統計ツール(ファイルや行数をカウント) |
typst |
モダンなマークアップベースの組版システム |
uv |
仮想環境をシームレスに管理できる Python バージョンマネージャー |
yazi |
ranger にインスパイアされた TUI ファイルマネージャー |
zellij |
ワークスペース機能を備えた Rust 製ターミナルマルチプレクサ |
zoxide |
cd の代替ツール(スマートなディレクトリ移動) |
zsh |
高機能でカスタマイズ性の高いシェル |
zsh-autosuggestions |
fish のようなコマンド補完機能(zsh 用) |
zsh-completions |
zsh コマンドの補完機能を追加 |
zsh-syntax-highlighting |
zsh のコマンドライン用シンタックスハイライト |
パッケージマネージャごとにインストールするアプリは次のファイルを参照ください
以下のコマンドでコンテナを構築,お試しできます.
cd ~/.local/share/dotfiles-main
docker compose
で実行します.
docker compose up -d --build
docker compose exec dotfiles zsh
もしくは docker
コマンドで作成・実行します.
docker build -t dotfiles-img .
docker run -it -d --name dotfiles-con dotfiles-img
docker exec -it dotfiles-con /bin/zsh
コンテナでaptでインストールする場合は以下を実行します.
dots install --apt
Homebrew をインストールして進める場合は以下のコマンドを実行します.
dots install --brew
LazyVim tokyonight.nvim style=night |
---|
Tmux split window |
---|
Tmux synchronize-panes mode |
---|
eza tree (eza -l -T) |
---|
lazygit |
---|
yazi |
---|
t # tmux new
ta # tmux attach
tls # tmux ls
tks # tmux kill-server
Show tmux pane id
tid # tmux display -pt "${TMUX_PANE:?}" "#{pane_index}"
.tmux.confを読み込みます
.t # source ~/.config/tmux/.tmux.conf
fd + fzf で検索したファイルを開きます
v # fd --type f --hidden --exclude .git | fzf-tmux -p | xargs -o nvim
Emacsモード bindkey -e
に加えていくつかのバインドを追加しています.
キー | 実行される操作 |
---|---|
Ctrl+(↑/↓) | undo / redo |
Ctrl+(←/→) | backward-word / forward-word |
[!NOTE] プレフィックスキーは
Ctrl + \
に設定しています.
キー | 説明 |
---|---|
I | tpmでプラグインをインストールします |
U | tmuxプラグインのアップデートをします |
Ctrl+s | tmux環境を保存します |
Ctrl+r | tmux環境を復元します |
d | tmuxセッションからデタッチします |
e | ペインの同期モードON/OFFを切り替えます |
[!TIP] Tmux のセッションをネストしている場合(Tmux の中でさらに Tmux を開いている場合),
プレフィックスキー(例: Ctrl-b)をネストの数だけ押すと, 最も内側のセッションにプレフィックスキーが送信されます.例えば,Tmux を 2段階 ネストしている場合: 最初の
Ctrl-\
は最も外側のセッションに処理されます. 2回目のCtrl-\
で 1つ内側のセッションへ送信されます. 3回目のCtrl-\
で最も内側のセッションへ送信されます. さらに,Ctrl-\
を押すと,そのキー入力がセッション内のシェルに送信されます.
デフォルトでインストールされる tmux プラグインは以下のとおりです.
window と pane の操作を可能としています.
キー | 説明 | プレフィックスキーでの操作 |
---|---|---|
Alt+(↑/↓) | ウィンドウを作成/削除します | c/& |
Alt+(←/→) | 前・後のウィンドウに切り替えます | p/n |
Alt+[1-9] | 番号1-9のウィンドウに切り替えます | [1-9] |
Alt+- | ウィンドウを水平に分割します | - |
Alt+\\ | ウィンドウを垂直に分割します | \\ |
Alt+[hjkl] | 左/下/上/右のペインにフォーカスを切り替えます | ←/↓/↑/→ |
主に session の操作を可能としています.
キー | 説明 | プレフィックスキーでの操作 |
---|---|---|
Alt+Shift+(↑/↓) | セッションを作成/削除します | |
Alt+Shift+(←/→) | 前・後のセッションに切り替えます | (/) |
LazyVimのキーマップ をベースに,いくつかのキーバインドを追加しています.
モード | キー | 説明 |
---|---|---|
n,v | Ctrl+(↑/↓) | 前のパラグラフの終端,後のパラグラフの先頭にカーソルを移動します |
n,v,i | Ctrl+(←/→) | 前の単語/次の単語にカーソルを移動します |
i | Ctrl+/ | Undo (操作を1回戻します) |
i | Ctrl+r | Redo (操作を1回やり直します) |
インサートモードで以下の Emacs ライクなショートカットを設定しています.詳細はこちらを参照ください.
このプロジェクトは MIT License に基づいてライセンスされています.