From ce41bd0da820514945666f750c7c5ab248e1b3ca Mon Sep 17 00:00:00 2001 From: Oleg Vasilev Date: Tue, 22 Feb 2022 01:46:02 +0300 Subject: [PATCH] Major role refactoring --- defaults/{main.yml => locales.yml} | 8 +++-- defaults/packages.yml | 18 +++++++++++ defaults/pacman.yml | 10 ++++++ defaults/timezone.yml | 3 ++ tasks/main.yml | 52 +++++++++++++++++++++++++----- tasks/packages.yml | 34 ------------------- tasks/pacman.yml | 17 ---------- tasks/system.yml | 23 ------------- templates/locale.conf.j2 | 1 + templates/locale.gen.j2 | 5 +-- templates/mirrorlist.j2 | 5 +-- templates/pacman.conf.j2 | 11 ++++--- templates/timesyncd.conf.j2 | 5 --- 13 files changed, 93 insertions(+), 99 deletions(-) rename defaults/{main.yml => locales.yml} (82%) create mode 100644 defaults/packages.yml create mode 100644 defaults/pacman.yml create mode 100644 defaults/timezone.yml delete mode 100644 tasks/packages.yml delete mode 100644 tasks/pacman.yml delete mode 100644 tasks/system.yml delete mode 100644 templates/timesyncd.conf.j2 diff --git a/defaults/main.yml b/defaults/locales.yml similarity index 82% rename from defaults/main.yml rename to defaults/locales.yml index f6bf9c8..494d948 100644 --- a/defaults/main.yml +++ b/defaults/locales.yml @@ -1,9 +1,11 @@ --- -system_locales: - - "{{ system_locale_lang }}" +# https://sourceware.org/glibc/wiki/Locales -system_locale_lang: en_US.UTF-8 +system_locales: + - en_US.UTF-8 UTF-8 + +system_locale_lang: "{{ (system_locales | first). split(' ')[0] }}" system_locale_ctype: "{{ system_locale_lang }}" system_locale_numeric: "{{ system_locale_lang }}" diff --git a/defaults/packages.yml b/defaults/packages.yml new file mode 100644 index 0000000..28efed7 --- /dev/null +++ b/defaults/packages.yml @@ -0,0 +1,18 @@ +--- + +common_packages: + - htop + - nano + - strace + - lsof + - wget + - curl + - go + - tcpdump + - nmap + - dosfstools + - arch-install-scripts + - gptfdisk + - bash-completion + - git + - bind diff --git a/defaults/pacman.yml b/defaults/pacman.yml new file mode 100644 index 0000000..7253217 --- /dev/null +++ b/defaults/pacman.yml @@ -0,0 +1,10 @@ +--- + +pacman_mirrors: + - https://mirrors.kernel.org/archlinux/$repo/os/$arch + - https://mirror.surf/archlinux/$repo/os/$arch + - https://mirror.yandex.ru/archlinux/$repo/os/$arch + +pacman_ignorepkg: [] + +pacman_parallel_downloads: 2 \ No newline at end of file diff --git a/defaults/timezone.yml b/defaults/timezone.yml new file mode 100644 index 0000000..9aa7aa1 --- /dev/null +++ b/defaults/timezone.yml @@ -0,0 +1,3 @@ +--- + +common_timezone: "Europe/Moscow" \ No newline at end of file diff --git a/tasks/main.yml b/tasks/main.yml index 8f6fa73..d2b5177 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,13 +1,49 @@ --- -- name: Common | Configure system - import_tasks: system.yml - -- name: Common | Configure pacman - import_tasks: pacman.yml - -- name: Common | Packages - import_tasks: packages.yml +- name: Common | Set available locales + template: + src: locale.gen.j2 + dest: /etc/locale.gen + mode: 0644 + owner: root + group: root + notify: Common | Generate locales - name: Common | Run handlers meta: flush_handlers + +- name: Common | Set system locale + template: + src: locale.conf.j2 + mode: 0644 + owner: root + group: root + dest: /etc/locale.conf + + +- name: Common | Set timezone + timezone: + name: "{{ common_timezone }}" + + +- name: Common | Deploy pacman main config + template: + src: pacman.conf.j2 + dest: /etc/pacman.conf + mode: 0644 + owner: root + group: root + +- name: Common | Setup pacman repos + template: + src: mirrorlist.j2 + dest: /etc/pacman.d/mirrorlist + mode: 0644 + owner: root + group: root + +- name: Common | Install useful common packages + pacman: + state: present + update_cache: yes + name: "{{ common_packages }}" diff --git a/tasks/packages.yml b/tasks/packages.yml deleted file mode 100644 index 5ff6eaf..0000000 --- a/tasks/packages.yml +++ /dev/null @@ -1,34 +0,0 @@ ---- - -- name: Common | Install useful packages - pacman: - state: present - update_cache: yes -# Move this to vars and add additional variable for custom packages - name: - - htop - - nano - - strace - - lsof - - wget - - curl - - go - - tcpdump - - nmap - - dosfstools - - arch-install-scripts - - gptfdisk - - bash-completion - - git - - bind - -#- block: -# - name: Common | Install yay from aur -# aur: -# name: yay -# use: makepkg -# skip_installed: yes - -# become: no - - diff --git a/tasks/pacman.yml b/tasks/pacman.yml deleted file mode 100644 index d8a6ad8..0000000 --- a/tasks/pacman.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- - -- name: Common | Deploy pacman main config - template: - src: pacman.conf.j2 - dest: /etc/pacman.conf - mode: 0644 - owner: root - group: root - -- name: Common | Setup pacman repos - template: - src: mirrorlist.j2 - dest: /etc/pacman.d/mirrorlist - mode: 0644 - owner: root - group: root diff --git a/tasks/system.yml b/tasks/system.yml deleted file mode 100644 index d0606e5..0000000 --- a/tasks/system.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- - -- name: Common | Set or/and generate locales - template: - src: locale.gen.j2 - dest: /etc/locale.gen - mode: 0644 - owner: root - group: root - notify: Common | Generate locales - -- name: Common | Set system locale - template: - src: locale.conf.j2 - mode: 0644 - owner: root - group: root - dest: /etc/locale.conf - -- name: Common | Set timezone - timezone: - name: Europe/Moscow - diff --git a/templates/locale.conf.j2 b/templates/locale.conf.j2 index a23eec9..4f72f3c 100644 --- a/templates/locale.conf.j2 +++ b/templates/locale.conf.j2 @@ -1,4 +1,5 @@ # {{ ansible_managed }} + LANG="{{ system_locale_lang }}" LC_CTYPE="{{ system_locale_ctype }}" LC_NUMERIC="{{ system_locale_numeric }}" diff --git a/templates/locale.gen.j2 b/templates/locale.gen.j2 index 5b709d5..b8976a2 100644 --- a/templates/locale.gen.j2 +++ b/templates/locale.gen.j2 @@ -1,4 +1,5 @@ # {{ ansible_managed }} -{% for item in system_locales %} -{{ item }} + +{% for locale in system_locales %} +{{ locale }} {% endfor %} diff --git a/templates/mirrorlist.j2 b/templates/mirrorlist.j2 index 508d969..93540be 100644 --- a/templates/mirrorlist.j2 +++ b/templates/mirrorlist.j2 @@ -1,4 +1,5 @@ # {{ ansible_managed }} -Server = http://mirror.zeym.org/archlinux/$repo/os/$arch -Server = http://mirror.yandex.ru/archlinux/$repo/os/$arch +{% for server in pacman_mirrors %} +Server = {{ server }} +{% endfor %} diff --git a/templates/pacman.conf.j2 b/templates/pacman.conf.j2 index 1fc8588..78509a2 100644 --- a/templates/pacman.conf.j2 +++ b/templates/pacman.conf.j2 @@ -1,4 +1,5 @@ # {{ ansible_managed}} + [options] # The following paths are commented out with their default values listed. # If you wish to use different paths, uncomment and update the paths. @@ -16,7 +17,7 @@ HoldPkg = pacman glibc Architecture = auto # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = +IgnorePkg = {{ pacman_ignorepkg | join(' ') }} #IgnoreGroup = #NoUpgrade = @@ -25,9 +26,9 @@ Architecture = auto # Misc options #UseSyslog Color -#TotalDownload CheckSpace VerbosePkgLists +ParallelDownloads = {{ pacman_parallel_downloads }} # By default, pacman accepts packages signed by keys that its local keyring # trusts (see pacman-key and its man page), as well as unsigned packages. @@ -35,15 +36,15 @@ SigLevel = Required DatabaseOptional LocalFileSigLevel = Optional RemoteFileSigLevel = Required -#[testing] -#Include = /etc/pacman.d/mirrorlist - [core] Include = /etc/pacman.d/mirrorlist [extra] Include = /etc/pacman.d/mirrorlist +#[testing] +#Include = /etc/pacman.d/mirrorlist + #[community-testing] #Include = /etc/pacman.d/mirrorlist diff --git a/templates/timesyncd.conf.j2 b/templates/timesyncd.conf.j2 deleted file mode 100644 index a702227..0000000 --- a/templates/timesyncd.conf.j2 +++ /dev/null @@ -1,5 +0,0 @@ -# {{ ansible_managed }} -[Time] -NTP=pool.ntp.org -FallbackNTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org -RootDistanceMaxSec=10