~taiju/taix

8abca7421729e36d31350a4fd61e9c37043b6dbb — Taiju HIGASHI 1 year, 11 months ago 776a51a
taix: Add emacs-ruby-mode.
3 files changed, 325 insertions(+), 226 deletions(-)

M README.md
M channel/taix/packages/emacs-xyz.scm
M taix.org
M README.md => README.md +259 -226
@@ 4,133 4,133 @@

OS は [GNU Guix](https://guix.gnu.org/) を使用し, 可能な限り宣言的に構成を記述している.

1.  [Guix の設定](#org0970b67)
    1.  [Guix の設定ファイルの適用](#org9e91739)
        1.  [前処理](#org7d1480b)
        2.  [システムのセットアップ](#org806f2ca)
        3.  [ホームのセットアップ](#orgb540cb4)
        4.  [パッケージのセットアップ](#org1c63a45)
        5.  [各設定ファイルのリンク](#orgcf2492a)
    2.  [チャンネルの設定ファイル](#org885debe)
        1.  [NonGuix チャンネルの定義](#orge081c6f)
        2.  [Taix チャンネルの定義](#org8fd5a59)
    3.  [システムの設定ファイル](#org95e55a0)
        1.  [libinput の設定](#org5d00d86)
    4.  [ホームの設定](#orgef5df3a)
    5.  [パッケージの設定](#org41fbd45)
        1.  [デスクトップ](#orgeedf1f6)
        2.  [パッケージマネージャ](#orgbc050a8)
        3.  [Emacs](#orge22efa5)
        4.  [シェル](#org592827c)
        5.  [アプリケーション](#orgde3db9c)
        6.  [フォント](#org8002f68)
        7.  [開発](#orgd4e5adf)
        8.  [GNU Build System](#orge592017)
        9.  [ユーティリティ](#orgc5b9829)
        10. [関数定義](#org7b12240)
            1.  [with-poppler-data](#org14afbf8)
2.  [Taix チャンネル](#org32c6002)
    1.  [emacs-xyz.scm](#org20d56af)
    2.  [pdf.scm](#orgd68ec94)
3.  [Emacs の設定](#orgbb27f40)
    1.  [Emacs の設定ファイル](#orgf0f5081)
    2.  [プリミティブ実装部分のカスタマイズ](#orgb4dd806)
        1.  [dispnew.c](#orgcee1005)
        2.  [fontset.c](#orga3a9ddf)
        3.  [frame.c](#org2f2934f)
        4.  [xdisp.c](#org3088a02)
        5.  [editfns.c](#orgd46262e)
    3.  [パッケージのカスタマイズ](#org79b8fce)
        1.  [ace-window.el](#org2332296)
        2.  [files.el](#orgff49042)
        3.  [browse-url.el](#org42ba6e5)
        4.  [company.el](#org3524948)
        5.  [minibuffer.el](#org1791612)
            1.  [参考](#org515a761)
        6.  [custom.el](#org14b3ac9)
        7.  [battery.el](#org224ec78)
        8.  [time.el](#org2cc0a96)
        9.  [electric-pair.el](#orgd0daae1)
        10. [eldoc.el](#org9858e91)
        11. [paredit.el](#org50198f6)
        12. [rcirc.el](#orgc802d3a)
        13. [em-cmpl.el](#orgd2a8a9f)
        14. [icomplete.el](#org252ce1c)
        15. [startup.el](#org54d1b72)
        16. [org\*.el](#orgcb772c0)
            1.  [org.el](#org307234f)
            2.  [org-agenda.el](#orgbec1303)
            3.  [org-capture.el](#orgb0c849f)
        17. [org-present](#orgb768759)
        18. [ob-async.el](#org47e06ba)
        19. [ox-gfm.el](#org433ab18)
        20. [scroll-bar.el](#org9e0a278)
        21. [sendmail.el](#org5646383)
        22. [skk\*.el](#orgd51a460)
            1.  [skk-kanagaki.el](#org567d460)
            2.  [skk-tut.el](#org86410e0)
            3.  [skk-vars.el](#org86add13)
        23. [smtpmail.el](#orgbb848e3)
        24. [which-key.el](#org5e19ff2)
        25. [faces.el](#orgef928bd)
        26. [ibuffer.el](#org8eae609)
        27. [bash-completion.el](#org03110d0)
        28. [server.el](#org1a9e5c0)
        29. [cus-edit.el](#orgd36d61a)
        30. [editorconfig.el](#orgedeefce)
        31. [inf-lisp.el](#org687c449)
        32. [slime.el](#org7f4eb4d)
        33. [yasnippet.el](#orgac4f36d)
        34. [copyright.el](#orgfd49229)
        35. [geiser-guile.el](#org76665f1)
        36. [geiser-repl.el](#orga7ca187)
        37. [simple.el](#orga38118f)
        38. [mastodon.el](#org045791c)
        39. [elfeed.el](#org8fe768e)
        40. [inf-ruby.el](#org2859bed)
        41. [robe.el](#org569a899)
        42. [flycheck.el](#org556fdfd)
        43. [env.el](#orgbb55024)
        44. [kintai.el](#org9410ec3)
    4.  [変数定義](#orga797d8c)
        1.  [**my-sans-serif-font**](#orgd57ae68)
        2.  [**my-serif-font**](#org94b23c0)
        3.  [**guix-source-path**](#org6a65165)
    5.  [関数定義](#orgce972e0)
        1.  [my-add-hooks](#org023641a)
        2.  [my-toggle-delete-trailing-whitespace-on-save](#org3d06131)
4.  [Ruby の設定](#orge734ba0)
    1.  [irb の設定ファイル](#org447a236)
5.  [Nyxt の設定](#org5d80832)
    1.  [Nyxt の設定ファイル](#org697e05d)
    2.  [Nyxt のバッファ設定](#org017bda9)
    3.  [Nyxt のコマンド定義](#org52b2461)
        1.  [copy-tver-streaming-url](#org475c7c3)
        2.  [play-tver-movie-on-mpv](#orgb1b3f71)
        3.  [play-tver-movie-on-mpv-x2](#org3ae16a0)
    4.  [関数定義](#org7eba90b)
            1.  [make-streaming-url](#orgd7f02a0)
            2.  [make-mpv-command](#orgc6b84db)
6.  [SBCL の設定](#org06d1eb6)
    1.  [ASDF の設定](#orgfa93e15)
    2.  [QuickLisp の設定](#org8b6ba26)
    3.  [CFFI の設定](#orga55f706)
7.  [フォントの設定](#org812c46c)


<a id="org0970b67"></a>
1.  [Guix の設定](#org5e64030)
    1.  [Guix の設定ファイルの適用](#org2bd1761)
        1.  [前処理](#org271e718)
        2.  [システムのセットアップ](#orgc71880c)
        3.  [ホームのセットアップ](#orgf35cf17)
        4.  [パッケージのセットアップ](#org7d1d73d)
        5.  [各設定ファイルのリンク](#org5df8a9c)
    2.  [チャンネルの設定ファイル](#org89c301a)
        1.  [NonGuix チャンネルの定義](#org068eab5)
        2.  [Taix チャンネルの定義](#orgb3f0181)
    3.  [システムの設定ファイル](#org8e89b54)
        1.  [libinput の設定](#org998ae67)
    4.  [ホームの設定](#org1dab7a6)
    5.  [パッケージの設定](#org314ad04)
        1.  [デスクトップ](#org95c8c94)
        2.  [パッケージマネージャ](#orgc615c84)
        3.  [Emacs](#orge1aa6b1)
        4.  [シェル](#org39f11d5)
        5.  [アプリケーション](#orgd713eb5)
        6.  [フォント](#org6204162)
        7.  [開発](#org55e55e8)
        8.  [GNU Build System](#orgdeb38c2)
        9.  [ユーティリティ](#org3e06a6e)
        10. [関数定義](#org37e3365)
            1.  [with-poppler-data](#orge8e5996)
2.  [Taix チャンネル](#org55da654)
    1.  [emacs-xyz.scm](#orge3f2b5f)
    2.  [pdf.scm](#orgd6bf4ca)
3.  [Emacs の設定](#org07f1783)
    1.  [Emacs の設定ファイル](#orge0c0587)
    2.  [プリミティブ実装部分のカスタマイズ](#org1f65ee1)
        1.  [dispnew.c](#orgda6a699)
        2.  [fontset.c](#org7b9ac38)
        3.  [frame.c](#org95c239a)
        4.  [xdisp.c](#org6e31552)
        5.  [editfns.c](#orgd96fabf)
    3.  [パッケージのカスタマイズ](#orgac7b140)
        1.  [ace-window.el](#orgd70191f)
        2.  [files.el](#org6a93b7f)
        3.  [browse-url.el](#orgd6f8e12)
        4.  [company.el](#org7276c3d)
        5.  [minibuffer.el](#orgfca531f)
            1.  [参考](#org5e63029)
        6.  [custom.el](#orgc6b9353)
        7.  [battery.el](#org02efc83)
        8.  [time.el](#orga378b97)
        9.  [electric-pair.el](#org4f551d1)
        10. [eldoc.el](#org456ec5e)
        11. [paredit.el](#org2eadff2)
        12. [rcirc.el](#orgbff82d3)
        13. [em-cmpl.el](#org7b25a0a)
        14. [icomplete.el](#orgbeaa0b5)
        15. [startup.el](#orga1e35be)
        16. [org\*.el](#orgd8da3a5)
            1.  [org.el](#orga9dc125)
            2.  [org-agenda.el](#org4424ada)
            3.  [org-capture.el](#org9f179d5)
        17. [org-present](#orgdedd5ff)
        18. [ob-async.el](#org1153006)
        19. [ox-gfm.el](#org23bfaaa)
        20. [scroll-bar.el](#org71df67c)
        21. [sendmail.el](#org0008ca4)
        22. [skk\*.el](#org52b7504)
            1.  [skk-kanagaki.el](#org22d8e84)
            2.  [skk-tut.el](#org1fbdab7)
            3.  [skk-vars.el](#org48f6050)
        23. [smtpmail.el](#org4e4668f)
        24. [which-key.el](#org0b2dfef)
        25. [faces.el](#orge3e68b9)
        26. [ibuffer.el](#orga63ad6d)
        27. [bash-completion.el](#org43d3956)
        28. [server.el](#orgc336ea2)
        29. [cus-edit.el](#org39ae05b)
        30. [editorconfig.el](#org06efad1)
        31. [inf-lisp.el](#org66330a1)
        32. [slime.el](#org19f6dc5)
        33. [yasnippet.el](#org65f440c)
        34. [copyright.el](#orgc1997ba)
        35. [geiser-guile.el](#org74f21d9)
        36. [geiser-repl.el](#org22099fc)
        37. [simple.el](#org33067a7)
        38. [mastodon.el](#org2eb9a81)
        39. [elfeed.el](#org768cf42)
        40. [inf-ruby.el](#org3da3327)
        41. [robe.el](#orge9f7cac)
        42. [flycheck.el](#org949df12)
        43. [env.el](#org75f2e8e)
        44. [kintai.el](#org6568fd5)
    4.  [変数定義](#orgac2ea47)
        1.  [**my-sans-serif-font**](#org100531e)
        2.  [**my-serif-font**](#org4387e9e)
        3.  [**guix-source-path**](#orga27ab7a)
    5.  [関数定義](#orgcea61fb)
        1.  [my-add-hooks](#orgda2d3bc)
        2.  [my-toggle-delete-trailing-whitespace-on-save](#orgce2cc63)
4.  [Ruby の設定](#org7702f09)
    1.  [irb の設定ファイル](#orgca9e76c)
5.  [Nyxt の設定](#orge3d99a0)
    1.  [Nyxt の設定ファイル](#org279c6ac)
    2.  [Nyxt のバッファ設定](#orgc47f02f)
    3.  [Nyxt のコマンド定義](#orgaf99448)
        1.  [copy-tver-streaming-url](#orgbf26156)
        2.  [play-tver-movie-on-mpv](#orga27dfa7)
        3.  [play-tver-movie-on-mpv-x2](#org7c46b0a)
    4.  [関数定義](#orgd317b2f)
            1.  [make-streaming-url](#org1495788)
            2.  [make-mpv-command](#org770abb7)
6.  [SBCL の設定](#org5c9e222)
    1.  [ASDF の設定](#org9ba917b)
    2.  [QuickLisp の設定](#orgca69984)
    3.  [CFFI の設定](#orgee5105e)
7.  [フォントの設定](#org3ba3ebc)


<a id="org5e64030"></a>

## Guix の設定


<a id="org9e91739"></a>
<a id="org2bd1761"></a>

### Guix の設定ファイルの適用

以下の手順を実行して, Guix を設定する.


<a id="org7d1480b"></a>
<a id="org271e718"></a>

#### 前処理



@@ 147,7 147,7 @@ guix pull
```


<a id="org806f2ca"></a>
<a id="orgc71880c"></a>

#### システムのセットアップ



@@ 156,7 156,7 @@ sudo guix system reconfigure guix-config/system-config.scm
```


<a id="orgb540cb4"></a>
<a id="orgf35cf17"></a>

#### ホームのセットアップ



@@ 165,7 165,7 @@ sudo guix system reconfigure guix-config/system-config.scm
```


<a id="org1c63a45"></a>
<a id="org7d1d73d"></a>

#### パッケージのセットアップ



@@ 174,7 174,7 @@ guix package --manifest=guix-config/package-config.scm
```


<a id="orgcf2492a"></a>
<a id="org5df8a9c"></a>

#### 各設定ファイルのリンク



@@ 186,7 186,7 @@ stow -vt $HOME emacs.d guix nyxt sbcl fontconfig irb
```


<a id="org885debe"></a>
<a id="org89c301a"></a>

### チャンネルの設定ファイル



@@ 203,7 203,7 @@ stow -vt $HOME emacs.d guix nyxt sbcl fontconfig irb
出力されたファイル: [dotfiles/guix/.config/guix/channels.scm](dotfiles/guix/.config/guix/channels.scm)


<a id="orge081c6f"></a>
<a id="org068eab5"></a>

#### NonGuix チャンネルの定義



@@ 221,7 221,7 @@ stow -vt $HOME emacs.d guix nyxt sbcl fontconfig irb
```


<a id="org8fd5a59"></a>
<a id="orgb3f0181"></a>

#### Taix チャンネルの定義



@@ 234,7 234,7 @@ stow -vt $HOME emacs.d guix nyxt sbcl fontconfig irb
```


<a id="org95e55a0"></a>
<a id="org8e89b54"></a>

### システムの設定ファイル



@@ 342,7 342,7 @@ stow -vt $HOME emacs.d guix nyxt sbcl fontconfig irb
出力されたファイル: [system-config.scm](system-config.scm)


<a id="org5d00d86"></a>
<a id="org998ae67"></a>

#### libinput の設定



@@ 358,14 358,14 @@ EndSection"
```


<a id="orgef5df3a"></a>
<a id="org1dab7a6"></a>

### ホームの設定

TBD


<a id="org41fbd45"></a>
<a id="org314ad04"></a>

### パッケージの設定



@@ 389,7 389,7 @@ TBD
出力されたファイル: [package-config.scm](package-config.scm)


<a id="orgeedf1f6"></a>
<a id="org95c8c94"></a>

#### デスクトップ



@@ 409,7 409,7 @@ TBD
```


<a id="orgbc050a8"></a>
<a id="orgc615c84"></a>

#### パッケージマネージャ



@@ 422,7 422,7 @@ Guix のパッケージになっていないソフトウェアのインストー
```


<a id="orge22efa5"></a>
<a id="orge1aa6b1"></a>

#### Emacs



@@ 473,7 473,7 @@ Emacs 関連のパッケージとして下記をインストールする.
```


<a id="org592827c"></a>
<a id="org39f11d5"></a>

#### シェル



@@ 491,7 491,7 @@ Emacs 関連のパッケージとして下記をインストールする.
```


<a id="orgde3db9c"></a>
<a id="orgd713eb5"></a>

#### アプリケーション



@@ 511,7 511,7 @@ Emacs 関連のパッケージとして下記をインストールする.
```


<a id="org8002f68"></a>
<a id="org6204162"></a>

#### フォント



@@ 523,7 523,7 @@ Emacs 関連のパッケージとして下記をインストールする.
```


<a id="orgd4e5adf"></a>
<a id="org55e55e8"></a>

#### 開発



@@ 542,7 542,7 @@ Emacs 関連のパッケージとして下記をインストールする.
```


<a id="orge592017"></a>
<a id="orgdeb38c2"></a>

#### GNU Build System



@@ 557,7 557,7 @@ GNU Build System のパッケージとして下記をインストールする.
```


<a id="orgc5b9829"></a>
<a id="org3e06a6e"></a>

#### ユーティリティ



@@ 581,12 581,12 @@ GNU Build System のパッケージとして下記をインストールする.
```


<a id="org7b12240"></a>
<a id="org37e3365"></a>

#### 関数定義


<a id="org14afbf8"></a>
<a id="orge8e5996"></a>

##### with-poppler-data



@@ 600,14 600,14 @@ poppler を依存関係に持つパッケージに poppler-data を追加する
このラッパ関数でパッケージを包むと, PDF ファイル中の日本語を描画したり, 日本語のテキストの抽出できるようになる.


<a id="org32c6002"></a>
<a id="org55da654"></a>

## Taix チャンネル

Guix の公式チャンネルなどに未登録で, 独自にパッケージ定義しているものは, 独自チャンネルを作成して管理する.


<a id="org20d56af"></a>
<a id="orge3f2b5f"></a>

### emacs-xyz.scm



@@ 616,6 616,7 @@ Guix の公式チャンネルなどに未登録で, 独自にパッケージ定

(define-module (taix packages emacs-xyz)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix gexp)
  #:use-module (guix packages)
  #:use-module (guix git-download)
  #:use-module (guix build-system emacs))


@@ 660,10 661,42 @@ Guix の公式チャンネルなどに未登録で, 独自にパッケージ定
      (synopsis "Interface to esa.io (\( ⁰⊖⁰)/)")
      (description "Emacs paste, view and edit modes, this one for esa.io (\( ⁰⊖⁰)/). Like email client.")
      (license license:gpl2+))))

(define-public emacs-ruby-mode
  (let ((commit "e3748c323320c0bde6ad8f70f0c2ab8f686255a5")
        (revision "0"))
    (package
      (name "emacs-ruby-mode")
      (version (git-version "1.2" revision commit))
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://git.savannah.gnu.org/git/emacs.git")
               (commit commit)))
         (file-name (git-file-name name version))
         (sha256
          (base32
           "1fsg9rjl56x8qmc1r8iv7a29r3jjcbjflmzq6529ja1barglzri8"))))
      (build-system emacs-build-system)
      (arguments
       (list #:phases
             #~(modify-phases %standard-phases
                 (replace 'unpack
                   (lambda* (#:key source #:allow-other-keys)
                     (mkdir "source")
                     (chdir "source")
                     (copy-file (string-append source "/lisp/progmodes/ruby-mode.el")
                                "ruby-mode.el"))))))
      (home-page "https://www.emacswiki.org/cgi-bin/wiki/RubyMode")
      (synopsis "Major mode for editing Ruby files")
      (description
       "Provides font-locking, indentation support, and navigation for Ruby code.")
      (license license:gpl3+))))
```


<a id="orgd68ec94"></a>
<a id="orgd6bf4ca"></a>

### pdf.scm



@@ 686,14 719,14 @@ This package includes Poppler encoding files for rendering of CJK and Cyrillic t
```


<a id="orgbb27f40"></a>
<a id="org07f1783"></a>

## Emacs の設定

Org Mode を使用して Literature Programming 方式で Emacs を設定する.


<a id="orgf0f5081"></a>
<a id="orge0c0587"></a>

### Emacs の設定ファイル



@@ 717,14 750,14 @@ Emacs の設定ファイルは, 下記の構成で記述されている.
出力されたファイル: [dotfiles/emacs.d/.emacs.d/init.el](dotfiles/emacs.d/.emacs.d/init.el)


<a id="orgb4dd806"></a>
<a id="org1f65ee1"></a>

### プリミティブ実装部分のカスタマイズ

プリミティブ実装部分のカスタマイズ内容を定義する.


<a id="orgcee1005"></a>
<a id="orgda6a699"></a>

#### dispnew.c



@@ 737,7 770,7 @@ Emacs の設定ファイルは, 下記の構成で記述されている.
```


<a id="orga3a9ddf"></a>
<a id="org7b9ac38"></a>

#### fontset.c



@@ 757,7 790,7 @@ JIS X 0208 の文字セットでデフォルトの sans-serif フォントを使
```


<a id="org2f2934f"></a>
<a id="org95c239a"></a>

#### frame.c



@@ 776,7 809,7 @@ JIS X 0208 の文字セットでデフォルトの sans-serif フォントを使
```


<a id="org3088a02"></a>
<a id="org6e31552"></a>

#### xdisp.c



@@ 789,7 822,7 @@ JIS X 0208 の文字セットでデフォルトの sans-serif フォントを使
```


<a id="orgd46262e"></a>
<a id="orgd96fabf"></a>

#### editfns.c



@@ 802,14 835,14 @@ JIS X 0208 の文字セットでデフォルトの sans-serif フォントを使
```


<a id="org79b8fce"></a>
<a id="orgac7b140"></a>

### パッケージのカスタマイズ

各種パッケージのカスタマイズ内容を定義する.


<a id="org2332296"></a>
<a id="orgd70191f"></a>

#### ace-window.el



@@ 828,7 861,7 @@ ace-window にグローバルなキーをバインドする.
```


<a id="orgff49042"></a>
<a id="org6a93b7f"></a>

#### files.el



@@ 865,7 898,7 @@ read-only でファイルを開いた場合は view-mode を有効にする.
```


<a id="org42ba6e5"></a>
<a id="orgd6f8e12"></a>

#### browse-url.el



@@ 878,7 911,7 @@ Emacs で使用するデフォルトのブラウザを EWW に設定する.
```


<a id="org3524948"></a>
<a id="org7276c3d"></a>

#### company.el



@@ 897,7 930,7 @@ company による補完を 1 文字目で開始する.
```


<a id="org1791612"></a>
<a id="orgfca531f"></a>

#### minibuffer.el



@@ 910,7 943,7 @@ company による補完を 1 文字目で開始する.
```


<a id="org515a761"></a>
<a id="org5e63029"></a>

##### 参考



@@ 922,7 955,7 @@ company による補完を 1 文字目で開始する.
    -   例: `M-x foo` -> `fbarbazoo`


<a id="org14b3ac9"></a>
<a id="orgc6b9353"></a>

#### custom.el



@@ 935,7 968,7 @@ company による補完を 1 文字目で開始する.
```


<a id="org224ec78"></a>
<a id="org02efc83"></a>

#### battery.el



@@ 948,7 981,7 @@ company による補完を 1 文字目で開始する.
```


<a id="org2cc0a96"></a>
<a id="orga378b97"></a>

#### time.el



@@ 967,7 1000,7 @@ company による補完を 1 文字目で開始する.
```


<a id="orgd0daae1"></a>
<a id="org4f551d1"></a>

#### electric-pair.el



@@ 980,7 1013,7 @@ company による補完を 1 文字目で開始する.
```


<a id="org9858e91"></a>
<a id="org456ec5e"></a>

#### eldoc.el



@@ 995,7 1028,7 @@ company による補完を 1 文字目で開始する.
```


<a id="org50198f6"></a>
<a id="org2eadff2"></a>

#### paredit.el



@@ 1015,7 1048,7 @@ Lisp 系の各種モードで paredit-mode を有効にする.
```


<a id="orgc802d3a"></a>
<a id="orgbff82d3"></a>

#### rcirc.el



@@ 1033,7 1066,7 @@ Lisp 系の各種モードで paredit-mode を有効にする.
```


<a id="orgd2a8a9f"></a>
<a id="org7b25a0a"></a>

#### em-cmpl.el



@@ 1046,7 1079,7 @@ EShell のコマンド補完候補に Emacs Lisp 関数も表示するように
```


<a id="org252ce1c"></a>
<a id="orgbeaa0b5"></a>

#### icomplete.el



@@ 1065,7 1098,7 @@ EShell のコマンド補完候補に Emacs Lisp 関数も表示するように
```


<a id="org54d1b72"></a>
<a id="orga1e35be"></a>

#### startup.el



@@ 1084,12 1117,12 @@ Emacs の初期表示画面を抑制する.
```


<a id="orgcb772c0"></a>
<a id="orgd8da3a5"></a>

#### org\*.el


<a id="org307234f"></a>
<a id="orga9dc125"></a>

##### org.el



@@ 1124,7 1157,7 @@ org-babel で使用する言語を指定する.
```


<a id="orgbec1303"></a>
<a id="org4424ada"></a>

##### org-agenda.el



@@ 1137,7 1170,7 @@ org-babel で使用する言語を指定する.
```


<a id="orgb0c849f"></a>
<a id="org9f179d5"></a>

##### org-capture.el



@@ 1160,7 1193,7 @@ org-babel で使用する言語を指定する.
```


<a id="orgb768759"></a>
<a id="orgdedd5ff"></a>

#### org-present



@@ 1190,7 1223,7 @@ org-present-mode に切り替えた際に, プレゼン用に設定を変更し,
```


<a id="org47e06ba"></a>
<a id="org1153006"></a>

#### ob-async.el



@@ 1203,7 1236,7 @@ Org Babel を非同期に実行できるようにする.
```


<a id="org433ab18"></a>
<a id="org23bfaaa"></a>

#### ox-gfm.el



@@ 1217,7 1250,7 @@ Github Flavored Markdown でエクスポートできるようにデフォルト
```


<a id="org9e0a278"></a>
<a id="org71df67c"></a>

#### scroll-bar.el



@@ 1226,7 1259,7 @@ Github Flavored Markdown でエクスポートできるようにデフォルト
```


<a id="org5646383"></a>
<a id="org0008ca4"></a>

#### sendmail.el



@@ 1235,12 1268,12 @@ Github Flavored Markdown でエクスポートできるようにデフォルト
```


<a id="orgd51a460"></a>
<a id="org52b7504"></a>

#### skk\*.el


<a id="org567d460"></a>
<a id="org22d8e84"></a>

##### skk-kanagaki.el



@@ 1249,7 1282,7 @@ Github Flavored Markdown でエクスポートできるようにデフォルト
```


<a id="org86410e0"></a>
<a id="org1fbdab7"></a>

##### skk-tut.el



@@ 1259,7 1292,7 @@ Github Flavored Markdown でエクスポートできるようにデフォルト
```


<a id="org86add13"></a>
<a id="org48f6050"></a>

##### skk-vars.el



@@ 1269,7 1302,7 @@ Github Flavored Markdown でエクスポートできるようにデフォルト
```


<a id="orgbb848e3"></a>
<a id="org4e4668f"></a>

#### smtpmail.el



@@ 1279,7 1312,7 @@ Github Flavored Markdown でエクスポートできるようにデフォルト
```


<a id="org5e19ff2"></a>
<a id="org0b2dfef"></a>

#### which-key.el



@@ 1288,7 1321,7 @@ Github Flavored Markdown でエクスポートできるようにデフォルト
```


<a id="orgef928bd"></a>
<a id="orge3e68b9"></a>

#### faces.el



@@ 1310,7 1343,7 @@ Github Flavored Markdown でエクスポートできるようにデフォルト
```


<a id="org8eae609"></a>
<a id="orga63ad6d"></a>

#### ibuffer.el



@@ 1319,7 1352,7 @@ Github Flavored Markdown でエクスポートできるようにデフォルト
```


<a id="org03110d0"></a>
<a id="org43d3956"></a>

#### bash-completion.el



@@ 1329,7 1362,7 @@ Github Flavored Markdown でエクスポートできるようにデフォルト
```


<a id="org1a9e5c0"></a>
<a id="orgc336ea2"></a>

#### server.el



@@ 1340,7 1373,7 @@ Github Flavored Markdown でエクスポートできるようにデフォルト
```


<a id="orgd36d61a"></a>
<a id="org39ae05b"></a>

#### cus-edit.el



@@ 1355,7 1388,7 @@ Github Flavored Markdown でエクスポートできるようにデフォルト
```


<a id="orgedeefce"></a>
<a id="org06efad1"></a>

#### editorconfig.el



@@ 1368,7 1401,7 @@ EditorConfig を有効にする.
```


<a id="org687c449"></a>
<a id="org66330a1"></a>

#### inf-lisp.el



@@ 1383,7 1416,7 @@ Inferior Lisp mode で SBCL を使用する.
SLIME などでこの値が参照される.


<a id="org7f4eb4d"></a>
<a id="org19f6dc5"></a>

#### slime.el



@@ 1396,7 1429,7 @@ SLIME で使用する Contrib Package をロードする.
```


<a id="orgac4f36d"></a>
<a id="org65f440c"></a>

#### yasnippet.el



@@ 1418,7 1451,7 @@ Yasnippet をグローバルに有効化する.
```


<a id="orgfd49229"></a>
<a id="orgc1997ba"></a>

#### copyright.el



@@ 1446,7 1479,7 @@ Guix のコントリビュート時に著作権表示を簡単に更新できる
参考: [The Perfect Setup (GNU Guix Reference Manual)](https://guix.gnu.org/manual/en/html_node/The-Perfect-Setup.html)


<a id="org76665f1"></a>
<a id="org74f21d9"></a>

#### geiser-guile.el



@@ 1462,14 1495,14 @@ Guix のソースコードを Geiser のロードパスに追加する.
参考: [The Perfect Setup (GNU Guix Reference Manual)](https://guix.gnu.org/manual/en/html_node/The-Perfect-Setup.html)


<a id="orga7ca187"></a>
<a id="org22099fc"></a>

#### geiser-repl.el

> Geiser's REPL


<a id="orga38118f"></a>
<a id="org33067a7"></a>

#### simple.el



@@ 1482,7 1515,7 @@ Guix のソースコードを Geiser のロードパスに追加する.
```


<a id="org045791c"></a>
<a id="org2eb9a81"></a>

#### mastodon.el



@@ 1501,7 1534,7 @@ Guix のソースコードを Geiser のロードパスに追加する.
```


<a id="org8fe768e"></a>
<a id="org768cf42"></a>

#### elfeed.el



@@ 1514,7 1547,7 @@ Guix のソースコードを Geiser のロードパスに追加する.
```


<a id="org2859bed"></a>
<a id="org3da3327"></a>

#### inf-ruby.el



@@ 1533,7 1566,7 @@ ruby-mode で inf-ruby-minor-mode を使う.
```


<a id="org569a899"></a>
<a id="orge9f7cac"></a>

#### robe.el



@@ 1553,7 1586,7 @@ company-robe を使用する.
```


<a id="org556fdfd"></a>
<a id="org949df12"></a>

#### flycheck.el



@@ 1566,7 1599,7 @@ ruby-mode で flycheck-mode を使用する.
```


<a id="orgbb55024"></a>
<a id="org75f2e8e"></a>

#### env.el



@@ 1579,7 1612,7 @@ Emacs の中では基本的に pager を使わないため, `PAGER` 環境変数
```


<a id="org9410ec3"></a>
<a id="org6568fd5"></a>

#### kintai.el



@@ 1593,14 1626,14 @@ Emacs の中では基本的に pager を使わないため, `PAGER` 環境変数
```


<a id="orga797d8c"></a>
<a id="orgac2ea47"></a>

### 変数定義

Emacs のコンフィグで使用する変数を定義する.


<a id="orgd57ae68"></a>
<a id="org100531e"></a>

#### **my-sans-serif-font**



@@ 1613,7 1646,7 @@ Emacs のコンフィグで使用する変数を定義する.
`serif` には `Noto Sans Serif CJK JP` を使用する.


<a id="org94b23c0"></a>
<a id="org4387e9e"></a>

#### **my-serif-font**



@@ 1622,7 1655,7 @@ Emacs のコンフィグで使用する変数を定義する.
```


<a id="org6a65165"></a>
<a id="orga27ab7a"></a>

#### **guix-source-path**



@@ 1633,14 1666,14 @@ Guix のソースコードのパスを定義する.
```


<a id="orgce972e0"></a>
<a id="orgcea61fb"></a>

### 関数定義

Emacs のコンフィグで使用する関数を定義する.


<a id="org023641a"></a>
<a id="orgda2d3bc"></a>

#### my-add-hooks



@@ 1652,7 1685,7 @@ Emacs のコンフィグで使用する関数を定義する.
```


<a id="org3d06131"></a>
<a id="orgce2cc63"></a>

#### my-toggle-delete-trailing-whitespace-on-save



@@ 1670,12 1703,12 @@ Emacs のコンフィグで使用する関数を定義する.
```


<a id="orge734ba0"></a>
<a id="org7702f09"></a>

## Ruby の設定


<a id="org447a236"></a>
<a id="orgca9e76c"></a>

### irb の設定ファイル



@@ 1687,14 1720,14 @@ IRB.conf[:USE_READLINE] = false if ENV['INSIDE_EMACS']
```


<a id="org5d80832"></a>
<a id="orge3d99a0"></a>

## Nyxt の設定

メインブラウザとして使用している Nyxt を設定する.


<a id="org697e05d"></a>
<a id="org279c6ac"></a>

### Nyxt の設定ファイル



@@ 1713,7 1746,7 @@ Nyxt の設定ファイルは, 下記の構成で記述されている.
出力されたファイル: [dotfiles/nyxt/.config/nyxt/init.lisp](dotfiles/nyxt/.config/nyxt/init.lisp)


<a id="org017bda9"></a>
<a id="orgc47f02f"></a>

### Nyxt のバッファ設定



@@ 1725,14 1758,14 @@ Nyxt は Emacs のキーバインドで操作する.
```


<a id="org52b2461"></a>
<a id="orgaf99448"></a>

### Nyxt のコマンド定義

Nyxt で使用する独自コマンドを定義する.


<a id="org475c7c3"></a>
<a id="orgbf26156"></a>

#### copy-tver-streaming-url



@@ 1749,7 1782,7 @@ Nyxt で使用する独自コマンドを定義する.
```


<a id="orgb1b3f71"></a>
<a id="orga27dfa7"></a>

#### play-tver-movie-on-mpv



@@ 1767,7 1800,7 @@ Nyxt で使用する独自コマンドを定義する.
```


<a id="org3ae16a0"></a>
<a id="org7c46b0a"></a>

#### play-tver-movie-on-mpv-x2



@@ 1785,14 1818,14 @@ Nyxt で使用する独自コマンドを定義する.
```


<a id="org7eba90b"></a>
<a id="orgd317b2f"></a>

### 関数定義

定義したコマンド等で使用する関数を定義する.


<a id="orgd7f02a0"></a>
<a id="org1495788"></a>

##### make-streaming-url



@@ 1810,7 1843,7 @@ Nyxt で使用する独自コマンドを定義する.
```


<a id="orgc6b84db"></a>
<a id="org770abb7"></a>

##### make-mpv-command



@@ 1823,7 1856,7 @@ URL から mpv コマンドを生成するユーティリティ関数.
```


<a id="org06d1eb6"></a>
<a id="org5c9e222"></a>

## SBCL の設定



@@ 1840,7 1873,7 @@ SBCL を設定する.
出力されたファイル: [dotfiles/.sbclrc](dotfiles/.sbclrc)


<a id="orgfa93e15"></a>
<a id="org9ba917b"></a>

### ASDF の設定



@@ 1851,7 1884,7 @@ SBCL を設定する.
```


<a id="org8b6ba26"></a>
<a id="orgca69984"></a>

### QuickLisp の設定



@@ 1866,7 1899,7 @@ SBCL を設定する.
```


<a id="orga55f706"></a>
<a id="orgee5105e"></a>

### CFFI の設定



@@ 1884,7 1917,7 @@ CFFI が Guix 上で C ライブラリを参照できるようにする.
参考: [Nyxt Developer Readme](https://github.com/atlas-engineer/nyxt/tree/master/documents#gnulinux-freebsd-gtk-dependencies)


<a id="org812c46c"></a>
<a id="org3ba3ebc"></a>

## フォントの設定


M channel/taix/packages/emacs-xyz.scm => channel/taix/packages/emacs-xyz.scm +33 -0
@@ 4,6 4,7 @@

(define-module (taix packages emacs-xyz)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix gexp)
  #:use-module (guix packages)
  #:use-module (guix git-download)
  #:use-module (guix build-system emacs))


@@ 48,3 49,35 @@
      (synopsis "Interface to esa.io (\( ⁰⊖⁰)/)")
      (description "Emacs paste, view and edit modes, this one for esa.io (\( ⁰⊖⁰)/). Like email client.")
      (license license:gpl2+))))

(define-public emacs-ruby-mode
  (let ((commit "e3748c323320c0bde6ad8f70f0c2ab8f686255a5")
        (revision "0"))
    (package
      (name "emacs-ruby-mode")
      (version (git-version "1.2" revision commit))
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://git.savannah.gnu.org/git/emacs.git")
               (commit commit)))
         (file-name (git-file-name name version))
         (sha256
          (base32
           "1fsg9rjl56x8qmc1r8iv7a29r3jjcbjflmzq6529ja1barglzri8"))))
      (build-system emacs-build-system)
      (arguments
       (list #:phases
             #~(modify-phases %standard-phases
                 (replace 'unpack
                   (lambda* (#:key source #:allow-other-keys)
                     (mkdir "source")
                     (chdir "source")
                     (copy-file (string-append source "/lisp/progmodes/ruby-mode.el")
                                "ruby-mode.el"))))))
      (home-page "https://www.emacswiki.org/cgi-bin/wiki/RubyMode")
      (synopsis "Major mode for editing Ruby files")
      (description
       "Provides font-locking, indentation support, and navigation for Ruby code.")
      (license license:gpl3+))))

M taix.org => taix.org +33 -0
@@ 436,6 436,7 @@

      (define-module (taix packages emacs-xyz)
        #:use-module ((guix licenses) #:prefix license:)
        #:use-module (guix gexp)
        #:use-module (guix packages)
        #:use-module (guix git-download)
        #:use-module (guix build-system emacs))


@@ 480,6 481,38 @@
            (synopsis "Interface to esa.io (\( ⁰⊖⁰)/)")
            (description "Emacs paste, view and edit modes, this one for esa.io (\( ⁰⊖⁰)/). Like email client.")
            (license license:gpl2+))))

      (define-public emacs-ruby-mode
        (let ((commit "e3748c323320c0bde6ad8f70f0c2ab8f686255a5")
              (revision "0"))
          (package
            (name "emacs-ruby-mode")
            (version (git-version "1.2" revision commit))
            (source
             (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://git.savannah.gnu.org/git/emacs.git")
                     (commit commit)))
               (file-name (git-file-name name version))
               (sha256
                (base32
                 "1fsg9rjl56x8qmc1r8iv7a29r3jjcbjflmzq6529ja1barglzri8"))))
            (build-system emacs-build-system)
            (arguments
             (list #:phases
                   #~(modify-phases %standard-phases
                       (replace 'unpack
                         (lambda* (#:key source #:allow-other-keys)
                           (mkdir "source")
                           (chdir "source")
                           (copy-file (string-append source "/lisp/progmodes/ruby-mode.el")
                                      "ruby-mode.el"))))))
            (home-page "https://www.emacswiki.org/cgi-bin/wiki/RubyMode")
            (synopsis "Major mode for editing Ruby files")
            (description
             "Provides font-locking, indentation support, and navigation for Ruby code.")
            (license license:gpl3+))))
    #+end_src

*** pdf.scm