Compare commits

...

7 Commits

Author SHA1 Message Date
5484dabcfe Fix default hostname 2023-10-21 13:41:29 +03:00
bccd836e3d Add hostname configuration 2023-10-05 23:56:20 +03:00
0f804bce19 Update default common packages list 2023-08-27 23:27:54 +03:00
Oleg Vasilev
acfcba52c1 Stupid ansible 2022-02-22 01:51:42 +03:00
Oleg Vasilev
ce41bd0da8 Major role refactoring 2022-02-22 01:46:02 +03:00
Oleg Vasilev
427b7ecac8 Improve locale configuration 2022-02-12 13:59:25 +03:00
Oleg Vasilev
1529ac5ef5 Update copyright 2022-02-12 13:57:37 +03:00
13 changed files with 119 additions and 100 deletions

View File

@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) <year> <copyright holders> Copyright (c) 2022 Oleg "Zmey!" Vasiliev
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

View File

@@ -1,3 +1,3 @@
# archlinux-common # archlinux-common
Ansible role for configuring common things on Archlinux Ansible role for configuring common things on Archlinux

42
defaults/main.yml Normal file
View File

@@ -0,0 +1,42 @@
---
common_hostname: "{{ inventory_hostname }}"
# https://sourceware.org/glibc/wiki/Locales
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 }}"
system_locale_time: "{{ system_locale_lang }}"
system_locale_collate: "{{ system_locale_lang }}"
system_locale_monetary: "{{ system_locale_lang }}"
system_locale_messages: "{{ system_locale_lang }}"
system_locale_paper: "{{ system_locale_lang }}"
system_locale_name: "{{ system_locale_lang }}"
system_locale_address: "{{ system_locale_lang }}"
system_locale_telephone: "{{ system_locale_lang }}"
system_locale_measurement: "{{ system_locale_lang }}"
system_locale_identification: "{{ system_locale_lang }}"
system_locale_all: ""
system_timezone: "Europe/Moscow"
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
common_packages:
- less
- bash-completion
- htop
- nano
- bind
- wget
- curl

View File

@@ -1,4 +1,4 @@
--- ---
- name: System | Generate locales - name: Common | Generate locales
shell: locale-gen command: locale-gen

View File

@@ -1,13 +1,52 @@
--- ---
- name: Common | Configure system - name: Common | Set hostname
import_tasks: system.yml hostname:
name: "{{ common_hostname }}"
- name: Common | Configure pacman - name: Common | Set available locales
import_tasks: pacman.yml template:
src: locale.gen.j2
- name: Common | Packages dest: /etc/locale.gen
import_tasks: packages.yml mode: 0644
owner: root
group: root
notify: Common | Generate locales
- name: Common | Run handlers - name: Common | Run handlers
meta: flush_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: "{{ system_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
name: "{{ common_packages }}"

View File

@@ -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

View File

@@ -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

View File

@@ -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: System | 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

View File

@@ -1,2 +1,16 @@
# {{ ansible_managed }} # {{ ansible_managed }}
LANG={{ use_system_locale }}
LANG="{{ system_locale_lang }}"
LC_CTYPE="{{ system_locale_ctype }}"
LC_NUMERIC="{{ system_locale_numeric }}"
LC_TIME="{{ system_locale_time }}"
LC_COLLATE="{{ system_locale_collate }}"
LC_MONETARY="{{ system_locale_monetary }}"
LC_MESSAGES="{{ system_locale_messages }}"
LC_PAPER="{{ system_locale_paper }}"
LC_NAME="{{ system_locale_name }}"
LC_ADDRESS="{{ system_locale_address }}"
LC_TELEPHONE="{{ system_locale_telephone }}"
LC_MEASUREMENT="{{ system_locale_measurement }}"
LC_IDENTIFICATION="{{ system_locale_identification }}"
LC_ALL="{{ system_locale_all }}"

View File

@@ -1,4 +1,5 @@
# {{ ansible_managed }} # {{ ansible_managed }}
{% for item in system_locales | default([]) %}
{{ item }} {% for locale in system_locales %}
{{ locale }}
{% endfor %} {% endfor %}

View File

@@ -1,4 +1,5 @@
# {{ ansible_managed }} # {{ 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 %}

View File

@@ -1,4 +1,5 @@
# {{ ansible_managed}} # {{ ansible_managed}}
[options] [options]
# The following paths are commented out with their default values listed. # The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths. # If you wish to use different paths, uncomment and update the paths.
@@ -16,7 +17,7 @@ HoldPkg = pacman glibc
Architecture = auto Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg = IgnorePkg = {{ pacman_ignorepkg | join(' ') }}
#IgnoreGroup = #IgnoreGroup =
#NoUpgrade = #NoUpgrade =
@@ -25,9 +26,9 @@ Architecture = auto
# Misc options # Misc options
#UseSyslog #UseSyslog
Color Color
#TotalDownload
CheckSpace CheckSpace
VerbosePkgLists VerbosePkgLists
ParallelDownloads = {{ pacman_parallel_downloads }}
# By default, pacman accepts packages signed by keys that its local keyring # 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. # trusts (see pacman-key and its man page), as well as unsigned packages.
@@ -35,15 +36,15 @@ SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional LocalFileSigLevel = Optional
RemoteFileSigLevel = Required RemoteFileSigLevel = Required
#[testing]
#Include = /etc/pacman.d/mirrorlist
[core] [core]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
[extra] [extra]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
#[testing]
#Include = /etc/pacman.d/mirrorlist
#[community-testing] #[community-testing]
#Include = /etc/pacman.d/mirrorlist #Include = /etc/pacman.d/mirrorlist

View File

@@ -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