Optional arguments with spaces aren't supported by GNU getopt. So instead lets restructure the arguments to make sense without them. The manager now supports stdin. This patch also separates file pulling and pushing into separate functions.
Dotfiles
This is a collection of dotfiles and scripts for my i3 setup, previewed below:
Software:
All packages that are manually installed via pacman -S, can be found in the packages file, dependencies are not included.
Configuration:
Below are all the system changes that were made.
$ = command
<> = variable
() = action
Boot defaults:
$ vim /boot/loader/loader.conf
timeout 3
default arch
Boot config:
<uuid> = $ blkid # from the / 'root' partition
$ vim /boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=PARTUUID=<uuid> rw
Predictable network interface names:
$ ln -s /dev/null /etc/systemd/network/99-default.link
Network:
$ systemctl enable netctl-auto@wlan0.service
Give wheel users sudo permission:
$ vim /etc/sudoers
(add)Defaults insults
(uncomment)%wheel ALL=(ALL) ALL
Add user:
$ useradd -m -G wheel -s /bin/bash <username>
$ passwd <username>
Installing AUR helper:
$ git clone https://aur.archlinux.org/trizen.git
$ cd trizen
$ makepkg -si
$ cd ..
$ trizen -S trizen
$ rm -rf trizen
Switch shell to zsh:
$ chsh -s /bin/zsh
Pacman colors:
$ vim /etc/pacman.conf
(uncomment)Color
Git:
$ git config --global user.email "<email address>"
$ git config --global user.name "<name>"
Tlp:
$ systemctl enable tlp.service
$ systemctl enable tlp-sleep.service
$ vim /etc/default/tlp
(edit)SOUND_POWER_SAVE_ON_BAT=0
Trim:
$ systemctl enable fstrim.timer
Clock internet sync:
$ timedatectl set-ntp true
Mail gpg:
$ gpg --decrypt <backup.pgp> | gpg --import
$ gpg --search-keys <email address>
Give permission to /dev/ttyUSB0 for PlatformIO:
$ gpasswd -a <user> uucp
Give permisson to change brightness for brightnessctl:
$ gpasswd -a <user> input
$ gpasswd -a <user> video
Set Firefox as default browser:
$ xdg-settings set default-web-browser firefox.desktop
Prevent bricking motherboard by mounting efivars read-only:
https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Mount_efivarfs
$ vim /etc/fstab
(add)efivarfs /sys/firmware/efi/efivars efivarfs ro,nosuid,nodev,noexec,noatime 0 0
