-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathconfig.sh
More file actions
executable file
·145 lines (126 loc) · 3.63 KB
/
config.sh
File metadata and controls
executable file
·145 lines (126 loc) · 3.63 KB
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#!/bin/bash
# CodeVerse Linux Installer - Configuration Module
# Global variables and defaults
# Progress tracking
export TOTAL_STEPS=10
export CURRENT_STEP=0
# Installation target variables
export DISK=""
export BOOT_MODE=""
export EFI_PART=""
export ROOT_PART=""
# User configuration with defaults
export USERNAME="cvh"
export HOSTNAME="cvh-linux"
export TIMEZONE="Asia/Jerusalem"
export LOCALE="en_US.UTF-8"
export KEYMAP="us"
export COMPOSITOR="niri" # CodeVerse Linux uses niri compositor
# Package lists - synced with packages.x86_64
# Note: archiso-specific packages (mkinitcpio-archiso, nbd, etc.) are excluded
get_base_packages() {
# Kernel and firmware
echo "linux linux-firmware linux-headers"
# Base system
echo "base base-devel"
# Init system
echo "systemd dbus"
# Bootloader
echo "grub efibootmgr os-prober syslinux"
# Filesystem utilities
echo "dosfstools e2fsprogs btrfs-progs xfsprogs ntfs-3g mtools"
# Networking
echo "networkmanager iwd openssh curl wget rsync"
# Hardware support
echo "pciutils usbutils lshw"
# mkinitcpio for installed system
echo "mkinitcpio"
}
get_core_utils() {
echo "coreutils util-linux procps-ng shadow"
echo "grep sed gawk findutils diffutils"
echo "file less which man-db man-pages"
echo "libnotify reflector"
# Compression
echo "gzip bzip2 xz zstd lz4 zip unzip"
}
get_audio_packages() {
echo "pipewire pipewire-pulse pipewire-alsa wireplumber"
}
get_wayland_packages() {
# Wayland core
echo "wayland wayland-protocols xorg-xwayland"
echo "qt5-wayland qt6-wayland xwayland-satellite"
# Wayland utilities
echo "rofi grim slurp wl-clipboard"
echo "swaync swayosd cliphist brightnessctl"
echo "wf-recorder waybar"
echo "polkit-gnome gnome-keyring"
# Note: mpvpaper is AUR, installed via CVH repo packages
}
get_niri_packages() {
echo "niri"
echo "xdg-desktop-portal xdg-desktop-portal-gnome xdg-desktop-portal-gtk"
echo "xdg-utils mesa vulkan-icd-loader seatd"
}
get_shell_packages() {
# Shell utilities
echo "gum zoxide fd ripgrep bat eza git"
# Terminal and shell
echo "zsh zsh-completions zsh-syntax-highlighting"
echo "zsh-autosuggestions zsh-history-substring-search"
# Terminal emulator
echo "kitty"
}
get_fonts() {
echo "noto-fonts noto-fonts-emoji"
echo "ttf-jetbrains-mono-nerd ttf-nerd-fonts-symbols"
echo "ttf-dejavu ttf-liberation ttf-fira-code"
}
get_system_utils() {
echo "btop tree fastfetch"
# File management
echo "nautilus"
}
get_sandbox_packages() {
echo "bubblewrap libseccomp"
}
get_development_packages() {
echo "gcc pkgconf"
}
get_display_manager() {
echo "ly"
}
get_default_apps() {
echo "zed neovim"
echo "celluloid transmission-gtk"
echo "evince loupe file-roller"
echo "nwg-look tangram"
}
# CVH custom packages - NOT included in pacstrap
# These are installed via pacman -U from /opt/cvh-repo after pacstrap
# Packages: cvh-fuzzy, cvh-icons, cvh-branding, mpvpaper (AUR)
# Get all packages for installation (official repos only)
# CVH packages (cvh-fuzzy, cvh-icons, cvh-branding, mpvpaper) are installed
# separately via pacman -U from /opt/cvh-repo after pacstrap
get_all_packages() {
get_base_packages
get_core_utils
get_audio_packages
get_wayland_packages
get_niri_packages
get_shell_packages
get_fonts
get_system_utils
get_sandbox_packages
get_development_packages
get_display_manager
get_default_apps
}
# Check if running as root
check_root() {
if [[ $EUID -ne 0 ]]; then
log_error "This installer must be run as root"
exit 1
fi
}