main.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  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. - ninja-build
  62. - pkg-config
  63. - cmake
  64. - libssl-dev
  65. - libpq-dev
  66. - libmysqlclient-dev
  67. - libsqlite3-dev
  68. - libudev-dev
  69. - crun
  70. - podman
  71. - buildah
  72. - fuse-overlayfs
  73. - include_tasks: locales.yml
  74. - name: Set default editor to vim
  75. become: true
  76. shell: update-alternatives --set editor /usr/bin/vim.basic
  77. - name: Set git rebase mode
  78. become: true
  79. shell: git config --global pull.rebase false
  80. - name: setup git to use http v1.1
  81. shell: git config --global http.version HTTP/1.1
  82. # ---------------------------------------------------
  83. - name: check if friendlyelec
  84. ansible.builtin.stat:
  85. path: /etc/friendlyelec-release
  86. register: app_os_friendlyelec
  87. - include_tasks: friendly-core.yml
  88. when: app_os_friendlyelec.stat.islnk is defined and app_os_friendlyelec.stat.isreg
  89. - name: check if armbian
  90. ansible.builtin.stat:
  91. path: /etc/armbian-release
  92. register: app_os_armbian
  93. - include_tasks: armbian.yml
  94. when: app_os_armbian.stat.islnk is defined and app_os_armbian.stat.isreg
  95. - include_tasks: raspbian.yml
  96. when: ansible_distribution == 'Raspbian'
  97. - include_tasks: pi.yml
  98. 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)
  99. # ---------------------------------------------------
  100. # FIXME failed on jammy
  101. # - name: enable cron service
  102. # become: true
  103. # ansible.builtin.systemd:
  104. # name: cron
  105. # enabled: yes
  106. # masked: no
  107. - name: enable ssh service
  108. become: true
  109. ansible.builtin.systemd:
  110. name: ssh
  111. enabled: yes
  112. masked: no
  113. - name: enable systemd-timesyncd service
  114. become: true
  115. ansible.builtin.systemd:
  116. name: systemd-timesyncd
  117. enabled: yes
  118. masked: no
  119. - include_tasks: clean.yml