Switchung from puppet to ansible
This commit is contained in:
parent
bdf372d2cc
commit
2bc8b3c3b3
31 changed files with 533 additions and 606 deletions
|
@ -70,7 +70,7 @@ The diskdevice is /dev/sda.
|
|||
- Install the base-system
|
||||
#+BEGIN_SRC
|
||||
$ pacstrap /mnt base base-devel dialog openssl-1.0 git intel-ucode \
|
||||
wpa_supplicant puppet linux linux-firmware vi netctl
|
||||
wpa_supplicant ansible linux linux-firmware vi netctl
|
||||
#+END_SRC
|
||||
- Generate fstab for the new system
|
||||
#+BEGIN_SRC
|
||||
|
@ -136,7 +136,7 @@ fbcon=rotate:1 rotates the display. This is ONLY NEEDED on device like GPD Pocke
|
|||
$ cd dotfiles
|
||||
$ ./Setup.sh
|
||||
$ cd sysconfig_arch
|
||||
$ puppet apply --modulepath ./modules cfg_base.pp
|
||||
$ sudo ansible-playbook baseconfig.yaml
|
||||
#+END_SRC
|
||||
- Setup.sh can take options to replace some configfiles. Options are:
|
||||
| Option | Description |
|
||||
|
@ -174,10 +174,9 @@ fbcon=rotate:1 rotates the display. This is ONLY NEEDED on device like GPD Pocke
|
|||
$ cd dotfiles
|
||||
$ ./Setup.sh
|
||||
$ cd sysconfig_arch
|
||||
$ sudo puppet apply --modulepath ./modules cfg_[WANTED-CONFIGS].pp
|
||||
$ sudo ansible-playbook workstation.yaml
|
||||
#+END_SRC
|
||||
- If there are special configfiles for Setup.sh, repeat with appropriate options. (See above)
|
||||
- configs with cfg_zz need to be applied last as they overwrite previous settings
|
||||
- At some point the Desktop will start. When this happens, just log on and continue inside a terminal
|
||||
- Update the system
|
||||
#+BEGIN_SRC
|
||||
|
|
|
@ -2,16 +2,15 @@
|
|||
alwaysshowpkgorigin = no
|
||||
develpkgsexpiration = 301
|
||||
upgradesorting = versiondiff
|
||||
showdownloadsize = no
|
||||
ignoreoutofdateaurupgrades = no
|
||||
|
||||
[build]
|
||||
keepbuilddir = no
|
||||
keepdevbuilddir = yes
|
||||
skipfailedbuild = no
|
||||
alwaysusedynamicusers = no
|
||||
noedit = no
|
||||
donteditbydefault = yes
|
||||
nodiff = yes
|
||||
gitdiffargs = --ignore-space-change,--ignore-all-space
|
||||
keepbuilddeps = no
|
||||
|
||||
[colors]
|
||||
version = 10
|
||||
|
@ -20,11 +19,30 @@ versiondiffnew = 9
|
|||
|
||||
[ui]
|
||||
requireenterconfirm = no
|
||||
diffpager = auto
|
||||
printcommands = no
|
||||
aursearchsorting = hottest
|
||||
displaylastupdated = no
|
||||
groupbyrepository = yes
|
||||
reversesearchsorting = no
|
||||
|
||||
[misc]
|
||||
sudoloopinterval = 1
|
||||
pacmanpath = pacman
|
||||
debug = no
|
||||
privilegeescalationtool = sudo
|
||||
|
||||
[review]
|
||||
noedit = no
|
||||
donteditbydefault = yes
|
||||
nodiff = yes
|
||||
gitdiffargs = --ignore-space-change,--ignore-all-space
|
||||
diffpager = auto
|
||||
hidedifffiles = .SRCINFO
|
||||
|
||||
[network]
|
||||
aururl = https://aur.archlinux.org
|
||||
newsurl = https://www.archlinux.org/feeds/news/
|
||||
socks5proxy =
|
||||
aurhttpproxy =
|
||||
aurhttpsproxy =
|
||||
|
||||
|
|
|
@ -121,10 +121,10 @@ alias l1vim='vim -c "e ++enc=latin1"'
|
|||
alias get_systemp="paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) <(ls -1 /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t"
|
||||
|
||||
# Spezialitäten für Arch Linux
|
||||
alias y_clean='yaourt -Rsn $(yaourt -Qqdt)'
|
||||
alias y_update='yaourt -Syu --aur'
|
||||
alias y_inst='yaourt -Sy'
|
||||
alias y_rem='yaourt -Rsn'
|
||||
alias y_clean='pikaur -Rsn $(yaourt -Qqdt)'
|
||||
alias y_update='pikaur -Syu --aur'
|
||||
alias y_inst='pikaur -Sy'
|
||||
alias y_rem='pikaur -Rsn'
|
||||
|
||||
# Passwort erstellen
|
||||
alias mkpasswd='openssl rand -base64 40 | cut -c1-40'
|
||||
|
|
125
sysconfig_arch/baseconfig.yaml
Normal file
125
sysconfig_arch/baseconfig.yaml
Normal file
|
@ -0,0 +1,125 @@
|
|||
- name: "Base config for all arch hosts"
|
||||
hosts: localhost
|
||||
connection: local
|
||||
|
||||
tasks:
|
||||
|
||||
- name: "Install base packages"
|
||||
package:
|
||||
name: '{{ item }}'
|
||||
state: present
|
||||
update_cache: True
|
||||
with_items:
|
||||
- fortune-mod
|
||||
- git
|
||||
- intel-ucode
|
||||
- make
|
||||
- openssh
|
||||
- rsync
|
||||
- sudo
|
||||
- vim
|
||||
|
||||
- name: "Console settings"
|
||||
when: "'gpd' not in inventory_hostname"
|
||||
copy:
|
||||
dest: /etc/vconsole.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
content: |
|
||||
KEYMAP=de-latin1-nodeadkeys
|
||||
|
||||
- name: "Console settings (GPD Pocket 2)"
|
||||
when: "'gpd' in inventory_hostname"
|
||||
copy:
|
||||
dest: /etc/vconsole.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
content: |
|
||||
KEYMAP=de-latin1-nodeadkeys
|
||||
FONT=latarcyrheb-sun32
|
||||
|
||||
- name: "Localization: Set papersize"
|
||||
copy:
|
||||
dest: /etc/papersize
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
content: |
|
||||
a4
|
||||
|
||||
- name: "Localization: Set timezone"
|
||||
file:
|
||||
dest: /etc/localtime
|
||||
src: /usr/share/zoneinfo/Europe/Berlin
|
||||
state: link
|
||||
|
||||
- name: "Localization: locale.conf"
|
||||
copy:
|
||||
dest: /etc/locale.conf"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
content: |
|
||||
##### THIS IS MANAGED BY ANSIBLE #####
|
||||
LANG=de_DE.UTF-8
|
||||
LC_MESSAGES=en_US.UTF-8
|
||||
LC_COLLATE=C
|
||||
LC_CTYPE=de_DE.UTF-8
|
||||
LC_NUMERIC=de_DE.UTF-8
|
||||
LC_TIME=de_DE.UTF-8
|
||||
LC_MONETARY=de_DE.UTF-8
|
||||
LC_PAPER=de_DE.UTF-8
|
||||
LC_NAME=de_DE.UTF-8
|
||||
LC_ADDRESS=de_DE.UTF-8
|
||||
LC_TELEPHONE=de_DE.UTF-8
|
||||
LC_MEASUREMENT=de_DE.UTF-8
|
||||
LC_IDENTIFICATION=de_DE.UTF-8
|
||||
|
||||
- name: "Localization: locale.gen"
|
||||
register: locale_gen
|
||||
copy:
|
||||
dest: /etc/locale.gen
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
content: |
|
||||
##### THIS IS MANAGED BY ANSIBLE #####
|
||||
de_DE.UTF-8 UTF-8
|
||||
en_US.UTF-8 UTF-8
|
||||
|
||||
- name: "Localization: Regenerate locale"
|
||||
command: "/usr/bin/locale-gen"
|
||||
when: locale_gen.changed
|
||||
|
||||
- name: "Use systemd-timesyncd"
|
||||
service:
|
||||
name: systemd-timesyncd
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
- name: "Sudo: config file"
|
||||
copy:
|
||||
dest: /etc/sudoers
|
||||
src: ./lib/etc/sudoers
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0440
|
||||
|
||||
- name: "Sudo: Create groups"
|
||||
group:
|
||||
name: '{{ item }}'
|
||||
state: present
|
||||
system: true
|
||||
with_items:
|
||||
- wheel
|
||||
- sudo
|
||||
|
||||
- name: "Pacman configuration"
|
||||
copy:
|
||||
dest: /etc/pacman.conf
|
||||
src: ./lib/etc/pacman.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
|
@ -1,108 +0,0 @@
|
|||
############################################################################
|
||||
###
|
||||
## Base Config for all systems
|
||||
#
|
||||
#
|
||||
|
||||
## Some Packages...
|
||||
package {'fortune-mod': ensure => installed}
|
||||
package {'git': ensure => installed}
|
||||
package {'intel-ucode': ensure => installed}
|
||||
package {'make': ensure => installed}
|
||||
package {'openssh': ensure => installed}
|
||||
package {'rsync': ensure => installed}
|
||||
package {'sudo': ensure => installed}
|
||||
package {'vim': ensure => installed}
|
||||
|
||||
## Some localization
|
||||
file {'/etc/vconsole.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
content => "KEYMAP=de-latin1-nodeadkeys\n",
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
}
|
||||
|
||||
file {'/etc/papersize':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
content => "a4\n",
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
}
|
||||
|
||||
file {'/etc/localtime':
|
||||
ensure => link,
|
||||
backup => false,
|
||||
target => '/usr/share/zoneinfo/Europe/Berlin',
|
||||
}
|
||||
|
||||
file {'/etc/locale.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/base/etc/locale.conf",
|
||||
}
|
||||
|
||||
file {'/etc/locale.gen':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/base/etc/locale.gen",
|
||||
}
|
||||
exec { '/usr/bin/locale-gen':
|
||||
subscribe => [
|
||||
File['/etc/locale.gen'],
|
||||
],
|
||||
refreshonly => true,
|
||||
}
|
||||
|
||||
## We'll use Network time
|
||||
service {'systemd-timesyncd':
|
||||
ensure => 'running',
|
||||
enable => true,
|
||||
}
|
||||
|
||||
|
||||
## Sudo...
|
||||
file {'/etc/sudoers':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0440',
|
||||
source => "puppet:///modules/base/etc/sudoers",
|
||||
}
|
||||
|
||||
group { 'sudo':
|
||||
ensure => present,
|
||||
system => true,
|
||||
}
|
||||
group { 'autologin':
|
||||
ensure => present,
|
||||
system => true,
|
||||
}
|
||||
|
||||
## Config for the packagemanagers
|
||||
file {'/etc/pacman.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/base/etc/pacman.conf",
|
||||
}
|
||||
file {'/etc/yaourtrc':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/base/etc/yaourtrc",
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
############################################################################
|
||||
###
|
||||
## Additional packages from AUR, this time puppet needs to be run
|
||||
# as user with sudo privileges
|
||||
#
|
||||
#
|
||||
|
||||
package {'free42': ensure => installed}
|
||||
package {'insync': ensure => installed}
|
||||
package {'c-lolcat': ensure => installed}
|
||||
package {'python-i3-py': ensure => installed}
|
||||
package {'ttf-unifont': ensure => installed}
|
||||
package {'ttf-symbola': ensure => installed}
|
|
@ -1,21 +0,0 @@
|
|||
############################################################################
|
||||
###
|
||||
## Additional config for Laptops
|
||||
#
|
||||
#
|
||||
|
||||
package {'tlp': ensure => installed}
|
||||
|
||||
service {'tlp':
|
||||
ensure => 'running',
|
||||
enable => true,
|
||||
}
|
||||
|
||||
file {'/etc/default/tlp':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/desktop/etc/default/tlp",
|
||||
}
|
|
@ -1,245 +0,0 @@
|
|||
############################################################################
|
||||
###
|
||||
## Additional config for Workstations
|
||||
#
|
||||
#
|
||||
|
||||
## Disable ctrl-alt-del
|
||||
service {'ctrl-alt-del.target':
|
||||
enable => 'mask',
|
||||
}
|
||||
## Lots of Packages...
|
||||
package {'acpi': ensure => installed}
|
||||
package {'alsa-utils': ensure => installed}
|
||||
package {'alacritty': ensure => installed}
|
||||
package {'arandr': ensure => installed}
|
||||
package {'aspell': ensure => installed}
|
||||
package {'aspell-de': ensure => installed}
|
||||
package {'aspell-en': ensure => installed}
|
||||
package {'autoconf': ensure => installed}
|
||||
package {'automake': ensure => installed}
|
||||
package {'bash': ensure => installed}
|
||||
package {'bash-completion': ensure => installed}
|
||||
package {'binutils': ensure => installed}
|
||||
package {'bison': ensure => installed}
|
||||
package {'blueman': ensure => installed}
|
||||
package {'bluez-utils': ensure => installed}
|
||||
package {'btrfs-progs': ensure => installed}
|
||||
package {'bzip2': ensure => installed}
|
||||
package {'cool-retro-term': ensure => installed}
|
||||
package {'coreutils': ensure => installed}
|
||||
package {'cryptsetup': ensure => installed}
|
||||
package {'ctags': ensure => installed}
|
||||
package {'curl': ensure => installed}
|
||||
package {'device-mapper': ensure => installed}
|
||||
package {'dhcpcd': ensure => installed}
|
||||
package {'dialog': ensure => installed}
|
||||
package {'diffutils': ensure => installed}
|
||||
package {'dmenu': ensure => installed}
|
||||
package {'dos2unix': ensure => installed}
|
||||
package {'dosfstools': ensure => installed}
|
||||
package {'dunst': ensure => installed}
|
||||
package {'e2fsprogs': ensure => installed}
|
||||
package {'emacs': ensure => installed}
|
||||
package {'expac': ensure => installed}
|
||||
package {'fakeroot': ensure => installed}
|
||||
package {'feh': ensure => installed}
|
||||
package {'file': ensure => installed}
|
||||
package {'filesystem': ensure => installed}
|
||||
package {'findutils': ensure => installed}
|
||||
package {'firefox': ensure => installed}
|
||||
package {'firefox-i18n-de': ensure => installed}
|
||||
package {'flex': ensure => installed}
|
||||
package {'gawk': ensure => installed}
|
||||
package {'gcc': ensure => installed}
|
||||
package {'gcc-libs': ensure => installed}
|
||||
package {'gettext': ensure => installed}
|
||||
package {'glibc': ensure => installed}
|
||||
package {'gnu-netcat': ensure => installed}
|
||||
package {'gnome-backgrounds': ensure => installed}
|
||||
package {'grep': ensure => installed}
|
||||
package {'groff': ensure => installed}
|
||||
package {'gzip': ensure => installed}
|
||||
package {'hdparm': ensure => installed}
|
||||
package {'i3-wm': ensure => installed}
|
||||
package {'i3lock': ensure => installed}
|
||||
package {'i3status': ensure => installed}
|
||||
package {'imagemagick': ensure => installed}
|
||||
package {'inetutils': ensure => installed}
|
||||
package {'iproute2': ensure => installed}
|
||||
package {'iputils': ensure => installed}
|
||||
package {'ispell': ensure => installed}
|
||||
package {'iw': ensure => installed}
|
||||
package {'jfsutils': ensure => installed}
|
||||
package {'keepassxc': ensure => installed}
|
||||
package {'less': ensure => installed}
|
||||
package {'libreoffice-fresh': ensure => installed}
|
||||
package {'libtool': ensure => installed}
|
||||
package {'licenses': ensure => installed}
|
||||
package {'lightdm': ensure => installed}
|
||||
package {'lightdm-gtk-greeter': ensure => installed}
|
||||
package {'lightdm-gtk-greeter-settings': ensure => installed}
|
||||
package {'linux': ensure => installed}
|
||||
package {'linux-headers': ensure => installed}
|
||||
package {'lm_sensors': ensure => installed}
|
||||
package {'logrotate': ensure => installed}
|
||||
package {'lshw': ensure => installed}
|
||||
package {'lvm2': ensure => installed}
|
||||
package {'m4': ensure => installed}
|
||||
package {'man-db': ensure => installed}
|
||||
package {'man-pages': ensure => installed}
|
||||
package {'mc': ensure => installed}
|
||||
package {'mdadm': ensure => installed}
|
||||
package {'mercurial': ensure => installed}
|
||||
package {'mplayer': ensure => installed}
|
||||
package {'nano': ensure => installed}
|
||||
package {'network-manager-applet': ensure => installed}
|
||||
package {'networkmanager': ensure => installed}
|
||||
package {'nmap': ensure => installed}
|
||||
package {'nmon': ensure => installed}
|
||||
package {'nomacs': ensure => installed}
|
||||
package {'p7zip': ensure => installed}
|
||||
package {'pacman': ensure => installed}
|
||||
package {'parcellite': ensure => installed}
|
||||
package {'patch': ensure => installed}
|
||||
package {'pciutils': ensure => installed}
|
||||
package {'pcmanfm-gtk3': ensure => installed}
|
||||
package {'perl': ensure => installed}
|
||||
package {'perl-date-manip': ensure => installed}
|
||||
package {'perl-finance-quote': ensure => installed}
|
||||
package {'procps-ng': ensure => installed}
|
||||
package {'psmisc': ensure => installed}
|
||||
package {'qrencode': ensure => installed}
|
||||
package {'rng-tools': ensure => installed}
|
||||
package {'ruby': ensure => installed}
|
||||
package {'rxvt-unicode': ensure => installed}
|
||||
package {'screenfetch': ensure => installed}
|
||||
package {'scrot': ensure => installed}
|
||||
package {'seahorse': ensure => installed}
|
||||
package {'sed': ensure => installed}
|
||||
package {'shadow': ensure => installed}
|
||||
package {'sharutils': ensure => installed}
|
||||
package {'strace': ensure => installed}
|
||||
package {'subversion': ensure => installed}
|
||||
package {'sysfsutils': ensure => installed}
|
||||
package {'systemd-sysvcompat': ensure => installed}
|
||||
package {'tar': ensure => installed}
|
||||
package {'tcl': ensure => installed}
|
||||
package {'texinfo': ensure => installed}
|
||||
package {'texlive-bibtexextra': ensure => installed}
|
||||
package {'texlive-core': ensure => installed}
|
||||
package {'texlive-fontsextra': ensure => installed}
|
||||
package {'texlive-formatsextra': ensure => installed}
|
||||
package {'texlive-games': ensure => installed}
|
||||
package {'texlive-humanities': ensure => installed}
|
||||
package {'texlive-latexextra': ensure => installed}
|
||||
package {'texlive-music': ensure => installed}
|
||||
package {'texlive-pictures': ensure => installed}
|
||||
package {'texlive-pstricks': ensure => installed}
|
||||
package {'texlive-publishers': ensure => installed}
|
||||
package {'texlive-science': ensure => installed}
|
||||
package {'tk': ensure => installed}
|
||||
package {'tree': ensure => installed}
|
||||
package {'ttf-inconsolata': ensure => installed}
|
||||
package {'unzip': ensure => installed}
|
||||
package {'usbutils': ensure => installed}
|
||||
package {'util-linux': ensure => installed}
|
||||
package {'w3m': ensure => installed}
|
||||
package {'wget': ensure => installed}
|
||||
package {'which': ensure => installed}
|
||||
package {'wpa_supplicant': ensure => installed}
|
||||
package {'wxmaxima': ensure => installed}
|
||||
package {'xautolock': ensure => installed}
|
||||
package {'xclip': ensure => installed}
|
||||
package {'xdot': ensure => installed}
|
||||
package {'xf86-input-synaptics': ensure => installed}
|
||||
package {'xf86-video-intel': ensure => installed}
|
||||
package {'xfsprogs': ensure => installed}
|
||||
package {'xreader': ensure => installed}
|
||||
package {'xorg-apps': ensure => installed}
|
||||
package {'xorg-xclipboard': ensure => installed} # Important for Citrix
|
||||
package {'xorg-server': ensure => installed}
|
||||
package {'xterm': ensure => installed}
|
||||
package {'zathura': ensure => installed}
|
||||
package {'zathura-pdf-mupdf': ensure => installed}
|
||||
|
||||
## Audio-Zeugs
|
||||
package {'pulseaudio': ensure => installed}
|
||||
package {'pulseaudio-alsa': ensure => installed}
|
||||
package {'pulseaudio-bluetooth': ensure => installed}
|
||||
package {'pulsemixer': ensure => installed}
|
||||
package {'pavucontrol': ensure => installed}
|
||||
package {'pasystray': ensure => installed}
|
||||
package {'paprefs': ensure => installed}
|
||||
|
||||
## Logon and Greeting
|
||||
file {'/etc/systemd/logind.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/desktop/etc/systemd/logind.conf",
|
||||
}
|
||||
|
||||
file {'/etc/lightdm/lightdm-gtk-greeter.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/desktop/etc/lightdm/lightdm-gtk-greeter.conf",
|
||||
}
|
||||
|
||||
file {'/etc/lightdm/lightdm.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/desktop/etc/lightdm/lightdm.conf",
|
||||
}
|
||||
|
||||
file {'/etc/pam.d/login':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/desktop/etc/pam.d/login",
|
||||
}
|
||||
|
||||
file {'/etc/X11/xorg.conf.d/00-keyboard.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/desktop/etc/X11/xorg.conf.d/00-keyboard.conf",
|
||||
}
|
||||
|
||||
file {'/etc/pam.d/passwd':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/desktop/etc/pam.d/passwd",
|
||||
}
|
||||
|
||||
service {'lightdm.service':
|
||||
ensure => 'running',
|
||||
enable => true,
|
||||
}
|
||||
|
||||
## Network Manager
|
||||
service {'netctl.service':
|
||||
ensure => 'stopped',
|
||||
enable => false,
|
||||
}
|
||||
|
||||
service {'NetworkManager.service':
|
||||
ensure => 'running',
|
||||
enable => true,
|
||||
}
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
############################################################################
|
||||
###
|
||||
## Additional config GPD Pocket 2
|
||||
# This MUST be run as the last manifest as it overwrites some
|
||||
# standards
|
||||
#
|
||||
|
||||
file {'/etc/vconsole.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
content => "KEYMAP=de-latin1-nodeadkeys\nFONT=latarcyrheb-sun32\n",
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
}
|
||||
|
||||
file {'/etc/X11/xorg.conf.d/00-keyboard.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/gpdp2/etc/X11/xorg.conf.d/00-keyboard.conf",
|
||||
}
|
||||
file {'/etc/X11/xorg.conf.d/20-intel.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/gpdp2/etc/X11/xorg.conf.d/20-intel.conf",
|
||||
}
|
||||
file {'/etc/X11/xorg.conf.d/30-display.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/gpdp2/etc/X11/xorg.conf.d/30-display.conf",
|
||||
}
|
||||
file {'/etc/X11/xorg.conf.d/99-touchscreen.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/gpdp2/etc/X11/xorg.conf.d/99-touchscreen.conf",
|
||||
}
|
||||
file {'/etc/X11/Xresources':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/gpdp2/etc/X11/Xresources",
|
||||
}
|
||||
|
||||
file {'/etc/modules-load.d/gpd-pocket-fan.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
content => "gpd-pocket-fan",
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
}
|
||||
file {'/etc/modprobe.d/gpd-pocket-fan.conf':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
content => "options gpd-pocket-fan temp_limits=40000,40001,40002",
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
}
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
#!/bin/bash
|
||||
## Install yaourt
|
||||
|
||||
|
||||
test $(whoami) = root && { echo "You cannot be root. However, you need root privileges granted by sudo."; exit 1; }
|
||||
|
||||
## Exit on error
|
||||
set -e
|
||||
|
||||
## Install devel
|
||||
sudo pacman -Sy --needed --noconfirm base-devel
|
||||
|
||||
olddir=$(pwd)
|
||||
|
||||
## Download, Compile and Install package-query
|
||||
cd /tmp
|
||||
curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/package-query.tar.gz
|
||||
tar -xvzf package-query.tar.gz
|
||||
cd package-query
|
||||
makepkg -si
|
||||
cd /tmp
|
||||
rm -rf package-query.tar.gz package-query
|
||||
|
||||
## Download, Compile and Install yaourt
|
||||
cd /tmp
|
||||
curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/yaourt.tar.gz
|
||||
tar -xvzf yaourt.tar.gz
|
||||
cd yaourt
|
||||
makepkg -si
|
||||
cd /tmp
|
||||
rm -rf yaourt.tar.gz yaourt
|
||||
|
||||
|
||||
## Return to where we came from
|
||||
cd $olddir
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
##### THIS IS MANAGED BY PUPPET #####
|
||||
##### THIS IS MANAGED BY ANSIBLE #####
|
||||
Section "InputClass"
|
||||
Identifier "system-keyboard"
|
||||
MatchIsKeyboard "on"
|
|
@ -1,3 +1,5 @@
|
|||
##### THIS FILE IS MANAGED BY ANSIBLE #####
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# tlp - Parameters for power saving
|
||||
# See full explanation: https://linrunner.de/en/tlp/docs/tlp-configuration.html
|
|
@ -1,4 +1,5 @@
|
|||
##### THIS IS MANAGED BY PUPPET #####
|
||||
##### THIS IS MANAGED BY ANSIBLE #####
|
||||
|
||||
[greeter]
|
||||
indicators = ~host;~spacer;~clock;~spacer;~session;~spacer;~power
|
||||
theme-name = Adwaita
|
|
@ -1,4 +1,5 @@
|
|||
##### THIS IS MANAGED BY PUPPET #####
|
||||
##### THIS IS MANAGED BY ANSIBLE #####
|
||||
|
||||
##
|
||||
# General configuration
|
||||
#
|
|
@ -1,4 +1,5 @@
|
|||
##### THIS IS MANAGED BY PUPPET #####
|
||||
##### THIS IS MANAGED BY ANSIBLE #####
|
||||
|
||||
#
|
||||
# /etc/pacman.conf
|
||||
#
|
|
@ -1,5 +1,5 @@
|
|||
#%PAM-1.0
|
||||
##### THIS IS MANAGED BY PUPPET #####
|
||||
##### THIS IS MANAGED BY ANSIBLE #####
|
||||
|
||||
auth required pam_securetty.so
|
||||
auth requisite pam_nologin.so
|
|
@ -1,5 +1,5 @@
|
|||
#%PAM-1.0
|
||||
##### THIS IS MANAGED BY PUPPET #####
|
||||
##### THIS IS MANAGED BY ANSIBLE #####
|
||||
#
|
||||
#password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
|
||||
#password required pam_unix.so sha512 shadow use_authtok
|
|
@ -1,4 +1,5 @@
|
|||
##### THIS IS MANAGED BY PUPPET #####
|
||||
##### THIS IS MANAGED BY ANSIBLE #####
|
||||
|
||||
### sudoers file.
|
||||
##
|
||||
## This file MUST be edited with the 'visudo' command as root.
|
|
@ -1,4 +1,5 @@
|
|||
##### THIS IS MANAGED BY PUPPET #####
|
||||
##### THIS IS MANAGED BY ANSIBLE #####
|
||||
|
||||
## This file is part of systemd.
|
||||
#
|
||||
# systemd is free software; you can redistribute it and/or modify it
|
11
sysconfig_arch/lib/installFromAur.sh
Executable file
11
sysconfig_arch/lib/installFromAur.sh
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
package=$1
|
||||
|
||||
cd /tmp
|
||||
/usr/bin/curl --silent --remote-name https://aur.archlinux.org/cgit/aur.git/snapshot/$package.tar.gz
|
||||
/usr/bin/tar --extract --gzip --file $package.tar.gz
|
||||
cd $package
|
||||
/usr/bin/makepkg --install --syncdeps --noconfirm
|
||||
cd /tmp
|
||||
/usr/bin/sudo /usr/bin/rm --recursive --force $package.tar.gz $package
|
|
@ -1,14 +0,0 @@
|
|||
##### THIS IS MANAGED BY PUPPET #####
|
||||
LANG=de_DE.UTF-8
|
||||
LC_MESSAGES=en_US.UTF-8
|
||||
LC_COLLATE=C
|
||||
LC_CTYPE=de_DE.UTF-8
|
||||
LC_NUMERIC=de_DE.UTF-8
|
||||
LC_TIME=de_DE.UTF-8
|
||||
LC_MONETARY=de_DE.UTF-8
|
||||
LC_PAPER=de_DE.UTF-8
|
||||
LC_NAME=de_DE.UTF-8
|
||||
LC_ADDRESS=de_DE.UTF-8
|
||||
LC_TELEPHONE=de_DE.UTF-8
|
||||
LC_MEASUREMENT=de_DE.UTF-8
|
||||
LC_IDENTIFICATION=de_DE.UTF-8
|
|
@ -1,3 +0,0 @@
|
|||
##### THIS IS MANAGED BY PUPPET #####
|
||||
de_DE.UTF-8 UTF-8
|
||||
en_US.UTF-8 UTF-8
|
|
@ -1,70 +0,0 @@
|
|||
##### THIS IS MANAGED BY PUPPET #####
|
||||
|
||||
## yaourtrc - Configuration for yaourt
|
||||
#
|
||||
# See yaourtrc(5) for more information
|
||||
#
|
||||
#
|
||||
|
||||
# General
|
||||
#AUTOSAVEBACKUPFILE=0
|
||||
#DEVEL=0
|
||||
#DEVELSRCDIR=""
|
||||
#FORCE=0
|
||||
#NO_TESTDB=0
|
||||
|
||||
# Environment variables
|
||||
#EDITOR="$EDITOR"
|
||||
#TMPDIR="/tmp"
|
||||
#VISUAL="$VISUAL"
|
||||
|
||||
# SUDO
|
||||
#SUDONOVERIF=0 # Avoid multiple sudo checks when timestamp_timeout=0
|
||||
#SUDOREDIRECT=1 # Define to 0 in case you use a fingerprint device
|
||||
|
||||
# ABS
|
||||
#USE_GIT=0
|
||||
# If the package "abs" is installed, those var are parsed from abs.conf
|
||||
#REPOS=() # REPOS available at $SYNCSERVER
|
||||
#SYNCSERVER=""
|
||||
|
||||
# AUR
|
||||
#AURURL="https://aur.archlinux.org"
|
||||
#AURCOMMENT=5
|
||||
#AURDEVELONLY=0
|
||||
#AURSEARCH=1
|
||||
#AURSHOWDIFF=0
|
||||
#AURUPGRADE=0
|
||||
#AURVOTE=1
|
||||
#AURUSEGIT=0
|
||||
|
||||
# Build
|
||||
#EXPORT=0 # Export to 1: EXPORTDIR or PKGDEST
|
||||
# 2: pacman cache (as root)
|
||||
#EXPORTSRC=0 # Need EXPORT>0 to be used
|
||||
#EXPORTDIR="" # If empty, use makepkg's configuration (see makepkg.conf)
|
||||
|
||||
# Prompt
|
||||
NOCONFIRM=0
|
||||
UP_NOCONFIRM=0 # No prompt while build upgrades (including -Sbu)
|
||||
BUILD_NOCONFIRM=1 # Only prompt for editing files
|
||||
PU_NOCONFIRM=1 # Add --noconfirm to $PACMAN -U
|
||||
EDITFILES=0
|
||||
NOENTER=0
|
||||
|
||||
# Output
|
||||
#USECOLOR=1
|
||||
#USEPAGER=0
|
||||
#DETAILUPGRADE=1
|
||||
SHOWORPHANS=1
|
||||
#TERMINALTITLE=1
|
||||
|
||||
# Command
|
||||
#PACMAN="pacman"
|
||||
#MAKEPKG="makepkg"
|
||||
#DIFFEDITCMD="vimdiff"
|
||||
|
||||
# pacdiffviewer
|
||||
#P_LOCATE=0 # Use locate instead of find
|
||||
#P_SEARCHDIR=(/etc/ /boot/)
|
||||
#P_SAVEDIR='/var/lib/yaourt/backupfiles'
|
Binary file not shown.
298
sysconfig_arch/workstation.yaml
Normal file
298
sysconfig_arch/workstation.yaml
Normal file
|
@ -0,0 +1,298 @@
|
|||
- name: "Configuration for all workstations"
|
||||
hosts: localhost
|
||||
connection: local
|
||||
|
||||
tasks:
|
||||
|
||||
- name: "Install workstation packages"
|
||||
package:
|
||||
name: '{{ item }}'
|
||||
state: present
|
||||
update_cache: True
|
||||
with_items:
|
||||
- acpi
|
||||
- alacritty
|
||||
- arandr
|
||||
- aspell
|
||||
- aspell-de
|
||||
- aspell-en
|
||||
- bash
|
||||
- bash-completion
|
||||
- binutils
|
||||
- blueman
|
||||
- bluez-utils
|
||||
- btrfs-progs
|
||||
- coreutils
|
||||
- cryptsetup
|
||||
- curl
|
||||
- device-mapper
|
||||
- dialog
|
||||
- diffutils
|
||||
- dmenu
|
||||
- dos2unix
|
||||
- dosfstools
|
||||
- dunst
|
||||
- e2fsprogs
|
||||
- emacs
|
||||
- feh
|
||||
- file
|
||||
- filesystem
|
||||
- findutils
|
||||
- firefox
|
||||
- firefox-i18n-de
|
||||
- gnu-netcat
|
||||
- grep
|
||||
- gzip
|
||||
- i3-wm
|
||||
- i3lock
|
||||
- i3status
|
||||
- imagemagick
|
||||
- inetutils
|
||||
- ispell
|
||||
- keepassxc
|
||||
- less
|
||||
- libreoffice-fresh
|
||||
- licenses
|
||||
- lightdm
|
||||
- lightdm-gtk-greeter
|
||||
- lightdm-gtk-greeter-settings
|
||||
- linux
|
||||
- linux-headers
|
||||
- lm_sensors
|
||||
- lshw
|
||||
- lvm2
|
||||
- man-db
|
||||
- man-pages
|
||||
- mc
|
||||
- mercurial
|
||||
- mplayer
|
||||
- nano
|
||||
- network-manager-applet
|
||||
- networkmanager
|
||||
- nmap
|
||||
- nmon
|
||||
- nomacs
|
||||
- p7zip
|
||||
- parcellite
|
||||
- pcmanfm-gtk3
|
||||
- perl
|
||||
- perl-date-manip
|
||||
- perl-finance-quote
|
||||
- qrencode
|
||||
- screenfetch
|
||||
- scrot
|
||||
- sed
|
||||
- strace
|
||||
- subversion
|
||||
- texinfo
|
||||
- texlive-bibtexextra
|
||||
- texlive-core
|
||||
- texlive-fontsextra
|
||||
- texlive-formatsextra
|
||||
- texlive-games
|
||||
- texlive-humanities
|
||||
- texlive-latexextra
|
||||
- texlive-music
|
||||
- texlive-pictures
|
||||
- texlive-pstricks
|
||||
- texlive-publishers
|
||||
- texlive-science
|
||||
- tree
|
||||
- ttf-inconsolata
|
||||
- unzip
|
||||
- usbutils
|
||||
- w3m
|
||||
- wget
|
||||
- wpa_supplicant
|
||||
- wxmaxima
|
||||
- xautolock
|
||||
- xclip
|
||||
- xdot
|
||||
- xf86-input-synaptics
|
||||
- xorg-apps
|
||||
- xorg-xclipboard
|
||||
- xorg-server
|
||||
- xterm
|
||||
- zathura
|
||||
- zathura-pdf-mupdf
|
||||
|
||||
- name: "Install Audio System"
|
||||
package:
|
||||
name: '{{ item }}'
|
||||
state: present
|
||||
update_cache: False
|
||||
with_items:
|
||||
- alsa-utils
|
||||
- pulseaudio
|
||||
- pulseaudio-alsa
|
||||
- pulseaudio-bluetooth
|
||||
- pulsemixer
|
||||
- pavucontrol
|
||||
- pasystray
|
||||
- paprefs
|
||||
|
||||
- name: "Systemd: Disable reboot on ctrl+alt+del"
|
||||
systemd:
|
||||
name: ctrl-alt-del.target
|
||||
masked: yes
|
||||
|
||||
- name: "Systemd: logind.conf"
|
||||
copy:
|
||||
dest: /etc/systemd/logind.conf
|
||||
src: ./lib/etc/systemd/logind.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: "Lightdm: greeter config"
|
||||
copy:
|
||||
dest: /etc/lightdm/lightdm-gtk-greeter.conf
|
||||
src: ./lib/etc/lightdm/lightdm-gtk-greeter.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: "Lightdm: config"
|
||||
copy:
|
||||
dest: /etc/lightdm/lightdm.conf
|
||||
src: ./lib/etc/lightdm/lightdm.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: "Pam: Login"
|
||||
copy:
|
||||
dest: /etc/pam.d/login
|
||||
src: ./lib/etc/pam.d/login
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: "Pam: Passwd"
|
||||
copy:
|
||||
dest: /etc/pam.d/passwd
|
||||
src: ./lib/etc/pam.d/passwd
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: "Service: No netctl"
|
||||
service:
|
||||
name: netctl.service
|
||||
state: stopped
|
||||
enabled: no
|
||||
|
||||
- name: "Service: NetworkManager"
|
||||
service:
|
||||
name: NetworkManager.service
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
- name: "Service: lightdm"
|
||||
service:
|
||||
name: lightdm.service
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
## X11
|
||||
- name: "X11: Keyboard"
|
||||
when: "'gpd' not in inventory_hostname"
|
||||
copy:
|
||||
dest: /etc/X11/xorg.conf.d/00-keyboard.conf
|
||||
src: ./lib/etc/X11/xorg.conf.d/00-keyboard.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: "X11: Keyboard (GPD Pocket 2)"
|
||||
when: "'gpd' in inventory_hostname"
|
||||
copy:
|
||||
dest: /etc/X11/xorg.conf.d/00-keyboard.conf
|
||||
src: ./lib/etc/X11/xorg.conf.d/00-keyboard.conf.gpdp2
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: "X11: Intel Graphics (GPD Pocket 2)"
|
||||
when: "'gpd' in inventory_hostname"
|
||||
copy:
|
||||
dest: /etc/X11/xorg.conf.d/20-intel.conf
|
||||
src: ./lib/etc/X11/xorg.conf.d/20-intel.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: "X11: Monitor (GPD Pocket 2)"
|
||||
when: "'gpd' in inventory_hostname"
|
||||
copy:
|
||||
dest: /etc/X11/xorg.conf.d/30-display.conf
|
||||
src: ./lib/etc/X11/xorg.conf.d/30-display.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: "X11: Touchscreen (GPD Pocket 2)"
|
||||
when: "'gpd' in inventory_hostname"
|
||||
copy:
|
||||
dest: /etc/X11/xorg.conf.d/99-touchscreen.conf
|
||||
src: ./lib/etc/X11/xorg.conf.d/99-touchscreen.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: "X11: Xresources (GPD Pocket 2)"
|
||||
when: "'gpd' in inventory_hostname"
|
||||
copy:
|
||||
dest: /etc/X11/Xresources
|
||||
src: ./lib/etc/X11/resources
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
|
||||
## Notbook Specials
|
||||
- name: "Install Notebook packages"
|
||||
when: ansible_facts['form_factor'] == "Notebook"
|
||||
package:
|
||||
name: '{{ item }}'
|
||||
state: present
|
||||
update_cache: True
|
||||
with_items:
|
||||
- tlp
|
||||
|
||||
- name: "TLP: config"
|
||||
when: ansible_facts['form_factor'] == "Notebook"
|
||||
copy:
|
||||
dest: /etc/default/tlp
|
||||
src: ./lib/etc/default/tlp
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: "TLP: Service"
|
||||
when: ansible_facts['form_factor'] == "Notebook"
|
||||
service:
|
||||
name: tlp
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
## GPD Pocket Specials
|
||||
- name: "GPD fan module"
|
||||
when: "'gpd' in inventory_hostname"
|
||||
copy:
|
||||
dest: /etc/modules-load.d/gpd-pocket-fan.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
content: |
|
||||
gpd-pocket-fan
|
||||
|
||||
- name: "GPD fan module config"
|
||||
when: "'gpd' in inventory_hostname"
|
||||
copy:
|
||||
dest: /etc/modprobe.d/gpd-pocket-fan.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
content: |
|
||||
options gpd-pocket-fan temp_limits=40000,40001,40002
|
54
sysconfig_arch/workstation_aur.yaml
Normal file
54
sysconfig_arch/workstation_aur.yaml
Normal file
|
@ -0,0 +1,54 @@
|
|||
- name: "Install AUR helper and packages"
|
||||
hosts: localhost
|
||||
connection: local
|
||||
|
||||
tasks:
|
||||
|
||||
- name: Create build user
|
||||
user:
|
||||
name: aur_builder
|
||||
group: wheel
|
||||
create_home: no
|
||||
home: /tmp
|
||||
|
||||
- name: Install build tools
|
||||
package:
|
||||
name: '{{ item }}'
|
||||
state: present
|
||||
update_cache: True
|
||||
with_items:
|
||||
- base-devel
|
||||
|
||||
- name: "Gather package facts"
|
||||
package_facts:
|
||||
manager: "auto"
|
||||
|
||||
- name: Install PIKAUR
|
||||
when: "'pikaur' not in ansible_facts['packages']"
|
||||
become: yes
|
||||
become_user: aur_builder
|
||||
script: ./lib/installFromAur.sh pikaur
|
||||
|
||||
- name: Install ansible-aur-git
|
||||
when: "'ansible-aur-git' not in ansible_facts['packages']"
|
||||
become: yes
|
||||
become_user: aur_builder
|
||||
script: ./lib/installFromAur.sh ansible-aur-git
|
||||
|
||||
- name: Install AUR packages
|
||||
become: yes
|
||||
become_user: aur_builder
|
||||
aur:
|
||||
name: '{{ item }}'
|
||||
with_items:
|
||||
- free42
|
||||
- insync
|
||||
- c-lolcat
|
||||
- python-i3-py
|
||||
- ttf-unifont
|
||||
- ttf-symbola
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in a new issue