Giter Site home page Giter Site logo

badele / archlinux-auto-install Goto Github PK

View Code? Open in Web Editor NEW
37.0 3.0 3.0 35 KB

Automatically install archlinux (from livecd with Ventoy tools)

Home Page: https://app.vagrantup.com/badele

License: GNU General Public License v3.0

HCL 25.20% Shell 51.38% Makefile 20.93% Nix 2.49%
vagrant archlinux autoinstall ansible nix nixos

archlinux-auto-install's Introduction

archlinux-auto-install

DO NOT EDIT DIRECTLY THIS README.MD (edit the README.tpl) and execute make doc-generate

Automatic installation of Archlinux for vagrants and physical hosts.

This project install minimal Archlinux from scratch, other packages and configuration are done with ansible

Image contains :

  • Archlinux 2021.04.01
  • Encrypted LUKS disk (for vagrant, the password is vagrant)
  • grub and grub-theme
  • networkmanager
  • yay package (for installaling AUR packages)
  • git for clonning some project (ex: ansible-archlinux)
  • ansible (for customize automatically your installation)

Vagrant box

Logo Name Description
Archlinux Base Archlinux version
Ansible Archlinux + Ansible support
Nixos Archlinux + Nix support

Help(commands)

archlinux-versions   List all archlinux versions
doc-generate         Generate main Readme commands list
help                 This help
toolkit              Homelab toolkit(for building a homelab stack)
vagrant-build        [ARCHVERSION] <NAME> Build vagrant box 
vagrant-destroy      Destroy vagrant box [ARCHVERSION] <NAME>
vagrant-push         Push vagrant box [ARCHVERSION] <NAME>
vagrant-ssh          Connect to vagrant box [ARCHVERSION] <NAME>
vagrant-up           Test vagrant box [ARCHVERSION] <NAME>

Build

make archlinux-versions
make NAME=base vagrant-build
make NAME=ansible vagrant-build
make NAME=nix vagrant-build

make NAME=base vagrant-up
make NAME=base vagrant-ssh
make NAME=base vagrant-destroy

Host

From booted archlinux live cd (use ventoy)

# configure wireless
iwctl device list
iwctl station <device> scan
iwctl station <device> get-networks
iwctl station <device> connect <SSID>

# Clone
rm -f /var/lib/pacman/sync/*.db
pacman -Sy git
git clone https://github.com/badele/archlinux-auto-install.git
cd archlinux-auto-install

# Set installation configuration
cp config/xxx > install/config
vim install/config
./install/install.sh

Usage

# From vagrant cloud
vagrant init badele/ansiblearch && vagrant up

Use case

Install 99% of Achlinux automatically, it installs it in less than two minutes. After installed the minimal arch, you can customized with ansible and dotfiles

Thanks

Thanks to zenithar for his documentation https://blog.zenithar.org/post/2020/04/01/archlinux-efi-ssd-luks2-lvm2-btrfs/

Information for vagrant cloud project page

archlinux-auto-install's People

Contributors

badele avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

archlinux-auto-install's Issues

error-exception handling on the existence of the config file

Even though it's already described at README that you should copy the config file, the install.sh could warn either way if there is no install/config file instead of going ahead with the install process, which, of course, will fail.

To be honest, I never used Vagrant. Hell.. I don't even know what it's about. lol That being said, I only saw the vagrant.sample at the config folder so I automatically didn't copy it and tried to run the install.sh either way to see what happens. There is no error-exception handling there.

Despite my dumbness, the rest went really well. Good job.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.