From 26562383cb823b6dbcb5f06163d11e72c454980e Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 30 Nov 2020 20:43:15 +0100 Subject: [PATCH] Add generic pacman configuration --- roles/arch/tasks/main.yml | 20 ++++++- roles/arch/templates/pacman.j2 | 104 +++++++++++++++++++++++++++++++++ 2 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 roles/arch/templates/pacman.j2 diff --git a/roles/arch/tasks/main.yml b/roles/arch/tasks/main.yml index 2adfc96..b605b7f 100644 --- a/roles/arch/tasks/main.yml +++ b/roles/arch/tasks/main.yml @@ -24,9 +24,27 @@ mode: "0600" notify: disable reflector +- name: copy pacman configuration + become: yes + template: + src: "pacman.j2" + dest: "/etc/pacman.conf" + owner: root + group: root + mode: "0644" + +- name: create extra conf + become: yes + file: + path: "/etc/pacman.d/extra.conf" + owner: root + group: root + state: touch + mode: "0644" + # TODO -# - pacman setup depending on platform (see include section for common options) # - laptop power saving configuration +# - laptop pacman specific configuration - include_tasks: systemd.yml - include_tasks: gpg.yml # TODO diff --git a/roles/arch/templates/pacman.j2 b/roles/arch/templates/pacman.j2 new file mode 100644 index 0000000..7b2a63b --- /dev/null +++ b/roles/arch/templates/pacman.j2 @@ -0,0 +1,104 @@ +# {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} +# +# /etc/pacman.conf +# +# Add platform specific settings in /etc/pacman.d/extra.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +Include = /etc/pacman.d/extra.conf + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#TotalDownload +CheckSpace +VerbosePkgLists + +# 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. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +#[multilib] +#Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs