Skip to content

Lamtea/dotfiles

Repository files navigation

dotfiles

My dotfiles for command-line interface on Arch linux.

Overview

overview

How to Install

gnome-keyring settings required.

See: Wiki

# Install arch official packages and aur packages(see below `Depend on` list).
# Options can be ignored.
# If you want to use cloud such as dropbox, gdrive, etc..,
# setup rclone(see: Arch wiki) and edit ./bin/rclone_mount.sh.
# (In my case run on i3 startup)
# nginx is used to check debugging using pathmappings, for example in PHP (even docker).
# ranger is a vim-like filer.
# Use neomutt and postfix in local mail delivery(See Arch wiki for postfix settings).
# (In my case I use it to logwatch and notify system errors from services.)
# (Also, it is not used in wsl.)
yay -S <dependent packages>
cd ~
# If you fail, make sure the way may have changed(see: github).
git clone --depth 1 https://github.com/wbthomason/packer.nvim .local/share/nvim/site/pack/packer/start/packer.nvim
git clone https://github.com/Lamtea/dotfiles.git .dotfiles
cd .dotfiles
vi .gitconfig
  email = <your email address>
  name = <your user name>
# For localization, see below `Localization`.
vi .config/neomutt/neomuttrc
  set my_name="<your name>"
./install.sh
# Install zsh plugins and some packages from github or script.
# If you are not using zsh, run `chsh -s /usr/bin/zsh'.
exec zsh
# Install mise tools, rustup, ghcup, ruby bundle, dotnet tools, etc...
# If you fail, make sure the way may have changed(See: github).
~/bin/update-devtools.sh
source ~/.zshrc
# Install neovim plugins and create helptags,
# and install lsp, dap in your programming languages
# (if you are unsure, see below `neovim Plugins, LSP, DAP` list).
# Finally, All OK except WARNING from Whichkey.
# (No problem because it is an extension of the standard command)
vi +PackerSync
   :helptags ALL
   :Mason
   :checkhealth

Container (optional)

Docker

See: Arch Wiki - Docker

Containerd

See: gitHub - containerd

See: gitHub - nerdctl

Kubernetes (optional)

Minikube

See: Arch Wiki - Minikube

Kind

See: github - kind

Neovim

Neovim Plugins, LSP, DAP

See: Wiki

Neovim Hello World

See: Wiki

Depend on

Official

  • actionlint
  • android-tools
  • android-udev
  • aspnet-runtime
  • aspnet-targeting-pack
  • azure-cli
  • base-devel
  • bemenu
  • buf
  • certbot
    • certbot-nginx (optional)
    • certbot-dns-cloudflare
  • clang
  • cmake
  • codespell
  • composer
  • containerd (optional)
    • nerdctl
    • buildkit
    • cni-plugins
    • rootlesskit
    • slir4netns
  • colordiff
  • cppcheck
  • dart-sass
  • delve
  • docker (optional)
    • docker-buildx
    • docker-compose
  • dotnet-host
  • dotnet-runtime
  • dotnet-sdk
  • dotnet-targeting-pack
  • editorconfig-checker
  • fd
  • fzf
  • gawk
  • git
  • github-cli
  • gitui
  • gnome-keyring
    • libsecret
  • go
  • gradle
  • imagemagick
  • jdk-openjdk
  • jdk11-openjdk
  • jdk17-openjdk
  • jq
  • lldb
  • lua
  • luacheck
  • luarocks
  • markdownlint-cli2
  • maven
  • minikube (optional)
    • argocd
    • istio
    • kubernetes-tools
    • helm
    • helmfile
  • neomutt (optional)
  • neovim
    • python-pynvim
  • nginx (optional)
  • ninja
  • nodejs-lts-iron
  • npm
  • npm-check-updates
  • openssh
  • php
  • php-* (apcu, gd, sqlite, pgsql, redis, imagick, fpm)
  • pnpm
  • postfix (optional) (localhost only for neomutt)
  • prettier
  • protobuf
  • python3
  • python-build
  • python-debugpy
  • python-pytest
  • ranger (optional)
  • rclone (optional)
    • gdrive
    • dropbox
    • onedrive
    • pcloud
    • mega
  • ripgrep
  • ruff
  • rust
  • shfmt
  • shellcheck
  • source-highlight
  • stylua
  • sqlfluff
  • sqlite
  • taplo-cli
  • terraform
  • tidy
  • tmux
  • tree-sitter-cli
  • w3m
  • wget
  • xclip (optional) (I use Linux Desktop Environment so this is it, see :h clipboard in nvim)
  • xdebug
  • yamllint
  • yarn
  • zsh

AUR

  • android-apktool
  • azcopy
  • azure-developer-cli
  • azure-functions-core-tools
  • bashdb
  • checkmake
  • cmake-language-server
    • cmake-format
  • devcontainer-cli
  • debtap
  • nvidia-container-toolkit (optional) (for NVIDIA CUDA user, also available in containerd)
  • google-java-format
  • neovim-drop-in
  • nodejs-neovim
  • php-cs-fixer
  • yay

From install script

  • ghcup
    • ghc
    • hls
    • stack
      • haskell-debug-adapter
        • haskell-dap
        • ghci-dap
      • hlint
        • apply-refact
      • fourmolu
  • mise
    • bun (global, latest)
    • dart (global, latest)
    • deno (global, latest)
    • dotnet (global, latest)
    • flutter (global, latest)
    • golang (local)
      • delve
    • golangci-lint (global, latest)
    • hadolint (global, latest)
    • java (local)
    • kind (global, latest)
    • kotlin (global, latest)
    • ktlint (global, latest)
    • neovim (global, stable)
      • wbthomason/packer.nvim
    • nodejs (local)
      • devcontainers/cli
      • markdownlint-cli2
      • neovim
      • npm-check-updates
      • pnpm
      • prettier
    • poetry (global, latest)
    • python (local)
      • debugpy
      • neovim
    • ruby (global, latest)
      • bundler
    • tfsec (global, latest)
  • rustup
    • cargo
    • clippy
    • llvm-tools
    • rls
    • rust-analysis
    • rust-analyzer
    • rust-docs
    • rust-src
    • rust
    • rustc
    • rustfmt

Localization

  • Edit .zshrc
    • export LANG=ja_JP.UTF-8 # change your locale
  • Edit .config/nvim/lua/plugins/sidebar.lua
    • datetime section
      • format = "%b %d日 (%a) %H:%M" # change your locale
  • There is fcitx5 setting in .config/nvim/lua/command.lua
    • It works installed (it won't work unless).
      • If you are ibus user, edit to your setting.

Terminal Fonts for zsh powerlevel10k

  • For Japanese
    • Ricty & MesloLGS NF
    • HackGenNerd

Scripts

Name Description
rclone_mount.sh mount cloud script.
update-*.sh update local package scripts.

Develop Environment

  • bash
  • zsh
  • python
  • lua
  • git
  • neovim