fixed merge conflicts
This commit is contained in:
commit
7659c4198c
4 changed files with 58 additions and 15 deletions
45
README.md
45
README.md
|
@ -1,13 +1,42 @@
|
|||
# Installer
|
||||
This script will setup a whole environment to work with.
|
||||
This script downloads everything I need to get a functional working setup.
|
||||
|
||||
> [!WARNING]
|
||||
> Work in Progress
|
||||
The script installs the following software with my custom configurations:
|
||||
- [dwl](https://codeberg.org/dwl/dwl) (window manager, [obviously my fork](https://git.amolinae.com/amolinae06/dwl))
|
||||
- [fuzzel](https://codeberg.org/dnkl/fuzzel) (app launcher)
|
||||
- [foot](https://codeberg.org/dnkl/foot) (terminal)
|
||||
- [zsh](https://www.zsh.org) (shell)
|
||||
- [lf](https://github.com/gokcehan/lf) (file manager)
|
||||
- [imv](https://sr.ht/~exec64/imv) (image viewer)
|
||||
- [mpv](https://mpv.io) (video player)
|
||||
- [btop](https://github.com/aristocratos/btop) (resource monitor)
|
||||
- [librewolf](https://librewolf.net) (web browser)
|
||||
- [zathura](https://pwmt.org/projects/zathura) (pdf viewer)
|
||||
- [neovim](https://neovim.io) (text editor/code editor)
|
||||
- [spotify_player](https://github.com/aome510/spotify-player) (as music player)
|
||||
|
||||
## Installation
|
||||
You need to have an Alpine Linux installation with at least one user. To run this script, you need to be on the `edge` branch and have the `community` and `testing` repositories enabled.
|
||||
|
||||
```sh
|
||||
wget https://git.amolinae.com/amolinae06/installer/raw/branch/main/installer.sh && doas sh installer.sh
|
||||
```
|
||||
|
||||
It will prompt for a username, you'll need to input the user you want the dotfiles, chroot, and shell setup installed to (e.g. amolinae, leon, etc.).
|
||||
|
||||
Aditionally, the software that requires to be compiled will be done after the post-install script gets called, this is because most of these require to be logged in as the user.
|
||||
|
||||
The whole installation shouldn't take more than `6 minutes`, in my case both installation attempts took around 4 to 5 minutes. After it finishes it is time to make a few extra setup steps such as installing nvidia drivers or amd drivers which should be mandatory if you have the hardware.
|
||||
|
||||
## TODO
|
||||
- [X] Read `software.csv`
|
||||
- [X] Install software
|
||||
- [X] Setup services
|
||||
- [X] Setup home directory
|
||||
- [ ] Setup chroot
|
||||
- [ ] Compile git software on chroot
|
||||
- [X] Install software.
|
||||
- [X] Setup services.
|
||||
- [X] Setup home directory.
|
||||
- [X] Setup chroot.
|
||||
- [X] Compile git software on chroot.
|
||||
- [ ] Cleanup files.
|
||||
- [ ] Auto reboot.
|
||||
- [ ] Error handling.
|
||||
- [ ] Make the scripts look prettier.
|
||||
- [ ] Add to my domain (amolinae.com) for easier retrieval.
|
||||
|
|
|
@ -7,6 +7,9 @@ tcc-libs-static,"Tiny C Compiler (static library)",D,
|
|||
clang20,"C language family front-end for LLVM",D,
|
||||
clang20-extra-tools,"Extra tools built using Clang's tooling APIs",D,
|
||||
tinymist,"Language service for Typst",D,
|
||||
neovim,"Vim-fork focused on extensibility and agility",D,
|
||||
ripgrep,"ripgrep combines the usability of The Silver Searcher with the raw speed of grep",D,
|
||||
gcompat,"GNU C Library compatibility layer for musl",D,
|
||||
git,"Distributed version control system",D,
|
||||
tar,"Utility used to store, backup, and transport files",D,
|
||||
curl,"URL retrival utility and library",D,
|
||||
|
@ -18,10 +21,7 @@ wlroots-dev,"Modular Wayland compositor library (development files)",D,
|
|||
libxkbcommon-dev,"keyboard handling library (development files)",D,
|
||||
wayland-protocols,"Protocols and protocol extensions complementing the Wayland core protocol",D,
|
||||
pkgconf,"development framework configuration tools",D,
|
||||
neovim,"Vim-fork focused on extensibility and agility",D,
|
||||
fcft-dev,"Simple library for font loading and glyph rasterization using FontConfig, FreeType and pixman (development files)",D,
|
||||
ripgrep,"ripgrep combines the usability of The Silver Searcher with the raw speed of grep",D,
|
||||
alsa-lib-dev,"Advanced Linux Sound Architecture (ALSA) library (development files)",D,
|
||||
file-dev,"File type identification utility (development files)",D,
|
||||
openssl-dev,"Toolkit for Transport Layer Security (TLS) (development files)",D,
|
||||
|
||||
|
|
|
21
installer.sh
21
installer.sh
|
@ -4,6 +4,12 @@ dotfiles="https://git.amolinae.com/amolinae06/dotfiles.git"
|
|||
software="https://git.amolinae.com/amolinae06/installer/raw/branch/main/software.csv"
|
||||
devware="https://git.amolinae.com/amolinae06/installer/raw/branch/main/devware.csv"
|
||||
|
||||
update_alpine(){
|
||||
printf "Updating alpine indexes.\n"
|
||||
apk update && apk upgrade
|
||||
printf "Updated successfully.\n"
|
||||
}
|
||||
|
||||
apk_install(){
|
||||
echo "installing $1"; doas apk add "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
@ -18,6 +24,7 @@ git_install(){
|
|||
}
|
||||
|
||||
read_software(){
|
||||
[ -d "$HOME/.local/src/" ] || mkdir -p "$HOME/.local/src/"
|
||||
([ -f "$1" ] && cp "$1" /tmp/temp.csv) || wget -qO- "$1" > /tmp/temp.csv
|
||||
|
||||
tail -n +2 "/tmp/temp.csv" | sed -E ':a; s/("[^"]*),([^"]*")/\1\2/; ta' | while IFS=',' read -r NAME DESCRIPTION GIT GIT_URL; do
|
||||
|
@ -43,7 +50,7 @@ setup_greetd(){
|
|||
vt = 7
|
||||
|
||||
[default_session]
|
||||
command = "agreety -t -r --cmd /home/$USER/.local/bin/dwllaunch"
|
||||
command = "agreety --cmd /home/$USER/.local/bin/dwllaunch"
|
||||
user = "greetd"
|
||||
EOF
|
||||
|
||||
|
@ -70,7 +77,8 @@ setup_home(){
|
|||
git clone --recursive $dotfiles
|
||||
cd dotfiles
|
||||
rm -rf .git .gitmodules
|
||||
cp -r .cache .config .local .zprofile $HOME
|
||||
cp -r .cache .config .zprofile $HOME
|
||||
cp -r .local/* $HOME/.local/
|
||||
cd $HOME
|
||||
rm -rf dotfiles/
|
||||
xdg-user-dirs-update
|
||||
|
@ -81,7 +89,7 @@ setup_home(){
|
|||
|
||||
setup_chroot(){
|
||||
printf "Setting up chroot\n"
|
||||
apk_install curl
|
||||
doas apk add curl
|
||||
cd $HOME/Documents/Miscellaneous
|
||||
mkdir alpchroot
|
||||
curl -LO https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/apk-tools-static-2.14.4-r1.apk
|
||||
|
@ -92,6 +100,7 @@ setup_chroot(){
|
|||
mkdir -p alpchroot/etc/apk
|
||||
doas cp /etc/apk/repositories alpchroot/etc/apk/repositories
|
||||
doas apk del curl
|
||||
rm -rf sbin/ .PKGINFO .SIGN.RSA.alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub apk-tools-static-2.14.4-r1.apk
|
||||
printf "Finished setting up chroot!\n"
|
||||
}
|
||||
|
||||
|
@ -100,10 +109,12 @@ compile() {
|
|||
bwroot make clean install
|
||||
}
|
||||
|
||||
compile "dwl"
|
||||
echo "Welcome to the installer"
|
||||
update_alpine
|
||||
doas apk add git
|
||||
get_user
|
||||
read_software "$software"
|
||||
setup-wayland-base
|
||||
setup_home
|
||||
setup_greetd
|
||||
setup_shell
|
||||
|
@ -114,3 +125,5 @@ compile dwl
|
|||
compile slstatus
|
||||
compile hellwal
|
||||
compile ctpv
|
||||
doas apk del git
|
||||
printf "Installation finished, before you reboot please install packages you need (e.g nvidia/amd drivers)\n"; exit 0
|
||||
|
|
|
@ -10,6 +10,7 @@ ffmpeg,"Complete and free Internet live audio and video broadcasting solution fo
|
|||
foot,"Fast, lightweight and minimalistic Wayland terminal emulator",N,
|
||||
fuzzel,"Application launcher for wlroots-based Wayland compositors",N,
|
||||
greetd,"Minimal and flexible login manager daemon",N,
|
||||
greetd-agreety,"Simple, text-based greeter",N,
|
||||
grim,"Grabs images from Wayland compositors",N,
|
||||
imv-wayland,"Image viewer for Wayland",N,
|
||||
kanshi,"Dynamic display configuration for Wayland",N,
|
||||
|
|
Can't render this file because it contains an unexpected character in line 8 and column 101.
|
Loading…
Add table
Add a link
Reference in a new issue