diff options
author | lonkaars <loek@pipeframe.xyz> | 2024-03-01 16:14:40 +0100 |
---|---|---|
committer | lonkaars <loek@pipeframe.xyz> | 2024-03-01 16:14:40 +0100 |
commit | 0e7d5ff96077445aa420bc855a63dfec2087d51a (patch) | |
tree | c50e27cfa6149b5b643fa6bcf47f9d3fab436863 | |
parent | bdd24709f93f3b496cbe842bf1cd0427a421199a (diff) |
big bootstrap overhaul
l--------- | .config/systemd/user/default.target.wants/etesync-dav.service | 1 | ||||
-rwxr-xr-x | .config/yadm/bootstrap | 23 | ||||
-rwxr-xr-x | .config/yadm/install-arch | 14 | ||||
-rw-r--r-- | .config/yadm/packages-arch | 170 | ||||
-rw-r--r-- | readme.md | 88 |
5 files changed, 150 insertions, 146 deletions
diff --git a/.config/systemd/user/default.target.wants/etesync-dav.service b/.config/systemd/user/default.target.wants/etesync-dav.service deleted file mode 120000 index 9a5f7d2..0000000 --- a/.config/systemd/user/default.target.wants/etesync-dav.service +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/user/etesync-dav.service
\ No newline at end of file diff --git a/.config/yadm/bootstrap b/.config/yadm/bootstrap index 6de9391..9a03f58 100755 --- a/.config/yadm/bootstrap +++ b/.config/yadm/bootstrap @@ -1,3 +1,26 @@ #!/bin/sh +. "$HOME/.profile" + +# ensure required packages are installed +"$XDG_CONFIG_HOME/yadm/install-arch" + +# generate templated files +yadm alt + +# create remaining dynamic theme files ~/.local/share/bin/mode dark +# remove unreachable blobs +yadm reflog expire --expire-unreachable=now --all +yadm gc --prune=now + +# download and build st (terminal) if not present +! command -v st > /dev/null && [ ! -e ~/.local/st ] && ( + mkdir -p ~/.local + cd ~/.local + git clone https://git.pipeframe.xyz/lonkaars/st + cd st + make -j +) + +# TODO: create a second repository for system configuration in /etc diff --git a/.config/yadm/install-arch b/.config/yadm/install-arch index 35977c2..1246dae 100755 --- a/.config/yadm/install-arch +++ b/.config/yadm/install-arch @@ -1,3 +1,13 @@ #!/bin/sh -[[ `lsb_release -si` -ne "Arch" ]] && exit -yay --noconfirm --needed -S - < packages-arch +# ensure we are running on arch linux +[ ! -e /etc/os-release ] && exit +. /etc/os-release +[ "$ID" != 'arch' ] && exit + +# resolve files in this script relative to this script's location +cd "$(dirname "$0")" + +# filter comments and pipe package name list to yay +sed -e 's/#.*//g' -e 's/ //g' -e '/^$/d' packages-arch |\ + yay --noconfirm --needed -S - + diff --git a/.config/yadm/packages-arch b/.config/yadm/packages-arch index 515d569..258b805 100644 --- a/.config/yadm/packages-arch +++ b/.config/yadm/packages-arch @@ -1,121 +1,99 @@ -alsa-utils -arm-none-eabi-binutils -arm-none-eabi-gcc -asciidoc -autoconf +# X11 core + window manager +i3-wm +xdg-user-dirs +xf86-input-wacom +xinit-xsession +xorg + +# directly used in scripts / startup autocutsel -biber -bison -bitwarden-bin -bitwarden-rofi -blueman -bluez -bluez-hciconfig -brave-bin -chromium -cmake -cups -cups-pdf -dhcpcd -discord -djvulibre -dmenu -docker -docker-compose +dbus dunst -efibootmgr -etesync-dav -fakeroot +fcitx5 +flashfocus +imagemagick +jq +libpulse # for pactl +maim +mpd +nicotine+ +picom +pipewire +playerctl +polkit-gnome +polybar +python +python-pip +redshift +rofi +xbanish +xbindkeys +xclip +xorg-xrdb +xsettingsd + +# system stuff +cups +lightdm +lightdm-gtk-greeter +ntfs-3g +ntp +openssh +openssl +sshfs +usb_modeswitch # required for android usb tethering + +# network stuff (TODO) +# NetworkManager # currently only used on laptop... +dhcpcd # i am unsure if i need this + +# applications +anki +brave-bin +curl feh fzf -gcc -git -graphicsmagick -hplip +helvum htop -i3-gaps -jdk-openjdk -jdk8-openjdk -jmtpfs -latex-mk -lib32-libpulse -libconfig -libev -libmpd -libselinux -libxdg-basedir -lightdm -lightdm-gtk-greeter -m4 -make -maven -meson mpc -mpd mpv -mtpfs -nano -nautilus ncmpcpp neovim -nginx -ninja nmap -ntfs-3g -openssh -openssl -os-prober -p7zip pandoc -patch +pass +pass-otp pavucontrol -pdftk -picom-ibhagwan-git -pkgconf -playerctl -playonlinux -polkit-gnome -polybar -python -python-pip ranger restic -rofi +rofi-pass-git scrcpy -screenkey scrot slock -sshfs sudo sxiv -syncthing -texlive-lang -texlive-most -tk -tmux -transmission-cli -tree unzip -uthash -uwsgi -vi -virt-manager -w3m wget which -wine -winetricks -xbindkeys -xclip -xdg-user-dirs -xdo -xf86-input-wacom -xfce4-settings -xinit-xsession -xorg -xsettingsd -yadm -zathura-git +zathura zathura-pdf-mupdf zip zsh + +# audio +alsa-utils +alsa-lib +alsa-plugins +alsa-utils +libpipewire +libpulse +pipewire +pipewire-alsa +pipewire-audio +pipewire-jack +pipewire-pulse + +# bluetooth +bluez +bluez-utils + @@ -1,48 +1,42 @@ -# dottydots +- these dotfiles utilize [yadm][yadm]'s templating functions, and rely on two + sepcific hostnames. `superesc` is used on my desktop computer and `thoncc` on + my laptop. you can run `yadm config local.hostname <superesc|thoncc>` before + `yadm bootstrap` or `yadm alt` to choose which config files should be used if + your hostname is something else. +- the github mirror of this repository still includes some large unreachable + blobs (accidentally committed wallpapers). these are automatically removed by + the bootstrap script. a smaller mirror of this repository that does not + include these blobs by default should be available at + <https://git.pipeframe.xyz/lonkaars/dots>. + +fresh arch install steps: + +- make sure base pacakges are installed (as root) + ``` + # pacman -Sy base-devel git + ``` +- install yay + ``` + $ git clone https://aur.archlinux.org/yay + $ cd yay + $ makepkg -si + ``` +- install yadm + ``` + $ yay -S yadm + ``` +- get dotfiles + ``` + $ yadm clone https://git.pipeframe.xyz/lonkaars/dots + ``` +- override hostname (optional) + ``` + $ yadm config local.hostname <superesc|thoncc> + ``` +- do a bunch of setup + ``` + $ yadm bootstrap + ``` + +[yadm]: https://yadm.io/ -these are dotfiles - -- zsh -- nvim + coc -- i3 -- polybar -- chromium and it's forks -- zathura -- rofi -- [st](https://github.com/lonkaars/st) -- xresources -- fcitx5 -- gtk3 -- neomutt + imapnotify + mbsync -- mpd + ncmpcpp -- dunst -- xfsettingsd -- discord - -i use these dotfiles on a desktop computer (superesc) and a laptop (thoncc). -use `yadm config local.hostname <superesc|thoncc>` before `yadm alt` to choose -which config files should be used if your hostname is something else. - -## installation - -```sh -# install yay -git clone https://aur.archlinux.org/yay -cd yay -makepkg -si - -# install yadm -yay -S yadm - -# get dotfiles -yadm clone https://github.com/lonkaars/dotfiles - -# generate templated files -yadm alt - -# install necessary packages (uses yay) -~/.config/yadm/install-arch - -# generate dynamic color scheme config files -yadm bootstrap -``` |