justfiles for automating various tasks on my workstation
at main 2.8 kB view raw
1# Upgrade Python tools 2[group('install')] 3upgrade-python-tools: 4 #!/usr/bin/env bash 5 pipx list --short | awk '{print $1}' | xargs pipx upgrade 6 7# Ensure lsps and formatters are installed 8[group('install')] 9ensure-lsp: 10 #!/usr/bin/env bash 11 go install github.com/reteps/dockerfmt@latest 12 go install github.com/google/yamlfmt/cmd/yamlfmt@latest 13 go install github.com/wader/jq-lsp@latest 14 sudo npm install -g markdownlint-cli2 15 sudo npm install -g ansible-language-server 16 sudo npm install -g bash-language-server 17 sudo npm install -g vscode-langservers-extracted 18 sudo npm install -g dockerfile-language-server-nodejs 19 command -v cargo-binstall || cargo install cargo-binstall 20 cargo-binstall -y just-lsp 21 cargo-binstall -y taplo-cli 22 cargo-binstall -y kdlfmt 23 cargo-binstall -y systemd-lsp 24 pipx install ansible-lint 25 pipx install basedpyright 26 pipx install black 27 pipx install isort 28 pipx install nginxfmt 29 echo "Install shellcheck shfmt jq with your distro's package manager" 30 31# Install Go tools 32[group('install')] 33install-go-tools: 34 #!/usr/bin/env bash 35 go_tools=( 36 "golang.org/x/tools/gopls@latest" 37 "github.com/fatih/gomodifytags@latest" 38 "github.com/cweill/gotests/...@latest" 39 "github.com/x-motemen/gore/cmd/gore@latest" 40 "golang.org/x/tools/cmd/guru@latest" 41 "github.com/themimitoof/ipg@latest" 42 ) 43 for x in "${go_tools[@]}"; do 44 go install "$x" 45 done 46 47# Install Python tools 48[group('install')] 49install-python-tools: 50 #!/usr/bin/env bash 51 pipx install ansible --include-deps --force 52 py_tools=( 53 "black" 54 "bpython" 55 "pyflakes" 56 "isort" 57 "pipenv" 58 "nose" 59 "poetry" 60 "pytest" 61 "uv" 62 "qbt-helper" 63 "get-def" 64 "print-wp-sources" 65 ) 66 for x in "${py_tools[@]}"; do 67 pipx install "$x" 68 done 69 bpy_inject_tools=( 70 "bs4" 71 "matplotlib" 72 "pandas" 73 "qbittorrent-api" 74 "requests" 75 "rich" 76 ) 77 for x in "${bpy_inject_tools[@]}"; do 78 pipx inject bpython "$x" 79 done 80 81# Install Node tools 82[group('install')] 83install-node-tools: 84 #!/usr/bin/env bash 85 node_tools=( 86 "@bitwarden/cli" 87 "@catppuccin/inkcat" 88 "prettier" 89 "js-beautify" 90 "stylelint" 91 ) 92 for x in "${node_tools[@]}"; do 93 sudo npm install -g "$x" 94 done 95 96# Install Flatpaks 97[group('install')] 98install-flatpaks: 99 #!/usr/bin/env bash 100 sudo flatpak install -y \ 101 app.zen_browser.zen \ 102 com.calibre_ebook.calibre \ 103 com.discordapp.Discord \ 104 com.github.iwalton3.jellyfin-media-player \ 105 com.nextcloud.desktopclient.nextcloud \ 106 fi.skyjake.Lagrange \ 107 org.signal.Signal 108 109# vim: ts=4 sts=4 sw=4 et ft=just