From ebdf5308ccb6316f7dc8e882bb711780bdad077f Mon Sep 17 00:00:00 2001 From: Kris Yotam Date: Fri, 27 Mar 2026 10:10:20 -0500 Subject: [PATCH] Rename ksd-arch to ksd-artix --- {ksd-arch => ksd-artix}/deploy.sh | 129 ++---------------- {ksd-arch => ksd-artix}/dev.csv | 0 {ksd-arch => ksd-artix}/manual.pdf | Bin {ksd-arch => ksd-artix}/manual.tex | 0 {ksd-arch => ksd-artix}/notes.csv | 0 {ksd-arch => ksd-artix}/post-install.sh | 0 {ksd-arch => ksd-artix}/progs.csv | 169 ++++++++++++++---------- 7 files changed, 109 insertions(+), 189 deletions(-) rename {ksd-arch => ksd-artix}/deploy.sh (89%) rename {ksd-arch => ksd-artix}/dev.csv (100%) rename {ksd-arch => ksd-artix}/manual.pdf (100%) rename {ksd-arch => ksd-artix}/manual.tex (100%) rename {ksd-arch => ksd-artix}/notes.csv (100%) rename {ksd-arch => ksd-artix}/post-install.sh (100%) rename {ksd-arch => ksd-artix}/progs.csv (58%) diff --git a/ksd-arch/deploy.sh b/ksd-artix/deploy.sh similarity index 89% rename from ksd-arch/deploy.sh rename to ksd-artix/deploy.sh index 4d6e590af3e861223ac9adba31c4343367007918..8cd2c41f8d213d76c4cbd8a3b72a71aabefa7adf 100755 --- a/ksd-arch/deploy.sh +++ b/ksd-artix/deploy.sh @@ -17,7 +17,7 @@ # Contact: krisyotam@protonmail.com # Date: 2026.01.23 # License: GNU GPLv3 -# Repository: https://github.com/krisyotam/lazykris +# Repository: https://github.com/krisyotam/sdeploy # ============================================================================ # ============================================================================ @@ -27,9 +27,9 @@ # Repository URLs and branches DOTFILES_REPO="https://github.com/krisyotam/srice.git" DOTFILES_BRANCH="main" -PROGS_FILE="https://raw.githubusercontent.com/krisyotam/sdeploy/main/ksd-arch/progs.csv" -NOTES_FILE="https://raw.githubusercontent.com/krisyotam/sdeploy/main/ksd-arch/notes.csv" -DEV_FILE="https://raw.githubusercontent.com/krisyotam/sdeploy/main/ksd-arch/dev.csv" +PROGS_FILE="https://raw.githubusercontent.com/krisyotam/sdeploy/main/ksd-artix/progs.csv" +NOTES_FILE="https://raw.githubusercontent.com/krisyotam/sdeploy/main/ksd-artix/notes.csv" +DEV_FILE="https://raw.githubusercontent.com/krisyotam/sdeploy/main/ksd-artix/dev.csv" # Doom Emacs repository DOOM_REPO="https://github.com/doomemacs/doomemacs" @@ -40,19 +40,12 @@ DEV_TLDS="sites systems formal foss labs parsing" # AUR helper of choice (yay is recommended) AUR_HELPER="yay" -# BlackArch repository setup script +# BlackArch repository setup script (pentest machines only, not enabled by default) BLACKARCH_STRAP="https://blackarch.org/strap.sh" -# AppImages directory (relative to user home) -APPIMAGES_DIR=".local/bin/appimages" - # Source directory for git builds (suckless, etc) SRC_DIR=".local/src" -# Flatpak remote -FLATPAK_REMOTE="flathub" -FLATPAK_REMOTE_URL="https://dl.flathub.org/repo/flathub.flatpakrepo" - # Terminal settings export TERM=ansi @@ -232,7 +225,7 @@ welcomemsg() { Welcome to LazyKris! This script will automatically install a fully-featured -Arch Linux desktop with my custom builds of dwm, dmenu, +Artix Linux desktop with my custom builds of dwm, dmenu, dwmblocks, st, and surf. In addition several extreme privacy configs for the rotation of browsers ran. @@ -375,35 +368,6 @@ Include = /etc/pacman.d/mirrorlist-arch" >>/etc/pacman.conf esac } -# Set up BlackArch repository for security tools -setup_blackarch() { - whiptail --infobox "Setting up BlackArch repository..." 7 50 - - # Check if BlackArch is already configured - if grep -q "^\[blackarch\]" /etc/pacman.conf; then - return 0 - fi - - # Download and run the strap script - curl -sL "$BLACKARCH_STRAP" -o /tmp/blackarch-strap.sh - chmod +x /tmp/blackarch-strap.sh - /tmp/blackarch-strap.sh >/dev/null 2>&1 - - # Sync repos - pacman -Sy --noconfirm >/dev/null 2>&1 -} - -# Set up Flatpak -setup_flatpak() { - whiptail --infobox "Setting up Flatpak..." 7 40 - - # Install flatpak if not present - installpkg flatpak - - # Add flathub remote - flatpak remote-add --if-not-exists "$FLATPAK_REMOTE" "$FLATPAK_REMOTE_URL" >/dev/null 2>&1 -} - # ============================================================================ # PACKAGE INSTALLATION FUNCTIONS # ============================================================================ @@ -476,51 +440,6 @@ $2" 8 70 cd /tmp || return 1 } -# Install from Flatpak -flatpakinstall() { - whiptail --title "LazyKris Installation" \ - --infobox "[$n/$total] Installing Flatpak: $1 - -$2" 8 70 - - flatpak install -y "$FLATPAK_REMOTE" "$1" >/dev/null 2>&1 -} - -# Install AppImage from URL -appimageinstall() { - # Extract filename from URL - filename="${1##*/}" - # Clean up the filename (remove version numbers for cleaner name) - cleanname=$(echo "$filename" | sed 's/-[0-9].*\.AppImage/.AppImage/') - - whiptail --title "LazyKris Installation" \ - --infobox "[$n/$total] Downloading AppImage: $cleanname - -$2" 8 70 - - # Create appimages directory - appdir="/home/$name/$APPIMAGES_DIR" - sudo -u "$name" mkdir -p "$appdir" - - # Download and make executable - sudo -u "$name" curl -sL "$1" -o "$appdir/$cleanname" - chmod +x "$appdir/$cleanname" - chown "$name":wheel "$appdir/$cleanname" -} - -# Install from BlackArch repository -blackarchinstall() { - whiptail --title "LazyKris Installation" \ - --infobox "[$n/$total] Installing from BlackArch: $1 - -$2" 8 70 - - # Ensure BlackArch is set up - grep -q "^\[blackarch\]" /etc/pacman.conf || setup_blackarch - - installpkg "$1" -} - # ============================================================================ # MAIN INSTALLATION LOOP # ============================================================================ @@ -538,23 +457,6 @@ installationloop() { total=$(wc -l /dev/null) - # Track if we need special setup - needs_blackarch=false - needs_flatpak=false - - # First pass: check what we need - while IFS=, read -r tag program comment; do - case "$tag" in - "B") needs_blackarch=true ;; - "F") needs_flatpak=true ;; - esac - done /etc/sudoers.d/00-wheel-can-sudo # Allow certain commands without password - echo "%wheel ALL=(ALL:ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/systemctl suspend,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/pacman -Syyu --noconfirm,/usr/bin/loadkeys,/usr/bin/pacman -Syyuw --noconfirm" >/etc/sudoers.d/01-cmds-without-password + echo "%wheel ALL=(ALL:ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/loginctl suspend,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/pacman -Syyu --noconfirm,/usr/bin/loadkeys,/usr/bin/pacman -Syyuw --noconfirm" >/etc/sudoers.d/01-cmds-without-password # Set neovim as default editor for visudo echo "Defaults editor=/usr/bin/nvim" >/etc/sudoers.d/02-visudo-editor @@ -939,7 +834,7 @@ setup_sudoers() { # Clean up temporary files cleanup() { rm -f /tmp/progs.csv /tmp/progs-clean.csv - rm -f /etc/sudoers.d/lazykris-temp + rm -f /etc/sudoers.d/sdeploy-temp } # Display completion message @@ -1006,9 +901,9 @@ adduserandpass || error "Failed to create user account." [ -f /etc/sudoers.pacnew ] && cp /etc/sudoers.pacnew /etc/sudoers # Temporarily allow passwordless sudo for builds -trap 'rm -f /etc/sudoers.d/lazykris-temp' HUP INT QUIT TERM PWR EXIT +trap 'rm -f /etc/sudoers.d/sdeploy-temp' HUP INT QUIT TERM PWR EXIT echo "%wheel ALL=(ALL) NOPASSWD: ALL -Defaults:%wheel,root runcwd=*" >/etc/sudoers.d/lazykris-temp +Defaults:%wheel,root runcwd=*" >/etc/sudoers.d/sdeploy-temp # Apply system tweaks system_tweaks diff --git a/ksd-arch/dev.csv b/ksd-artix/dev.csv similarity index 100% rename from ksd-arch/dev.csv rename to ksd-artix/dev.csv diff --git a/ksd-arch/manual.pdf b/ksd-artix/manual.pdf similarity index 100% rename from ksd-arch/manual.pdf rename to ksd-artix/manual.pdf diff --git a/ksd-arch/manual.tex b/ksd-artix/manual.tex similarity index 100% rename from ksd-arch/manual.tex rename to ksd-artix/manual.tex diff --git a/ksd-arch/notes.csv b/ksd-artix/notes.csv similarity index 100% rename from ksd-arch/notes.csv rename to ksd-artix/notes.csv diff --git a/ksd-arch/post-install.sh b/ksd-artix/post-install.sh similarity index 100% rename from ksd-arch/post-install.sh rename to ksd-artix/post-install.sh diff --git a/ksd-arch/progs.csv b/ksd-artix/progs.csv similarity index 58% rename from ksd-arch/progs.csv rename to ksd-artix/progs.csv index c9deeff7c3c323236be2be63e8df3f4b2fb3649f..3c81f89d8dded033964143adda790f2826e92b28 100644 --- a/ksd-arch/progs.csv +++ b/ksd-artix/progs.csv @@ -1,14 +1,14 @@ #TAG,PACKAGE,DESCRIPTION # # Legend: -# (empty) = pacman (official repos) -# A = AUR (via yay) -# G = Git clone + make install -# F = Flatpak -# I = AppImage (download URL) -# B = BlackArch (requires strap.sh first) +# (empty) = pacman (Artix + Arch repos via artix-archlinux-support) +# A = AUR (via yay) — only when no official repo alternative exists +# G = Git clone + make install — suckless builds only +# B = BlackArch (requires strap.sh) — NOT enabled by default, pentest flag only # +# ===================================================================== # Basic Programs +# ===================================================================== A,lf,"terminal file browser/manager" ,btop,"task manager and system monitor" ,neomutt,"terminal email client" @@ -18,7 +18,7 @@ A,abook,"address book for neomutt" ,networkmanager,"provides nmtui for wifi management" ,bluez,"Bluetooth protocol stack" ,bluez-utils,"Bluetooth utilities (bluetoothctl)" -,blueman,"Bluetooth manager GUI (blueman-manager)" +,blueman,"Bluetooth manager GUI" ,newsboat,"terminal RSS feed reader" ,pulsemixer,"terminal audio control" A,mouseless-bin,"keyboard-driven mouse control" @@ -28,7 +28,9 @@ A,mouseless-bin,"keyboard-driven mouse control" ,calcurse,"terminal calendar and organizer" A,sc-im,"terminal spreadsheet (Excel-like)" # -# System/X11 +# ===================================================================== +# System / X11 +# ===================================================================== ,xorg-server,"graphical server" ,xorg-xinit,"starts graphical server" ,xorg-xwininfo,"window info queries" @@ -36,75 +38,72 @@ A,sc-im,"terminal spreadsheet (Excel-like)" ,xorg-xprop,"window properties tool" ,xorg-xbacklight,"screen brightness control" ,polkit,"user policy management" -,xcompmgr,"compositor for transparency" +,picom,"compositor for transparency and effects" ,webkit2gtk,"web rendering engine for surf" ,gcr,"crypto UI library for surf" ,xwallpaper,"wallpaper setter" ,xclip,"clipboard from command line" ,xdotool,"window automation tool" -,xcape,"key remapping (capslock to escape)" ,unclutter,"hides inactive mouse cursor" ,slock,"simple screen locker" ,arandr,"monitor arrangement GUI" # +# ===================================================================== # Suckless Builds +# ===================================================================== G,https://github.com/krisyotam/dwm,"tiling window manager" G,https://github.com/krisyotam/dwmblocks,"modular status bar" G,https://github.com/krisyotam/dmenu,"application launcher" G,https://github.com/krisyotam/st,"terminal emulator" G,https://github.com/krisyotam/scron,"simple cron daemon" G,https://github.com/krisyotam/quark,"tiny HTTP server" -G,https://github.com/krisyotam/surf,"minimal webkit browser for deep work" +G,https://github.com/krisyotam/surf,"minimal webkit browser" # -# Fonts - System +# ===================================================================== +# Fonts — System +# ===================================================================== ,noto-fonts,"comprehensive Unicode coverage" ,noto-fonts-cjk,"Chinese Japanese Korean support" ,noto-fonts-emoji,"emoji font" ,ttf-liberation,"metric-compatible Arial Times Courier" ,ttf-dejavu,"excellent Unicode coverage" -,ttf-roboto,"Google Roboto font" -A,ttf-opensans,"Open Sans font" -,ttf-ubuntu-font-family,"Ubuntu fonts" -,ttf-droid,"Droid fonts" ,inter-font,"modern UI font" ,adobe-source-sans-fonts,"Adobe Source Sans" ,adobe-source-serif-fonts,"Adobe Source Serif" ,adobe-source-code-pro-fonts,"Adobe Source Code Pro" -A,ttf-cascadia-code,"Microsoft Cascadia Code" ,otf-libertinus,"Libertinus serif and sans" ,ttf-font-awesome,"icons and glyphs" # -# Fonts - Monospace/Coding +# ===================================================================== +# Fonts — Monospace / Coding +# ===================================================================== ,ttf-fira-code,"coding font with ligatures" ,ttf-hack,"Hack monospace font" -,ttf-inconsolata,"Inconsolata font" -A,ttf-iosevka-bin,"Iosevka font (prebuilt)" ,ttf-jetbrains-mono,"JetBrains Mono font" # -# Fonts - Nerd Fonts +# ===================================================================== +# Fonts — Nerd Fonts +# ===================================================================== ,ttf-jetbrains-mono-nerd,"JetBrains Mono with Nerd icons" ,ttf-firacode-nerd,"Fira Code with Nerd icons" ,ttf-hack-nerd,"Hack with Nerd icons" -,ttf-meslo-nerd,"Meslo with Nerd icons" -,ttf-sourcecodepro-nerd,"Source Code Pro with Nerd icons" -A,ttf-iosevka-nerd-bin,"Iosevka with Nerd icons (prebuilt)" -,ttf-cascadia-code-nerd,"Cascadia Code with Nerd icons" -A,ttf-ubuntu-nerd,"Ubuntu Mono with Nerd icons" -A,ttf-roboto-mono-nerd,"Roboto Mono with Nerd icons" ,ttf-nerd-fonts-symbols,"standalone Nerd symbols" # +# ===================================================================== # Font Management +# ===================================================================== ,fontconfig,"font configuration" -A,fontpreview-ueberzug,"terminal font previewer" # +# ===================================================================== # Theming +# ===================================================================== ,gnome-keyring,"system keyring" -A,gtk-theme-arc-gruvbox-git,"dark GTK theme" -,python-qdarkstyle,"dark Qt theme" ,libnotify,"desktop notifications library" ,dunst,"notification daemon" # -# Audio/Video +# ===================================================================== +# Audio / Video +# ===================================================================== ,mpd,"music player daemon" ,mpc,"mpd terminal interface" ,mpv,"video player" @@ -115,13 +114,17 @@ A,gtk-theme-arc-gruvbox-git,"dark GTK theme" ,pipewire-pulse,"PulseAudio compatibility" ,alsa-utils,"ALSA utilities including amixer" # +# ===================================================================== # Filesystem +# ===================================================================== ,dosfstools,"DOS filesystem tools" ,exfatprogs,"exFAT filesystem tools" ,ntfs-3g,"NTFS partition access" A,simple-mtpfs,"phone and MTP mounting" # +# ===================================================================== # Utilities +# ===================================================================== ,bc,"calculator language" ,man-db,"man pages database" ,maim,"screenshot tool" @@ -129,7 +132,6 @@ A,simple-mtpfs,"phone and MTP mounting" ,atool,"archive management" ,poppler,"PDF utilities" ,mediainfo,"media file info" -A,task-spooler,"command queue" ,socat,"data transfer utility" ,moreutils,"unix utilities collection" ,tesseract,"OCR engine" @@ -147,22 +149,27 @@ A,task-spooler,"command queue" ,eza,"modern ls replacement" ,zoxide,"smarter cd command" ,dust,"disk usage analyzer" -A,dysk,"disk usage viewer for statusbar" ,lm_sensors,"hardware sensors for temperature" ,sysstat,"system stats including iostat" -,playerctl,"media player controller for statusbar" +,playerctl,"media player controller" ,upower,"battery and power device info" ,acpi,"battery status utility" # -# IDEs/Editors +# ===================================================================== +# Editors / IDEs +# ===================================================================== ,neovim,"modern vim" ,zed,"AI-powered IDE" A,claude-code-bin,"Anthropic AI CLI" # +# ===================================================================== # Terminals -A,warp-terminal,"AI terminal" +# ===================================================================== +A,warp-terminal,"AI terminal (proprietary — phasing out)" # +# ===================================================================== # Browsers +# ===================================================================== A,librewolf-bin,"privacy-focused browser" A,librewolf-extension-localcdn-bin,"CDN emulation extension" A,librewolf-extension-istilldontcareaboutcookies-bin,"cookie banner remover" @@ -170,15 +177,20 @@ A,librewolf-extension-tridactyl-bin,"vim bindings extension" A,librewolf-extension-ublock-origin-bin,"ad blocker extension" A,arkenfox-user.js,"browser hardening config" ,torbrowser-launcher,"Tor browser" -A,mullvad-browser-bin,"Mullvad privacy browser" # -# Writing Software (Flatpak) -I,https://github.com/vkbo/novelWriter/releases/download/v2.8.2/novelwriter-2.8.2-x86_64.AppImage,"novel writing software" -F,com.notesnook.Notesnook,"encrypted note-taking" +# ===================================================================== +# Writing Software +# ===================================================================== +A,novelwriter,"novel writing software" +A,notesnook-bin,"encrypted note-taking" # -# LaTeX - use post-install.sh for full texlive suite +# ===================================================================== +# LaTeX — use post-install.sh for full texlive suite +# ===================================================================== # +# ===================================================================== # Tools +# ===================================================================== ,git,"version control" ,github-cli,"GitHub CLI" ,openssh,"SSH client and server" @@ -197,59 +209,47 @@ A,flarectl,"Cloudflare CLI" ,zathura-pdf-mupdf,"mupdf backend for zathura" ,yt-dlp,"YouTube downloader" # -# Media/Anime +# ===================================================================== +# Media / Anime +# ===================================================================== A,ani-cli,"anime streaming CLI" -A,manga-tui,"terminal manga reader with image support" +A,manga-tui,"terminal manga reader" A,hakuneko-desktop,"manga and anime downloader" -I,https://api.hayase.watch/files/linux-hayase-6.4.50-linux.AppImage,"anime streaming app" +A,hayase-bin,"anime streaming app" # -# Misc Programs -A,speedtest-cli,"internet speed test" -A,wikiman,"offline wiki and man pages" -A,gphoto2,"DSLR camera control" -A,v4l2loopback-dkms,"virtual webcam for DSLR" -,bat,"cat with syntax highlighting" -A,python-pywal,"colorscheme generator" -# -# VPNs -A,mullvad-vpn-bin,"Mullvad VPN client" -,openvpn,"OpenVPN client" -# -# Security -A,protonmail-bridge,"Proton Mail bridge for email clients" -A,proton-pass,"Proton Authenticator" -,proxychains-ng,"proxy chaining" -,gnupg,"GPG encryption" -,pass,"password manager using GPG" -,sqlcipher,"encrypted SQLite" -A,clipnotify,"clipboard change notifications" -# -# Video/Graphics +# ===================================================================== +# Video / Graphics +# ===================================================================== ,obs-studio,"screen recording and streaming" -#A,davinci-resolve,"video editor - use post-install.sh" ,gimp,"image editor" ,inkscape,"vector graphics editor" -F,org.kde.SymbolEditor,"symbol and icon editor" ,imagemagick,"image manipulation CLI" ,perl-image-exiftool,"read/write EXIF metadata" ,flameshot,"screenshot with annotation" # +# ===================================================================== # Social -F,com.discordapp.Discord,"Discord client" +# ===================================================================== ,element-desktop,"Matrix client" A,catgirl,"terminal IRC client" # +# ===================================================================== # Torrent +# ===================================================================== ,rtorrent,"terminal torrent client" ,transmission-cli,"transmission daemon and CLI tools" # +# ===================================================================== # Shell +# ===================================================================== ,fish,"friendly interactive shell" ,starship,"cross-shell prompt" ,direnv,"per-directory environment" ,gum,"fluid terminal UI toolkit" # -# Compilers/Languages +# ===================================================================== +# Compilers / Languages +# ===================================================================== ,gcc,"C and C++ compiler" ,clang,"LLVM C and C++ compiler" ,dotnet-sdk,".NET SDK" @@ -264,6 +264,31 @@ A,catgirl,"terminal IRC client" ,nodejs,"JavaScript runtime" ,npm,"Node package manager" ,go,"Go language" +# +# ===================================================================== +# VPN +# ===================================================================== +A,mullvad-vpn-bin,"Mullvad VPN client" +,openvpn,"OpenVPN client" +# +# ===================================================================== +# Security +# ===================================================================== +A,protonmail-bridge,"Proton Mail bridge for email clients" +,proxychains-ng,"proxy chaining" +,gnupg,"GPG encryption" +,pass,"password manager using GPG" +,sqlcipher,"encrypted SQLite" +# +# ===================================================================== +# Misc +# ===================================================================== +,bat,"cat with syntax highlighting" +A,python-pywal,"colorscheme generator" +,conky,"system monitor with Lua scripting" ,inetutils,"network utilities including hostname command" -A,cmatrix-git,"matrix terminal animation with transparency" -,conky,"System monitor for X and Wayland with Lua scripting" +A,speedtest-cli,"internet speed test" +A,wikiman,"offline wiki and man pages" +A,gphoto2,"DSLR camera control" +A,v4l2loopback-dkms,"virtual webcam for DSLR" +A,cmatrix-git,"matrix terminal animation"