jbrudvik / dotfiles

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dotfiles

CI

MacOS and Debian Linux config

Install basics and dotfiles

  • Install kitty:
    • MacOS: $ curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin
    • Debian: sudo apt-get install kitty
  • Install Git
    • MacOS: Installed by default
    • Debian: $ sudo apt update && sudo apt install git
  • Install Make
    • MacOS: Installed by default
    • Debian: $ sudo apt install make
  • Install Homebrew
    • MacOS: $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    • Debian: Not needed
  • Install zsh
    • MacOS: $ brew install zsh zsh-completions
    • Debian: $ sudo apt install zsh
  • Set zsh as login shell: $ grep -q $(command -v zsh) /etc/shells || sudo sh -c "echo $(command -v zsh) >> /etc/shells"; sudo chsh -s $(command -v zsh) $(whoami)
  • Install zinit: $ bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh)"
    • Then restart shell and run: $ zinit self-update
  • Install Starship: $ curl -sS https://starship.rs/install.sh | sh
  • Install dotfiles (WARNING: DESTRUCTIVE!): $ git clone https://github.com/jbrudvik/dotfiles.git && dotfiles/dotfiles_install

Install programming languages and tooling

C

  • Install C (clang)
    • MacOS: Installed by default
    • Debian: $ sudo apt install clang-format clang-tidy clang-tools clang clangd libc++-dev libc++1 libc++abi-dev libc++abi1 libclang-dev libclang1 liblldb-dev libomp-dev libomp5 lld lldb llvm-dev llvm-runtime llvm libgmp-dev

Rust

  • Install Rust: $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Install rust-analyzer (Rust LSP)
    • MacOS: $ brew install rust-analyzer
    • Debian: $ curl -L https://github.com/rust-lang/rust-analyzer/releases/latest/download/rust-analyzer-x86_64-unknown-linux-gnu.gz | gunzip -c - > rust-analyzer && chmod u+x rust-analyzer && sudo mv rust-analyzer /usr/local/bin
  • Install Clippy: $ rustup component add clippy
  • Install Cargo Watch: $ cargo install cargo-watch
  • Install bacon: $ cargo install --locked bacon

Go

  • Install Go 1.21
    • MacOS: $ brew install go
    • Debian: $ GO_DOWNLOAD="go1.21.0.linux-amd64.tar.gz"; curl "https://go.dev/dl/${GO_DOWNLOAD}" -OL && sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf ${GO_DOWNLOAD} && rm ${GO_DOWNLOAD}
  • Install gopls (Go LSP): $ go install golang.org/x/tools/gopls@latest
  • Install staticcheck: $ go install honnef.co/go/tools/cmd/staticcheck@latest
  • Install Delve (Go debugger): $ go install github.com/go-delve/delve/cmd/dlv@latest

PostgreSQL

  • Install PostgreSQL
    • MacOS:
      • $ brew install postgresql@15
      • $ brew services start postgresql@15
    • Debian:
      • $ sudo apt-get install postgresql
      • $ systemctl start postgresql

JavaScript / Node.js

  • Install Node.js
    • MacOS: $ brew install n && n lts
    • Debian: $ curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n && bash n lts && npm install -g n && rm n
  • Install vscode-language-servers-extracted (LSP): $ npm install -g vscode-langservers-extracted
  • Install typescript-language-server (including for JavaScript)
  • Install Biome
    • MacOS: $ brew install biome
    • Debian: $ npm install -g @biomejs/biome

PureScript

Python

  • Install Python
    • MacOS: $ brew install python && sudo ln -s $(which python3) /usr/local/bin/python
    • Debian: $ sudo apt install python3 python3-dev && sudo ln -s $(which python3) /usr/bin/python

Zig

  • Install Zig
    • MacOS: $ brew install zig
    • Debian: $ curl -L https://ziglang.org/download/0.11.0/zig-linux-x86_64-0.11.0.tar.xz -o zig.tar.xz && tar -xvf zig.tar.xz && sudo mv zig /usr/local/ && rm zig.tar.xz
  • Install zls
    • MacOS: $ brew install zls
    • Debian:
      • $ curl -L https://github.com/zigtools/zls/releases/download/0.11.0/zls-x86_64-linux.tar.gz -o zls.tar.gz
      • $ tar -xvf zls.tar.gz ./bin/zls -O zls
      • $ chmod 755 zls
      • $ sudo mv zls /usr/local/bin/
      • $ rm zls.tar.gz

Haskell

  • Install Haskell:
    • $ curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
    • $ ghcup tui
  • Install HLint: $ stack install hlint
  • Install Hoogle: $ stack install hoogle
  • Install ghcid: $ stack install ghcid

Bash

  • Install bash-language-server (Bash LSP): $ npm install -g bash-language-server
  • Install shfmt: $ go install mvdan.cc/sh/v3/cmd/shfmt@latest
  • Install ShellCheck
    • MacOS: $ brew install shellcheck
    • Debian: $ sudo apt install shellcheck

Markdown

  • Install Marksman (Markdown LSP)
    • MacOS: $ brew install marksman
    • Debian: $ curl -L https://github.com/artempyanykh/marksman/releases/download/2023-07-01/marksman-linux-x64 -o marksman && chmod +x marksman && sudo mv marksman /usr/local/bin

WebAssembly

  • Install Wasmer: $ curl https://get.wasmer.io -sSfL | sh

Docker

Install tools

  • Install Helix: $ git clone https://github.com/helix-editor/helix && cd helix && cargo install --locked --path helix-term && ln -s "$PWD/runtime" "$HOME/.config/helix/runtime"
  • Install tmux
    • MacOS: $ brew install tmux
    • Debian: $ sudo apt install tmux
  • Install Prettier globally: $ npm install -g prettier
  • Install cargo b(inary)install
    • MacOS: $ cargo install cargo-binstall
    • Debian: $ curl https://github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-x86_64-unknown-linux-musl.tgz -OL && sudo tar -C "$HOME/.cargo/bin" -xzf cargo-binstall-x86_64-unknown-linux-musl.tgz && rm cargo-binstall-x86_64-unknown-linux-musl.tgz
  • Install delta
    • MacOS: $ brew install git-delta
    • Debian: $ cargo binstall git-delta
  • Install exa
    • MacOS: $ brew install exa
    • Debian: $ sudo apt install exa
  • Install ripgrep
    • MacOS: $ brew install ripgrep
    • Debian: $ sudo apt install ripgrep
  • Install bat
    • MacOS: $ brew install bat
    • Debian: $ sudo apt install bat && sudo ln -s $(which batcat) /usr/local/bin/bat
  • Install fzf
    • MacOS: $ brew install fzf
    • Debian: $ sudo apt install fzf
  • Install fd
    • MacOS: $ brew install fd
    • Debian: $ sudo apt install fd-find && sudo ln -s $(which fdfind) /usr/local/bin/fd
  • Install watchexec
    • MacOS: $ brew install watchexec
    • Debian: $ cargo binstall watchexec-cli
  • Install Caddy
    • MacOS: $ brew install caddy
    • Debian: $ sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https && curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg && curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list && sudo apt update && sudo apt install caddy
  • Install glow
    • MacOS: $ brew install glow
    • Linux: $ go install github.com/charmbracelet/glow@latest
  • Install broot
    • MacOS: $ brew install broot && broot
    • Debian: $ cargo binstall broot && broot
  • Install xh
    • MacOS: $ brew install xh
    • Debian: $ cargo binstall xh
  • Install bottom
    • MacOS: $ brew install bottom
    • Debian: $ cargo binstall bottom
  • Install tldr: $ npm install -g tldr
  • Install hecate: $ go install github.com/evanmiller/hecate@latest
  • Install dog
    • MacOS: $ brew install dog
    • Debian: $ curl -LO https://packages.azlux.fr/debian/pool/main/d/dog/dog_0.1.0_amd64.deb && sudo dpkg -i dog_0.1.0_amd64.deb && rm dog_0.1.0_amd64.deb
  • Install procs
    • MacOS: $ brew install procs
    • Debian: $ cargo binstall procs
  • Install dust
    • MacOS: $ brew install dust
    • Debian: $ curl -L -o dust.gz https://github.com/bootandy/dust/releases/download/v0.8.3/dust-v0.8.3-i686-unknown-linux-gnu.tar.gz && tar -xvf dust.gz && sudo mv dust-v0.8.3-i686-unknown-linux-gnu/dust /usr/local/bin && rm -rf dust-v0.8.3-i686-unknown-linux-gnu && rm dust.gz
  • Install duf
    • MacOS: $ brew install duf
    • Debian: $ sudo apt install duf
  • Install tokei
    • MacOS: $ brew install tokei
    • Debian: $ cargo binstall tokei
  • Install killport:
    • MacOS: $ brew install killport
    • Debian: $ cargo binstall killport

Install server tools (Linux only)

Update

$ dotfiles_update

About

License:MIT License


Languages

Language:Shell 82.8%Language:Vim Script 9.6%Language:Makefile 7.6%