Compare commits
16 Commits
fc52b828a5
...
903914b6f8
| Author | SHA1 | Date | |
|---|---|---|---|
| 903914b6f8 | |||
| c7a8e1fb31 | |||
| 97ef143f53 | |||
| 31f16cfe52 | |||
| 73c5582e7f | |||
| cdaefbd74f | |||
| 3ebc46f069 | |||
| 91d5dd1186 | |||
| 908fd619e7 | |||
| f052e65a16 | |||
| bd7620d0c4 | |||
| 0f75a28af9 | |||
| 5506d8e4ae | |||
| 32c1e8eac9 | |||
| f08caa5659 | |||
| ea289f1f8d |
52
_machines/hades.yml
Normal file
52
_machines/hades.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
font_size: 11
|
||||
|
||||
cpu: intel
|
||||
|
||||
users:
|
||||
- name: hannes
|
||||
vt: 1
|
||||
firefox_profiles:
|
||||
default:
|
||||
extensions:
|
||||
- ublock-origin
|
||||
- passff
|
||||
- privacy-badger17
|
||||
- tree-style-tab
|
||||
- i-dont-care-about-cookies
|
||||
- floccus
|
||||
manage_css: true
|
||||
mail: hannes@hkoerber.de
|
||||
ssh_agent: false
|
||||
gpg_agent: true
|
||||
gpg_agent_for_ssh: true
|
||||
gpg_key:
|
||||
email: hannes@hkoerber.de
|
||||
id: "0xB5C002530C6A2053"
|
||||
fingerprint: "973AE48D71B76735C4712B5BB5C002530C6A2053"
|
||||
environment:
|
||||
MACHINE_HAS_NEXTCLOUD: "true"
|
||||
|
||||
screen:
|
||||
1: DisplayPort-0
|
||||
2: DisplayPort-0
|
||||
3: DisplayPort-0
|
||||
4: DisplayPort-0
|
||||
5: DisplayPort-0
|
||||
6: DisplayPort-0
|
||||
7: DisplayPort-0
|
||||
8: DisplayPort-0
|
||||
9: DisplayPort-0
|
||||
0: DisplayPort-0
|
||||
|
||||
workspace:
|
||||
1: ""
|
||||
9: ""
|
||||
10: ""
|
||||
|
||||
environment:
|
||||
MACHINE_TYPE: "laptop"
|
||||
MACHINE_HAS_KEEPASSXC: "false"
|
||||
MACHINE_HAS_NEXTCLOUD: "true"
|
||||
MACHINE_HAS_STEAM: "false"
|
||||
MACHINE_RESOLUTION_X: "1024"
|
||||
MACHINE_RESOLUTION_Y: "600"
|
||||
137
install_scripts/hades.sh
Executable file
137
install_scripts/hades.sh
Executable file
@@ -0,0 +1,137 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -o xtrace
|
||||
set -o nounset
|
||||
set -o errexit
|
||||
|
||||
DEVICE="/dev/nvme0n1"
|
||||
|
||||
if [[ ! -b "${DEVICE}" ]] ; then
|
||||
printf '%s does not look like a device\n' "${DEVICE}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -d /sys/firmware/efi/efivars ]] ; then
|
||||
printf 'efivars does not exist, looks like the system is not booted in EFI mode\n'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
loadkeys de-latin1
|
||||
|
||||
timedatectl set-ntp true
|
||||
|
||||
sed -e 's/\s*\([^#]*\).*/\1/' << EOF | sfdisk ${DEVICE}
|
||||
label: gpt
|
||||
device: ${DEVICE}
|
||||
|
||||
${DEVICE}p1 : name=uefi , size=512M , type=uefi
|
||||
${DEVICE}p2 : name=boot , size=512M , type=linux
|
||||
${DEVICE}p3 : name=cryptpart , type=linux
|
||||
EOF
|
||||
|
||||
# might take a bit for the new partion table to be updated in-kernel
|
||||
sleep 1
|
||||
|
||||
while : ; do
|
||||
cryptsetup --batch-mode luksFormat --iter-time 1000 ${DEVICE}p3
|
||||
cryptsetup --batch-mode open --tries 1 ${DEVICE}p3 cryptpart && break
|
||||
done
|
||||
|
||||
pvcreate /dev/mapper/cryptpart
|
||||
vgcreate vgbase /dev/mapper/cryptpart
|
||||
|
||||
lvcreate -L 32G vgbase -n swap
|
||||
lvcreate -l 100%FREE vgbase -n root
|
||||
|
||||
yes | mkfs.fat -F32 ${DEVICE}p1
|
||||
yes | mkfs.ext4 ${DEVICE}p2
|
||||
yes | mkfs.ext4 /dev/vgbase/swap
|
||||
yes | mkfs.ext4 /dev/vgbase/root
|
||||
|
||||
mount /dev/vgbase/root /mnt
|
||||
|
||||
mkdir /mnt/efi
|
||||
mount ${DEVICE}p1 /mnt/efi
|
||||
|
||||
mkdir /mnt/boot
|
||||
mount ${DEVICE}p2 /mnt/boot
|
||||
|
||||
mkswap /dev/vgbase/swap
|
||||
swapon /dev/vgbase/swap
|
||||
|
||||
pacstrap /mnt base linux-zen linux-firmware networkmanager intel-ucode lvm2 grub efibootmgr
|
||||
|
||||
genfstab -U /mnt >> /mnt/etc/fstab
|
||||
|
||||
cat << CHROOTSCRIPT > /mnt/chroot-script.sh
|
||||
|
||||
set -o xtrace
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
|
||||
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
|
||||
hwclock --systohc
|
||||
|
||||
sed -i 's/^#de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen
|
||||
sed -i 's/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
|
||||
|
||||
locale-gen
|
||||
|
||||
printf 'LANG=en_US.UTF-8\n' > /etc/locale.conf
|
||||
|
||||
printf 'KEYMAP=de-latin1\nFONT=lat2-16\n' > /etc/vconsole.conf
|
||||
|
||||
printf 'neptune\n' > /etc/hostname
|
||||
|
||||
cat <<EOF > /etc/hosts
|
||||
127.0.0.1 localhost
|
||||
::1 localhost
|
||||
127.0.1.1 neptune
|
||||
EOF
|
||||
|
||||
sed -i 's/^HOOKS=.*$/HOOKS=(base udev autodetect keyboard keymap consolefont modconf block encrypt lvm2 filesystems resume fsck)/' /etc/mkinitcpio.conf
|
||||
|
||||
mkinitcpio -P
|
||||
|
||||
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
|
||||
|
||||
sed -i "s/^GRUB_CMDLINE_LINUX=.*$/GRUB_CMDLINE_LINUX=\"cryptdevice=UUID=\$(blkid -s UUID -o value ${DEVICE}p3):cryptpart root=UUID=\$(blkid -s UUID -o value /dev/vgbase/root)\"/" /etc/default/grub
|
||||
sed -i "s/^GRUB_CMDLINE_LINUX_DEFAULT=.*$/GRUB_CMDLINE_LINUX_DEFAULT=\"resume=UUID=\$(blkid -s UUID -o value /dev/vgbase/swap)\"/" /etc/default/grub
|
||||
sed -i 's/^GRUB_DISABLE_RECOVERY=.*$/GRUB_DISABLE_RECOVERY=/' /etc/default/grub
|
||||
|
||||
grub-mkconfig -o /boot/grub/grub.cfg
|
||||
|
||||
systemctl enable NetworkManager
|
||||
|
||||
passwd
|
||||
|
||||
# enable root autologin on first boot
|
||||
|
||||
mkdir /etc/systemd/system/getty@tty1.service.d/
|
||||
cat << EOF > /etc/systemd/system/getty@tty1.service.d/autologin.conf
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin root %I $TERM
|
||||
EOF
|
||||
# ExecStartPost=/bin/rm /etc/systemd/system/getty@tty1.service.d/autologin.conf
|
||||
# ExecStartPost=/bin/rmdir /etc/systemd/system/getty@tty1.service.d/
|
||||
|
||||
# Run
|
||||
cat << 'EOF' > /root/.bash_profile
|
||||
if [[ "\$(tty)" == "/dev/tty1" ]] ; then
|
||||
while ! ping -w 3 -c 3 8.8.8.8 ; do
|
||||
nmtui
|
||||
sleep 5
|
||||
done
|
||||
rm -rf /etc/systemd/system/getty@tty1.service.d/
|
||||
if /var/lib/dotfiles/install.sh ; then
|
||||
rm -f /root/.bash_profile
|
||||
reboot
|
||||
fi
|
||||
fi
|
||||
EOF
|
||||
CHROOTSCRIPT
|
||||
|
||||
chmod +x /mnt/chroot-script.sh
|
||||
arch-chroot /mnt /chroot-script.sh
|
||||
rm -f /mnt/chroot-script.sh
|
||||
@@ -219,7 +219,7 @@ ruby:
|
||||
acpi:
|
||||
archlinux: ["acpi", "acpid"]
|
||||
nodejs:
|
||||
archlinux: ["nodejs", "npm", "yarn"]
|
||||
archlinux: ["nodejs-lts-jod", "npm", "yarn"]
|
||||
xdg:
|
||||
archlinux: ["xdg-utils"]
|
||||
dunst:
|
||||
@@ -336,7 +336,7 @@ awscli:
|
||||
mariadb-client:
|
||||
archlinux: ["mariadb-clients"]
|
||||
php:
|
||||
archlinux: ["php"]
|
||||
archlinux: ["php", "composer"]
|
||||
eza:
|
||||
archlinux: ["eza"]
|
||||
just:
|
||||
@@ -562,3 +562,6 @@ hedgewars:
|
||||
supertuxkart:
|
||||
archlinux:
|
||||
- supertuxkart
|
||||
dua:
|
||||
archlinux:
|
||||
- dua-cli
|
||||
|
||||
Submodule pkgbuilds/backblaze-b2 updated: e0cea51cad...71b1bc0cda
Submodule pkgbuilds/nodejs-intelephense updated: 3433fdd143...4e1a890e0f
Submodule pkgbuilds/portfolio-performance-bin updated: cdaa151c6b...a7e55752a9
Submodule pkgbuilds/protontricks updated: 9626d22104...666d9cfea1
Submodule pkgbuilds/slack-desktop updated: c4ba0f0b8c...88e54e4683
Submodule pkgbuilds/spotify updated: becb37d4d4...9db1658805
Submodule pkgbuilds/terraform-ls-bin updated: a7e85a0019...ba803659bd
@@ -191,11 +191,11 @@
|
||||
|
||||
- name: install packages
|
||||
package:
|
||||
name: "{{ defined_packages|json_query(query) }}"
|
||||
name: "{{ defined_packages|json_query(pkg_query) }}"
|
||||
state: present
|
||||
become: true
|
||||
vars:
|
||||
query: "{{ '*.%s[]'|format(distro) }}"
|
||||
pkg_query: "{{ '*.%s[]'|format(distro) }}"
|
||||
|
||||
- name: remove unconfigured packages
|
||||
script:
|
||||
|
||||
@@ -11,6 +11,11 @@ MOUNTOPTS="uid=${uid},gid=${gid}"
|
||||
|
||||
SYNC_FOLDERS=(
|
||||
Activity
|
||||
Settings
|
||||
Courses
|
||||
Records
|
||||
Totals
|
||||
Workouts
|
||||
)
|
||||
|
||||
RSYNCOPTS=(
|
||||
|
||||
2
user.yml
2
user.yml
@@ -301,7 +301,7 @@
|
||||
browser.startup.homepage: "about:blank"
|
||||
privacy.trackingprotection.enabled: true
|
||||
privacy.trackingprotection.socialtracking.enabled: true
|
||||
general.smoothScroll: false
|
||||
general.smoothScroll: true
|
||||
|
||||
# Restore last session on startup
|
||||
# https://support.mozilla.org/de/questions/1235263
|
||||
|
||||
Reference in New Issue
Block a user