/
bluesboy
/
dotfiles
Обзор
Документация
Войти
/
bluesboy
/
dotfiles
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
dev-tools.yaml
464 строки
16 KB
Bluesboy
Install k0sctl from git
07 июл 2026, 20:23
07 июл 2026, 20:23
8cdb461
Код
Авторство
О чём код?
#!/usr/bin/env ansible-playbook --- - name: "Install and configure development tools" hosts: localhost vars: configs: - stylua - yamllint tasks: - name: "Create symlink for configuration directories" ansible.builtin.file: src: "{{ playbook_dir }}/config/{{ item }}" dest: "{{ ansible_facts['user_dir'] }}/.config/{{ item }}" state: link owner: "{{ ansible_facts['user_uid'] }}" group: "{{ ansible_facts['user_gid'] }}" loop: "{{ configs }}" # Core developer tools - name: "Install core developer packages" community.general.pacman: name: - bats # Bash Automated Testing System - go-task # A task runner written in Go - mise # The front-end to your dev env - serie # A rich git commit graph in your terminal state: present become: true - name: "Install core developer tools from AUR" kewlfft.aur.aur: name: - devbox-bin # A command-line tool that lets you easily create isolated shells for development.(Written in Go.Prebuilt version) - lazymake-bin # Modern TUI for Makefiles with interactive target selection, dependency visualization, and command safety analysis - tenv-bin # OpenTofu, Terraform, Terragrunt, Terramate and Atmos version manager, written in Go - ueberzugpp # Command line utility which allows to display images in the terminal, written in C++ use: "{{ aur_helper }}" state: present become: true become_user: "{{ aur_builder_user }}" # Python and notebooks - name: "Install Python platform packages" community.general.pacman: name: - python-cairosvg # SVG converter based on Cairo. It can export SVG files to PDF, PostScript and PNG files - python-jupyter-client - python-pynvim # Python client for Neovim state: present become: true - name: "Install pipx" community.general.pacman: name: python-pipx state: present become: true - name: "Install UV" community.general.pipx: name: uv # An extremely fast Python package installer and resolver written in Rust state: present - name: "Install Virtualenv" community.general.pipx: name: virtualenv state: present - name: "Install VirtualFish" community.general.pipx: name: virtualfish # Fish shell tool for managing Python virtual environments state: present - name: "Install iPython" community.general.pipx: name: ipython state: present - name: "Install Jupyterlab" community.general.pipx: name: jupyterlab state: present - name: "Install Jupyterlab Vim" community.general.pipx: name: jupyterlab-vim state: present install_deps: true - name: "Install TimeWeb CLI" community.general.pipx: name: twc-cli state: present - name: "Install pnglatex" community.general.pipx: name: pnglatex state: present - name: "Install function-pythonic" community.general.pipx: name: crossplane-function-pythonic state: present - name: "Install Python visualization packages from AUR" kewlfft.aur.aur: name: - python-kaleido-bin # Static image export for web-based visualization libraries with zero dependencies - python-plotly # An open-source, interactive graphing library use: "{{ aur_helper }}" state: present become: true become_user: "{{ aur_builder_user }}" # Languages and runtimes - name: "Install language runtimes" community.general.pacman: name: - bun # Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one - jdk-openjdk # OpenJDK Java 26 development kit - lua # Powerful lightweight programming language designed for extending applications - luarocks # Deployment and management system for Lua modules - npm # JavaScript package manager - ruby # An object-oriented language for quick and easy programming - rust # Systems programming language focused on safety, speed and concurrency state: present become: true - name: "Install Node version manager" community.general.npm: name: n global: true state: present become: true - name: "Install 'neovim' Node package" community.general.npm: name: neovim global: true state: present become: true - name: "Install tree-sitter-cli Rust package" community.general.cargo: name: tree-sitter-cli - name: "Install texlab Rust package" community.general.cargo: name: texlab # Linters and code tools - name: "Install linters and code tools" community.general.pacman: name: - ast-grep # CLI tool for code structural search, lint and rewriting - eslint # An AST-based pattern checker for JavaScript - python-flake8 # The modular source code checker - prettier # An opinionated code formatter for JS, JSON, CSS, YAML and much more - python-black # Uncompromising Python code formatter - shellcheck # Shell script analysis tool - yamllint # Linter for YAML files state: present become: true - name: "Install linters from AUR" kewlfft.aur.aur: name: - stylua # Code formatter for Lua use: "{{ aur_helper }}" state: present become: true become_user: "{{ aur_builder_user }}" - name: "Create GitHub installer state directory" ansible.builtin.file: path: "{{ ansible_facts['user_dir'] }}/.local/state/ansible-github" state: directory mode: "0755" - name: "Install yaml-diff" quera.github.install_from_github: repo: sters/yaml-diff asset_regex: yaml-diff.*\.tar\.gz version_file: "{{ ansible_facts['user_dir'] }}/.local/state/ansible-github/yaml-diff.version" move_rules: - src_regex: yaml-diff dst: "{{ ansible_facts['user_dir'] }}/.local/bin/" mode: "0755" - name: "Install diffnest" quera.github.install_from_github: repo: sters/diffnest asset_regex: diffnest.*\.tar\.gz version_command: "{{ ansible_facts['user_dir'] }}/.local/bin/diffnest --version" move_rules: - src_regex: diffnest dst: "{{ ansible_facts['user_dir'] }}/.local/bin/" mode: "0755" # Git and workflow tools - name: "Install Git workflow packages" community.general.pacman: name: - cocogitto # Set of CLI tools for the conventional commit and semver specifications - git-filter-repo # Quickly rewrite git repository history (filter-branch replacement) state: present become: true - name: "Install Git workflow tools from AUR" kewlfft.aur.aur: name: - act # Run your GitHub Actions locally - bfg # Removes large or troublesome blobs like git-filter-branch does, but faster. - git-koji-bin # An interactive CLI for creating conventional commits use: "{{ aur_helper }}" state: present become: true become_user: "{{ aur_builder_user }}" # Ansible and automation - name: "Install Ansible packages" community.general.pacman: name: - ansible-lint # Checks playbooks for practices and behaviour that could potentially be improved. state: present become: true - name: "Install ansible-dev-tools" community.general.pipx: name: ansible-dev-tools state: present # SQL, API and databases - name: "Install SQL tools from AUR" kewlfft.aur.aur: name: - harlequin # The SQL IDE for Your Terminal - harlequin-mysql # The MySQL adapter for Harlequin - lazysql # A cross-platform TUI database management tool written in Go - redisinsight # Desktop manager that provides an intuitive and efficient GUI for Redis, allowing you to interact with your databases, monitor, and manage your data. - sqlit # The lazygit of SQL databases - a lightweight TUI for SQL Server, PostgreSQL, MySQL, SQLite, and more use: "{{ aur_helper }}" state: present become: true become_user: "{{ aur_builder_user }}" - name: "Install API client dependencies" community.general.pacman: name: - webkit2gtk-4.1 # Web content engine for GTK state: present become: true - name: "Install API clients from AUR" kewlfft.aur.aur: name: - bruno-bin # Opensource API Client for Exploring and Testing APIs - hoppscotch-bin # Hoppscotch. Open source API development ecosystem - posting # The modern API client that lives in your terminal use: "{{ aur_helper }}" state: present become: true become_user: "{{ aur_builder_user }}" # Network, diagnostics and benchmarks - name: "Install diagnostics and benchmark packages" community.general.pacman: name: - gping # Ping, but with a graph - lnav # A curses-based tool for viewing and analyzing log files - siege # An http regression testing and benchmarking utility - vegeta # HTTP load testing tool state: present become: true - name: "Install diagnostics and benchmark tools from AUR" kewlfft.aur.aur: name: - apache-tools # Useful Apache tools - htdigest, htpasswd, ab (Apache Benchmark), htdbm - doggo-bin # Command-line DNS client for humans - hey-bin # HTTP load generator, ApacheBench (ab) replacement - hwatch # A modern alternative to the watch command - sipcalc # An advanced console based IP subnet calculator - viddy # A modern watch command - wrk # Modern HTTP benchmarking tool use: "{{ aur_helper }}" state: present become: true become_user: "{{ aur_builder_user }}" # Cloud, Kubernetes and GitOps - name: "Install Cloud and Kubernetes packages" community.general.pacman: name: - argocd # Declarative continuous deployment for Kubernetes - istio # Istio configuration command line utility for service operators to debug and diagnose their Istio mesh - operator-sdk # SDK for building Kubernetes applications - packer # tool for creating identical machine images for multiple platforms from a single source configuration state: present become: true notify: - "Generate argocd fish completions" - "Generate istioctl fish completions" - name: "Install Cloud and Kubernetes tools from AUR" kewlfft.aur.aur: name: - argonaut-bin # A GitOps CLI tool for managing ArgoCD applications - cloud-sql-proxy-bin # Google Cloud SQL Auth proxy - dyff-bin # diff tool for YAML files - flux-bin # Open and extensible continuous delivery solution for Kubernetes - flux-operator # GitOps on Autopilot Mode - google-cloud-cli # A set of command-line tools for the Google Cloud Platform. Includes gcloud (with beta and alpha commands), gsutil, and bq. - google-cloud-cli-gke-gcloud-auth-plugin # A google-cloud-sdk component that provides a kubectl authentication plugin for GKE. - google-cloud-cli-gsutil # Cloud Storage Command Line Tool: gsutil is not the recommended CLI for Cloud Storage - helm-ls-bin # Language server for Helm - k0sctl # A bootstrapping and management tool for k0s clusters. - kcl-lang # KCL Programming Language - krew # Krew is the package manager for kubectl plugins - rancher-k3d-bin # Little helper to run Rancher Labs k3s in Docker use: "{{ aur_helper }}" state: present become: true become_user: "{{ aur_builder_user }}" notify: - "Generate cloud-sql-proxy fish completions" - name: "Install template and Kafka tools from AUR" kewlfft.aur.aur: name: - gomplate-bin # A flexible commandline tool for template rendering. Supports lots of local and remote datasources - kafkactl # Command Line Tool for managing Apache Kafka - kaskade # A text user interface for Kafka. Interact and consume topics from your terminal in style! - kcat-cli # A generic non-JVM producer and consumer for Apache Kafka, think of it as a netcat for Kafka use: "{{ aur_helper }}" state: present become: true become_user: "{{ aur_builder_user }}" # Go toolchain - name: 'Create "g" installer cache directory' ansible.builtin.file: path: "{{ ansible_facts['user_dir'] }}/.cache" state: directory mode: "0755" - name: 'Download "g" install script' ansible.builtin.get_url: url: https://raw.githubusercontent.com/stefanmaric/g/master/bin/install dest: "{{ ansible_facts['user_dir'] }}/.cache/g-install" mode: "0755" force: true changed_when: false - name: 'Execute "g" install script' ansible.builtin.command: cmd: "{{ ansible_facts['user_dir'] }}/.cache/g-install -y" register: g_install changed_when: >- 'g has been successfully installed' in g_install.stdout or 'g has been successfully upgraded' in g_install.stdout # Learning and documentation - name: "Install learning and documentation packages" community.general.pacman: name: - texlive-bin # TeX Live binaries - texlive-latex # TeX Live - LaTeX fundamental packages - texlive-latexextra # TeX Live - LaTeX additional packages - texlive-meta # Metapackage to install Tex Live - texlive-plaingeneric # TeX Live - Plain (La)TeX packages state: present become: true - name: "Install learning tools from AUR" kewlfft.aur.aur: name: - exercism # Command line tool for exercism.io use: "{{ aur_helper }}" state: present become: true become_user: "{{ aur_builder_user }}" # AI tools - name: "Install AI packages" community.general.pacman: name: - ollama # Create, run and share large language models (LLMs) state: present become: true - name: "Install AI tools from AUR" kewlfft.aur.aur: name: - claude-code # An agentic coding tool that lives in your terminal - claude-desktop-native # Unofficial Claude Desktop for Linux - codebase-memory-mcp-ui-bin # High-performance code intelligence MCP server with persistent knowledge graph (with UI) - crush-bin # A powerful terminal-based AI assistant for developers, providing intelligent coding assistance directly in your terminal. - openai-codex-bin # Arch Linux package for OpenAI's Codex CLI - Auto Updated - opencode-bin # The AI coding agent built for the terminal. - opencode-qwencode-oauth # Qwen OAuth authentication plugin for opencode with multi-account rotation - pi # AI coding agent for the terminal — minimal, extensible and optimized for tool use - qwen-code-bin # Open-source AI agent based on Gemini CLI by QwenLM - rtk-bin # CLI proxy that reduces LLM token consumption by 60-90% on common dev commands use: "{{ aur_helper }}" state: present become: true become_user: "{{ aur_builder_user }}" - name: "Install 'skills' Node package" community.general.npm: name: skills global: true state: present become: true - name: "Install 'codebase' Node package" community.general.npm: name: '@autodev/codebase' global: true state: present become: true - name: "Install 'opencode-codebase-index' Node package" community.general.npm: name: 'opencode-codebase-index' global: true state: present become: true - name: "Enable Ollama" ansible.builtin.systemd: name: ollama state: started enabled: true become: true handlers: - name: "Generate argocd fish completions" ansible.builtin.shell: cmd: argocd completion fish > "{{ ansible_facts['user_dir'] }}/.config/fish/completions/argocd.fish" changed_when: true - name: "Generate istioctl fish completions" ansible.builtin.shell: cmd: istioctl completion fish > "{{ ansible_facts['user_dir'] }}/.config/fish/completions/istioctl.fish" changed_when: true - name: "Generate cloud-sql-proxy fish completions" ansible.builtin.shell: cmd: cloud-sql-proxy completion fish > "{{ ansible_facts['user_dir'] }}/.config/fish/completions/cloud-sql-proxy.fish" changed_when: true