Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/haozeke/hzarchiso

My personal archlinux build
https://github.com/haozeke/hzarchiso

archlinux iso live-usb

Last synced: 4 days ago
JSON representation

My personal archlinux build

Awesome Lists containing this project

README

        

* About
This is a custom archlinux live-usb mainly meant for setting up encrypted
installations. This uses [[swaywm.org/][sway]] and [[https://github.com/thestinger/termite][termite]], for maximum cross compatibility.
#+BEGIN_QUOTE
hzlinarch=hzlinarch

^-- USERNAME=PASSWORD
#+END_QUOTE

Note that on some systems, the login manager may be buggy, in these cases switch to a TTY with ~CTRL-ALT-F3~, login at the terminal, and run ~sway~ to get to a GUI.

** Methodology
Instead of using the standard ~archiso~ package, since I required AUR packages
and preferred an offline installation, this uses [[https://wiki.archlinux.org/index.php/Archiso_offline][archiso-offline]]. Additionally,
the AUR packages are handled with the excellent [[https://github.com/cassava/repoctl][repoctl]]. More details in a post
soon.
#+begin_quote
As of V, now uses the normal ~archiso~
#+end_quote

** Software Included
The exact list of packages added is present in ~packages.x86_64~
The basic end-user packages and the intended usage is described here.
** Size
Just cuz I can, this lists the size as I make changes:

| Package | Size (MB) |
| base | ~ 567 |
| +veracrypt | 688 |
| +networkmanager | 695 |
| +chrony | 695 |
| +tmux | 695 |
| +reflector | 695 |
| +caja | 707 |
| +gnome_backgrounds | 732 |
| release_I | 894 |
| +videoDrivers | 903 |
| release_I-A | 1.1GB |
| release_II | 1.2GB |
| release_III | 1.2GB |
| release_V | 1.6GB |
| release_V.I | 1.7GB |
** Configuration
*** Pacman
The pacman mirrors are generated with ~reflector~, but ~reflector~ is
not installed on the installation media.
*** Chrony
This is configured to work with a dispatcher script.
*** AUR
The aur packages need to be configured in the main hzLinux folder as well as the
work folder.
These should work on the system, not relative to the liveUSB root.
* Build Steps
** AUR
In general, to simply update the AUR packages before using the ~Makefile~ just
run the following:
#+BEGIN_SRC bash
## Once
repoctl conf new ~/pkgs/hzarchiso.db.tar.gz
repoctl reset
## Separate terminal
repoctl serve
## Everytime
mkdir tmpUpd && cd tmpUpd
for pkg in $(cat ../aurpkgs.txt); do
(
repoctl down "$pkg"
)
done
for dir in *; do cd $dir; makepkg -cs && repoctl add *.pkg.tar.zst && cd ../ && rm -rf $dir || cd ../; done
cd ../ && rm -rf tmpUpd
#+END_SRC
** Mirrorlist
This is basically just the normal ~reflector~ stuff. As usual, assume
~buildRoot~ is where you have this repository cloned.
#+BEGIN_SRC bash
export buildRoot=$HOME/archBuilder
sudo reflector --latest 30 --number 20 --sort rate --protocol http --save $buildRoot/hzArchiso/hzLinux/airootfs/etc/pacman.d/mirrorlist
#+END_SRC
Do not be surprised by ~sudo~, since the location has the same permissions as
the actual root folder.
** Build
The ~makefile~ is not needed anymore, as of version 5.
#+begin_src bash
export application="HaoZeke's ArchLinux"
export isoName='hzlinux_V'
export label='HZLIN_V-211222'
export publisher='Rohit Goswami (HaoZeke) '
sudo mkarchiso -A $application -L $label -P $publisher -v hzLinux
#+end_src
* TODO List
*** [X] Add gparted
*** [ ] Add rofi
*** [ ] Add config
*** [ ] Add more docs
* Release I
Roughly ~903MB~.
** Features
- LightDM + Aether Theme
- Default user (hzlinarch:hzlinarh)
- AUR helper (yay)
- Sway (master, wlroots)
- Caja
- Termite (noscd, wayland)
- Veracrypt
- gParted
* Release I-A
Around *1.1GB*.
** Features
- Fonts
- i3status-rust
- Smplayer (+skins)
- Zathura (+plugins)
- Audio (pulseaudio+plugins)
- Music (mpd, ncmpc, pianobar, audacious)
- Proxy (proxychains, windscribe)
- Screenshots (slurp+grim)
- Bluetooth (blueberry)
* Release II
Until further changes, the zsh prompt now matches the one used by the standard iso.
** Features
- Enpass
- Rofi
- Mosh
- Ananicy (auto-nice daemon)
- Backlight Controls (brightnessctl)
- Better default zsh stuff (grml-zsh-config)
** Fixes
- Fix terminal audio [pianobar]
- Fix chrony config
- Sudo (wheel executes whatever now)
*** Notes
#+BEGIN_SRC bash
sudo rsync -axv --progress / /mnt
sudo cp -vaT /run/archiso/bootmnt/arch/boot/$(uname -m)/vmlinuz /mnt/boot/vmlinuz-linux\n
1 userdel hzlinarch
2 sed -i 's/Storage=volatile/#Storage=auto/' /etc/systemd/journald.conf
3 rm /etc/udev/rules.d/81-dhcpcd.rules
4 systemctl disable pacman-init.service choose-mirror.service
5 rm -r /etc/systemd/system/{choose-mirror.service,pacman-init.service,etc-pacman.d-gnupg.mount,[email protected]}
6 rm /etc/systemd/scripts/choose-mirror
7 rm /etc/systemd/system/[email protected]/autologin.conf
8 rm /root/{.automated_script.sh,.zlogin}
9 rm /etc/mkinitcpio-archiso.conf
10 rm -r /etc/initcpio
11 pacman-key --init
12 pacman-key --populate archlinux
13 rm -rf /etc/skel/
#+END_SRC
* Release III
The one with ~i3~, and offline installation.
** Features
- Offline installation thanks via the wiki (~$HOME/offlineInst.sh~).
- ~light~ for brightness
- Initialize with [[https://github.com/HaoZeke/Dotfiles][my dotfiles]] (via script ~$HOME/initDots.sh~)
- ~i3-gaps~ and related configuration
- ~nitrogen~ for wallpaper management
** Fixes
- ~rofi~ now works
* Release IV
The one with more packages I use, mostly messaging and encryption.
** Features
- ~veracrypt~, ~cryptomator~, ~gnome-encfs-manager~ for cryptography
- ~telegram-desktop~, ~pidgin~ for my communication needs
- ~spotify~, ~pcloud~ for my cloud needs
- ~cronie~, ~unison~ for synchronization
- ~flameshot~, ~teiler-git~ for screenshots
** Misc
- ~termite-nocsd~ -> ~termite~ since it breaks less
* Release V
Updated to the standard ~archiso~.
** Release V.I
- Included ~amd-ucode~ and ~intel-ucode~
- Removed ~reflector~
- Updated the mirrorlist
- Uses a *patched* linux-nitrous kernel for working with the network drivers on
newer X1 Carbon machines (see [details here](https://bbs.archlinux.org/viewtopic.php?pid=2105297#p2105297))
- Size is now ~ 2.0GB