Initial Commit
This commit is contained in:
commit
01cfb456e0
|
@ -0,0 +1,68 @@
|
||||||
|
|
||||||
|
FROM docker.io/archlinux/archlinux:latest
|
||||||
|
|
||||||
|
####
|
||||||
|
# Init
|
||||||
|
|
||||||
|
# Add tl-repo.conf to the filesystem
|
||||||
|
ADD tl-repo.conf /etc/pacman.d/tl-repo.conf
|
||||||
|
|
||||||
|
# Add the tl repo to the pacman config
|
||||||
|
RUN printf "\nInclude = /etc/pacman.d/tl-repo.conf" >> /etc/pacman.conf
|
||||||
|
|
||||||
|
# Initialize pacman keyring
|
||||||
|
RUN pacman-key --init
|
||||||
|
|
||||||
|
# Update pacman sync databases
|
||||||
|
RUN pacman -Sy --noconfirm
|
||||||
|
|
||||||
|
# Update archlinux-keyring first
|
||||||
|
RUN pacman -S --needed --noconfirm archlinux-keyring
|
||||||
|
|
||||||
|
# Update packages
|
||||||
|
RUN pacman -Su --noconfirm
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
# Package Install
|
||||||
|
|
||||||
|
# Installing top-level packages
|
||||||
|
RUN pacman -S --noconfirm \
|
||||||
|
weechat \
|
||||||
|
tmux \
|
||||||
|
mosh \
|
||||||
|
zerotier-one \
|
||||||
|
|
||||||
|
# Installing optional deps
|
||||||
|
RUN pacman -S --needed --asdeps --noconfirm \
|
||||||
|
aspell-en \
|
||||||
|
lua \
|
||||||
|
pearl \
|
||||||
|
python \
|
||||||
|
ruby \
|
||||||
|
tcl \
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
# Setup
|
||||||
|
|
||||||
|
# Create user
|
||||||
|
RUN useradd -m -s /bin/bash thurstylark
|
||||||
|
|
||||||
|
# Configure sshd
|
||||||
|
ADD sshd_config /etc/ssh/
|
||||||
|
|
||||||
|
# Configure tmux
|
||||||
|
ADD tmux.conf /home/thurstylark/.tmux.conf
|
||||||
|
|
||||||
|
# zerotier-one identity and config
|
||||||
|
VOLUME /var/lib/zerotier-one/
|
||||||
|
|
||||||
|
# weechat config
|
||||||
|
VOLUME /home/thurstylark/.config/weechat/
|
||||||
|
|
||||||
|
# Startup script
|
||||||
|
ADD startup.bash /usr/bin/startup.bash
|
||||||
|
|
||||||
|
# Execute startup
|
||||||
|
CMD ["/usr/bin/bash", "/usr/bin/startup.bash"]
|
|
@ -0,0 +1,22 @@
|
||||||
|
# Files
|
||||||
|
|
||||||
|
- `tmux.conf`: Tmux configuration
|
||||||
|
- `startup.bash`: Startup script
|
||||||
|
- `sshd_config`: sshd config for host
|
||||||
|
|
||||||
|
|
||||||
|
# Volumes
|
||||||
|
|
||||||
|
These directories should be volumes to persistent storage
|
||||||
|
|
||||||
|
- `/var/lib/zerotier-one`: ZeroTier identity and config information
|
||||||
|
- `/home/thurstylark/.config/weechat`: Weechat config
|
||||||
|
|
||||||
|
|
||||||
|
# Secrets
|
||||||
|
|
||||||
|
These Secrets should be set up on first start for the init to work properly
|
||||||
|
|
||||||
|
- tl-weechat-ztnetaddr
|
||||||
|
- tl-weechat-pass
|
||||||
|
- tl-weechat-authorizedkeys
|
|
@ -0,0 +1,70 @@
|
||||||
|
####
|
||||||
|
# tl-weemux
|
||||||
|
# Thurstylark's weechat+tmux setup
|
||||||
|
#
|
||||||
|
# tmux.conf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
# Keep the session even if no clients are attached
|
||||||
|
#
|
||||||
|
# NOTE: CRITICALLY NECESSARY
|
||||||
|
set -g destroy-unattached off
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
# Set terminfo
|
||||||
|
set -g default-terminal "tmux-256color"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
# Set base pane and window index to 1
|
||||||
|
set -g base-index 1
|
||||||
|
set -g pane-base-index 1
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
# Disable status bar
|
||||||
|
set -g status off
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
# Change prefix to C-a
|
||||||
|
set -g prefix C-a
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
# Use C-a,a to send prefix to nested session
|
||||||
|
bind-key a send-prefix
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
# Set audible bell on, and visual bell off because it is slooooowwwww
|
||||||
|
set -g bell-action any
|
||||||
|
set -g visual-bell off
|
||||||
|
set -g visual-silence off
|
||||||
|
set -g visual-activity off
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
# No delay for escape key press
|
||||||
|
set -sg escape-time 0
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
# Use Alt-arrow keys without prefix key to switch panes
|
||||||
|
bind -n M-Left select-pane -L
|
||||||
|
bind -n M-Right select-pane -R
|
||||||
|
bind -n M-Up select-pane -U
|
||||||
|
bind -n M-Down select-pane -D
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
# Do the same for HJKL
|
||||||
|
bind -n M-h select-pane -L
|
||||||
|
bind -n M-l select-pane -R
|
||||||
|
bind -n M-k select-pane -U
|
||||||
|
bind -n M-j select-pane -D
|
Loading…
Reference in New Issue