GithubHelp home page GithubHelp logo

dotfiles's People

dotfiles's Issues

Macのシステム設定をコマンドで自動設定できるようにする

概要

macはdefaultsコマンドでシステム設定を変更できるようだが、Ventureで何らかの変更が来たのか上手く動かない。。。

タスク

  • 外観モードをダークに
  • トラックパッドタップでクリック
  • クリック打感
  • 二本指でページ間スワイプ無効
  • アプリケーションExposeを三本指下スワイプで有効
  • キースピード変更
  • Dockが自動で表示非表示切り替わるように
  • バッテリーのパーセント表示

QuickRunの挙動改善

概要

現在<Leader>rで標準入力なしの実行、<Leader>Rでクリップボードの中身を標準入力に渡して実行...としているが、<Leader>rを押した際inputファイルが存在したらinputファイルの中身を標準入力として実行、無ければ標準入力なしの実行という風に処理を分けたい。

タスク

  • QuickRunの処理を分ける関数の作成(詳細については上記を参照)
  • inputファイルをgit管理しないように.gitignoreの設定

Windwosの環境構築メモ

# wslのセットアップ(管理者権限のpowershellで実行)
$ wsl --install
# x64の場合、以下から新しいkernel componenをインストールしにいく
# https://docs.microsoft.com/ja-jp/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package
# ついでにwindows terminalもとっておきたい
# https://www.microsoft.com/ja-jp/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab
# 日本語化
$ sudo apt install language-pack-ja
$ sudo update-locale LANG=ja_JP.UTF-8

# Ubuntuを再起動
$ echo $LANG
# "ja_JP.UTF-8"になってれば変更できている

# Manも日本語化する
$ sudo apt install manpages-ja manpages-ja-dev
# linuxbrewのrequirements解消(Ubuntuの場合)
sudo apt-get install build-essential procps curl file git

# linuxbrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

#パスの設定
test -d ~/.linuxbrew && eval "$(~/.linuxbrew/bin/brew shellenv)"
test -d /home/linuxbrew/.linuxbrew && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
test -r ~/.bash_profile && echo "eval \"\$($(brew --prefix)/bin/brew ``shellenv)\"" >>~/.bash_profile
echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >>~/.profile

# brew doctorしてえらーとか解消(でてるなら)
brew doctor

# dotfilesのインストール
git clone https://github.com/TOGEP/Dotfiles.git

# brewfileからインストール
brew bundle

# zshのインストール
brew install zsh
# デフォルトのシェルの変更
echo `which zsh` | sudo tee -a /etc/shells
chsh -s `which zsh`

#再起動前にp10kファイルの移行
./Dotfiles/dotfilesLink.sh

#zshにhomebrewのパス通すのも忘れずに
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >> ~/.zprofile

# TODO 再起動する前にフォントも入れときたい
eval "$(anyenv init -)"
# nvimのセットアップ
# TODO ディレクトリが存在してたらパス
mkdir -p ~/.config/nvim
touch ~/.config/nvim/init.vim

# PATH通す
ln -sf ~/Dotfiles/nvim/init.vim ~/.config/nvim/

# vim-plugのインストール
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'


# coc.nvim用にnode.jsのインストール
anyenv init
# 表示されたコマンドを実行
eval "$(anyenv init -)"
# 表示されたコマンドを実行
anyenv install --init
echo 'eval "$(anyenv init -)"' >> ~/.zprofile
# シェルの再起動
(exec $SHELL -l)
# nodenvのインストール
anyenv install nodenv
# シェルの再起動
(exec $SHELL -l)
#nodenvのインストール(バージョンはM1対応LTSの16.13.2を選んどけばいい?)
nodenv install 16.13.2
nodenv rehash
nodenv global 16.13.2
# coc設定ファイルのPATH設定
ln -sf ~/Dotfiles/nvim/coc-settings.json ~/.config/nvim/coc-setting.json
# vim内でPlugInstall
vi
# vim内 -> :PlugInstall

以下最後にやっておきたいやつ

#テストを促す
Brew doctor
:checkhealth
# フォント問題(コマンドじゃできない)
# 参考 https://gist.github.com/PashCracken/b6070359486ea651eed66a5e86567ebb
# brew install --cask font-hack-nerd-fontはmacOS用らしく、linuxbrewじゃ入らん。。。
# p10k用(必須)
https://github.com/romkatv/powerlevel10k/blob/master/font.md

# 他の好きなフォント(任意)
# https://github.com/source-foundry/Hack-windows-installer/releases/tag/v1.6.0 からインストーラーとってくる 
# https://www.jetbrains.com/ja-jp/lp/mono/ こっちの方が好きかも

# ホームディレクトリの変更やフォントの設定はjsonファイルを読み込ませれるようなので省略

TODO

  • git
  • goのインストール
  • lspのインストール

init.vimからinit.luaへの移行

概要

nvimのアップデートや,hrsh7th/nvim-cmpの導入に従ってinit.vimがかなり汚くなってしまったので整理したい

タスク

  • init.vimの削除
  • init.luaの作成
  • init.luaにはjunegunn/vim-plugのPlug文だけ書くようにする
  • Plugの設定ファイルについては別途pluginsディレクトリを作成してプラグインごとに設定ファイルを分ける

メモ

luaの構文についてはNeovimのためのLua入門 Lua基礎編を参考にすると良さそう.

airblade/vim-rooterとthinca/vim-quickrunの相性問題

概要

プロジェクトルート(.git)が存在するディレクトリで作業する分には問題ないが、1つでも深い階層に潜るとairblade/vim-rooterによってカレントディレクトリがプロジェクトルートに設定されてしまい、thinca/vim-quickrunが実行すべきファイルを見つけれないという問題

GitHub Copilotの出力をpopup windowに出力する

概要

github copilotの出力がバッファ?に出力してきて邪魔なので,LSPの出力と一緒にpopup windowに出力させたい

タスク

  • copilot-cmpを使ってcopilotの出力をcmpメニューのスニペットに出力
  • 他にpopup windowに出力させる方法があるか調査する

makeファイルとCI

概要

令和にもなって手動でリンク追加したりしたくないのでmake一発でセットアップできるようにする.
ついでにGithub ActionでCI回す.

タスク

  • make initでOSに合わせたインストールスクリプトが動くようにする
  • リンク貼るスクリプトを自動化する(make link?)
  • pushとプルリクに合わせてCIが回るようにする

nvimのLSPクライアントをcoc.nvimからnvim builtin lspに変更したい

概要

neoclide/coc.nvimは非常に強力なLSPクライアントであるものの,nvimがnode.jsに依存してしまう.
そのため,mvim 0.5から備わったbuiltin lsp clinetを使うことで,特定の言語に依存しないクリーンなDotfilesを作成したい.

タスク

UbuntuOSのCIが落ちる問題

概要

nvimまわりで落ちてる。macだと問題ないんだけど何の違い?

CIの出力

link.sh done
./script/nvim.sh
+ sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 83127  100 83127    0     0   825k      0 --:--:-- --:--:-- --:--:--  828k
+ nvim -E -s
./script/nvim.sh: line 8: nvim: command not found
make: *** [Makefile:13: nvim] Error 127
Error: Process completed with exit code 2.

開発環境の改善

概要

プログラムの実行を:w !go run %とやるのがしんどくなってきたので改善したい。
また、しばらく使っていないコマンドや始動のコマンドを思い出せないときがあるので、prefixキーを押したら次のキー入力候補を表示するようにしたい。
ついでに最近気になっているnvim-treesitter/nvim-treesitterも入れたい。

タスク

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.