stuff
This commit is contained in:
parent
6a33443c85
commit
0a67ae5abb
|
@ -1,6 +1,4 @@
|
|||
# cool arch installer
|
||||
|
||||
still needs a name
|
||||
# 🐎 arch
|
||||
|
||||
everything in overlay.tar is placed onto the system before using `pacstrap`,
|
||||
pretty much just to set up config files and such.
|
||||
|
|
|
@ -1,11 +1,19 @@
|
|||
echo "LANG=en_US.UTF-8" > /etc/locale.conf
|
||||
echo "choose a hostname (name for the computer, other computers may see it on networks)"
|
||||
ask horse-arch-(cat /dev/urandom | base32 -w 8 | head -n 1) > /etc/hostname
|
||||
|
||||
#TODO timezone
|
||||
#ln -sf /usr/share/zoneinfo/*/* /etc/localtime
|
||||
pushd /mnt/usr/share/zoneinfo
|
||||
echo "i haven't figured out a good ui to set the timezone yet"
|
||||
echo "so symlink it yourself"
|
||||
echo "something like `ln -sf /usr/share/zoneinfo/*/* /etc/localtime`"
|
||||
echo "use the `exit` command when done"
|
||||
$SHELL
|
||||
popd
|
||||
|
||||
hwclock --systohc
|
||||
cat /etc/locale.gen | sed "s/^#en_US.UTF-8/en_US.UTF-8/" > /etc/locale.gen
|
||||
locale-gen
|
||||
echo "LANG=en_US.UTF-8" > /etc/locale.conf
|
||||
echo "choose a hostname (name for the computer, other computers may see it"
|
||||
ask cool-arch-(cat /dev/urandom | base32 -w 8 | head -n 1) > /etc/hostname
|
||||
|
||||
#TODO edit the mkinitcpio file because the default probably isn't correct
|
||||
# a command doesn't need to be ran for it because of pacstrap
|
||||
|
@ -13,52 +21,69 @@ ask cool-arch-(cat /dev/urandom | base32 -w 8 | head -n 1) > /etc/hostname
|
|||
begin
|
||||
set -l packages
|
||||
|
||||
# base-devel
|
||||
set -a packages (pacman -Si base-devel | grep "Depends On" | sed "s/^.*://" | sed "s/sudo//g")
|
||||
set -a packages opendoas
|
||||
#TODO desktop
|
||||
# filesystems
|
||||
set -a packages ntfs-3g dosfstools btrfs-progs exfatprogs
|
||||
set -a packages gparted
|
||||
# networking
|
||||
set -a packages networkmanager dnsmasq
|
||||
set -a packages firewalld # this is literally the only program with network zones, it sucks
|
||||
# man
|
||||
set -a packages man-db man-pages texinfo tealdeer
|
||||
# boot
|
||||
set -a packages grub
|
||||
|
||||
# TODO desktop
|
||||
set -a packages xorg-xwayland
|
||||
set -a packages qt5-wayland qt6-wayland
|
||||
# don't use all kde programs, many suck
|
||||
set -a packages pcmanfm-qt xarchiver foot
|
||||
set -a packages weston sddm sddm-kcm
|
||||
set -a packages gnome-themes-extra breeze-icons
|
||||
set -a packages firewalld # this is literally the only program with network zones, it sucks
|
||||
#TODO network
|
||||
#TODO other types
|
||||
#TODO fonts
|
||||
# TODO other types
|
||||
# TODO fonts
|
||||
set -a packages noto-fonts ttf-fira-sans ttf-fira-mono wqy-zenhei
|
||||
#TODO check general programs
|
||||
set -a packages grub
|
||||
# filesystem stuff
|
||||
set -a packages gvfs-mtp gvfs-smb gvfs-ptp p7zip # TODO unrar?
|
||||
# todo check other things for archiver
|
||||
set -a packages ntfs-3g dosfstools btrfs-progs exfatprogs
|
||||
set -a packages gparted
|
||||
|
||||
set -a packages chrony dnsmasq fish fzf fluidsynth soundfont-fluid
|
||||
set -a packages networkmanager neofetch
|
||||
set -a packages chrony
|
||||
set -a packages fzf ripgrep-all neofetch
|
||||
# audio
|
||||
set -a packages pipewire-audio pipewire-alsa pipewire-jack pipewire-pulse lib32-pipewire lib32-pipewire-jack wireplumber
|
||||
set -a packages rtkit realtime-privileges
|
||||
set -a packages ripgrep-all
|
||||
set -a packages qt5-wayland qt6-wayland
|
||||
set -a packages man-db man-pages texinfo tldr
|
||||
set -a packages fluidsynth soundfont-fluid
|
||||
# extra programs
|
||||
set -a packages libreoffice-fresh kdenlive krita inkscape blender keepassxc mpv qbittorrent yt-dlp
|
||||
# developer programs
|
||||
set -a packages rustup git mosh rsync ventoy-bin pnpm esbuild miniupnpc
|
||||
# TODO
|
||||
if false
|
||||
set -a packages git mosh rsync ventoy-bin
|
||||
set -a packages pnpm esbuild zola # maybe eleventy?
|
||||
set -a packages rustup
|
||||
set -a packages miniupnpc
|
||||
end
|
||||
|
||||
#TODO
|
||||
# TODO
|
||||
set -a packages mesa lib32-mesa
|
||||
set -a packages qt5ct qt6ct
|
||||
|
||||
# platform specific
|
||||
if test -n (cat /sys/firmware/efi/fw_platform_size)
|
||||
set -a packages efibootmgr
|
||||
end
|
||||
#bluetooth
|
||||
#gpu
|
||||
#fingerprint reader
|
||||
#TODO OTHER types
|
||||
set -a packages efibootmgr os-prober intel-ucode amd-ucode
|
||||
|
||||
|
||||
#set -a packages efibootmgr os-prober intel-ucode amd-ucode
|
||||
|
||||
pacman -Syu --needed --noconfirm $packages
|
||||
pacman -Fy
|
||||
pacman -Fy --noconfirm
|
||||
end
|
||||
|
||||
ln -sf /bin/doas /bin/sudo
|
||||
|
@ -73,7 +98,7 @@ switch (cat /sys/firmware/efi/fw_platform_size)
|
|||
grub-install --target=i386-pc /dev/sdX # TODO
|
||||
end
|
||||
|
||||
#TODO nvidia kernel parameter
|
||||
# TODO nvidia kernel parameter
|
||||
cat /etc/default/grub | sed "
|
||||
s/\$RESUME\$/$(
|
||||
if test (count $swapdevice) -gt 0
|
||||
|
@ -87,10 +112,22 @@ grub-mkconfig -o /boot/grub/grub.cfg
|
|||
|
||||
passwd -l root
|
||||
echo "select a username"
|
||||
"^[a-z][-a-z0-9]*\$"
|
||||
|
||||
set -l username (ask "user")
|
||||
useradd -m -G games,realtime,wheel $username
|
||||
echo "name must be lowercase, and can include letters, digits, and dashes (cool-guy-360)"
|
||||
echo "the name has to start with a letter"
|
||||
echo "you'll be able to select a nickname next that can have any text"
|
||||
set -l username
|
||||
while true
|
||||
set username (ask "user")
|
||||
if echo $user | grep "^[a-z][-a-z0-9]*\$"
|
||||
break
|
||||
else
|
||||
echo "invalid username"
|
||||
end
|
||||
end
|
||||
echo "select a nickname"
|
||||
echo "this can be any text and is usually used to display the name of the user in programs (🆒 GUY)"
|
||||
set -l nickname (ask $user)
|
||||
useradd -m -G games,realtime,wheel -c $nickname $user
|
||||
|
||||
runuser $user -c 'git clone "https://aur.archlinux.org/paru-bin.git" /tmp/paru-bin'
|
||||
pushd /tmp/paru-bin
|
||||
|
@ -99,8 +136,10 @@ popd
|
|||
rm -rf /tmp/paru-bin
|
||||
|
||||
runuser $user -c 'paru -Syu --noconfirm dashbinsh doasedit-alternative fish-z-git librewolf-bin ttf-twemoji'
|
||||
runuser $user -c 'tldr -u'
|
||||
|
||||
|
||||
# TODO enable a bunch of services with systemctl (firewalld, chrony, fluidsynth)
|
||||
|
||||
|
||||
# TODO configure fluidsynth
|
||||
|
||||
|
|
BIN
overlay.tar
BIN
overlay.tar
Binary file not shown.
Loading…
Reference in New Issue