From fee3e8b269f9c80a0323388b1572d02a44bde736 Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 28 Jan 2022 21:57:00 -0600 Subject: fix (hopefully) artixaddarchrepos function --- zirless.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/zirless.sh b/zirless.sh index 07586b2..119ce0d 100644 --- a/zirless.sh +++ b/zirless.sh @@ -75,8 +75,9 @@ newperms() { # Set special sudoers settings for install (or after). echo "$* #ZIRLESS" >> /etc/sudoers ;} artixaddarchrepos() { # Adds the Arch repos to Artix Linux (some ZIRLESS packages require it) - pacman -S --noconfirm artix-archlinux-support archlinux-mirrorlist archlinux-keyring >/dev/null 2>&1 || exit 3 - grep -q '[extra]\|[community]' /etc/pacman.conf || echo " + grep -q 'Artix' /etc/lsb-release && \ + pacman -S --noconfirm artix-archlinux-support archlinux-mirrorlist archlinux-keyring >/dev/null 2>&1 || exit 3 + grep -q '\[extra\]\|\[community\]' /etc/pacman.conf || echo " [extra] Include = /etc/pacman.d/mirrorlist-arch @@ -84,8 +85,8 @@ Include = /etc/pacman.d/mirrorlist-arch Include = /etc/pacman.d/mirrorlist-arch [multilib] -Include = /etc/pacman.d/mirrorlist-arch -" >> /etc/pacman.conf >/dev/null 2>&1 ;} +Include = /etc/pacman.d/mirrorlist-arch" \ + >> /etc/pacman.conf 2>/dev/null ;} manualinstall() { # Installs $1 manually if not installed. Used only for AUR helper here. [ -f "/usr/bin/$1" ] || ( @@ -213,14 +214,13 @@ newperms "%wheel ALL=(ALL) NOPASSWD: ALL" # Make pacman and paru colorful and adds eye candy on the progress bar because why not. grep -q "^Color" /etc/pacman.conf || sed -i "s/^#Color$/Color/" /etc/pacman.conf grep -q "ILoveCandy" /etc/pacman.conf || sed -i "/#VerbosePkgLists/a #ILoveCandy" /etc/pacman.conf -grep -q "ParallelDownloads" /etc/pacman.conf || sed -i "/ILoveCandy/a ParallelDownloads = 6" /etc/pacman.conf # Use all cores for compilation. sed -i "s/-j2/-j$(nproc)/;s/^#MAKEFLAGS/MAKEFLAGS/" /etc/makepkg.conf manualinstall yay-bin || error "Failed to install AUR helper." -artixaddarchrepos +artixaddarchrepos || error "Failed to add Arch Linux repos." # The command that does all the installing. Reads the progs.csv file and # installs each needed program the way required. Be sure to run this only after -- cgit v1.2.3 From bc02677e03fd73dd991513abd76b8e25552d7662 Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 28 Jan 2022 22:27:58 -0600 Subject: allow using "doas" as root cmd (others unsupported) --- zirless.sh | 65 ++++++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 49 insertions(+), 16 deletions(-) diff --git a/zirless.sh b/zirless.sh index 119ce0d..ec7ebbd 100644 --- a/zirless.sh +++ b/zirless.sh @@ -6,12 +6,13 @@ ### OPTIONS AND VARIABLES ### -while getopts ":a:r:b:p:h" o; do case "${o}" in +while getopts ":a:r:b:p:s:h" o; do case "${o}" in h) printf "Optional arguments for custom use:\\n -r: Dotfiles repository (local file or url)\\n -p: Dependencies and programs csv (local file or url)\\n -a: AUR helper (must have pacman-like syntax)\\n -h: Show this message\\n" && exit 1 ;; r) dotfilesrepo=${OPTARG} && git ls-remote "$dotfilesrepo" || exit 1 ;; b) repobranch=${OPTARG} ;; p) progsfile=${OPTARG} ;; a) aurhelper=${OPTARG} ;; + s) rootcmd=${OPTARG} ;; *) printf "Invalid option: -%s\\n" "$OPTARG" && exit 1 ;; esac done @@ -71,8 +72,41 @@ refreshkeys() { \ } newperms() { # Set special sudoers settings for install (or after). - sed -i "/#ZIRLESS/d" /etc/sudoers - echo "$* #ZIRLESS" >> /etc/sudoers ;} + if [ "$rootcmd" = "sudo" ]; then + if [ "$1" = "allnopass" ]; then + sed -i "/#ZIRLESS/d" /etc/sudoers + echo "%wheel ALL=(ALL) NOPASSWD: ALL #ZIRLESS" >> /etc/sudoers + elif [ "$1" = "newpass" ]; then + sed -i "/#ZIRLESS/d" /etc/sudoers + echo "%wheel ALL=(ALL) ALL #ZIRLESS +%wheel ALL=(ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/systemctl,/usr/bin/rc-service,/usr/bin/rc-update,/usr/bin/rsm,/usr/bin/sv,/usr/bin/s6-rc,/usr/bin/s6-rc-bundle-update,/usr/bin/pacman -Syyu --noconfirm,/usr/bin/loadkeys,/usr/bin/pacman -Syyuw --noconfirm #ZIRLESS" >> /etc/sudoers + fi + elif [ "$rootcmd" = "doas" ]; then + if [ "$1" = "allnopass" ]; then + sed -i "/#ZIRLESS/d" /etc/doas.conf + echo "permit :wheel nopass #ZIRLESS" >> /etc/doas.conf + elif [ "$1" = "newpass" ]; then + sed -i "/#ZIRLESS/d" /etc/doas.conf + echo "permit :wheel persist #ZIRLESS +permit :wheel nopass cmd shutdown #ZIRLESS +permit :wheel nopass cmd reboot #ZIRLESS +permit :wheel nopass cmd mount #ZIRLESS +permit :wheel nopass cmd umount #ZIRLESS +permit :wheel nopass cmd pacman args -Syu #ZIRLESS +permit :wheel nopass cmd pacman args -Syu --noconfirm #ZIRLESS +permit :wheel nopass cmd pacman args -Syyu --noconfirm #ZIRLESS +permit :wheel nopass cmd pacman args -Syyu #ZIRLESS +permit :wheel nopass cmd pacman args -Syyuw #ZIRLESS +permit :wheel nopass cmd rsm #ZIRLESS +permit :wheel nopass cmd sv #ZIRLESS +permit :wheel nopass cmd systemctl #ZIRLESS +permit :wheel nopass cmd rc-service #ZIRLESS +permit :wheel nopass cmd rc-update #ZIRLESS +permit :wheel nopass cmd s6-rc #ZIRLESS +permit :wheel nopass cmd s6-rc-bundle-update #ZIRLESS +permit :wheel nopass cmd loadkeys #ZIRLESS" >> /etc/doas.conf + fi + fi ;} artixaddarchrepos() { # Adds the Arch repos to Artix Linux (some ZIRLESS packages require it) grep -q 'Artix' /etc/lsb-release && \ @@ -108,9 +142,9 @@ gitmakeinstall() { progname="$(basename "$1" .git)" dir="$repodir/$progname" dialog --title "ZIRLESS Installation" --infobox "Installing \`$progname\` ($n of $total) via \`git\` and \`make\`. $(basename "$1") $2" 5 70 - sudo -u "$name" git clone --depth 1 "$1" "$dir" >/dev/null 2>&1 || { cd "$dir" || return 1 ; sudo -u "$name" git pull --force origin master;} + sudo -u "$name" git clone --depth 1 "$1" "$dir" >/dev/null 2>&1 || { cd "$dir" || return 1 ; $rootcmd -u "$name" git pull --force origin master;} cd "$dir" || exit 1 - make >/dev/null 2>&1 + sudo -u "$name" make >/dev/null 2>&1 make install >/dev/null 2>&1 cd /tmp || return 1 ;} @@ -118,10 +152,10 @@ gitmakepkginstall() { pkgname="$(basename "$1" .git)" dir="$repodir/$progname" dialog --title "ZIRLESS Installation" --infobox "Installing \`$progname\` ($n of $total) via \`git\` and \`makepkg\`. $(basename "$1") $2" 5 70 - sudo -u "$name" git clone --depth 1 "$1" "$dir" >/dev/null 2>&1 || { cd "$dir" || return 1 ; sudo -u "$name" git pull --forve origin master;} + $rootcmd -u "$name" git clone --depth 1 "$1" "$dir" >/dev/null 2>&1 || { cd "$dir" || return 1 ; $rootcmd -u "$name" git pull --force origin master;} cd "$dir" || exit 1 - makepkg -si - pacman -U *.pkg.tar.zst + $rootcmd -u "$name" makepkg -sc + pacman -U *.pkg.tar.* cd /tmp || return 1 ;} aurinstall() { \ @@ -207,9 +241,9 @@ adduserandpass || error "Error adding username and/or password." [ -f /etc/sudoers.pacnew ] && cp /etc/sudoers.pacnew /etc/sudoers # Just in case -# Allow user to run sudo without password. Since AUR programs must be installed +# Allow user to run $rootcmd without password. Since AUR programs must be installed # in a fakeroot environment, this is required for all builds with AUR. -newperms "%wheel ALL=(ALL) NOPASSWD: ALL" +newperms "allnopass" # Make pacman and paru colorful and adds eye candy on the progress bar because why not. grep -q "^Color" /etc/pacman.conf || sed -i "s/^#Color$/Color/" /etc/pacman.conf @@ -220,16 +254,16 @@ sed -i "s/-j2/-j$(nproc)/;s/^#MAKEFLAGS/MAKEFLAGS/" /etc/makepkg.conf manualinstall yay-bin || error "Failed to install AUR helper." -artixaddarchrepos || error "Failed to add Arch Linux repos." +artixaddarchrepos || error "Failed to add Arch Linux repos." && exit 5 # The command that does all the installing. Reads the progs.csv file and # installs each needed program the way required. Be sure to run this only after -# the user has been created and has priviledges to run sudo without a password +# the user has been created and has priviledges to run $rootcmd without a password # and all build dependencies are installed. installationloop dialog --title "ZIRLESS Installation" --infobox "Finally, installing \`libxft-bgra\` to enable color emoji in suckless software without crashes." 5 70 -yes | sudo -u "$name" $aurhelper -S libxft-bgra-git >/dev/null 2>&1 +yes | $rootcmd -u "$name" $aurhelper -S libxft-bgra-git >/dev/null 2>&1 # Install the dotfiles in the user's home directory putgitrepo "$dotfilesrepo" "/home/$name" "$repobranch" @@ -270,12 +304,11 @@ grep -q "OTHER_OPTS='-a pulseaudio -m alsa_seq -r 48000'" /etc/conf.d/fluidsynth echo "OTHER_OPTS='-a pulseaudio -m alsa_seq -r 48000'" >> /etc/conf.d/fluidsynth # Start/restart PulseAudio. -pkill -15 -x 'pulseaudio'; sudo -u "$name" pulseaudio --start +pkill -15 -x 'pulseaudio'; $rootcmd -u "$name" pulseaudio --start # This line, overwriting the `newperms` command above will allow the user to run # serveral important commands, `shutdown`, `reboot`, updating, etc. without a password. -newperms "%wheel ALL=(ALL) ALL #ZIRLESS -%wheel ALL=(ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/systemctl suspend,/usr/bin/wifi-menu,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/packer -Syu,/usr/bin/packer -Syyu,/usr/bin/systemctl restart NetworkManager,/usr/bin/rc-service NetworkManager restart,/usr/bin/pacman -Syyu --noconfirm,/usr/bin/loadkeys,/usr/bin/paru,/usr/bin/pacman -Syyuw --noconfirm" +newperms "newpass" # Last message! Install complete! finalize -- cgit v1.2.3 From 14f275be1580fcb3df47a804646a9c99cc79b511 Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 28 Jan 2022 22:29:39 -0600 Subject: finish the previous commit --- zirless.sh | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/zirless.sh b/zirless.sh index ec7ebbd..5cb800d 100644 --- a/zirless.sh +++ b/zirless.sh @@ -20,6 +20,7 @@ esac done [ -z "$progsfile" ] && progsfile="progs.csv" [ -z "$aurhelper" ] && aurhelper="yay" [ -z "$repobranch" ] && repobranch="master" +[ -z "$rootcmd" ] && rootcmd="sudo" ### FUNCTIONS ### @@ -128,9 +129,9 @@ manualinstall() { # Installs $1 manually if not installed. Used only for AUR hel cd /tmp || exit 1 rm -rf /tmp/"$1"* curl -sO https://aur.archlinux.org/cgit/aur.git/snapshot/"$1".tar.gz && - sudo -u "$name" tar -xvf "$1".tar.gz >/dev/null 2>&1 && + $rootcmd -u "$name" tar -xvf "$1".tar.gz >/dev/null 2>&1 && cd "$1" && - sudo -u "$name" makepkg --noconfirm -si >/dev/null 2>&1 || return 1 + $rootcmd -u "$name" makepkg --noconfirm -si >/dev/null 2>&1 || return 1 cd /tmp || return 1) ;} maininstall() { # Installs all needed programs from main repo. @@ -142,9 +143,9 @@ gitmakeinstall() { progname="$(basename "$1" .git)" dir="$repodir/$progname" dialog --title "ZIRLESS Installation" --infobox "Installing \`$progname\` ($n of $total) via \`git\` and \`make\`. $(basename "$1") $2" 5 70 - sudo -u "$name" git clone --depth 1 "$1" "$dir" >/dev/null 2>&1 || { cd "$dir" || return 1 ; $rootcmd -u "$name" git pull --force origin master;} + $rootcmd -u "$name" git clone --depth 1 "$1" "$dir" >/dev/null 2>&1 || { cd "$dir" || return 1 ; $rootcmd -u "$name" git pull --force origin master;} cd "$dir" || exit 1 - sudo -u "$name" make >/dev/null 2>&1 + $rootcmd -u "$name" make >/dev/null 2>&1 make install >/dev/null 2>&1 cd /tmp || return 1 ;} @@ -161,7 +162,7 @@ gitmakepkginstall() { aurinstall() { \ dialog --title "ZIRLESS Installation" --infobox "Installing \`$1\` ($n of $total) from the AUR. $1 $2" 5 70 echo "$aurinstalled" | grep -q "^$1$" && return 1 - sudo -u "$name" $aurhelper -S --noconfirm "$1" >/dev/null 2>&1 + $rootcmd -u "$name" $aurhelper -S --noconfirm "$1" >/dev/null 2>&1 } pipinstall() { \ @@ -192,8 +193,8 @@ putgitrepo() { # Downloads a gitrepo $1 and places the files in $2 only overwrit dir=$(mktemp -d) [ ! -d "$2" ] && mkdir -p "$2" chown "$name":wheel "$dir" "$2" - sudo -u "$name" git clone --recursive -b "$branch" --depth 1 --recurse-submodules "$1" "$dir" >/dev/null 2>&1 - sudo -u "$name" cp -rfT "$dir" "$2" + $rootcmd -u "$name" git clone --recursive -b "$branch" --depth 1 --recurse-submodules "$1" "$dir" >/dev/null 2>&1 + $rootcmd -u "$name" cp -rfT "$dir" "$2" } systembeepoff() { dialog --infobox "Getting rid of that retarded error beep sound..." 10 50 @@ -239,7 +240,7 @@ ntpdate 0.us.pool.ntp.org >/dev/null 2>&1 adduserandpass || error "Error adding username and/or password." -[ -f /etc/sudoers.pacnew ] && cp /etc/sudoers.pacnew /etc/sudoers # Just in case +[ "$rootcmd" = "sudo" ] && [ -f /etc/sudoers.pacnew ] && cp /etc/sudoers.pacnew /etc/sudoers # Just in case # Allow user to run $rootcmd without password. Since AUR programs must be installed # in a fakeroot environment, this is required for all builds with AUR. @@ -281,7 +282,7 @@ systembeepoff # Make zsh the default shell for the user. chsh -s /bin/zsh "$name" >/dev/null 2>&1 -sudo -u "$name" mkdir -p "/home/$name/.cache/zsh/" +$rootcmd -u "$name" mkdir -p "/home/$name/.cache/zsh/" # dbus UUID must be generated for Artix runit. dbus-uuidgen > /var/lib/dbus/machine-id -- cgit v1.2.3 From 5f3e0a1a1a8b72864b260e6c0ea5d1b655aa0611 Mon Sep 17 00:00:00 2001 From: zachir Date: Mon, 11 Apr 2022 20:58:12 -0500 Subject: update to assume artix runit --- README.md | 5 ++- progs.csv | 107 +++++++++++++++++++++++++++++++------------------------------- 2 files changed, 57 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index e80ef9f..5a43c85 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,12 @@ A: This is a fork of LARBS, with my programs and config stuff set as the default. The two scripts will likely diverge over time. +For example, my 'progs.csv' assumes running Artix with Runit as the init +system, unlike LARBS, which is agnostic. + ## Installation: -On an Arch-based distribution as root, run the following: +On Artix (with runit as init), run the following as root: ``` sh larbs.sh diff --git a/progs.csv b/progs.csv index 1f5e749..c582b31 100644 --- a/progs.csv +++ b/progs.csv @@ -1,105 +1,104 @@ #TAG,NAME IN REPO (or git url),PURPOSE (should be a verb phrase to sound right while installing) -,xorg-server,is the graphical server. -,xorg-server-xephyr,allows nesting X servers -,xorg-xinit,starts the graphical server. -,ttf-linux-libertine,provides the sans and serif fonts for LARBS. -,bc,is used for a dropdown calculator. -,picom,is for transparency and removing screen-tearing. -,xorg-xprop,is a tool for detecting window properties. ,arandr,allows the user to customize monitor arrangements. -,dosfstools,allows your computer to access dos-like filesystems. -,libnotify,allows desktop notifications. -,dunst,is a suckless notification system. -,exfat-utils,allows management of exFAT drives. -,sxiv,is a minimalist image viewer. -,xwallpaper,sets the wallpaper. -,ffmpeg,can record and splice video and audio on the command line. -,ffmpegthumbnailer,renders thumbnails using ffmpeg -,gnome-keyring,serves as the system keyring. -,neovim,a tidier vim with some useful features -,neovide,graphical neovim client -,mpd,is a lightweight music daemon. -,mpc,is a terminal interface for mpd. -,ncmpcpp,is the closest thing to a zirless graphical music client -,mpv,is the patrician's choice video player. -,man-db,lets you read man pages of programs. -,ncmpcpp,a ncurses interface for music with multiple formats and a powerful tag editor. -,newsboat,is a terminal RSS client. -,qutebrowser,"is the best browser, don't @ me" -,ntfs-3g,allows accessing NTFS partitions. -,pipewire,is the audio server -,pipewire-alsa,provides ALSA compatibility -,pipewire-pulse,provides pulseaudio compatibility -,pipewire-jack,provides JACK compatibility -,pipewire-docs,provides documentation for pipewire -,pipewire-media-session,is necessary for pipewire to work -,pulsemixer,is an audio controller. -,pamixer,is a command-line audio interface. -,maim,can take quick screenshots at your request. -,unclutter,hides an inactive mouse. -,unrar,extracts rar's. -,unzip,unzips zips. -,lynx,is a terminal browser. -,xclip,allows for copying and pasting from the command line. -,xdotool,provides window action utilities on the command line. -,youtube-dl,can download any YouTube video (or playlist or channel) when given the link. -,zathura,is a pdf viewer with vim-like bindings. -,zathura-pdf-mupdf,allows mupdf pdf compatibility in zathura. -,zathura-ps,provides ps support for zathura -,poppler,manipulates .pdfs and gives .pdf previews and other .pdf functions. -,mediainfo,shows audio and video information. -,atool,manages and gives information about archives. -,fzf,is a fuzzy finder tool. -,highlight,can highlight code output. -,xbacklight,enables changing screen brightness levels. -,asp,gives access to the official ABS PKGBUILDs ,artixnews,updates user with news from Artix team +,asp,gives access to the official ABS PKGBUILDs +,atool,manages and gives information about archives. ,autoconf,is a tool to help configuring certain software ,automake,is a tool to help compile certain software +,bc,is used for a dropdown calculator. ,catdoc,converts MS files to text ,cronie,is a cron daemon for running commands at specific intervals ,cryptsetup,allows setting up and opening encrypted filesystems ,docx2txt,converts text from DOCX files to text ,dog,"performs DNS lookups, and other DNS functions" -,ueberzug,allows viewing images in the terminal +,dosfstools,allows your computer to access dos-like filesystems. +,dunst,is a suckless notification system. +,exfat-utils,allows management of exFAT drives. +,ffmpeg,can record and splice video and audio on the command line. +,ffmpegthumbnailer,renders thumbnails using ffmpeg +,fzf,is a fuzzy finder tool. +,gnome-keyring,serves as the system keyring. ,greetd,is a login manager daemon ,greetd-tuigreet,is a TUI interface for greetd ,gst-plugins-pipeiwre,is the pipewire plugin for gst framework ,gst-plugins-bad,are the bad plugins for gst framework ,gst-plugins-good,are the good plugins for gst framework ,gst-plugins-ugly,are the ugly plugins for gst framework +,highlight,can highlight code output. ,imagemagick,manipulates images ,irssi,is a TUI IRC client ,keepassxc,offline graphical password manager ,khal,is a TUI calendar +,libnotify,allows desktop notifications. ,libvirt,allows hosting KVMs +,lynx,is a terminal browser. +,maim,can take quick screenshots at your request. +,man-db,lets you read man pages of programs. +,mediainfo,shows audio and video information. ,modprobed-db,"stores loaded kernel modules when run, to be used when building custom kernel" +,mpc,is a terminal interface for mpd. +,mpd,is a lightweight music daemon. +,mpv,is the patrician's choice video player. +,ncmpcpp,is the closest thing to a zirless graphical music client +,neovim,a tidier vim with some useful features +,neovide,graphical neovim client +,newsboat,is a terminal RSS client. +,ntfs-3g,allows accessing NTFS partitions. ,odt2txt,extracts text from OpenDocument Text files ,opendoas,is a Linux compatible implementation of OpenBSD's doas ,openresolv,manages DNS lookup (resolv.conf) +,pamixer,is a command-line audio interface. ,pandoc,converts between markup formatted text files ,pass,is the best Unix password manager +,picom,is for transparency and removing screen-tearing. +,pipewire,is the audio server +,pipewire-alsa,provides ALSA compatibility +,pipewire-docs,provides documentation for pipewire +,pipewire-jack,provides JACK compatibility +,pipewire-media-session,is necessary for pipewire to work +,pipewire-pulse,provides pulseaudio compatibility +,poppler,manipulates .pdfs and gives .pdf previews and other .pdf functions. ,profanity,is a TUI Irssi-inspired XMPP client +,pulsemixer,is an audio controller. ,python-adblock,gives qutebrowser Brave-style adblock ,qemu,runs virtual machines ,qt5-styleplugins,allows setting qt5 theme to gtk2 ,qt5ct,sets the qt5 theme ,qt6ct,sets qt6 theme +,qutebrowser,"is the best browser, don't @ me" ,rsync,based file synchronization ,sxhkd,based X11 hotkey daemon +,sxiv,is a minimalist image viewer. ,syncthing,syncs local and remote folders ,sysstat,various system resource monitor tools ,texlive-most,provides LaTeX support ,transmission-cli,is a CLI torrent client ,trash-cli,possibly unbased simple trash implementation +,ttf-linux-libertine,provides the sans and serif fonts for LARBS. +,ueberzug,allows viewing images in the terminal ,unbound,is a local DNS daemon I use for blocking trackers + ads +,unclutter,hides an inactive mouse. +,unrar,extracts rar's. +,unzip,unzips zips. ,vdirsyncer,can sync remote calendars (and other things) ,virt-manager,manages libvirt VMs ,wireguard-tools,allows easy wireguard connection ,wpa_supplicant,gives relatively minimal WPA wifi support +,xclip,allows for copying and pasting from the command line. +,xdotool,provides window action utilities on the command line. ,xf86-drivers,provides all of the xorg video drivers +,xorg-server,is the graphical server. +,xorg-server-xephyr,allows nesting X servers +,xorg-xbacklight,enables changing screen brightness levels. ,xorg-xev,makes it easy to listen to X11 events +,xorg-xinit,starts the graphical server. ,xorg-xinput,allows controlling x11 input devices +,xorg-xprop,is a tool for detecting window properties. +,xwallpaper,sets the wallpaper. +,youtube-dl,can download any YouTube video (or playlist or channel) when given the link. +,zathura,is a pdf viewer with vim-like bindings. +,zathura-pdf-mupdf,allows mupdf pdf compatibility in zathura. +,zathura-ps,provides ps support for zathura ,zsh,is a better interactive shell than bash A,greetd,"is a greeter daemon, but only provides init scripts for systemd" A,greetd-tuigreet,is a tui greeter for greetd -- cgit v1.2.3 From 609bc39ed6eaa58794585d0f209aca535c79f74c Mon Sep 17 00:00:00 2001 From: zachir Date: Mon, 11 Apr 2022 21:08:48 -0500 Subject: update progs.csv --- progs.csv | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/progs.csv b/progs.csv index c582b31..cc3c3f9 100644 --- a/progs.csv +++ b/progs.csv @@ -5,6 +5,7 @@ ,atool,manages and gives information about archives. ,autoconf,is a tool to help configuring certain software ,automake,is a tool to help compile certain software +,awesome,is the new default wm ,bc,is used for a dropdown calculator. ,catdoc,converts MS files to text ,cronie,is a cron daemon for running commands at specific intervals @@ -65,6 +66,7 @@ ,qt5-styleplugins,allows setting qt5 theme to gtk2 ,qt5ct,sets the qt5 theme ,qt6ct,sets qt6 theme +,qt6gtk2,allows setting the qt6 theme to gtk2 ,qutebrowser,"is the best browser, don't @ me" ,rsync,based file synchronization ,sxhkd,based X11 hotkey daemon @@ -100,19 +102,18 @@ ,zathura-pdf-mupdf,allows mupdf pdf compatibility in zathura. ,zathura-ps,provides ps support for zathura ,zsh,is a better interactive shell than bash -A,greetd,"is a greeter daemon, but only provides init scripts for systemd" -A,greetd-tuigreet,is a tui greeter for greetd +A,dragon-drop,allows drag and drop from a terminal +A,timeshift,is a backup and restore utility A,mksh,is a better scripting shell than bash or zsh A,plata-theme-bin,gives the dark GTK theme used in LARBS. A,lf-git,is an extensive terminal file manager that everyone likes. A,qbpm-git,manages qutebrowser profiles A,ttf-symbola-free,is an emoji font. -A,pipewire-jack-dropin,allows running JACK clients as Pipewire native A,sc-im,is an Excel-like terminal spreadsheet manager. A,abook,is an offline addressbook usable by neomutt. A,simple-mtpfs,enables the mounting of cell phones. -A,htop-vim-git,is a graphical and colorful system monitor. -A,mutt-wizard-git,is a light-weight terminal-based email system. +A,htop-vim,is a graphical and colorful system monitor. +A,mutt-wizard,is a light-weight terminal-based email system. A,libxlsxwriter,allows sc-im to write to xlsx files A,kjv-git,"is an offline, fzf searchable KJV bible" A,rtorrent-ps,is a TUI torrent client @@ -120,19 +121,16 @@ A,auto-cpufreq,changes CPU freq and other power saving tools realtime A,epub-thumbnailer-git,creates thumbnails for EPUB files A,fontpreview-ueberzug-git,previews fonts in the terminal with ueberzug A,j4-dmenu-desktop,searches .desktop files for applications -A,mpdris2-py3-git,is an MPRIS client for MPD +A,mpdris2,is an MPRIS client for MPD A,nerd-fonts-complete,installs all of the nerd fonts A,opendoas-sudo,symlinks doas to sudo for compatibility A,pam-gnupg,unlocks GnuPG keys on login A,paper-icon-theme,is the icon theme -A,qt6gtk2,allows setting the qt6 theme to gtk2 A,urlview,parses text for URLs A,vimv-git,bulk file rename tool A,xurls,parses URLs from text A,ytfzf,"is an fzf frontend for YouTube, uses mpv and youtube-dl" -G,https://gitlab.com/zachir/greetd-runit,is a basic runit script for greetd and tuigreet G,https://gitlab.com/zachir/dwmblocks,serves as the modular status bar. G,https://gitlab.com/zachir/dmenu,runs commands and provides a UI for selection. G,https://gitlab.com/zachir/st,is my custom build of suckless's terminal emulator. -G,https://gitlab.com/zachir/dwm,is my window manager of choice G,https://gitlab.com/zachir/slock,is the suckless screen locker -- cgit v1.2.3