diff --git a/bootstrapArchLinux.org b/bootstrapArchLinux.org index 7b5c9e2..a96b7d2 100644 --- a/bootstrapArchLinux.org +++ b/bootstrapArchLinux.org @@ -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 diff --git a/configDots/pikaur.conf b/configDots/pikaur.conf index 5d7cac0..2902607 100644 --- a/configDots/pikaur.conf +++ b/configDots/pikaur.conf @@ -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 = diff --git a/simpleDots/aliases b/simpleDots/aliases index d07f6f4..b936957 100644 --- a/simpleDots/aliases +++ b/simpleDots/aliases @@ -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' diff --git a/sysconfig_arch/baseconfig.yaml b/sysconfig_arch/baseconfig.yaml new file mode 100644 index 0000000..719cb31 --- /dev/null +++ b/sysconfig_arch/baseconfig.yaml @@ -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 diff --git a/sysconfig_arch/cfg_base.pp b/sysconfig_arch/cfg_base.pp deleted file mode 100644 index c08e901..0000000 --- a/sysconfig_arch/cfg_base.pp +++ /dev/null @@ -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", -} diff --git a/sysconfig_arch/cfg_workstation-aur.pp b/sysconfig_arch/cfg_workstation-aur.pp deleted file mode 100644 index d4f0874..0000000 --- a/sysconfig_arch/cfg_workstation-aur.pp +++ /dev/null @@ -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} diff --git a/sysconfig_arch/cfg_workstation-laptop.pp b/sysconfig_arch/cfg_workstation-laptop.pp deleted file mode 100644 index 11ff177..0000000 --- a/sysconfig_arch/cfg_workstation-laptop.pp +++ /dev/null @@ -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", -} \ No newline at end of file diff --git a/sysconfig_arch/cfg_workstation.pp b/sysconfig_arch/cfg_workstation.pp deleted file mode 100644 index a19f6d9..0000000 --- a/sysconfig_arch/cfg_workstation.pp +++ /dev/null @@ -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, -} - diff --git a/sysconfig_arch/cfg_zz_gpdp2.pp b/sysconfig_arch/cfg_zz_gpdp2.pp deleted file mode 100644 index 7ca2180..0000000 --- a/sysconfig_arch/cfg_zz_gpdp2.pp +++ /dev/null @@ -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', -} - diff --git a/sysconfig_arch/inst_yaourt.sh b/sysconfig_arch/inst_yaourt.sh deleted file mode 100755 index 6e5f6a8..0000000 --- a/sysconfig_arch/inst_yaourt.sh +++ /dev/null @@ -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 - - diff --git a/sysconfig_arch/modules/gpdp2/files/etc/X11/Xresources b/sysconfig_arch/lib/etc/X11/Xresources.gpdp2 similarity index 100% rename from sysconfig_arch/modules/gpdp2/files/etc/X11/Xresources rename to sysconfig_arch/lib/etc/X11/Xresources.gpdp2 diff --git a/sysconfig_arch/modules/desktop/files/etc/X11/xorg.conf.d/00-keyboard.conf b/sysconfig_arch/lib/etc/X11/xorg.conf.d/00-keyboard.conf similarity index 85% rename from sysconfig_arch/modules/desktop/files/etc/X11/xorg.conf.d/00-keyboard.conf rename to sysconfig_arch/lib/etc/X11/xorg.conf.d/00-keyboard.conf index 49d6b61..2d05067 100644 --- a/sysconfig_arch/modules/desktop/files/etc/X11/xorg.conf.d/00-keyboard.conf +++ b/sysconfig_arch/lib/etc/X11/xorg.conf.d/00-keyboard.conf @@ -1,4 +1,4 @@ -##### THIS IS MANAGED BY PUPPET ##### +##### THIS IS MANAGED BY ANSIBLE ##### Section "InputClass" Identifier "system-keyboard" MatchIsKeyboard "on" diff --git a/sysconfig_arch/modules/gpdp2/files/etc/X11/xorg.conf.d/00-keyboard.conf b/sysconfig_arch/lib/etc/X11/xorg.conf.d/00-keyboard.conf.gpdp2 similarity index 100% rename from sysconfig_arch/modules/gpdp2/files/etc/X11/xorg.conf.d/00-keyboard.conf rename to sysconfig_arch/lib/etc/X11/xorg.conf.d/00-keyboard.conf.gpdp2 diff --git a/sysconfig_arch/modules/gpdp2/files/etc/X11/xorg.conf.d/20-intel.conf b/sysconfig_arch/lib/etc/X11/xorg.conf.d/20-intel.conf.gpdp2 similarity index 100% rename from sysconfig_arch/modules/gpdp2/files/etc/X11/xorg.conf.d/20-intel.conf rename to sysconfig_arch/lib/etc/X11/xorg.conf.d/20-intel.conf.gpdp2 diff --git a/sysconfig_arch/modules/gpdp2/files/etc/X11/xorg.conf.d/30-display.conf b/sysconfig_arch/lib/etc/X11/xorg.conf.d/30-display.conf.gpdp2 similarity index 100% rename from sysconfig_arch/modules/gpdp2/files/etc/X11/xorg.conf.d/30-display.conf rename to sysconfig_arch/lib/etc/X11/xorg.conf.d/30-display.conf.gpdp2 diff --git a/sysconfig_arch/modules/gpdp2/files/etc/X11/xorg.conf.d/99-touchscreen.conf b/sysconfig_arch/lib/etc/X11/xorg.conf.d/99-touchscreen.conf.gpdp2 similarity index 100% rename from sysconfig_arch/modules/gpdp2/files/etc/X11/xorg.conf.d/99-touchscreen.conf rename to sysconfig_arch/lib/etc/X11/xorg.conf.d/99-touchscreen.conf.gpdp2 diff --git a/sysconfig_arch/modules/desktop/files/etc/default/tlp b/sysconfig_arch/lib/etc/default/tlp similarity index 99% rename from sysconfig_arch/modules/desktop/files/etc/default/tlp rename to sysconfig_arch/lib/etc/default/tlp index b91ec4f..2380bad 100644 --- a/sysconfig_arch/modules/desktop/files/etc/default/tlp +++ b/sysconfig_arch/lib/etc/default/tlp @@ -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 diff --git a/sysconfig_arch/modules/desktop/files/etc/lightdm/lightdm-gtk-greeter.conf b/sysconfig_arch/lib/etc/lightdm/lightdm-gtk-greeter.conf similarity index 85% rename from sysconfig_arch/modules/desktop/files/etc/lightdm/lightdm-gtk-greeter.conf rename to sysconfig_arch/lib/etc/lightdm/lightdm-gtk-greeter.conf index 7cb7f3e..df61d98 100644 --- a/sysconfig_arch/modules/desktop/files/etc/lightdm/lightdm-gtk-greeter.conf +++ b/sysconfig_arch/lib/etc/lightdm/lightdm-gtk-greeter.conf @@ -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 diff --git a/sysconfig_arch/modules/desktop/files/etc/lightdm/lightdm.conf b/sysconfig_arch/lib/etc/lightdm/lightdm.conf similarity index 99% rename from sysconfig_arch/modules/desktop/files/etc/lightdm/lightdm.conf rename to sysconfig_arch/lib/etc/lightdm/lightdm.conf index a6a5475..9c7e5e4 100644 --- a/sysconfig_arch/modules/desktop/files/etc/lightdm/lightdm.conf +++ b/sysconfig_arch/lib/etc/lightdm/lightdm.conf @@ -1,4 +1,5 @@ -##### THIS IS MANAGED BY PUPPET ##### +##### THIS IS MANAGED BY ANSIBLE ##### + ## # General configuration # diff --git a/sysconfig_arch/modules/base/files/etc/pacman.conf b/sysconfig_arch/lib/etc/pacman.conf similarity index 98% rename from sysconfig_arch/modules/base/files/etc/pacman.conf rename to sysconfig_arch/lib/etc/pacman.conf index 199d80a..1809f02 100644 --- a/sysconfig_arch/modules/base/files/etc/pacman.conf +++ b/sysconfig_arch/lib/etc/pacman.conf @@ -1,4 +1,5 @@ -##### THIS IS MANAGED BY PUPPET ##### +##### THIS IS MANAGED BY ANSIBLE ##### + # # /etc/pacman.conf # diff --git a/sysconfig_arch/modules/desktop/files/etc/pam.d/login b/sysconfig_arch/lib/etc/pam.d/login similarity index 89% rename from sysconfig_arch/modules/desktop/files/etc/pam.d/login rename to sysconfig_arch/lib/etc/pam.d/login index 9a97e56..622a193 100644 --- a/sysconfig_arch/modules/desktop/files/etc/pam.d/login +++ b/sysconfig_arch/lib/etc/pam.d/login @@ -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 diff --git a/sysconfig_arch/modules/desktop/files/etc/pam.d/passwd b/sysconfig_arch/lib/etc/pam.d/passwd similarity index 85% rename from sysconfig_arch/modules/desktop/files/etc/pam.d/passwd rename to sysconfig_arch/lib/etc/pam.d/passwd index 673fa81..e0ad745 100644 --- a/sysconfig_arch/modules/desktop/files/etc/pam.d/passwd +++ b/sysconfig_arch/lib/etc/pam.d/passwd @@ -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 diff --git a/sysconfig_arch/modules/base/files/etc/sudoers b/sysconfig_arch/lib/etc/sudoers similarity index 98% rename from sysconfig_arch/modules/base/files/etc/sudoers rename to sysconfig_arch/lib/etc/sudoers index 1c54ecb..1224f99 100644 --- a/sysconfig_arch/modules/base/files/etc/sudoers +++ b/sysconfig_arch/lib/etc/sudoers @@ -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. diff --git a/sysconfig_arch/modules/desktop/files/etc/systemd/logind.conf b/sysconfig_arch/lib/etc/systemd/logind.conf similarity index 96% rename from sysconfig_arch/modules/desktop/files/etc/systemd/logind.conf rename to sysconfig_arch/lib/etc/systemd/logind.conf index 3ba3961..8540c4a 100644 --- a/sysconfig_arch/modules/desktop/files/etc/systemd/logind.conf +++ b/sysconfig_arch/lib/etc/systemd/logind.conf @@ -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 diff --git a/sysconfig_arch/lib/installFromAur.sh b/sysconfig_arch/lib/installFromAur.sh new file mode 100755 index 0000000..dd1adb5 --- /dev/null +++ b/sysconfig_arch/lib/installFromAur.sh @@ -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 diff --git a/sysconfig_arch/modules/base/files/etc/locale.conf b/sysconfig_arch/modules/base/files/etc/locale.conf deleted file mode 100644 index 956139e..0000000 --- a/sysconfig_arch/modules/base/files/etc/locale.conf +++ /dev/null @@ -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 diff --git a/sysconfig_arch/modules/base/files/etc/locale.gen b/sysconfig_arch/modules/base/files/etc/locale.gen deleted file mode 100644 index 5e578d6..0000000 --- a/sysconfig_arch/modules/base/files/etc/locale.gen +++ /dev/null @@ -1,3 +0,0 @@ -##### THIS IS MANAGED BY PUPPET ##### -de_DE.UTF-8 UTF-8 -en_US.UTF-8 UTF-8 diff --git a/sysconfig_arch/modules/base/files/etc/yaourtrc b/sysconfig_arch/modules/base/files/etc/yaourtrc deleted file mode 100644 index 939fe5a..0000000 --- a/sysconfig_arch/modules/base/files/etc/yaourtrc +++ /dev/null @@ -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' diff --git a/sysconfig_arch/share/ttf-inconsolata-1:2.0.0.1-3-any.pkg.tar.xz b/sysconfig_arch/share/ttf-inconsolata-1:2.0.0.1-3-any.pkg.tar.xz deleted file mode 100644 index 2e85ffb..0000000 Binary files a/sysconfig_arch/share/ttf-inconsolata-1:2.0.0.1-3-any.pkg.tar.xz and /dev/null differ diff --git a/sysconfig_arch/workstation.yaml b/sysconfig_arch/workstation.yaml new file mode 100644 index 0000000..de34bc2 --- /dev/null +++ b/sysconfig_arch/workstation.yaml @@ -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 diff --git a/sysconfig_arch/workstation_aur.yaml b/sysconfig_arch/workstation_aur.yaml new file mode 100644 index 0000000..9c91547 --- /dev/null +++ b/sysconfig_arch/workstation_aur.yaml @@ -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 + + + + +