main.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. - name: add PPA for Ubuntu Toolchain
  2. become: true
  3. ansible.builtin.apt_repository:
  4. repo: ppa:ubuntu-toolchain-r/test
  5. when: ansible_distribution == 'Ubuntu'
  6. - name: Install dependicy packages
  7. become: true
  8. apt:
  9. pkg:
  10. - apt-transport-https
  11. - software-properties-common
  12. - gnupg
  13. - sshpass
  14. - wpasupplicant
  15. - rsync
  16. - at
  17. - sysstat
  18. - libtool
  19. - ethtool
  20. - nethogs
  21. - dnsutils
  22. - dnsmasq
  23. - uuid-runtime
  24. - lshw
  25. - tcpdump
  26. - lm-sensors
  27. # - hddtemp NOT work on jammy
  28. - dmidecode
  29. - net-tools
  30. - iputils-arping
  31. - iputils-ping
  32. - telnet
  33. - vim
  34. - git
  35. - pwgen
  36. - locales
  37. - ntpdate
  38. - imagemagick
  39. - mpg123
  40. - ffmpeg
  41. - sqlite3
  42. - tree
  43. - alsa-utils
  44. - pulseaudio
  45. - zsh
  46. - wget
  47. - curl
  48. - zip
  49. - unzip
  50. - systemd-cron
  51. - systemd-timesyncd
  52. - systemd-journal-remote
  53. - screen
  54. - tmux
  55. - hugo
  56. - python3-full
  57. - python3-dev
  58. - certbot
  59. - python3-certbot-nginx
  60. - build-essential
  61. - pkg-config
  62. - cmake
  63. - libssl-dev
  64. - libpq-dev
  65. - libmysqlclient-dev
  66. - libsqlite3-dev
  67. - libudev-dev
  68. - crun
  69. - podman
  70. - buildah
  71. - fuse-overlayfs
  72. - include_tasks: locales.yml
  73. - name: Set default editor to vim
  74. become: true
  75. shell: update-alternatives --set editor /usr/bin/vim.basic
  76. - name: Set git rebase mode
  77. become: true
  78. shell: git config --global pull.rebase false
  79. - name: setup git to use http v1.1
  80. shell: git config --global http.version HTTP/1.1
  81. # ---------------------------------------------------
  82. - name: check if friendlyelec
  83. ansible.builtin.stat:
  84. path: /etc/friendlyelec-release
  85. register: app_os_friendlyelec
  86. - include_tasks: friendly-core.yml
  87. when: app_os_friendlyelec.stat.islnk is defined and app_os_friendlyelec.stat.isreg
  88. - name: check if armbian
  89. ansible.builtin.stat:
  90. path: /etc/armbian-release
  91. register: app_os_armbian
  92. - include_tasks: armbian.yml
  93. when: app_os_armbian.stat.islnk is defined and app_os_armbian.stat.isreg
  94. - include_tasks: raspbian.yml
  95. when: ansible_distribution == 'Raspbian'
  96. - include_tasks: pi.yml
  97. when: ansible_distribution == 'Raspbian' or (app_os_armbian.stat.islnk is defined and app_os_armbian.stat.isreg) or (app_os_friendlyelec.stat.islnk is defined and app_os_friendlyelec.stat.isreg)
  98. # ---------------------------------------------------
  99. # FIXME failed on jammy
  100. # - name: enable cron service
  101. # become: true
  102. # ansible.builtin.systemd:
  103. # name: cron
  104. # enabled: yes
  105. # masked: no
  106. - name: enable ssh service
  107. become: true
  108. ansible.builtin.systemd:
  109. name: ssh
  110. enabled: yes
  111. masked: no
  112. - name: enable systemd-timesyncd service
  113. become: true
  114. ansible.builtin.systemd:
  115. name: systemd-timesyncd
  116. enabled: yes
  117. masked: no
  118. - include_tasks: clean.yml