Code Monkey home page Code Monkey logo

dotfiles's Introduction

dotfiles

 

dotfiles

dotfiles

macOS-badge Linux-badge

multi-platform dotfiles powered by chezmoi

chezmoi license commit activity Repo size

linter ci

Table of Contents


Features

  • One Line Install
  • dotfiles management using chezmoi

Getting Started

curl -fsSL https://raw.githubusercontent.com/MasahiroSakoda/dotfiles/main/install.sh | bash

Usage

Configure dotfiles

chezmoi edit $DOTFILES

Apply changes

chezmoi apply

Update

chezmoi diff
chezmoi update

Environment

Homebrew packages

Package Category Notes
Fish Shell
starship Prompt
tmux Screen tmux.conf
NeoVim Editor See Detail
mise Version Control See Detail
fzf Fuzzy finder Wiki
ripgrep grep alternative User Guide
fd find alternative
bat cat alternative config
bottom top alternative bottom.toml

Other Homebrew packages: Brewfile

fish shell

Plugin Notes
fisher A plugin manager for Fish
fzf Ef-🐟-ient fish keybindings for fzf
z Pure-fish z directory jumping
dracula 🧛🏻‍♂️ Dark theme for fish
autopair.fish Auto-complete matching pairs in the Fish command line
done A fish-shell package to automatically receive notifications when long processes finish.

NeoVim

NeoVim-mason nvim

Plugin managed by lazy.nvim See also: Plugin list

LSP
Language Server Language
bash-language-server Bash
clangd C/C++
rust-analyzer Rust
gopls Go
pyright Python
ruby-lsp Ruby
deno JavaScript, TypeScript
typescript-language-server JavaScript, TypeScript
lua-language-server Lua
vim-language-server VimScript
html-lsp HTML
css-lsp CSS, SCSS, LESS
json-lsp JSON
yaml-language-server YAML
sqlls SQL
graphql-language-service GraphQL
cmake-language-server CMake
dockerfile-language-server Dockerfile
terraform-ls Terraform
Marksman Markdown

NeoVim-LSP

DAP
Adapter Language
bash-debug-adapter Bash
codelldb C/C++, Rust
cpptools C/C++, Rust
delve Go
debugpy Python
js-debug-adapter Javascript/TyptScript

NeoVim-DAP

Linter
Linter Notes
typos Source code spell checker
revive Fast Linter for golang
ruff-lsp Python Linter/Formatter
rubocop Ruby linter/formatter
vint VimScript linter
biome Fast Linter/Formatter for modern web development
hadolint Dockerfile linter
markdownlint markdown linter/formatter
Formatter
Formatter Notes
clang-format C++formatter
jq JSON formatter
yq YAML formatter
sql-formatter SQL formatter
stylua Lua formatter
xmlformatter XML formatter
yamlfmt YAML formatter
Telescope extensions
Plugin Notes
telescope-frecency Frecency algorithm search
telescope-file-browser File Browser
telescope-egrepify live grep extension
telescope-lazy lazy.nvim extension
telescope-dap DAP Extension

NeoVim-telescope nvim

AI Assistant

mise

Runtime version management tool

.tool-versions used by asdf is deactivated to prevent confliction & confusion.

global language environment predefined in .chezmoidata.toml

File Usage
~/.config/mise/settings.toml System settings
~/.config/mise/config.toml Global config
.mise.toml Local config
configured tools
Runtime Version
Go latest
Python 3.12
Ruby 3.3
Node.js 20
Deno 1
Bun 1

Homebrew cask packages

Keyboard

Package Configuration files
Karabiner-Elements ~/.config/karabiner
Hammerspoon ~/.hammerspoon

Fonts

Package Notes
font-codicon Icon Font
font-jetbrains-mono-nerd-font Open Source Font
font-cica Monospaced Font for Japanese
font-hackgen-nerd Programming Font for Japanese
font-plemol-jp-nfj IBM Plex base Font for Japanese
font-udev-gothic-nf BIZ UD Gothic + JetBrains Mono for Japanese

Dev packages

Package Category
iTerm2 Terminal
Alacritty Terminal
wezterm Terminal
Visual Studio Code IDE
Docker Container
TablePlus Database
drawio Diagram
termshark Network
TunnelBear VPN

Other Homebrew cask packages: Caskfile

App Store apps

See Masfile

dotfiles's People

Contributors

masahirosakoda avatar dependabot[bot] avatar

Watchers

James Cloos avatar  avatar  avatar

dotfiles's Issues

Update cache version for CI

Description

because of following error
Failed to save: Unable to reserve cache with key ...
More details: Cache already exists.

Motivation

to run CI fast

Alternatives

No response

Additional context

No response

[Feature]: add treesitter grammers

Description

  • golang related languages
    • go.mod
    • go.sum
    • go.work
    • templ
  • requirements.txt

Motivation

to enhance editor

Alternatives

No response

Additional context

No response

[Feature]: update rtx trust config

Description

  • configure RTX_TRUSTED_CONFIG_PATHS for global usage
  • remove unnecessary rtx trust code block

Motivation

to improve CI jobs using jdx/rtx-action

Alternatives

No response

Additional context

No response

Support single runtime version

Description

CI failed caused by rtx regexp error.
so support single runtime version for now

Expected behavior

Install all runtime with rtx & CI passed

Actual behavior

The application panicked (crashed).
Message:  error parsing regex: Syntax(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regex parse error:
    ^[3.11([-.].+)?$
     ^
error: unclosed character class
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
)
Location: src/tool.rs:368

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.
chezmoi: exit status 101
Error: Process completed with exit code 1.

Steps to reproduce

install multiple version with rtx

Screenshots

No response

Environment

macOS 13.6

Additional information

No response

[Feature]: add parser for SSH config

Description

configure treesitter for SSH config
add parser into ensure_installed

Motivation

to parse ~/.ssh/config

Alternatives

No response

Additional context

No response

[Feature]: Update chezmoi version

Description

version 2.42.2 -> 2.42.3

Motivation

to maintain newer version

Alternatives

No response

Additional context

No response

[Bug]: could not launch golang debugger

Description

debugger failed with following error

Error on launch: Failed to launch: could not launch process: not an executable file

Expected behavior

Launch debugger successfully

Actual behavior

failed with

Error on launch: Failed to launch: could not launch process: not an executable file

Steps to reproduce

launch debugger

Screenshots

No response

Environment

environment version
macOS 12.7.0
NeoVim 0.9.4
nvim-dap 0.7.0
nvim-dap-go main
delve 1.21.2

Additional information

No response

[Feature]: Update figet.nvim config

Description

  • update progress config
  • update notification config

Motivation

to display better LSP progress

Alternatives

No response

Additional context

No response

[Feature]: install rtx with custom tap

Description

install rtx with custom tap instead of standard installation

Motivation

to update faster

Alternatives

No response

Additional context

No response

[Feature]: update chezmoi

Description

2.40.4 -> 2.41.0

Motivation

maintain newer version

Alternatives

No response

Additional context

No response

[Feature]: add GoReleaser

Description

install GoReleaser with HomeBrew

Motivation

to automate release product

Alternatives

No response

Additional context

No response

[Feature]: Update README.md

Description

  • Update images
  • Update LSP segment
  • Update DAP segment
  • Update Linter segment
  • Update Telescope segment
  • Update rtx segment
  • Update fish segment

Motivation

to display latest information

Alternatives

No response

Additional context

No response

[Feature]: add default package for rtx installed runtimes

Description

  • add .default-go-packages for Go environment
  • add .default-npm-packages for Node.js environment
  • add .default-python-packages for Python environment
  • add .default-gems for Ruby environment

but .default-npm-packages should be blank
because I prefer to use pnpm

Motivation

to avoid making a mess with .chezmoiscripts

Alternatives

No response

Additional context

No response

[Feature]: Update NeoVim completion

Description

  • Update LuaSnip config
  • Increase number of completions using LSP & Snippet

Motivation

to improve development environment

Alternatives

No response

Additional context

No response

[Bug]: Completion error related neogen

Description

  • disable cmp config related neogen

Expected behavior

complete with candidates

Actual behavior

occured error like this

E5108: Error executing lua: /User/user/.config/nvim/lua/lsp/cmp/init.lua:139: attempt to index global 'neogen' (a nil value)
stack traceback:
        /User/user/.config/nvim/lua/lsp/cmp/init.lua:139: in function 'on_keymap'
        ...user/.local/share/nvim/lazy/nvim-cmp/lua/cmp/core.lua:145: in function 'callback'
        ....local/share/nvim/lazy/nvim-cmp/lua/cmp/utils/keymap.lua:133: in function <....local/share/nvim/lazy/nvim-cmp/lua/cmp/utils/keymap.lua:127>

Steps to reproduce

complete with <Tab>

Screenshots

No response

Environment

macOS 12.7.2

Additional information

No response

[Feature]: remove unused code for `rubocop`

Description

after rubocop has supported LSP, you don't need to care about rubocop statement for null-ls

Motivation

to avoid conflict afterwards

Alternatives

No response

Additional context

No response

[Bug]: rtx Config file is not trusted

Description

CI fail with rtx error related config file

Expected behavior

install rtx global runtimes from ~/.config/rtx/config.toml

Actual behavior

CI failed with following error.

rtx Error parsing /Users/runner/.config/rtx/config.toml: Config file is not trusted.
Trust it with `rtx trust`.
rtx Run with RTX_DEBUG=1 for more information
chezmoi: exit status 1
Error: Process completed with exit code 1

Steps to reproduce

  1. merge main branch
  2. run CI

Screenshots

No response

Environment

macOS 13.6.0

Additional information

No response

[Bug]: CI fail with pnpm error

Description

CI fail with pnpm related error.

Expected behavior

Pass CI

Actual behavior

CI failed with following error.

 ERR_PNPM_NO_GLOBAL_BIN_DIR  Unable to find the global bin directory

Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.

Steps to reproduce

  1. merge pull request
  2. Run CI

Screenshots

No response

Environment

macOS 13.6

Additional information

No response

[Feature]: Remove unused NeoVim plugins

Description

  • neotest
  • neotest-jest
  • neotest-playwright
  • neotest-python
  • neotest-rspec
  • neotest-vitest

Motivation

to clean editor environment

Alternatives

No response

Additional context

No response

[Bug]: fix aria2 options

Description

  • remove async-dns option

Expected behavior

it appear unknown option for async-dns

Actual behavior

nothing to display for unknown options

Steps to reproduce

download with aria2

Screenshots

No response

Environment

macOS

Additional information

No response

[Feature]: update `gh` extension config

Description

  • load gh extension list from .chezmoidata.toml

Motivation

  • avoid hard coding
  • Run CI efficiently

Alternatives

No response

Additional context

No response

[Feature]: configure NODE_ENV by rtx

Description

currently NODE_ENV is configured by shell,
rtx looks more controllable for any usage.

Motivation

to prevent modifying shell config every envrionment changed

Alternatives

No response

Additional context

No response

[Feature]: Update nvim-ts-context-commentstring

Description

update JoosepAlviste/nvim-ts-context-commentstring config

vim.g.skip_ts_context_commentstring_module = true

Motivation

to avoid warning

Alternatives

No response

Additional context

No response

[Feature]: Update NeoVim DAP config

Description

update layout

  • Scopes
  • Breakpoints
  • Threads and Stack Frames
  • Console
  • REPL

keymap

  • keymap to DAP UI components

Motivation

to improve debug experience

Alternatives

No response

Additional context

No response

[Feature]: Update chezmoi version

Description

version 2.40.3 -> 2.40.4

Motivation

to keep up for stable environment

Alternatives

No response

Additional context

No response

[Feature]: Update git config

Description

add following config items

  • http.postBuffer
  • remote.pushDefault
  • fetch.prune
  • push.default
  • pull.ff
  • credential.helper

Motivation

to configure proper git environment

Alternatives

No response

Additional context

No response

[Feature]: Update NeoVim plugin config

Description

  • Inactivate danymat/neogen
  • Change j-hui/fidget.nvim branch: legacy -> main

Motivation

to improve NeoVim environment

Alternatives

No response

Additional context

No response

[Bug]: $PNPM_HOME & $PATH config error

Description

CI failed No such file or directory error caused by $PATH config

Expected behavior

Pass CI

Actual behavior

CI failed

Steps to reproduce

run CI

Screenshots

No response

Environment

macOS

Additional information

No response

[Feature]: Update Treesitter languages

Description

install following languages

  • csv
  • tsv
  • ini
  • xml
  • jq
  • jsdoc
  • rst
  • comment
  • git_config
  • matlab
  • julia
  • luadoc
  • nix
  • objc
  • cuda
  • nasm
  • gpg

Motivation

to use those languages

Alternatives

No response

Additional context

No response

[Feature]: remove unused plugins

Description

  • vim-jp/vimdoc-ja
  • tzachar/cmp-tabnine

Motivation

to clear neovim environment

Alternatives

No response

Additional context

No response

[Feature]: install ast-grep

Description

Install ast-grep for code search

Motivation

to improve performance

Alternatives

No response

Additional context

No response

[Bug]: fix python environment with rtx

Description

fix option to build python environment using pyenv

Expected behavior

install python successfully

Actual behavior

return with error

Steps to reproduce

rtx install python@latest
or
rtx install [email protected]

Screenshots

No response

Environment

macOS 13.6.2

Additional information

No response

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.