curl https://alx.sh | sh # From gentoo livecd net-setup ifconfig lsblk fdisk /dev/nvme - take all free space left mkfs.btrfs -f /dev/nvmeRoot mount /dev/nvmeRoot /mnt/gentoo mkdir -p /mnt/gentoo/boot/ mount /dev/nvmeEFI /mnt/gentoo/boot/ wget stage3 > arm openrc desktop or not ? > https://www.gentoo.org/downloads/#arm64-advanced tar xpvf stage3-X.tar.xz --xattrs-include='*.*' --numeric-owner -C /mnt/gentoo nano /mnt/gentoo/etc/portage/make.conf ------------------ SKIP DO AFTER GENTOOSUPPORT ``` [...] MAKEOPTS="-j(nproc) -l(nproc)" EMERGE_DEFAULT_OPTS="--jobs 3" ACCEPT_LICENSE="linux-fw-redristribuable no-source-code" GENTOO_MIRRORS="https://mirror.rit.edu/gentoo/ https://gentoo.osuosl.org/ https://lug.mtu.edu/gentoo/ https://mirror.csclub.uwaterloo.ca/gentoo/" # Keep a newline at the end! Important! ``` cp --dereference /etc/resolv.conf /mnt/gentoo/etc/ mount --types proc /proc /mnt/gentoo/proc mount --rbind /sys /mnt/gentoo/sys mount --rbind /dev /mnt/gentoo/dev mount --bind /run /mnt/gentoo/run chroot /mnt/gentoo /bin/bash source /etc/profile emerge-webrsync emerge --sync emerge -av dev-vcs/git git clone https://github.com/chadmed/asahi-gentoosupport cd asahi-gentoosupport ./install.sh eselect profile emerge -1 sys-apps/portage lsblk blkid nano /etc/fstab ``` # /etc/fstab: static file system information. # # # UUID=XXXX-XXXX /boot vfat defaults,noatime 0 2 UUID=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxx / btrfs subvol=/@,defaults,noatime,autodefrag,compress=zstd 0 0 ``` passwd emerge -av sys-fs/dosfstools sys-fs/btrfs-progs net-wireless/wpa_supplicant app-portage/gentoolkit app-portage/eix eix-update ls /usr/share/zoneinfo echo "US/Eastern" > /etc/timezone emerge --config sys-libs/timezone-data nano /etc/[locale.gen](locale.gen) locale-gen eselect locale list eselect locale set x env-update && source /etc/profile echo 'dev-lang/rust' >> /etc/portage/package.mask exit umount -l /mnt/gentoo/dev{/shm,/pts,} umount -R /mnt/gentoo reboot >> /dev/nvme0n1p6 - obsolete to be removed # USERLAND altezza@asahi /etc/conf.d/hostname /etc/hosts make.conf USE="-kde -gnome -qt -consolekit -systemd -telemetry elogind dbus wayland pipewire opengl" FEATURES="candy fixlafiles unmerge-orphans parallel-install" EMERGE_DEFAULT_OPT="--jobs=8 --load-average=8 --with-bdeps y --complete-graph y --autounmask-write" rc-service sshd start rc-update add sshd default ## using git to sync repos instead of rsync - /var/db/repos/gentoo vim /etc/portage/repos.conf/gentoo.conf ``` [DEFAULT] main-repo = gentoo [gentoo] location = /var/db/repos/gentoo sync-type = git sync-uri = https://gitweb.gentoo.org/repo/sync/gentoo.git auto-sync = yes sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc sync-openpgp-key-refresh-retry-count = 40 sync-openpgp-key-refresh-retry-overall-timeout = 1200 sync-openpgp-key-refresh-retry-delay-exp-base = 2 sync-openpgp-key-refresh-retry-delay-max = 60 sync-openpgp-key-refresh-retry-delay-mult = 4 ``` rm -rf /var/db/repos/gentoo eix-sync ## Setup Basic sysadmin tools emerge app-admin/sudo visudo #Allow members of group wheel to execute any command without any password %wheel ALL=(ALL:ALL) ALL %wheel ALL=NOPASSWD: ALL rc-update add dbus default sudo ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime echo 'America/New_York' | sudo tee /etc/timezone emerge net-misc/openntpd /etc/ntpd.conf rc-udpate add ntpd default /etc/init.d/ntpd start emerge sys-process/cronie /etc/init.d/cronie start rc-update add cronie default ## Add User useradd -m -G users,wheel,audio,sudo,video,input,seat $USER passwd $USER su - altezza ## ZSH emerge app-shells/zsh app-shells/zsh-completions app-shells/gentoo-zsh-completions app-shells/zsh-syntax-highlighting \ app-editors/neovim app-vim/gentoo-syntax chsh -s /bin/zsh eselect vi list ## Wayland, dwl desktop setup sudo eselect repository add palladian git git@git.afu.re:palladian/ emerge --sync palladian echo "sys-auth/seatd -elogind server builtin" >> /etc/portage/package.use/custom emerge dev-libs/wayland x11-base/xwayland gui-libs/wlroots sys-auth/seatd \ gui-wm/dwl gui-wm/dwlb gui-apps/foot dev-libs/bemenu \ gui-apps/wlr-randr gui-apps/wbg x11-misc/dunst usermod -aG seat yourusername ### GPG https://github.com/t-8ch/pinentry-bemenu emerge sys-auth/pam-gnupg app-admin/pass libtool --finish /lib64/security USE = gtk emerge pinentry eselect pinentry set x vim .gnupg/.../agent.conf << pinentry-program /path/ auth optional pam_gnupg.so store-only\n session optional pam_gnupg.so >> /etc/pam.d/system-login allow-preset-passphrase\n max-cache-ttl 86400 >> ~/.gnupg/gpg-agent.conf gpg --full-gen-key gpg -K --with-keygrip >> ~/.config/pam-gnupg ### Dotfiles g git emerge app-misc/lf media-video/mpv media-gfx/nsxiv media-gfx/ueberzugpp \ app-text/zathura app-text/zathura-pdf-poppler \ app-text/odt2txt media-video/ffmpegthumbnailer app-text/catdoc app-text/docx2txt app-text/odt2txt app-text/poppler \ app-office/calcurse app-misc/abook sci-visualization/visidata \ mail-client/mutt-wizard mail-client/neomutt net-mail/isync mail-mta/msmtp \ media-sound/mpd media-sound/mpc media-sound/rmpc \ net-misc/yt-dlp media-video/ffmpeg app-text/wgetpaste \ www-client/firefox:esr emerge -av gui-apps/slurp gui-apps/grim rc-udpate add speakersafetyd-noroot default > rewrite dmenu script for bemenu > eng fr keybord swift to shift + Fx > setbg with wbg or alternative? > ALIAS abook to SHCMD(TERMINAL " -e abook -C ~/.config/abook/abookrc --datafile ~/.config/abook/addressbook") }, # dont work arm64... write your own >> Logic something similar .zprofile > [ "$(tty)" = "/dev/tty1" ] && ! pgrep -x dwl >/dev/null 2>&1 && startw { MODKEY, XK_p, spawn, {.v = (const char*[]){ "mpc", "toggle", NULL } } }, { MODKEY|ShiftMask, XK_p, spawn, SHCMD("mpc pause; pauseallmpv") }, { MODKEY, XK_bracketleft, spawn, {.v = (const char*[]){ "mpc", "seek", "-10", NULL } } }, { MODKEY|ShiftMask, XK_bracketleft, spawn, {.v = (const char*[]){ "mpc", "seek", "-60", NULL } } }, { MODKEY, XK_bracketright, spawn, {.v = (const char*[]){ "mpc", "seek", "+10", NULL } } }, { MODKEY|ShiftMask, XK_bracketright, spawn, {.v = (const char*[]){ "mpc", "seek", "+60", NULL } } }, /* { MODKEY|ShiftMask, XK_m, spawn, SHCMD("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle; kill -44 $(pidof dwmblocks)") }, */ { MODKEY, XK_comma, spawn, {.v = (const char*[]){ "mpc", "prev", NULL } } }, { MODKEY|ShiftMask, XK_comma, spawn, {.v = (const char*[]){ "mpc", "seek", "0%", NULL } } }, { MODKEY, XK_period, spawn, {.v = (const char*[]){ "mpc", "next", NULL } } }, { MODKEY|ShiftMask, XK_period, spawn, {.v = (const char*[]){ "mpc", "repeat", NULL } } }, **update-m1n1**, which must be run as root every time you update the kernel, U-Boot, or m1n1 itself. media-font.synbols-nerd-font - for nvim-web-devincon to work