diff options
Diffstat (limited to 'src/install')
-rw-r--r-- | src/install/editor.md | 13 | ||||
-rw-r--r-- | src/install/misc.md | 9 | ||||
-rw-r--r-- | src/install/pacman.md | 74 | ||||
-rw-r--r-- | src/install/rust.md | 13 | ||||
-rw-r--r-- | src/install/setup.md | 25 | ||||
-rw-r--r-- | src/install/tools.md | 39 | ||||
-rw-r--r-- | src/install/tools/password-store.md | 29 | ||||
-rw-r--r-- | src/install/tools/yubikey.md | 26 |
8 files changed, 228 insertions, 0 deletions
diff --git a/src/install/editor.md b/src/install/editor.md new file mode 100644 index 0000000..35db188 --- /dev/null +++ b/src/install/editor.md @@ -0,0 +1,13 @@ +# Editor + +Install neovim and deps + +```console +pacman -S neovim nodejs npm python-pip python-pynvim +``` + +Install neovim's node provider + +```console +npm install -g neovim +``` diff --git a/src/install/misc.md b/src/install/misc.md new file mode 100644 index 0000000..3b0ee90 --- /dev/null +++ b/src/install/misc.md @@ -0,0 +1,9 @@ +# Misc + +<!-- TODO: DE/WM (Wayland/Sway) --> + +## Fonts + +```console +pacman -S ttf-firacode-nerd noto-fonts-emoji +``` diff --git a/src/install/pacman.md b/src/install/pacman.md new file mode 100644 index 0000000..31c8469 --- /dev/null +++ b/src/install/pacman.md @@ -0,0 +1,74 @@ +# Pacman + +Set options in pacman config (`/etc/pacman.conf`) + +```conf +# /etc/pacman.conf +[Options] +UseSyslog +Color +CheckSpace +VerbosePkgLists +ParallelDownloads = 5 +``` + +## AUR + +Install paru AUR helper + +```console +sudo pacman -S --needed base-devel +git clone https://aur.archlinux.org/paru.git ~/src/paru +cd ~/src/paru +makepkg -si +``` + +Enable rustc flags for makepkg + +```conf +# /etc/makepkg.conf +RUSTFLAGS="-C opt-level=2 -C target-cpu=native" +``` + +## Pacman utils + +Install utility scripts + +```console +paru -S pacman-contrib +``` + +## Hooks + +Install hooks + +```console +paru -S check-broken-packages-pacman-hook-git pacman-backup-hook reflector-pacman-hook-git +``` + +```config +# /etc/pacman.d/hooks/zsh.hook +[Trigger] +Operation = Install +Operation = Upgrade +Operation = Remove +Type = Path +Target = usr/bin/* + +[Action] +Depends = zsh +Depends = procps-ng +When = PostTransaction +Exec = /usr/bin/pkill zsh --signal=USR1 +``` + +Set flags for reflector + +```confg +# /etc/xdg/reflector/reflector.conf +--save /etc/pacman.d/mirrorlist +--country us +--age 2 +--score 10 +--sort rate +``` diff --git a/src/install/rust.md b/src/install/rust.md new file mode 100644 index 0000000..1acc9e8 --- /dev/null +++ b/src/install/rust.md @@ -0,0 +1,13 @@ +# Rust + +Install rustup + +```console +pacman -S rustup +``` + +Install rust toolchains + +```console +rustup toolchain install stable nightly +``` diff --git a/src/install/setup.md b/src/install/setup.md new file mode 100644 index 0000000..043d9cf --- /dev/null +++ b/src/install/setup.md @@ -0,0 +1,25 @@ +# Setup + +Create base directories. I typically treat these as an pseudo-extension of the +[XDG user directory spec](https://wiki.archlinux.org/title/XDG_user_directories). + +| Name | Usage | Path | +| ----------------------- | ------------------------------------- | ----------- | +| `XDG_SOURCE_DIR` | Source code repositories | `$HOME/src` | +| `XDG_PACKAGES_DIR` | PKGBUILDs and PKGBUILD related things | `$HOME/pkg` | +| `XDG_CONTAINER_DIR` | Containerization files | `$HOME/dkr` | +| `XDG_DOCUMENTATION_DIR` | Documentation related projects | `$HOME/doc` | + +<!-- TODO: possibly impl this with XDG user directories --> + +```console +mkdir -p ~/src ~/pkg ~/dkr ~/doc +``` + +Clone and install my dotfiles. + +```console +git clone https://git.sr.ht/~tobyvin/.dotfiles ~/.dotfiles +cd ~/.dotfiles +./install.sh +``` diff --git a/src/install/tools.md b/src/install/tools.md new file mode 100644 index 0000000..6f6c6b6 --- /dev/null +++ b/src/install/tools.md @@ -0,0 +1,39 @@ +# Tools + +Install dev tools + +```console +pacman -S base-devel unzip +``` + +Install alternative core utils + +```console +pacman -S ripgrep fd bat +``` + +Install shell and deps + +```console +pacman -S zsh starship sheldon +``` + +Install tmux + +```console +pacman -S tmux +``` + +Install [projectr] & [sshr] + +**Note**: I will eventuallyâ„¢ write a PKGBUILD for these (which will take care of +deps). + +```console +pacman -S fzf onefetch openssh +cargo install --git http://git.sr.ht/~tobyvin/projectr +cargo install --git http://git.sr.ht/~tobyvin/sshr +``` + +[projectr]: https://git.sr.ht/~tobyvin/projectr +[sshr]: https://git.sr.ht/~tobyvin/sshr diff --git a/src/install/tools/password-store.md b/src/install/tools/password-store.md new file mode 100644 index 0000000..6e71f5d --- /dev/null +++ b/src/install/tools/password-store.md @@ -0,0 +1,29 @@ +# Password Store + +Clone password-store + +```console +git clone git@git.sr.ht:~tobyvin/.password-store ~/.password-store +``` + +Install pass and default extensions + +```console +paru -S pass pass-coffin pass-extension-tail pass-import +``` + +Verify pass-coffin decrypts correctly + +```console +$ pass open +password store data has been retrieved from the coffin +password store data will be hidden inside a coffin after 10min +``` + +Verify pass decrypts correctly + +```console +$ pass tail sr.ht +login: <REDACTED> +url: https://sr.ht/ +``` diff --git a/src/install/tools/yubikey.md b/src/install/tools/yubikey.md new file mode 100644 index 0000000..9277171 --- /dev/null +++ b/src/install/tools/yubikey.md @@ -0,0 +1,26 @@ +# Yubikey + +Install pam module and optionally libfido2 + +```console +pacman -S pam-u2f libfido2 +``` + +Add credentials for key to pam-u2f (security key must be inserted) See: +[Universal 2nd Factor - Authentication for Arch Linux](https://wiki.archlinux.org/title/Universal_2nd_Factor#Authentication_for_Arch_Linux) + +```console +pamu2fcfg -o pam://$HOSTNAME -i pam://$HOSTNAME >> ~/.config/Yubico/u2f_keys +``` + +Install ykman + +```console +pacman -S yubikey-manager +``` + +Touch indicator + +```console +pacman -S yubikey-touch-detector +``` |