yadm - Yet Another Dotfiles Manager

Intro dotfiles๋ฅผ ๋ฐฑ์—… ๋ฐ ๊ด€๋ฆฌํ•ด ์ฃผ๋Š” ํˆด์€ ๋งŽ์ด ์žˆ๋‹ค. ์ฐธ์กฐ ๋‚˜์ค‘์— ์žฌ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ ์ด ์„ค์ •๋“ค์„ ๋ณต์›ํ•˜๋ ค๋ฉด ๋งค์šฐ ๋ฒˆ๊ฑฐ๋กญ๋‹ค. yadm์€ ๊ทธ ์ค‘ git ์™ธ์— ์˜์กด์„ฑ์ด ๋งค์šฐ ์ ์œผ๋ฉฐ, ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ณ  ํŽธ๋ฆฌํ•˜๋‹ค. ๋ฐ๋น„์•ˆ์ด๋‚˜ ์šฐ๋ถ„ํˆฌ ์‚ฌ์šฉ์ž๋ผ๋ฉด ํŒจํ‚ค์ง€๋กœ ์‰ฝ๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ข‹์€ ๋ฌธ์„œ๋กœ ์ž˜ ์•ˆ๋‚ดํ•˜๊ณ  ์žˆ๋‹ค. Install and Setup github์— github.com/user_name/dotfiles ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ ๋‹ค. ๊ณต๊ฐœ/๋น„๊ณต๊ฐœ ์ž์‹ ์˜ ๋ชฉ์ ์— ๋งž๊ฒŒ ์„ ํƒ install $ sudo apt install yadm ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• - git๊ณผ ๊ฑฐ์˜ ๊ฐ™๋‹ค. ์˜ค์ง dotfiles๋งŒ ๊ด€๋ฆฌํ•œ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. $ yadm init # ~/.local/share/yadm/repo.git/ ๋กœ์ปฌ ์ €์žฅ์†Œ ์ƒ์„ฑ $ yadm remote add origin git@github.com:user_name/dotfiles # ์›๊ฒฉ์ง€ ์ถ”๊ฐ€ $ yadm add <ํŒŒ์ผ๋ช…> # ๊ด€๋ฆฌํ•  ํŒŒ์ผ์„ ์ถ”๊ฐ€ $ yadm list # ๊ด€๋ฆฌ ๋ฆฌ์ŠคํŠธ ํ™•์ธ $ yadm commit -m "update files" # ์ปค๋ฐ‹ $ yadm push # push error๊ฐ€ ๋‚˜๋Š” ๊ฒฝ์šฐ ์•„๋ž˜ ์‹คํ–‰ $ cd ~/.local/share/yadm/repo.git && git push --set-upstream origin main ์ฐธ๊ณ ์‚ฌํ•ญ yadm์˜ ๊ธฐ์ค€์€ ์‚ฌ์šฉ์ž ํ™ˆ๋””๋ ‰ํ† ๋ฆฌ์ด๋‹ค. ๋งŒ์•ฝ ๊ถŒํ•œ์ด ์—†๋Š” /etc ๋“ฑ์˜ ์ฃผ์š” ์„ค์ •ํŒŒ์ผ๋„ ๋ฐฑ์—…ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”๊ฐ€. ๋‹น๋ถ„๊ฐ„์€ ํ™ˆ์— ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ณต์‚ฌํ•ด ๋‘” ๋‹ค์Œ yadm์— ์ถ”๊ฐ€ํ•ด์„œ ์‚ฌ์šฉ.

2022-09-01 ยท 157 words

Neovim ์„ค์น˜ ๋ฐ ์„ค์ •

20-08-08: alpine ์„ค์น˜ ์ถ”๊ฐ€ ๊ฐœ์š” https://github.com/neovim/neovim/releases ์—์„œ ์ตœ์‹  ์•ˆ์ • ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œ ๊ทธ๊ฐ„ ๋งŽ์€ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ์„ค์น˜ ๋ฐ ์—๋Ÿฌ๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด neovim v0.7 ์ด์ƒ์„ ์„ค์น˜ํ•œ๋‹ค. ์•„๋ž˜ ๋‚ด์šฉ์€ ์šฐ๋ถ„ํˆฌ 22.04๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค. ์šฐ๋ถ„ํˆฌ PPA ํŒจํ‚ค์ง€๋กœ ํ˜„์žฌ neovim์€ v0.7.2์ด๋‹ค. NVIM์˜ ํŠน์ง• luaJIT์ด ๊ธฐ๋ณธ ๋‚ด์žฅ๋˜์–ด lua๋ฅผ ์„ค์ •์—์„œ ๋ชจ๋“ˆ๊นŒ์ง€ ์‰ฝ๊ฒŒ ํ™•์žฅ ๊ฐ€๋Šฅ. terminal ๊ธฐ๋Šฅ์ด ์žˆ์–ด ๋ฐ”๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. :terminal ์ปค์„œ ์Šคํƒ€์ผ, ํฌ์ปค์Šค ์ด๋ฒคํŠธ, ๊ด„ํ˜ธ์— ๋ถ™์—ฌ ๋„ฃ๊ธฐ ๊ธฐ๋ณธ ์ง€์› ์ž๋™์™„์„ฑ, ๋งž์ถค๋ฒ• ๊ฒ€์‚ฌ, ํƒญ, ๊ตฌ๋ฌธ ์ƒ‰์ƒ์ง€์ •, ์ •๊ทœํ‘œํ˜„์‹์œผ๋กœ ๊ฒ€์ƒ‰ ๋ฐ ๋ฐ”๊พธ๊ธฐ ๋“ฑ Asynchronous Plugin Architecture๋ฅผ ์ง€์›, ์žฌ์ปดํŒŒ์ผ ์—†์ด ๋ชจ๋“ˆ ์žฅ์ฐฉ ๊ฐ€๋Šฅ Parallel installation/update of plugins - ๋ณ‘๋ ฌ์‹์œผ๋กœ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜๊ฐ€ ๋งค์šฐ ๋น ๋ฆ„ Post-update hook - ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ ํ›„์— ํ•ด์•ผ ํ•  ์ผ์„ ์ง€์ •ํ•ด ๋†“์œผ๋ฉด ์•Œ์•„์„œ ์ˆ˜ํ–‰ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ, ์ข…์†์„ฑ ๊ด€๋ฆฌ๊ฐ€ ํŽธ๋ฆฌํ•˜๋‹ค. ํŒจํ‚ค์ง€ ์„ค์น˜ Ubuntu ์„ค์น˜ appimage๋ฅผ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œํ•ด์„œ ์„ค์น˜ $ wget https://github.com/neovim/neovim/releases/download/v0.6.1/nvim.appimage $ mv nvim.appimage ~/bin/nvim $ chmod u+x ~/bin/nvim Ubuntu ppa ์ตœ์‹ ํŒจํ‚ค์ง€ ์„ค์น˜ $ sudo apt install software-properties-common -y $ sudo add-apt-repository ppa:neovim-ppa/stable -y $ sudo apt update $ sudo apt install neovim -y $ nvim --version Alpine ์„ค์น˜ $ doas apk update $ doas apk add neovim # nvim Install $ apk search nvim-* # Plugin check $ apk nvim-lualine nvim-treesitter # Plugin: lualine install $ nvim --version ## ์†Œ์Šค ๋นŒ๋“œ - Debian, Ubuntu * Requirements ```console $ sudo apt install build-essencial cmake ninja luarocks5.1 $ sudo luarocks5.1 install lpeg $ sudo luarocks5.1 install mpack Build $ git clone https://github.com/neovim/neovim $ cd neovim $ git checkout stable $ make CMAKE_BUILD_TYPE=RelWithDebInfo # or CMAKE_BUILD_TYPE=Release $ sudo make install $ strip /usr/local/bin/nvim $ /usr/local/bin/nvim --version ์†Œ์Šค ๋นŒ๋“œ - Alpine Requirements # apk add build-base cmake automake autoconf libtool pkgconf coreutils curl unzip gettext-tiny-dev Build # git clone https://github.com/neovim/neovim # cd neovim # git checkout stable # make CMAKE_BUILD_TYPE=RelWithDebInfo # or CMAKE_BUILD_TYPE=Release # sudo make install # strip /usr/local/bin/nvim # /usr/local/bin/nvim --version ์†Œ์Šค ๋นŒ๋“œ - Raspbian (2023-09-17) ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด์˜ neovim ๋ฒ„์ „์ด ๋งค์šฐ ๋‚ฎ๋‹ค. ํ˜„์žฌ๋กœ์„œ๋Š” ์ปดํŒŒ์ผํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ตœ์‹ ๋ฒ„์ „์„ ์“ฐ๋Š” ์ œ์ผ ์ข‹์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณด์ธ๋‹ค. # Install latest CMake https://stackoverflow.com/a/56690743/13411047 sudo apt update sudo apt install -y libssl-dev wget -O /tmp/cmake.tar.gz "https://cmake.org/files/v3.19/cmake-3.19.1.tar.gz" tar -xvzf cmake.tar.gz rm cmake.tar.gz cd cmake-3.19.1/ cmake . make sudo make install # Requirements Install sudo apt-get install git sudo apt-get install libtool libtool-bin autoconf automake cmake g++ pkg-config unzip # source download git clone https://github.com/neovim/neovim.git cd neovim # compile & Install make CMAKE_BUILD_TYPE=RelWithDebInfo sudo make install ์ฃผ์š” ์„ค์ •ํŒŒ์ผ vimscript ์„ค์ • ๊ธฐ์ค€ ~/.config/nvim/init.vim ~/.local/share/nvim/site/autoload/plug.vim lua ์„ค์ • ๊ธฐ์ค€ ~/.config/nvim/init.lua ~/.config/nvim/lua/ Links neovim home: https://neovim.io/ building noevim: https://github.com/neovim/neovim/wiki/Building-Neovim

2022-09-01 ยท (updated 2023-08-08) ยท 396 words

์šฐ์ฃผ๊ฐ€ ์‹ค์ œ๋กœ ์กด์žฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”

์šฐ์ฃผ๊ฐ€ ์‹ค์ œ๋กœ ์กด์žฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ด€์ธก์ด ํ•„์š”ํ•ด์š”. ์ฆ‰ ์šฐ์ฃผ๋Š”, ๊ทธ ์ž์‹ ์˜ ์กด์žฌ๋ฅผ ์ฆ๋ช…ํ•˜๋ ค๋ฉด ์˜์‹์„ ๊ฐ€์ง„ ์ƒ๋ช…์ฒด๋ฅผ ํ•„์š”๋กœ ํ•œ๋‹ค๋Š” ๋ง์ด์—์š”. ์Šˆ๋ขฐ๋”ฉ๊ฑฐ์˜ ๊ณ ์–‘์ด๊ฐ€ ์ฃฝ์—ˆ๋Š”์ง€ ์‚ด์•˜๋Š”์ง€๋Š” ๊ณ ์–‘์ด ๊ทธ ์ž์‹ ๋งŒ์ด ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฑฐ์˜ˆ์š”. ์œ ์ง„ ์œ„๊ทธ๋„ˆ

2022-09-01 ยท (updated 2022-09-09) ยท 31 words

๋งŒ๊ฐ€์ง€ ๋™์ž‘

๋งŒ๊ฐ€์ง€์˜ ํ‚ฅ ๋™์ž‘์„ ํ•œ ๋ฒˆ์”ฉ ์—ฐ์Šตํ•œ ์‚ฌ๋žŒ์ด ๋‘๋ ค์šด ๊ฒŒ ์•„๋‹ˆ๋ผ ํ•œ๊ฐ€์ง€์˜ ๋™์ž‘์„ ๋งŒ ๋ฒˆ ์—ฐ์Šตํ•œ ์‚ฌ๋žŒ์ด ๋‘๋ ต๋‹ค - ์ด์†Œ๋ฃก (Bruce Lee)

2022-09-01 ยท 21 words

Rclone ์›๊ฒฉ ๋ฐฑ์—… ํˆด

Install $ sudo apt install rclone $ rclone --help $ rclone config n/s/q> n name> gdrive # rclone ์‚ฌ์šฉ์‹œ ์›๊ฒฉ์ง€ ๋“œ๋ผ์ด๋ธŒ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉ Storage> 13 # google client_id> Enter client_secret> Enter scope> 1 root_folder_id> Enter service_account_file> Enter Edit advanced config?> n Use auto config? n # ์ถœ๋ ฅ๋œ url์„ ๋ณต์‚ฌํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅํ•˜๊ณ  ์Šน๋ฝํ•˜๊ธฐ # ์Šน๋ฝํ•œ ํ›„ ๋ฐ›์€ key๋ฅผ ๋ณต์‚ฌ Enter verification code> key์ž…๋ ฅ Configure this as a team drive? n y) Yes this is OK (default) y q # ๋๋‚ด๊ธฐ Usage ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•: ์„ธ์„ธํ•œ ์˜ต์…˜์ด ๋งŽ์ง€๋งŒ ํ๋ฆ„์„ ์žƒ์ง€ ๋ง์ž. ํ•„์š”ํ•˜๋ฉด ๊ด€๋ จ ๋ฌธ์„œ ์ฐธ์กฐ. $ rclone ls gdrive: # list google drive files only $ rclone lsl gdrive: # list -l google drive files only $ rclone lsd gdrive: # list google drive folders $ rclone copy file1 gdrive: # copy file1 to gdrive: $ rclone copy dir1 gdrive: # copy dir1/* to gdirve: # ๋””๋ ‰ํ† ๋ฆฌ๋‚ด ํŒŒ์ผ๋ณต์‚ฌ $ rclone copy dir1 gdrive:dir1 # copy dir1 to gdirve:dir1 # dir1 ๋””๋ ‰ํ† ๋ฆฌ๋ณต์‚ฌ $ rclone delete gdrive:file1 # remove gdrive:file1 $ rclone delete gdrive:dir1 # remove gdrive:dir1 $ mkdir ~/gdrive $ rclone sync gdrive: ~/gdrive/ # sync google drive to local ~/gdrive $ rclone sync ~/gdrive gdrive: # sync ~/gdrive to google drive $ rclone sync -i ~/gdrive gdirve: # interactive mode $ rclone sync -P ~/gdrive gdirve: # view real-time transfer statistics $ rclone bisync ~/gdrive gdirve: # bidirectional sync between two paths # new, Newer, and Deleted files Mount $ rclone mount gdrive: ~/google-drive & $ ls ~/google-drive Crypt - ์•”ํ˜ธํ™” gdrive: ๋‚ด์˜ ํŠน์ • ํด๋”๋ฅผ ์•”ํ˜ธํ™”ํ•ด์„œ gdrive๋‚ด์—์„œ๋Š” ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์—†๊ณ  ์˜ค์ง local์—์„œ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ฐœ์ธ์ •๋ณด๋ฅผ ๋ณด๋‹ค ์•ˆ์ „ํ•˜๊ฒŒ ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ...

2022-08-31 ยท 618 words