-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsysinit
executable file
·104 lines (75 loc) · 4.27 KB
/
sysinit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/bin/sh
HERE="$(dirname "$(readlink -f "$0")")"
. "$HERE/.config/shell/env"
echo "installing archlinux support"
sudo pacman -Sqyu --needed --noconfirm artix-archlinux-support
if ! command -v doas >/dev/null 2>&1; then
echo "installing doas"
sudo pacman -Sq --needed --noconfirm opendoas
fi
echo "setting up dotfiles"
"$HERE/setup" dotfiles || { echo "setup dotfiles failed" >&2; exit 1; }
alias pkginst="doas pacman -Sq --needed --noconfirm"
alias aurinst="paru -Sq --needed --noconfirm"
echo "updating repos and packages"
pkginst -yu
echo "installing drivers and firmware"
pkginst linux-firmware mesa
echo "installing wayland tools"
pkginst river foot foot-terminfo kanshi fuzzel mako swayidle wlopm waylock wl-clipboard grim slurp wf-recorder wev
aurinst sandbar poweralertd wbg clipman
echo "installing login management tools"
pkginst elogind pam_rundir
echo "installing network tools"
pkginst dhcpcd wpa_supplicant ufw bluez bluez-utils
echo "installing audio tools"
pkginst alsa-utils pipewire pipewire-audio pipewire-alsa pipewire-pulse wireplumber pulsemixer
doas cp -a /usr/share/pipewire /usr/share/wireplumber /etc
echo "installing general tools"
pkginst pacman-contrib xdg-utils xdg-user-dirs xdg-desktop-portal-wlr curl wget git mercurial patch rsync gnupg openssh pass pass-otp signify dbus cronie bc time entr less lesspipe source-highlight z mlocate nnn fzf ripgrep fd chrony libnotify brightnessctl darkhttpd yt-dlp libarchive tar xz gzip bzip2 p7zip unzip unrar libisoburn mtools hdparm sdparm tlp highlight newsboat calcurse lftp hwinfo firejail fribidi zbar qrencode mediainfo bat translate-shell duf direnv croc syncthing flatpak gnome-epub-thumbnailer
aurinst vsv pam_ssh wayprompt buku git-delta urlview dragon-drop bicon-git sc-im lz4json
echo "installing manual pages"
pkginst man-db man-pages texinfo tealdeer
echo "installing text editor and shell"
pkginst vim neovim tmux dash bash zsh zsh-completions zsh-autosuggestions zsh-history-substring-search
aurinst zsh-fast-syntax-highlighting
echo "installing programming tools"
pkginst gcc llvm clang lld tcc nasm make meson pkgconf automake libtool zig rustup go python python-pip python-pipx python-pipenv uv ruff julia lua luarocks deno nodejs npm pnpm yarn xxd gdb valgrind radare2 delve binutils upx jq cppcheck shellcheck tokei hyperfine nix docker docker-compose podman podman-compose staticcheck dive jupyterlab
aurinst bun-bin sdkmanager
rustup default stable && cargo install cargo-update cargo-info
echo "installing filesystems support"
pkginst fuse3 autofs exfat-utils ntfs-3g sshfs mtpfs ifuse
aurinst simple-mtpfs
echo "installing multimedia tools"
pkginst ffmpeg imagemagick poppler perl-image-exiftool mat2 qpdf gimp sox mpv mpv-mpris imv zathura mupdf zathura-pdf-mupdf zathura-ps zathura-djvu libwebp mpd mpd-mpris mpc playerctl ncmpcpp
aurinst sioyek cava
echo "installing email tools"
pkginst neomutt isync msmtp notmuch gettext
aurinst abook
echo "installing system monitoring tools"
pkginst strace lm_sensors socklog nvtop iotop iftop powertop smartmontools lshw inxi
aurinst htop-vim
echo "installing internet stuff"
pkginst firefox qutebrowser lynx w3m amfora weechat pdfjs python-adblock
aurinst arkenfox-user.js
echo "setting up firefox"
"$HERE/setup" firefox || { echo "setup firefox failed" >&2; exit 1; }
echo "installing tor and torrent tools"
pkginst tor torsocks transmission-cli
echo "installing networking tools"
pkginst openbsd-netcat lsof ldns inetutils net-tools wireshark-cli termshark socat websocat mitmproxy bettercap sqlmap xh macchanger proxychains-ng
aurinst wrk nemesis
echo "installing markup and latex tools"
pkginst pandoc-bin lowdown groff typst texlive-basic
echo "installing fonts, icons, themes and sounds"
pkginst fontconfig ttf-dejavu noto-fonts-emoji arc-gtk-theme kvantum sound-theme-freedesktop
aurinst ttf-amiri
echo "installing runit services"
pkginst elogind-runit dbus-runit dhcpcd-runit wpa_supplicant-runit ufw-runit bluez-runit chrony-runit cronie-runit openssh-runit tlp-runit docker-runit
echo "setting up runit services"
"$HERE/setup" runit || { echo "setup runit failed" >&2; exit 1; }
echo "setting user permissions"
doas usermod -aG video,audio,input,power,storage,optical,lp,scanner,dbus,docker,adbusers,uucp "$USER"
echo "changing shell"
chsh -s "$(which zsh)"
doas ln -sfT dash /usr/bin/sh