{"id":14109116,"url":"https://github.com/id101010/ansible-archlinux","last_synced_at":"2025-08-01T07:34:02.101Z","repository":{"id":41467369,"uuid":"123028050","full_name":"id101010/ansible-archlinux","owner":"id101010","description":"Automated arch linux desktop environment","archived":false,"fork":false,"pushed_at":"2023-12-26T17:30:49.000Z","size":531,"stargazers_count":79,"open_issues_count":0,"forks_count":33,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-08-14T10:14:06.448Z","etag":null,"topics":["ansible","archlinux","automation","desktop","dm-crypt","efi","fulldisk-encryption","legacy","luks","lvm","syslinux"],"latest_commit_sha":null,"homepage":null,"language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/id101010.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-02-26T20:43:35.000Z","updated_at":"2024-07-25T22:17:57.000Z","dependencies_parsed_at":"2024-01-08T07:59:57.040Z","dependency_job_id":null,"html_url":"https://github.com/id101010/ansible-archlinux","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/id101010%2Fansible-archlinux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/id101010%2Fansible-archlinux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/id101010%2Fansible-archlinux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/id101010%2Fansible-archlinux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/id101010","download_url":"https://codeload.github.com/id101010/ansible-archlinux/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228351655,"owners_count":17906529,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","archlinux","automation","desktop","dm-crypt","efi","fulldisk-encryption","legacy","luks","lvm","syslinux"],"created_at":"2024-08-14T10:02:05.002Z","updated_at":"2025-08-01T07:34:02.075Z","avatar_url":"https://github.com/id101010.png","language":"Jinja","funding_links":[],"categories":["Jinja","ansible"],"sub_categories":[],"readme":"# Automated ArchLinux\nThis ansible playbook automates my personal Arch Linux installation.\nThe goal is a fully encrypted and secure desktop system.  All\ndotfiles are kept in an independent repository. They are managed using by a simple shell script that symlinks them into place and will only get installed if the `dotfiles` variable is defined.\n\n## Main features of this installation\n* Full disk encryption\n* LVM on LUKS partitioning scheme\n* A desktop environment consisting of i3gaps, i3status-rust, rofi and picom\n* Simple configuration using `group_vars/all`\n\n## Additional security features\n* Minimalism, no bullshit installed\n* Restrictive and comprehensive iptables rules\n* Automatic mac address spoofer for wireless network devices\n\n## Install base system\nYou can either install your own minimal system or you follow the instructions\nprovided in the two installation guides below.\n\n* [INSTALL\\_EFI](/doc/INSTALL_EFI.md)\nto setup a LVM on LUKS system using grub2 in GPT EFI boot mode.\n* [INSTALL\\_BIOS](/doc/INSTALL_BIOS.md)\nto setup a LVM on LUKS system using syslinux in MBR BIOS boot mode.\n\nThe Ansible playbook does not depend on any specific installation method.\nIf you are unsure which BIOS mode to chose, go for UEFI as this is how it's\ndone on modern systems.\n\n## How to run the ansible playbook after the initial installtion\nFirst install ansible\n\n``` bash\n$ sudo pacman -S ansible\n```\n\nthen download the playbook and make sure you adjust the values of the global\nconfig in `group_vars/all` to match your system stats. Then run it.\n\n``` bash\n$ git clone --recurse-submodules -j8 https://github.com/id101010/ansible-archlinux.git\n$ cd ansible-archlinux/ansible\n$ ansible-playbook -i inventory/localhost playbook.yml [--tags $LIMIT_TO_TAG]\n```\n\nLean back and watch the installation.\n\n## Testing and development (local vagrant machine)\nWarning, this is kind of buggy. Vagrant looks quite abandoned. Hashicorp does not react to issues.\nI might remove this section soon.\n\nAssuming you've already installed vagrant you can set up a virtual machine with\njust these steps\n\n``` bash\n$ git clone --recurse-submodules -j8 https://github.com/id101010/ansible-archlinux.git\n$ cd ansible-archlinux/vagrant\n$ vagrant up --provision\n```\n\nNow reboot the machine and start a graphical session using virtualbox. The\ndefault credentials are `user:vagrant pw:vagrant`.  Alternativly you can log\ninto your machine using the command `vagrant ssh`.\n\nHint: To reload the configuration into the vagrant box you can either reload\n(issues a graceful shutdown) the machine using `vagrant reload` or you can\nupdate and apply the configuration changes using `vagrant rsync \u0026\u0026 vagrant\nprovision`.  This way you don't need to wait for the machine to boot when\ntesting changes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fid101010%2Fansible-archlinux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fid101010%2Fansible-archlinux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fid101010%2Fansible-archlinux/lists"}