Skip to content

Instantly share code, notes, and snippets.

@metamarcdw
Last active February 11, 2023 22:10
Show Gist options
  • Select an option

  • Save metamarcdw/f8e92907e9269909e6f41a26cd243c11 to your computer and use it in GitHub Desktop.

Select an option

Save metamarcdw/f8e92907e9269909e6f41a26cd243c11 to your computer and use it in GitHub Desktop.

Revisions

  1. metamarcdw revised this gist Aug 5, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -158,7 +158,7 @@ ttf-dejavu
    # If using the above GUI packages, do the following:
    cp /etc/X11/xinit/xinitrc ~/.xinitrc
    nano ~/.xinitrc
    # Remove 'exec' calls from the end
    # Remove 'exec/xclock/xterm' calls from the end
    # Add 'exec startxfce4' command to the end

    # Util packages
  2. metamarcdw revised this gist Aug 5, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -149,7 +149,7 @@ pacman-key --refresh-keys
    # If errors persist check out this link for help:
    # https://wiki.archlinux.org/index.php/Pacman/Package_signing#Cannot_import_keys

    # Packages I typically install:
    # Desktop packages
    xorg
    xfce4
    gvfs
  3. metamarcdw revised this gist Aug 5, 2018. 1 changed file with 13 additions and 2 deletions.
    15 changes: 13 additions & 2 deletions arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -161,7 +161,7 @@ nano ~/.xinitrc
    # Remove 'exec' calls from the end
    # Add 'exec startxfce4' command to the end

    # More packages
    # Util packages
    stow
    openssh
    python-pip
    @@ -174,6 +174,17 @@ export WORKON_HOME=~/.virtualenvs
    VIRTUALENVWRAPPER_PYTHON='/usr/bin/python'
    source /usr/bin/virtualenvwrapper.sh

    # More packages
    # App packages
    mousepad
    chromium

    # Install aurman
    git clone https://aur.archlinux.org/aurman.git
    cd aurman
    makepkg -si

    # May need to:
    gpg --recv-keys <key id>

    # Install VSCode
    aurman -S visual-studio-code-bin
  4. metamarcdw revised this gist Aug 5, 2018. 1 changed file with 4 additions and 1 deletion.
    5 changes: 4 additions & 1 deletion arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -82,10 +82,13 @@ hwclock --systohc --utc
    # Set the hostname
    echo arch-lothar > /etc/hostname

    # Uncomment 'en_US.UTF-8' in /etc/locale.gen
    # Generate locales
    locale-gen

    # Update locale
    echo LANG=en_US.UTF-8 >> /etc/locale.conf
    echo LANGUAGE=en_US >> /etc/locale.conf
    echo LC_ALL=C >> /etc/locale.conf

    # Set password for root
    passwd
  5. metamarcdw revised this gist Apr 21, 2018. 1 changed file with 9 additions and 2 deletions.
    11 changes: 9 additions & 2 deletions arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -164,6 +164,13 @@ openssh
    python-pip
    python-virtualenvwrapper

    eric
    # Finish installing virtualenvwrapper
    mkdir ~/.virtualenvs
    export WORKON_HOME=~/.virtualenvs
    # Add the following lines to ~/.bashrc:
    VIRTUALENVWRAPPER_PYTHON='/usr/bin/python'
    source /usr/bin/virtualenvwrapper.sh

    # More packages
    mousepad
    midori
    chromium
  6. metamarcdw revised this gist Apr 21, 2018. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -134,7 +134,7 @@ sudo systemctl enable dhcpcd.service
    # Do this ONLY when installing to a VirtualBox.
    # Install VirtualBox Guest Additions:
    sudo pacman -S virtualbox-guest-utils
    usermod -a -G vboxsf cypher
    sudo usermod -a -G vboxsf cypher
    sudo systemctl start vboxservice.service
    sudo systemctl enable vboxservice.service

    @@ -150,6 +150,7 @@ pacman-key --refresh-keys
    xorg
    xfce4
    gvfs
    ttf-dejavu

    # If using the above GUI packages, do the following:
    cp /etc/X11/xinit/xinitrc ~/.xinitrc
  7. metamarcdw revised this gist Dec 22, 2017. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -134,6 +134,9 @@ sudo systemctl enable dhcpcd.service
    # Do this ONLY when installing to a VirtualBox.
    # Install VirtualBox Guest Additions:
    sudo pacman -S virtualbox-guest-utils
    usermod -a -G vboxsf cypher
    sudo systemctl start vboxservice.service
    sudo systemctl enable vboxservice.service

    # Happy Customizing!

  8. metamarcdw revised this gist Dec 22, 2017. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -157,6 +157,7 @@ nano ~/.xinitrc
    # More packages
    stow
    openssh
    python-pip
    python-virtualenvwrapper

    eric
  9. metamarcdw revised this gist Dec 22, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -161,4 +161,4 @@ python-virtualenvwrapper

    eric
    mousepad
    icecat
    midori
  10. metamarcdw revised this gist Dec 22, 2017. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -151,6 +151,7 @@ gvfs
    # If using the above GUI packages, do the following:
    cp /etc/X11/xinit/xinitrc ~/.xinitrc
    nano ~/.xinitrc
    # Remove 'exec' calls from the end
    # Add 'exec startxfce4' command to the end

    # More packages
  11. metamarcdw revised this gist Dec 22, 2017. 1 changed file with 6 additions and 0 deletions.
    6 changes: 6 additions & 0 deletions arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -148,6 +148,12 @@ xorg
    xfce4
    gvfs

    # If using the above GUI packages, do the following:
    cp /etc/X11/xinit/xinitrc ~/.xinitrc
    nano ~/.xinitrc
    # Add 'exec startxfce4' command to the end

    # More packages
    stow
    openssh
    python-virtualenvwrapper
  12. metamarcdw revised this gist Dec 22, 2017. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -127,14 +127,14 @@ swapoff -a
    # Reboot into the new system, don't forget to remove the cd/usb
    reboot

    # Do this ONLY when installing to a VirtualBox.
    # Install VirtualBox GUest Additions:
    sudo pacman -Syu virtualbox-guest-utils

    # Enable DHCP service
    sudo systemctl start dhcpcd.service
    sudo systemctl enable dhcpcd.service

    # Do this ONLY when installing to a VirtualBox.
    # Install VirtualBox Guest Additions:
    sudo pacman -S virtualbox-guest-utils

    # Happy Customizing!


  13. metamarcdw revised this gist Dec 22, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -95,7 +95,7 @@ useradd -m -g users -G wheel cypher
    passwd cypher

    # Uncomment 'wheel' group line in sudoers
    visudo
    nano /etc/sudoers

    # Configure mkinitcpio with modules needed for the initrd image
    nano /etc/mkinitcpio.conf
  14. metamarcdw revised this gist Dec 22, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -60,7 +60,7 @@ mount /dev/sdX1 /mnt/boot/efi
    nano /etc/pacman.d/mirrorlist

    # Install the system also includes stuff needed for starting wifi when first booting into the newly installed system
    pacstrap /mnt base base-devel linux-libre-headers grub-efi-x86_64 git efibootmgr dialog wpa_supplicant
    pacstrap /mnt base base-devel linux-headers grub-efi-x86_64 git efibootmgr dialog wpa_supplicant

    # May have to do one of these if pacstrap throws gpg errors
    pacman-key --refresh-keys
    @@ -103,7 +103,7 @@ nano /etc/mkinitcpio.conf
    # Add 'encrypt' and 'lvm2' to HOOKS before filesystems

    # Regenerate initrd image
    mkinitcpio -p linux-libre
    mkinitcpio -p linux

    # Setup grub
    grub-install
  15. metamarcdw created this gist Dec 21, 2017.
    157 changes: 157 additions & 0 deletions arch-linux-install
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,157 @@
    # Install ARCH Linux with encrypted file-system and UEFI
    # The official installation guide (https://wiki.archlinux.org/index.php/installation_guide) contains a more verbose description.

    # Download the Arch iso image from https://www.archlinux.org/
    # Copy to a usb-drive
    dd if=archlinux.img of=/dev/sdX bs=16M && sync

    # Boot from the usb. If the usb fails to boot, make sure that secure boot is disabled in the BIOS configuration.

    # Set American English keymap
    loadkeys us

    # This assumes a wifi only system...
    wifi-menu

    # Add a nameserver to /etv/resolv.conf
    nano /etc/resolv.conf

    # Create partitions
    fdisk -l
    parted /dev/sdX

    # Interactive parted
    mklabel gpt
    mkpart ESP fat32 1MiB 513MiB
    set 1 boot on
    mkpart primary ext2 513MiB 1GiB
    mkpart primary ext4 1GiB 100%
    quit

    # Create filesystems
    mkfs.vfat -F32 /dev/sdX1
    mkfs.ext2 /dev/sdX2

    # Setup the encryption of the system
    cryptsetup -c aes-xts-plain64 -y --use-random luksFormat /dev/sdX3
    cryptsetup luksOpen /dev/sdX3 luks

    # Create encrypted partitions
    # This creates one partions for root, modify if /home or other partitions should be on separate partitions
    pvcreate /dev/mapper/luks
    vgcreate vg0 /dev/mapper/luks
    lvcreate --size 8G vg0 --name swap
    lvcreate -l +100%FREE vg0 --name root

    # Create filesystems on encrypted partitions
    mkfs.ext4 /dev/mapper/vg0-root
    mkswap /dev/mapper/vg0-swap

    # Mount the new system
    mount /dev/mapper/vg0-root /mnt # /mnt is the installed system
    swapon /dev/mapper/vg0-swap # Not needed but a good thing to test
    mkdir /mnt/boot
    mount /dev/sdX2 /mnt/boot
    mkdir /mnt/boot/efi
    mount /dev/sdX1 /mnt/boot/efi

    # Before installing, you may want to edit /etc/pacman.d/mirrorlist such that your preferred mirror is first.
    #This copy of the mirrorlist will be installed on your new system by pacstrap as well, so it's worth getting it right.
    nano /etc/pacman.d/mirrorlist

    # Install the system also includes stuff needed for starting wifi when first booting into the newly installed system
    pacstrap /mnt base base-devel linux-libre-headers grub-efi-x86_64 git efibootmgr dialog wpa_supplicant

    # May have to do one of these if pacstrap throws gpg errors
    pacman-key --refresh-keys

    # 'install' fstab
    genfstab -pU /mnt >> /mnt/etc/fstab
    # Make /tmp a ramdisk (add the following line to /mnt/etc/fstab)
    tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
    # Change relatime on all non-boot partitions to noatime (reduces wear if using an SSD)

    # Enter the new system
    arch-chroot /mnt /bin/bash

    # Setup system clock
    rm /etc/localtime
    ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime
    hwclock --systohc --utc

    # Set the hostname
    echo arch-lothar > /etc/hostname

    # Update locale
    echo LANG=en_US.UTF-8 >> /etc/locale.conf
    echo LANGUAGE=en_US >> /etc/locale.conf
    echo LC_ALL=C >> /etc/locale.conf

    # Set password for root
    passwd

    # Add real user remove -s flag if you don't whish to use zsh
    useradd -m -g users -G wheel cypher
    passwd cypher

    # Uncomment 'wheel' group line in sudoers
    visudo

    # Configure mkinitcpio with modules needed for the initrd image
    nano /etc/mkinitcpio.conf
    # Add 'ext4' to MODULES
    # Add 'encrypt' and 'lvm2' to HOOKS before filesystems

    # Regenerate initrd image
    mkinitcpio -p linux-libre

    # Setup grub
    grub-install
    # In /etc/default/grub edit the line GRUB_CMDLINE_LINUX to
    GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdX3:luks:allow-discards"
    # then run:
    grub-mkconfig -o /boot/grub/grub.cfg

    # Exit new system and go into the cd shell
    exit

    # Do this ONLY when installing to a VirtualBox.
    cd /mnt/boot/efi/EFI/
    mv arch BOOT
    mv BOOT/grubx64.efi BOOT/bootx64.efi

    # Unmount all partitions
    umount -R /mnt
    swapoff -a

    # Reboot into the new system, don't forget to remove the cd/usb
    reboot

    # Do this ONLY when installing to a VirtualBox.
    # Install VirtualBox GUest Additions:
    sudo pacman -Syu virtualbox-guest-utils

    # Enable DHCP service
    sudo systemctl start dhcpcd.service
    sudo systemctl enable dhcpcd.service

    # Happy Customizing!


    # May have to do one of these if you run into gpg errors
    pacman-key --refresh-keys
    # If errors persist check out this link for help:
    # https://wiki.archlinux.org/index.php/Pacman/Package_signing#Cannot_import_keys

    # Packages I typically install:
    xorg
    xfce4
    gvfs

    stow
    openssh
    python-virtualenvwrapper

    eric
    mousepad
    icecat