Compare commits

..

No commits in common. '6d9c9247641e7024f5796c1d55582fd9ee3f978c' and 'f8ed675315de2db1354ace402235c13d57d94057' have entirely different histories.

  1. 3
      .ansible-lint
  2. 21
      .drone.yml
  3. 9
      README.md
  4. 0
      ansible/.yamllint
  5. 0
      ansible/ansible.cfg
  6. 13
      ansible/configure.yml
  7. 0
      ansible/group_vars/all/00-defaults.yml
  8. 13
      ansible/install.yml
  9. 0
      ansible/inventory/hosts.yml
  10. 0
      ansible/library/modules/mkinitcpio/mkinitcpio.py
  11. 1
      ansible/roles/audio/tasks/main.yml
  12. 0
      ansible/roles/base_packages/defaults/main.yml
  13. 0
      ansible/roles/base_packages/tasks/main.yml
  14. 1
      ansible/roles/bluetooth/tasks/main.yml
  15. 0
      ansible/roles/common_software/tasks/main.yml
  16. 0
      ansible/roles/configure/defaults/main.yml
  17. 24
      ansible/roles/configure/tasks/main.yml
  18. 1
      ansible/roles/create_user/tasks/main.yml
  19. 0
      ansible/roles/disksetup/defaults/main.yml
  20. 0
      ansible/roles/disksetup/efi_gpt_btrfs/bootloader/files/grub
  21. 0
      ansible/roles/disksetup/efi_gpt_btrfs/bootloader/tasks/main.yml
  22. 1
      ansible/roles/disksetup/efi_gpt_btrfs/partitioning/defaults/main.yml
  23. 0
      ansible/roles/disksetup/efi_gpt_btrfs/partitioning/tasks/format-disk.yml
  24. 0
      ansible/roles/disksetup/efi_gpt_btrfs/partitioning/tasks/format-parts.yml
  25. 0
      ansible/roles/disksetup/efi_gpt_btrfs/partitioning/tasks/main.yml
  26. 0
      ansible/roles/disksetup/efi_gpt_btrfs/partitioning/tasks/mount.yml
  27. 0
      ansible/roles/disksetup/efi_gpt_btrfs/partitioning/tasks/mount_btrfs-subvolume.yml
  28. 0
      ansible/roles/disksetup/efi_gpt_btrfs/postpartitioning/tasks/main.yml
  29. 0
      ansible/roles/disksetup/efi_gpt_luks_btrfs/bootloader/files/grub
  30. 0
      ansible/roles/disksetup/efi_gpt_luks_btrfs/bootloader/tasks/main.yml
  31. 1
      ansible/roles/disksetup/efi_gpt_luks_btrfs/partitioning/defaults/main.yml
  32. 0
      ansible/roles/disksetup/efi_gpt_luks_btrfs/partitioning/tasks/format-disk.yml
  33. 0
      ansible/roles/disksetup/efi_gpt_luks_btrfs/partitioning/tasks/format-parts.yml
  34. 0
      ansible/roles/disksetup/efi_gpt_luks_btrfs/partitioning/tasks/luks.yml
  35. 0
      ansible/roles/disksetup/efi_gpt_luks_btrfs/partitioning/tasks/main.yml
  36. 0
      ansible/roles/disksetup/efi_gpt_luks_btrfs/partitioning/tasks/mount.yml
  37. 0
      ansible/roles/disksetup/efi_gpt_luks_btrfs/partitioning/tasks/mount_btrfs-subvolume.yml
  38. 0
      ansible/roles/disksetup/efi_gpt_luks_btrfs/postpartitioning/tasks/main.yml
  39. 0
      ansible/roles/disksetup/tasks/main.yml
  40. 1
      ansible/roles/display_manager/lightdm/tasks/main.yml
  41. 1
      ansible/roles/display_manager/tasks/main.yml
  42. 1
      ansible/roles/display_server/tasks/main.yml
  43. 1
      ansible/roles/display_server/xorg/tasks/main.yml
  44. 1
      ansible/roles/docker/tasks/main.yml
  45. 0
      ansible/roles/genfstab/tasks/main.yml
  46. 0
      ansible/roles/grub-mkconfig/tasks/main.yml
  47. 0
      ansible/roles/grub-theme/defaults/main.yml
  48. 0
      ansible/roles/grub-theme/tasks/main.yml
  49. 0
      ansible/roles/grub-theme/xenlism/tasks/main.yml
  50. 1
      ansible/roles/hostname/tasks/main.yml
  51. 0
      ansible/roles/locale/tasks/main.yml
  52. 0
      ansible/roles/localtime/tasks/main.yml
  53. 0
      ansible/roles/mullvad/tasks/main.yml
  54. 0
      ansible/roles/pacstrap/tasks/main.yml
  55. 1
      ansible/roles/paru/tasks/main.yml
  56. 0
      ansible/roles/passwordless_connection/tasks/main.yml
  57. 0
      ansible/roles/prep/tasks/main.yml
  58. 0
      ansible/roles/u2f/tasks/main.yml
  59. 1
      ansible/roles/window_manager/i3/tasks/main.yml
  60. 1
      ansible/roles/window_manager/tasks/main.yml
  61. 1
      ansible/roles/yubikey/tasks/main.yml
  62. 2
      requirements.yml
  63. 13
      roles/configure/files/static.nmconnection

@ -1,3 +0,0 @@
---
skip_list:
- yaml

@ -1,21 +0,0 @@
---
kind: pipeline
type: docker
name: Lint
steps:
- name: yamllint
image: cytopia/yamllint
commands:
- yamllint .
- name: ansible-playbook syntax check
image: cytopia/ansible
commands:
- ansible-galaxy install -r requirements.yml
- ansible-playbook main.yml --syntax-check
- name: ansible-lint
image: cytopia/ansible-lint
commands:
- ansible-lint main.yml

@ -6,7 +6,8 @@ Boot the live iso and set a root password, something simple is fine as it's
changed to key based auth anyway. Find the ip address (e.g. by `ip a`) and
add to `inventory/hosts.yml` under the `all` group.
Before running any playbook, generate a new SSH key-pair:
Enter the `ansible` directory. Before running any playbook, generate a new SSH
key-pair:
```bash
$ ssh-keygen -t ed25519 -f .ssh/id_ed25519 -N ""
@ -19,8 +20,4 @@ $ ansible-playbook install.yml -k
```
When the `install` playbook finishes, wait for the restart. Then find the new
ip address and put in the inventory file under the `all` group. Then run:
```bash
$ ansible-playbook configure.yml
```
ip address and put in the inventory file under the `all` group

@ -1,17 +1,4 @@
---
- name: Install system.
hosts: all
roles:
- passwordless_connection
- prep
- disksetup
- configure
tasks:
- name: Reboot system
reboot:
- name: Configure system.
hosts: all

@ -0,0 +1,13 @@
---
- name: Install system.
hosts: all
roles:
- passwordless_connection
- prep
- disksetup
- configure
tasks:
- name: Reboot system
reboot:

@ -1,4 +1,3 @@
---
- name: Install pulse audio packages.
become: true
become_user: "{{ user_name }}"

@ -1,4 +1,3 @@
---
- name: Install bluetooth packages.
become: true
become_user: "{{ user_name }}"

@ -8,30 +8,6 @@
- fstrim.timer
changed_when: true
- name: Get primary network interface.
set_fact:
net_interface: '{{ ansible_interfaces | reject("match", "^lo$") | first }}'
- name: Set ip address.
set_fact:
net_ip: '{{ ansible_facts[net_interface]["ipv4"]["address"] }}'
- name: Set gateway.
set_fact:
net_gateway: '{{ (ansible_facts[net_interface]["ipv4"]["network"] | split("."))[:3] | join(".") }}.1'
- name: Set nameservers.
set_fact:
net_dns: '{{ ansible_facts["dns"]["nameservers"] | join(";") }};8.8.8.8;'
- name: Create static ip config.
template:
src: files/static.nmconnection
dest: "{{ partitioning_root_mount_point }}/etc/NetworkManager/system-connections/static.nmconnection"
owner: root
group: root
mode: 0600
- name: Make sure root's .ssh directory exists.
file:
state: directory

@ -1,4 +1,3 @@
---
- name: Allow wheel to sudo without password.
copy:
dest: /etc/sudoers.d/00-tmp-sudo-full-access

@ -19,7 +19,6 @@ partitioning_priv_esp_size: "{{ 512 * 1024 * 1024 }}"
# +-- @home (to be mmounted at /home)
# +-- ...
#
# yamllint disable-line rule:line-length
partitioning_priv_btrfs_subvolumes: "{{ partitioning_priv_core_btrfs_subvolumes + partitioning_priv_extra_btrfs_subvolumes }}"
# These subvolumes should always be present. DO NOT OVERRIDE.

@ -19,7 +19,6 @@ partitioning_priv_esp_size: "{{ 512 * 1024 * 1024 }}"
# +-- @home (to be mmounted at /home)
# +-- ...
#
# yamllint disable-line rule:line-length
partitioning_priv_btrfs_subvolumes: "{{ partitioning_priv_core_btrfs_subvolumes + partitioning_priv_extra_btrfs_subvolumes }}"
# These subvolumes should always be present. DO NOT OVERRIDE.

@ -1,4 +1,3 @@
---
- name: Include display manager strategy.
include_role:
name: "display_manager/{{ display_manager }}"

@ -1,4 +1,3 @@
---
- name: Include display server xorg.
include_role:
name: "display_server/xorg"

@ -1,4 +1,3 @@
---
- name: Install docker.
become: true
become_user: "{{ user_name }}"

@ -1,4 +1,3 @@
---
- name: Update /etc/hostname.
copy:
dest: /etc/hostname

@ -1,4 +1,3 @@
---
- name: Install rust.
pacman:
name: rustup

@ -1,4 +1,3 @@
---
- name: Include window manager strategy.
include_role:
name: "window_manager/{{ window_manager }}"

@ -1,4 +1,3 @@
---
- name: Install packages.
become: true
become_user: "{{ user_name }}"

@ -1,2 +0,0 @@
---
- src: kewlfft.aur

@ -1,13 +0,0 @@
[connection]
id=static
uuid=b47e7a95-b345-3725-ac60-1fd4ed350aab
type=ethernet
autoconnect-priority=999
interface-name={{ net_interface }}
[ipv4]
addresses={{ net_ip }}/24
gateway={{ net_gateway }}
dns={{ net_dns }}
dns-search=localhost
method=manual
Loading…
Cancel
Save