move tower to archlinux
This commit is contained in:
parent
46b6522a1d
commit
2d9fcee0dc
1
.bashrc
1
.bashrc
|
@ -118,7 +118,6 @@ if [ -z "$SSH_AUTH_SOCK" ] ; then
|
|||
# ssh-add
|
||||
fi
|
||||
|
||||
|
||||
# BEGIN_KITTY_SHELL_INTEGRATION
|
||||
if test -n "$KITTY_INSTALLATION_DIR" -a -e "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; then source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; fi
|
||||
# END_KITTY_SHELL_INTEGRATION
|
||||
|
|
17
.i3/config
17
.i3/config
|
@ -86,6 +86,7 @@ bindsym $mod+Shift+space floating toggle
|
|||
bindsym $mod+space focus mode_toggle
|
||||
# float some applications
|
||||
for_window [class="Tor Browser"] floating enable
|
||||
for_window [title=".*alculator.*"] floating enable
|
||||
|
||||
bindsym $mod+a focus parent # focus the parent container
|
||||
|
||||
|
@ -126,9 +127,9 @@ mode "monitor" {
|
|||
# CENTER main, RIGHT secondary
|
||||
bindsym 2 exec xrandr --output $CENTER --primary --auto --output $LAPTOP --auto --left-of $CENTER --output $RIGHT --off
|
||||
# HDMI main, laptop left, VGA right, *not* supported on X230
|
||||
bindsym 3 exec xrandr --output $CENTER --primary --auto --output $LAPTOP --auto --left-of $CENTER --output $RIGHT --auto --right-of $CENTER
|
||||
bindsym 3 exec xrandr --output $CENTER --primary --auto --output $LEFT --auto --left-of $CENTER --output $RIGHT --auto --right-of $CENTER
|
||||
# CENTER main, RIGHT right, rotated
|
||||
bindsym 4 exec xrandr --output $CENTER --primary --auto --output $RIGHT --auto --right-of $CENTER --rotate left --output $LAPTOP --off --output $LEFT --off
|
||||
bindsym 4 exec xrandr --output $CENTER --primary --auto --output $RIGHT --auto --right-of $CENTER --rotate left --output $LAPTOP --off --output $LEFT --auto
|
||||
# VGA main, laptop left, HDMI off
|
||||
bindsym 8 exec xrandr --output $RIGHT --primary --auto --output $LAPTOP --auto --left-of $RIGHT --output $CENTER --off
|
||||
# HDMI main, VGA right, laptop off
|
||||
|
@ -144,7 +145,6 @@ workspace $WS1 output $CENTER
|
|||
workspace $WS2 output $CENTER
|
||||
workspace $WS3 output $RIGHT
|
||||
workspace $WS4 output $RIGHT
|
||||
workspace $WS5 output $CENTER
|
||||
workspace $WS8 output $RIGHT
|
||||
workspace $WS9 output $RIGHT
|
||||
|
||||
|
@ -227,13 +227,14 @@ bar {
|
|||
urgent_workspace #d33682 #d33682 #fdf6e3
|
||||
}
|
||||
output $CENTER
|
||||
font pango:DejaVu Sans Mono, FontAwesome 7
|
||||
font pango:DejaVu Sans Mono, FontAwesome 9
|
||||
status_command i3status --config ~/.i3/status.conf
|
||||
tray_output $CENTER
|
||||
}
|
||||
|
||||
bar {
|
||||
output $RIGHT
|
||||
output $LEFT
|
||||
status_command i3status --config ~/.i3/status_small.conf
|
||||
tray_output $CENTER
|
||||
}
|
||||
|
@ -250,17 +251,11 @@ bar {
|
|||
|
||||
|
||||
# startup programs
|
||||
exec amixer set Master 1+ off
|
||||
exec amixer set Master 54
|
||||
exec --no-startup-id nm-applet
|
||||
# exec --no-startup-id xrandr --output LVDS1 --left-of VGA1 --auto
|
||||
# exec --no-startup-id xrandr --output VGA1 --auto
|
||||
#exec --no-startup-id clipit
|
||||
exec --no-startup-id xrandr --output $CENTER --primary --auto --output $RIGHT --auto --right-of $CENTER --rotate left --output $LAPTOP --off --output $LEFT --off
|
||||
exec --no-startup-id xrandr --output $CENTER --primary --auto --output $RIGHT --auto --right-of $CENTER --rotate left --output $LAPTOP --off --output $LEFT --auto --left-of $CENTER
|
||||
exec --no-startup-id i3-msg 'workspace $WS1; exec firefox;'
|
||||
exec --no-startup-id i3-msg 'workspace $WS2; exec emacs'
|
||||
exec --no-startup-id i3-msg 'exec thunderbird'
|
||||
exec --no-startup-id i3-msg 'exec keepassxc'
|
||||
# exec --no-startup-id i3-msg 'exec nextcloud'
|
||||
exec --no-startup-id i3-msg 'workspace $WS3; exec kitty;'
|
||||
|
||||
|
|
|
@ -31,8 +31,8 @@ order += "battery 0"
|
|||
# order += "cpu_temperature 0"
|
||||
order += "memory"
|
||||
order += "load"
|
||||
#order += "tztime local"
|
||||
order += "tztime DE"
|
||||
order += "tztime local"
|
||||
# order += "tztime DE"
|
||||
#order += "tztime KG"
|
||||
# order += "tztime UK"
|
||||
|
||||
|
@ -42,12 +42,6 @@ ethernet fschl-vpn {
|
|||
format_down = "fschl-vpn: -"
|
||||
}
|
||||
|
||||
ethernet sl-optigem {
|
||||
# if you use %speed, i3status requires root privileges
|
||||
format_up = "optigem: %ip"
|
||||
format_down = "optigem: -"
|
||||
}
|
||||
|
||||
ethernet enp31s0 {
|
||||
# if you use %speed, i3status requires root privileges
|
||||
format_up = "E: %ip (%speed)"
|
||||
|
@ -78,7 +72,7 @@ tztime local {
|
|||
|
||||
tztime DE {
|
||||
format = "DE %Y-%m-%d (%V) %a %H:%M:%S"
|
||||
timezone = "Europe/Berlin"
|
||||
timezone = "Europe/Berlin"
|
||||
}
|
||||
|
||||
tztime UK {
|
||||
|
@ -121,10 +115,10 @@ disk "/media/driveBay" {
|
|||
format = "/ %avail"
|
||||
}
|
||||
|
||||
volume Master {
|
||||
format = " %volume"
|
||||
format_muted = " %volume"
|
||||
device = "default"
|
||||
mixer = "Master"
|
||||
mixer_idx = 0
|
||||
}
|
||||
# volume Master {
|
||||
# format = " %volume"
|
||||
# format_muted = " %volume"
|
||||
# device = "default"
|
||||
# mixer = "Master"
|
||||
# mixer_idx = 0
|
||||
# }
|
||||
|
|
1
.profile
1
.profile
|
@ -21,3 +21,4 @@ if [ -d "$HOME/bin" ] ; then
|
|||
PATH="$HOME/bin:$PATH"
|
||||
fi
|
||||
|
||||
. "$HOME/.cargo/env"
|
||||
|
|
|
@ -56,8 +56,8 @@ This function should only modify configuration layer settings."
|
|||
python
|
||||
rust
|
||||
shell
|
||||
shell-scripts
|
||||
spell-checking
|
||||
;; shell-scripts
|
||||
;; spell-checking
|
||||
syntax-checking
|
||||
version-control
|
||||
yaml
|
||||
|
|
|
@ -116,5 +116,10 @@
|
|||
- [ ] seperate sources.list setup for server/desktop/laptop
|
||||
- [ ] Check new bootable USB solution: https://ventoy.net/en/index.html
|
||||
- [ ] move to ansible for easier modularization of setup
|
||||
- [ ] notifications: move from ~mako~ to ~dunst~ when dunst >1.6 is available
|
||||
on debian
|
||||
|
||||
** Moving to Arch
|
||||
|
||||
- official repository setup: https://wiki.archlinux.org/title/Official_repositories#multilib
|
||||
- multiplib is required for wine
|
||||
- Sound troubleshooting: https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture/Troubleshooting#HDMI
|
||||
- Skype: https://www.tecmint.com/install-skype-in-arch-linux/
|
||||
|
|
|
@ -555,7 +555,7 @@ EOF
|
|||
|
||||
# install/update golang from source
|
||||
install_golang() {
|
||||
export GO_VERSION=1.16.0
|
||||
export GO_VERSION=1.17.3
|
||||
export GO_SRC=/usr/local/go
|
||||
|
||||
# if we are passing the version
|
||||
|
|
|
@ -0,0 +1,329 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# install.sh
|
||||
# This script installs a basic setup for a debian machine
|
||||
|
||||
USERNAME=fschl
|
||||
SUDO="sudo"
|
||||
|
||||
check_root() {
|
||||
# We need root rights at some point
|
||||
if [ "$(whoami)" != "root" ]; then
|
||||
if ! which $SUDO >/dev/null; then
|
||||
echo "ERROR: $0 is not run as root and $SUDO is not available" >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
SUDO="" # We're already root
|
||||
fi
|
||||
}
|
||||
|
||||
base_applications() {
|
||||
echo "update and installing baseapps..."
|
||||
|
||||
$SUDO pacman -S -y \
|
||||
bash-completion \
|
||||
bmon \
|
||||
bzip2 \
|
||||
ca-certificates \
|
||||
cmake \
|
||||
coreutils \
|
||||
cryptsetup \
|
||||
curl \
|
||||
dhclient \
|
||||
dnsutils \
|
||||
gcc \
|
||||
git \
|
||||
gnupg \
|
||||
htop \
|
||||
make \
|
||||
mount \
|
||||
net-tools \
|
||||
networkmanager \
|
||||
rsync \
|
||||
openssh \
|
||||
sudo \
|
||||
tar \
|
||||
tmux \
|
||||
tree \
|
||||
unzip \
|
||||
vim \
|
||||
vpnc \
|
||||
wireguard-tools \
|
||||
zip
|
||||
|
||||
echo "... DONE... cleaning up\n\n"
|
||||
|
||||
# $SUDO ip link add dev wg0 type wireguard
|
||||
$SUDO systemctl start NetworkManager.service
|
||||
$SUDO systemctl enable NetworkManager.service
|
||||
}
|
||||
|
||||
|
||||
no_suspend() {
|
||||
# https://wiki.debian.org/SystemdSuspendSedation
|
||||
$SUDO sed -i "s/HandleLidSwitch=.*/HandleLidSwitch=ignore/" /etc/systemd/logind.conf
|
||||
$SUDO sed -i "s/HandleLidSwitchDocked=.*/HandleLidSwitchDocked=ignore/" /etc/systemd/logind.conf
|
||||
$SUDO sed -i "s/IdleActionSec=.*/IdleActionSec=90min/" /etc/systemd/logind.conf
|
||||
|
||||
# turn off screen blanking
|
||||
# https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=18200&sid=135af53eb82496bc64f4c0eefbc86d2c&start=25
|
||||
# http://raspberrypi.stackexchange.com/questions/752/how-do-i-prevent-the-screen-from-going-blank
|
||||
xset s noblank
|
||||
|
||||
$SUDO systemctl restart systemd-logind.service
|
||||
}
|
||||
|
||||
install_nvidia_docker() {
|
||||
# get latest driver from https://www.nvidia.com/object/unix.html
|
||||
# https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(version-2.0)#prerequisites
|
||||
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
|
||||
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
|
||||
sudo apt-get update
|
||||
|
||||
# Install nvidia-docker2 and reload the Docker daemon configuration
|
||||
sudo apt-get install -y nvidia-docker2
|
||||
sudo pkill -SIGHUP dockerd
|
||||
}
|
||||
|
||||
install_latex() {
|
||||
echo "- installing LaTeX.."
|
||||
pacman -S -y \
|
||||
evince \
|
||||
texlive \
|
||||
texlive-bibtex-extra \
|
||||
texlive-fonts-extra \
|
||||
texlive-fonts-recommended \
|
||||
texlive-lang-english \
|
||||
texlive-lang-german \
|
||||
texlive-latex-extra \
|
||||
texlive-latex-recommended \
|
||||
texlive-pictures \
|
||||
texlive-plain-generic
|
||||
echo "..done"
|
||||
}
|
||||
|
||||
install_i3() {
|
||||
echo "- installing i3wm and some tools..."
|
||||
|
||||
# check if CJK and other eastern letters are displayed correctly:
|
||||
# https://meta.wikimedia.org/wiki/List_of_Wikipedias
|
||||
|
||||
# tlp: Advanced Linux Power Management
|
||||
# http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html
|
||||
# deb http://repo.linrunner.de/debian sid main
|
||||
|
||||
pacman -Sy \
|
||||
alsa-utils \
|
||||
arandr \
|
||||
aspell \
|
||||
aspell-de \
|
||||
aspell-en \
|
||||
emacs \
|
||||
feh \
|
||||
firefox \
|
||||
gimp \
|
||||
i3 \
|
||||
i3lock \
|
||||
i3lock-fancy \
|
||||
i3status \
|
||||
keepassxc \
|
||||
lightdm \
|
||||
obs-studio \
|
||||
openvpn \
|
||||
powerline-fonts \
|
||||
pulseaudio \
|
||||
pulseaudio-alsa \
|
||||
pulsemixer \
|
||||
rxvt-unicode \
|
||||
scrot \
|
||||
shotwell \
|
||||
thunderbird \
|
||||
thunderbird-l10n-de \
|
||||
thunderbird-l10n-en-gb \
|
||||
ttf-font-awesome \
|
||||
ttf-dejavu \
|
||||
ttf-opensans \
|
||||
udiskie \
|
||||
vlc \
|
||||
xorg \
|
||||
xorg-xrandr \
|
||||
noto-fonts \
|
||||
syncthing
|
||||
|
||||
|
||||
$SUDO localectl set-x11-keymap de,de ctrl:nocaps
|
||||
|
||||
|
||||
# cups-browsed \
|
||||
# feh \
|
||||
# firmware-linux-nonfree \
|
||||
# firmware-realtek \
|
||||
# fswebcam \
|
||||
# libnotify-bin \
|
||||
# libnotify-dev \
|
||||
# libreoffice-calc \
|
||||
# libreoffice-impress \
|
||||
# libreoffice-l10n-de \
|
||||
# libreoffice-l10n-en-gb \
|
||||
# libreoffice-writer \
|
||||
# network-manager-gnome \
|
||||
# network-manager-vpnc \
|
||||
# network-manager-vpnc-gnome \
|
||||
# notify-osd \
|
||||
# ntfs-3g \
|
||||
# nmap \
|
||||
# pulseaudio \
|
||||
# remmina \
|
||||
# rxvt-unicode-256color \
|
||||
# scrot \
|
||||
# shotwell \
|
||||
# slim \
|
||||
# --no-install-recommends
|
||||
|
||||
# cat <<-EOF > /usr/share/dbus-1/services/org.freedesktop.Notifications.service
|
||||
# [D-BUS Service]
|
||||
# Name=org.freedesktop.Notifications
|
||||
# Exec=/usr/lib/notification-daemon/notification-daemon
|
||||
# EOF
|
||||
|
||||
TARGET="/home/$USERNAME/.emacs.d"
|
||||
git clone https://github.com/syl20bnr/spacemacs "${TARGET}"
|
||||
# rm -rf "${TARGET}"/private/snippets
|
||||
# git clone https://github.com/AndreaCrotti/yasnippet-snippets "${TARGET}"/private/yas-snippets
|
||||
# ln -s "${TARGET}"/private/yas-snips/snippets "${TARGET}"/private/snippets/
|
||||
|
||||
no_suspend
|
||||
|
||||
echo "... setting capslock to control"
|
||||
sed -i "s/^XKBOPTIONS=.*/XKBOPTIONS=\"ctrl:nocaps\"/" /etc/default/keyboard
|
||||
|
||||
TARGET="/home/$USERNAME/.emacs.d"
|
||||
git clone https://github.com/syl20bnr/spacemacs "${TARGET}"
|
||||
#rm -rf "${TARGET}"/private/snippets
|
||||
#git clone https://github.com/AndreaCrotti/yasnippet-snippets "${TARGET}"/private/yas-snips
|
||||
#ln -s "${TARGET}"/private/yas-snips/snippets "${TARGET}"/private/snippets/
|
||||
|
||||
}
|
||||
|
||||
link_userdirs() {
|
||||
|
||||
mount_dir=$1
|
||||
target_mount="${mount_dir:-/mnt/docs/}"
|
||||
user_dirs=("Documents Downloads Music Pictures Videos")
|
||||
for DIR in $user_dirs
|
||||
do
|
||||
echo "removing and linking ${DIR}..."
|
||||
rm -rfv /home/$USERNAME/$DIR
|
||||
echo "link target: ${target_mount}/${DIR}"
|
||||
ln -vs ${target_mount}/${DIR} /home/${USERNAME}/${DIR}
|
||||
done
|
||||
|
||||
projects_mount=$docs_mount
|
||||
}
|
||||
|
||||
install_wine() {
|
||||
# edit /etc/pacman.conf
|
||||
# TODO: enable multilib + Include mirrorlist
|
||||
|
||||
# if using NVidia gpu
|
||||
$SUDO pacman -S \
|
||||
lib32-alsa-plugins \
|
||||
lib32-libpulse \
|
||||
lib32-nvidia-utils \
|
||||
lib32-openal \
|
||||
multilib \
|
||||
wine
|
||||
}
|
||||
|
||||
install_vscodium() {
|
||||
# https://vscodium.com/
|
||||
|
||||
pacman -S -y \
|
||||
codium \
|
||||
--no-install-recommends
|
||||
|
||||
codium version
|
||||
}
|
||||
|
||||
install_docker() {
|
||||
echo "installing docker binary Version $VERS ..."
|
||||
# https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount
|
||||
|
||||
pacman -Sy \
|
||||
docker \
|
||||
docker-compose
|
||||
|
||||
docker version
|
||||
docker info
|
||||
}
|
||||
|
||||
|
||||
install_nvidia() {
|
||||
echo "Prepare install for NVIDIA proprietary display driver"
|
||||
|
||||
pacman -Sy \
|
||||
nvidia
|
||||
}
|
||||
|
||||
install_virtualbox() {
|
||||
# https://wiki.debian.org/VirtualBox#Installation_of_non-free_edition
|
||||
pacman -S -y \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gnupg2 \
|
||||
software-properties-common \
|
||||
--no-install-recommends
|
||||
|
||||
}
|
||||
|
||||
|
||||
main() {
|
||||
local cmd=$1
|
||||
|
||||
if [[ -z "$cmd" ]]; then
|
||||
echo "Usage: \n base (includes docker+compose)| desktop | server | dotfiles | vscode | latex | update-docker | go"
|
||||
fi
|
||||
|
||||
case "$cmd" in
|
||||
base)
|
||||
# apt_sources buster
|
||||
base_applications
|
||||
;;
|
||||
server)
|
||||
base_applications
|
||||
install_server_base
|
||||
install_docker
|
||||
install_compose
|
||||
;;
|
||||
desktop)
|
||||
base_applications
|
||||
install_docker
|
||||
install_compose
|
||||
install_i3
|
||||
if [ -f "./get_private_stuff.sh" ]; then
|
||||
source get_private_stuff.sh
|
||||
fi
|
||||
;;
|
||||
links)
|
||||
link_userdirs /mnt/docs/
|
||||
;;
|
||||
latex)
|
||||
install_latex
|
||||
;;
|
||||
vscode)
|
||||
install_vscodium
|
||||
;;
|
||||
update-docker)
|
||||
install_docker
|
||||
install_compose
|
||||
;;
|
||||
go)
|
||||
install_golang
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
main "$@"
|
Loading…
Reference in New Issue