mirror of
https://github.com/Snigdha-OS/snigdhaos-archiso.git
synced 2025-09-06 04:35:15 +02:00
Compare commits
6 Commits
a1817b8afc
...
d80d528549
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d80d528549 | ||
![]() |
48f8500540 | ||
![]() |
34b4712758 | ||
![]() |
1303d6d27d | ||
![]() |
8f30e08b44 | ||
![]() |
1cc1451943 |
139
archiso/airootfs/etc/sddm.conf.d/default.conf
Normal file
139
archiso/airootfs/etc/sddm.conf.d/default.conf
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
[Autologin]
|
||||||
|
# Whether sddm should automatically log back into sessions when they exit
|
||||||
|
Relogin=false
|
||||||
|
|
||||||
|
# Name of session file for autologin session (if empty try last logged in)
|
||||||
|
Session=cinnamon
|
||||||
|
|
||||||
|
# Username for autologin session
|
||||||
|
User=whoami
|
||||||
|
|
||||||
|
|
||||||
|
[General]
|
||||||
|
# Which display server should be used.
|
||||||
|
# Valid values are: x11, x11-user, wayland. Wayland support is experimental
|
||||||
|
DisplayServer=x11
|
||||||
|
|
||||||
|
# Comma-separated list of environment variables to be set
|
||||||
|
GreeterEnvironment=
|
||||||
|
|
||||||
|
# Halt command
|
||||||
|
HaltCommand=/usr/bin/systemctl poweroff
|
||||||
|
|
||||||
|
# Input method module
|
||||||
|
InputMethod=
|
||||||
|
|
||||||
|
# Comma-separated list of Linux namespaces for user session to enter
|
||||||
|
Namespaces=
|
||||||
|
|
||||||
|
# Initial NumLock state. Can be on, off or none.
|
||||||
|
# If property is set to none, numlock won't be changed
|
||||||
|
# NOTE: Currently ignored if autologin is enabled.
|
||||||
|
Numlock=none
|
||||||
|
|
||||||
|
# Reboot command
|
||||||
|
RebootCommand=/usr/bin/systemctl reboot
|
||||||
|
|
||||||
|
|
||||||
|
[Theme]
|
||||||
|
# Current theme name
|
||||||
|
Current=
|
||||||
|
|
||||||
|
# Cursor size used in the greeter
|
||||||
|
CursorSize=
|
||||||
|
|
||||||
|
# Cursor theme used in the greeter
|
||||||
|
CursorTheme=
|
||||||
|
|
||||||
|
# Number of users to use as threshold
|
||||||
|
# above which avatars are disabled
|
||||||
|
# unless explicitly enabled with EnableAvatars
|
||||||
|
DisableAvatarsThreshold=7
|
||||||
|
|
||||||
|
# Enable display of custom user avatars
|
||||||
|
EnableAvatars=true
|
||||||
|
|
||||||
|
# Global directory for user avatars
|
||||||
|
# The files should be named <username>.face.icon
|
||||||
|
FacesDir=/usr/share/sddm/faces
|
||||||
|
|
||||||
|
# Font used in the greeter
|
||||||
|
Font=
|
||||||
|
|
||||||
|
# Theme directory path
|
||||||
|
ThemeDir=/usr/share/sddm/themes
|
||||||
|
|
||||||
|
|
||||||
|
[Users]
|
||||||
|
# Default $PATH for logged in users
|
||||||
|
DefaultPath=/usr/local/sbin:/usr/local/bin:/usr/bin
|
||||||
|
|
||||||
|
# Comma-separated list of shells.
|
||||||
|
# Users with these shells as their default won't be listed
|
||||||
|
HideShells=
|
||||||
|
|
||||||
|
# Comma-separated list of users that should not be listed
|
||||||
|
HideUsers=
|
||||||
|
|
||||||
|
# Maximum user id for displayed users
|
||||||
|
MaximumUid=60513
|
||||||
|
|
||||||
|
# Minimum user id for displayed users
|
||||||
|
MinimumUid=1000
|
||||||
|
|
||||||
|
# Remember the session of the last successfully logged in user
|
||||||
|
RememberLastSession=true
|
||||||
|
|
||||||
|
# Remember the last successfully logged in user
|
||||||
|
RememberLastUser=true
|
||||||
|
|
||||||
|
# When logging in as the same user twice, restore the original session, rather than create a new one
|
||||||
|
ReuseSession=true
|
||||||
|
|
||||||
|
|
||||||
|
[Wayland]
|
||||||
|
# Path of the Wayland compositor to execute when starting the greeter
|
||||||
|
CompositorCommand=weston --shell=kiosk
|
||||||
|
|
||||||
|
# Enable Qt's automatic high-DPI scaling
|
||||||
|
EnableHiDPI=true
|
||||||
|
|
||||||
|
# Path to a script to execute when starting the desktop session
|
||||||
|
SessionCommand=/usr/share/sddm/scripts/wayland-session
|
||||||
|
|
||||||
|
# Comma-separated list of directories containing available Wayland sessions
|
||||||
|
SessionDir=/usr/local/share/wayland-sessions,/usr/share/wayland-sessions
|
||||||
|
|
||||||
|
# Path to the user session log file
|
||||||
|
SessionLogFile=.local/share/sddm/wayland-session.log
|
||||||
|
|
||||||
|
|
||||||
|
[X11]
|
||||||
|
# Path to a script to execute when starting the display server
|
||||||
|
DisplayCommand=/usr/share/sddm/scripts/Xsetup
|
||||||
|
|
||||||
|
# Path to a script to execute when stopping the display server
|
||||||
|
DisplayStopCommand=/usr/share/sddm/scripts/Xstop
|
||||||
|
|
||||||
|
# Enable Qt's automatic high-DPI scaling
|
||||||
|
EnableHiDPI=true
|
||||||
|
|
||||||
|
# Arguments passed to the X server invocation
|
||||||
|
ServerArguments=-nolisten tcp
|
||||||
|
|
||||||
|
# Path to X server binary
|
||||||
|
ServerPath=/usr/bin/X
|
||||||
|
|
||||||
|
# Path to a script to execute when starting the desktop session
|
||||||
|
SessionCommand=/usr/share/sddm/scripts/Xsession
|
||||||
|
|
||||||
|
# Comma-separated list of directories containing available X sessions
|
||||||
|
SessionDir=/usr/local/share/xsessions,/usr/share/xsessions
|
||||||
|
|
||||||
|
# Path to the user session log file
|
||||||
|
SessionLogFile=.local/share/sddm/xorg-session.log
|
||||||
|
|
||||||
|
# Path to Xephyr binary
|
||||||
|
XephyrPath=/usr/bin/Xephyr
|
||||||
|
|
||||||
|
|
@@ -8,7 +8,7 @@ HaltCommand=/usr/bin/systemctl poweroff
|
|||||||
RebootCommand=/usr/bin/systemctl reboot
|
RebootCommand=/usr/bin/systemctl reboot
|
||||||
|
|
||||||
[Theme]
|
[Theme]
|
||||||
Current=Layan
|
Current=snigdhaos-sugar-candy
|
||||||
|
|
||||||
[Users]
|
[Users]
|
||||||
MaximumUid=60513
|
MaximumUid=60513
|
||||||
|
@@ -1,8 +0,0 @@
|
|||||||
# Reflector configuration file for the systemd service.
|
|
||||||
|
|
||||||
--save /etc/pacman.d/mirrorlist
|
|
||||||
--ipv4
|
|
||||||
--ipv6
|
|
||||||
--protocol https
|
|
||||||
--latest 20
|
|
||||||
--sort rate
|
|
@@ -8,15 +8,15 @@ insmod ntfscomp
|
|||||||
insmod exfat
|
insmod exfat
|
||||||
insmod udf
|
insmod udf
|
||||||
|
|
||||||
# Use graphics-mode output
|
# Use graphics-mode output if the font can be loaded
|
||||||
if loadfont "${prefix}/fonts/unicode.pf2" ; then
|
if loadfont "${prefix}/fonts/unicode.pf2"; then
|
||||||
insmod all_video
|
insmod all_video
|
||||||
set gfxmode="auto"
|
set gfxmode="auto"
|
||||||
terminal_input console
|
terminal_input console
|
||||||
terminal_output console
|
terminal_output console
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Enable serial console
|
# Enable serial console if available
|
||||||
insmod serial
|
insmod serial
|
||||||
insmod usbserial_common
|
insmod usbserial_common
|
||||||
insmod usbserial_ftdi
|
insmod usbserial_ftdi
|
||||||
@@ -27,16 +27,18 @@ if serial --unit=0 --speed=115200; then
|
|||||||
terminal_output --append serial
|
terminal_output --append serial
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Search for the ISO volume
|
# Search for the ISO volume if UUID is not already set
|
||||||
if [ -z "${ARCHISO_UUID}" ]; then
|
if [ -z "${ARCHISO_UUID}" ]; then
|
||||||
|
# Try to extract ARCHISO_HINT if not already set
|
||||||
if [ -z "${ARCHISO_HINT}" ]; then
|
if [ -z "${ARCHISO_HINT}" ]; then
|
||||||
regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}"
|
regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}"
|
||||||
fi
|
fi
|
||||||
|
# Search for the ISO file and get the UUID
|
||||||
search --no-floppy --set=root --file '%ARCHISO_SEARCH_FILENAME%' --hint "${ARCHISO_HINT}"
|
search --no-floppy --set=root --file '%ARCHISO_SEARCH_FILENAME%' --hint "${ARCHISO_HINT}"
|
||||||
probe --set ARCHISO_UUID --fs-uuid "${root}"
|
probe --set ARCHISO_UUID --fs-uuid "${root}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get a human readable platform identifier
|
# Determine platform identifier (UEFI or BIOS)
|
||||||
if [ "${grub_platform}" == 'efi' ]; then
|
if [ "${grub_platform}" == 'efi' ]; then
|
||||||
archiso_platform='UEFI'
|
archiso_platform='UEFI'
|
||||||
if [ "${grub_cpu}" == 'x86_64' ]; then
|
if [ "${grub_cpu}" == 'x86_64' ]; then
|
||||||
@@ -52,32 +54,35 @@ else
|
|||||||
archiso_platform="${grub_cpu} ${grub_platform}"
|
archiso_platform="${grub_cpu} ${grub_platform}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set default menu entry
|
# Set default menu entry and timeout
|
||||||
default=snigdhaos
|
default=snigdhaos
|
||||||
timeout=15
|
timeout=15
|
||||||
timeout_style=menu
|
timeout_style=menu
|
||||||
|
|
||||||
|
# Menu entries for different installation modes
|
||||||
|
|
||||||
# Menu entries
|
# SNIGDHA OS LTS install (open source driver)
|
||||||
|
|
||||||
menuentry "SNIGDHA OS LTS install medium (%ARCH%, ${archiso_platform}, open source)" --class arch --class gnu-linux --class gnu --class os --id 'snigdhaos' {
|
menuentry "SNIGDHA OS LTS install medium (%ARCH%, ${archiso_platform}, open source)" --class arch --class gnu-linux --class gnu --class os --id 'snigdhaos' {
|
||||||
set gfxpayload=keep
|
set gfxpayload=keep
|
||||||
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-lts archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} cow_spacesize=4G copytoram=n driver=free module_blacklist=nvidia,nvidea_modeset,nvidia_uvm,nvidia_drm,pcspkr nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes
|
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-lts archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} cow_spacesize=4G copytoram=n driver=free module_blacklist=nvidia,nvidea_modeset,nvidia_uvm,nvidia_drm,pcspkr nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes
|
||||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-lts.img
|
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-lts.img
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# SNIGDHA OS LTS install (NVIDIA driver)
|
||||||
menuentry "SNIGDHA OS LTS install medium (%ARCH%, ${archiso_platform}, NVIDIA)" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'snigdhaosnv' {
|
menuentry "SNIGDHA OS LTS install medium (%ARCH%, ${archiso_platform}, NVIDIA)" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'snigdhaosnv' {
|
||||||
set gfxpayload=keep
|
set gfxpayload=keep
|
||||||
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-lts archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} cow_spacesize=4G copytoram=n driver=nonfree nvidia nvidia-drm.modeset=1 nouveau.modeset=0 radeon.modeset=1 i915.modeset=1 module_blacklist=pcspkr nvme_load=yes
|
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-lts archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} cow_spacesize=4G copytoram=n driver=nonfree nvidia nvidia-drm.modeset=1 nouveau.modeset=0 radeon.modeset=1 i915.modeset=1 module_blacklist=pcspkr nvme_load=yes
|
||||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-lts.img
|
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-lts.img
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# SNIGDHA OS LTS install (safe graphics, nomodeset)
|
||||||
menuentry "SNIGDHA OS LTS install medium (%ARCH%, ${archiso_platform}, safe graphics, nomodeset)" --class arch --class gnu-linux --class gnu --class os --id 'snigdhaosnm' {
|
menuentry "SNIGDHA OS LTS install medium (%ARCH%, ${archiso_platform}, safe graphics, nomodeset)" --class arch --class gnu-linux --class gnu --class os --id 'snigdhaosnm' {
|
||||||
set gfxpayload=keep
|
set gfxpayload=keep
|
||||||
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-lts archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} cow_spacesize=4G copytoram=n driver=free nomodeset module_blacklist=nvidia,nvidea_modeset,nvidia_uvm,nvidia_drm,pcspkr nouveau.modeset=0 radeon.modeset=0 i915.modeset=0 nvme_load=yes
|
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-lts archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} cow_spacesize=4G copytoram=n driver=free nomodeset module_blacklist=nvidia,nvidea_modeset,nvidia_uvm,nvidia_drm,pcspkr nouveau.modeset=0 radeon.modeset=0 i915.modeset=0 nvme_load=yes
|
||||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-lts.img
|
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-lts.img
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Run Memtest86+ if available
|
||||||
if [ "${grub_platform}" == 'efi' -a "${grub_cpu}" == 'x86_64' -a -f '/boot/memtest86+/memtest.efi' ]; then
|
if [ "${grub_platform}" == 'efi' -a "${grub_cpu}" == 'x86_64' -a -f '/boot/memtest86+/memtest.efi' ]; then
|
||||||
menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool {
|
menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool {
|
||||||
set gfxpayload=800x600,1024x768
|
set gfxpayload=800x600,1024x768
|
||||||
@@ -90,6 +95,8 @@ if [ "${grub_platform}" == 'pc' -a -f '/boot/memtest86+/memtest' ]; then
|
|||||||
linux /boot/memtest86+/memtest
|
linux /boot/memtest86+/memtest
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# UEFI Shell entry if supported
|
||||||
if [ "${grub_platform}" == 'efi' ]; then
|
if [ "${grub_platform}" == 'efi' ]; then
|
||||||
if [ "${grub_cpu}" == 'x86_64' -a -f '/shellx64.efi' ]; then
|
if [ "${grub_cpu}" == 'x86_64' -a -f '/shellx64.efi' ]; then
|
||||||
menuentry 'UEFI Shell' --class efi {
|
menuentry 'UEFI Shell' --class efi {
|
||||||
@@ -101,11 +108,13 @@ if [ "${grub_platform}" == 'efi' ]; then
|
|||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# UEFI Firmware Settings
|
||||||
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
|
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
|
||||||
fwsetup
|
fwsetup
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# System reboot and shutdown options
|
||||||
menuentry "System restart" --class reboot --class restart {
|
menuentry "System restart" --class reboot --class restart {
|
||||||
echo "System rebooting..."
|
echo "System rebooting..."
|
||||||
reboot
|
reboot
|
||||||
@@ -114,4 +123,4 @@ menuentry "System restart" --class reboot --class restart {
|
|||||||
menuentry "System shutdown" --class shutdown --class poweroff {
|
menuentry "System shutdown" --class shutdown --class poweroff {
|
||||||
echo "System shutting down..."
|
echo "System shutting down..."
|
||||||
halt
|
halt
|
||||||
}
|
}
|
||||||
|
@@ -7,103 +7,88 @@
|
|||||||
# GENERAL OPTIONS
|
# GENERAL OPTIONS
|
||||||
#
|
#
|
||||||
[options]
|
[options]
|
||||||
# The following paths are commented out with their default values listed.
|
# Default paths - uncomment and update if you want to change the paths.
|
||||||
# If you wish to use different paths, uncomment and update the paths.
|
|
||||||
#RootDir = /
|
#RootDir = /
|
||||||
#DBPath = /var/lib/pacman/
|
#DBPath = /var/lib/pacman/
|
||||||
#CacheDir = /var/cache/pacman/pkg/
|
#CacheDir = /var/cache/pacman/pkg/
|
||||||
#LogFile = /var/log/pacman.log
|
#LogFile = /var/log/pacman.log
|
||||||
#GPGDir = /etc/pacman.d/gnupg/
|
#GPGDir = /etc/pacman.d/gnupg/
|
||||||
#HookDir = /etc/pacman.d/hooks/
|
#HookDir = /etc/pacman.d/hooks/
|
||||||
|
|
||||||
HoldPkg = pacman glibc
|
HoldPkg = pacman glibc
|
||||||
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
|
||||||
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
|
||||||
#CleanMethod = KeepInstalled
|
|
||||||
Architecture = auto
|
Architecture = auto
|
||||||
|
|
||||||
|
# Package upgrade exclusions
|
||||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||||
#IgnorePkg =
|
#IgnorePkg =
|
||||||
#IgnoreGroup =
|
#IgnoreGroup =
|
||||||
|
|
||||||
#NoUpgrade =
|
|
||||||
#NoExtract =
|
|
||||||
|
|
||||||
# Misc options
|
# Misc options
|
||||||
#UseSyslog
|
CheckSpace # Ensure there's enough space during installs
|
||||||
|
ParallelDownloads = 5 # Allows pacman to download up to 5 packages simultaneously
|
||||||
|
DownloadUser = alpm # Download user for better permissions handling
|
||||||
|
ILoveCandy # Enable pacman’s "candy" feature for a better UI
|
||||||
|
|
||||||
|
# Color and progress bar (uncomment if you prefer)
|
||||||
#Color
|
#Color
|
||||||
#NoProgressBar
|
#NoProgressBar
|
||||||
CheckSpace
|
|
||||||
#VerbosePkgLists
|
# Package signature verification
|
||||||
ParallelDownloads = 5
|
SigLevel = Required DatabaseOptional # Ensure all packages are signed
|
||||||
DownloadUser = alpm
|
LocalFileSigLevel = Optional # Allow local files with optional signature verification
|
||||||
|
#RemoteFileSigLevel = Required # Uncomment to enforce signature verification for remote files
|
||||||
|
|
||||||
|
# Disable sandbox (if necessary for advanced configurations)
|
||||||
#DisableSandbox
|
#DisableSandbox
|
||||||
ILoveCandy
|
|
||||||
|
|
||||||
# By default, pacman accepts packages signed by keys that its local keyring
|
# By default, pacman accepts packages signed by keys that its local keyring
|
||||||
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||||
SigLevel = Required DatabaseOptional
|
# Ensure to run `pacman-key --init` before first using pacman.
|
||||||
LocalFileSigLevel = Optional
|
|
||||||
#RemoteFileSigLevel = Required
|
|
||||||
|
|
||||||
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
|
||||||
# keyring can then be populated with the keys of all official Arch Linux
|
|
||||||
# packagers with `pacman-key --populate archlinux`.
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# REPOSITORIES
|
# REPOSITORIES
|
||||||
# - can be defined here or included from another file
|
# - Repositories are listed in order. Pacman will use the first available repository.
|
||||||
# - pacman will search repositories in the order defined here
|
# - Custom mirrors can be added here or in separate files.
|
||||||
# - local/custom mirrors can be added here or in separate files
|
# - Use `Include` to include a list of mirrors.
|
||||||
# - repositories listed first will take precedence when packages
|
|
||||||
# have identical names, regardless of version number
|
|
||||||
# - URLs will have $repo replaced by the name of the current repo
|
|
||||||
# - URLs will have $arch replaced by the name of the architecture
|
|
||||||
#
|
#
|
||||||
# Repository entries are of the format:
|
# Repository entries are of the format:
|
||||||
# [repo-name]
|
# [repo-name]
|
||||||
# Server = ServerName
|
# Server = ServerName
|
||||||
# Include = IncludePath
|
# Include = IncludePath
|
||||||
#
|
#
|
||||||
# The header [repo-name] is crucial - it must be present and
|
|
||||||
# uncommented to enable the repo.
|
|
||||||
#
|
|
||||||
|
|
||||||
# The testing repositories are disabled by default. To enable, uncomment the
|
|
||||||
# repo name header and Include lines. You can add preferred servers immediately
|
|
||||||
# after the header, and they will be used before the default mirrors.
|
|
||||||
|
|
||||||
|
# Official Arch repositories
|
||||||
[core-testing]
|
[core-testing]
|
||||||
Include = /etc/pacman.d/mirrorlist
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
[core]
|
[core]
|
||||||
Include = /etc/pacman.d/mirrorlist
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
[snigdhaos-core]
|
|
||||||
Include = /etc/pacman.d/snigdhaos-mirrorlist
|
|
||||||
|
|
||||||
[extra-testing]
|
[extra-testing]
|
||||||
Include = /etc/pacman.d/mirrorlist
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
[extra]
|
[extra]
|
||||||
Include = /etc/pacman.d/mirrorlist
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
# Snigdha OS custom repositories
|
||||||
|
[snigdhaos-core]
|
||||||
|
Include = /etc/pacman.d/snigdhaos-mirrorlist
|
||||||
|
|
||||||
[snigdhaos-extra]
|
[snigdhaos-extra]
|
||||||
Include = /etc/pacman.d/snigdhaos-mirrorlist
|
Include = /etc/pacman.d/snigdhaos-mirrorlist
|
||||||
|
|
||||||
# If you want to run 32 bit applications on your x86_64 system,
|
# Multilib repositories for 32-bit compatibility on x86_64 systems
|
||||||
# enable the multilib repositories as required here.
|
|
||||||
|
|
||||||
[multilib-testing]
|
[multilib-testing]
|
||||||
Include = /etc/pacman.d/mirrorlist
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
[multilib]
|
[multilib]
|
||||||
Include = /etc/pacman.d/mirrorlist
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
# An example of a custom package repository. See the pacman manpage for
|
# Chaotic AUR repository for additional packages
|
||||||
# tips on creating your own repositories.
|
[chaotic-aur]
|
||||||
|
Include = /etc/pacman.d/chaotic-mirrorlist
|
||||||
|
|
||||||
|
# Custom repositories (uncomment and configure if needed)
|
||||||
#[custom]
|
#[custom]
|
||||||
#SigLevel = Optional TrustAll
|
#SigLevel = Optional TrustAll
|
||||||
#Server = file:///home/custompkgs
|
#Server = file:///home/custompkgs
|
||||||
|
|
||||||
[chaotic-aur]
|
|
||||||
Include = /etc/pacman.d/chaotic-mirrorlist
|
|
||||||
|
@@ -1,29 +1,76 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# shellcheck disable=SC2034
|
# shellcheck disable=SC2034
|
||||||
|
|
||||||
|
# ISO Information
|
||||||
iso_name="snigdhaos"
|
iso_name="snigdhaos"
|
||||||
iso_label="SNIGDHA_OS_$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m)"
|
|
||||||
iso_publisher="Snigdha OS <https://snigdhaos.org>"
|
iso_publisher="Snigdha OS <https://snigdhaos.org>"
|
||||||
iso_application="Snigdha OS Live/Rescue DVD"
|
iso_application="Snigdha OS Live/Rescue DVD"
|
||||||
iso_version="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)"
|
|
||||||
|
# Date Formatting for ISO Version and Label
|
||||||
|
iso_version=$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)
|
||||||
|
iso_label="SNIGDHA_OS_${iso_version//./}" # Removing dots from version to create label
|
||||||
|
|
||||||
|
# Install Directory and Boot Modes
|
||||||
install_dir="snigdhaos"
|
install_dir="snigdhaos"
|
||||||
buildmodes=('iso')
|
|
||||||
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'
|
|
||||||
'uefi-ia32.systemd-boot.esp' 'uefi-x64.systemd-boot.esp'
|
|
||||||
'uefi-ia32.systemd-boot.eltorito' 'uefi-x64.systemd-boot.eltorito')
|
|
||||||
arch="x86_64"
|
arch="x86_64"
|
||||||
|
|
||||||
|
# Boot Modes Supported (BIOS & UEFI)
|
||||||
|
bootmodes=(
|
||||||
|
'bios.syslinux.mbr'
|
||||||
|
'bios.syslinux.eltorito'
|
||||||
|
'uefi-ia32.systemd-boot.esp'
|
||||||
|
'uefi-x64.systemd-boot.esp'
|
||||||
|
'uefi-ia32.systemd-boot.eltorito'
|
||||||
|
'uefi-x64.systemd-boot.eltorito'
|
||||||
|
)
|
||||||
|
|
||||||
|
# Build Modes
|
||||||
|
buildmodes=('iso')
|
||||||
|
|
||||||
|
# Configuration Files
|
||||||
pacman_conf="pacman.conf"
|
pacman_conf="pacman.conf"
|
||||||
airootfs_image_type="squashfs"
|
airootfs_image_type="squashfs"
|
||||||
airootfs_image_tool_options=('-comp' 'xz' '-Xbcj' 'x86' '-b' '1M' '-Xdict-size' '1M')
|
|
||||||
bootstrap_tarball_compression=('zstd' '-c' '-T0' '--auto-threads=logical' '--long' '-19')
|
# Options for Compression and Image Creation
|
||||||
file_permissions=(
|
airootfs_image_tool_options=(
|
||||||
["/etc/gshadow"]="0:0:600"
|
'-comp' 'xz'
|
||||||
["/etc/shadow"]="0:0:400"
|
'-Xbcj' 'x86'
|
||||||
["/root"]="0:0:700"
|
'-b' '1M'
|
||||||
["/root/.automated_script.sh"]="0:0:755"
|
'-Xdict-size' '1M'
|
||||||
["/etc/polkit-1/rules.d"]="0:0:750"
|
|
||||||
["/etc/sudoers.d"]="0:0:750"
|
|
||||||
["/etc/grub.d/40_custom"]="0:0:755"
|
|
||||||
["/usr/local/bin/snigdhaos-snapper"]="0:0:755"
|
|
||||||
["/etc/NetworkManager/dispatcher.d/09-timezone"]="0:0:755"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
bootstrap_tarball_compression=(
|
||||||
|
'zstd'
|
||||||
|
'-c'
|
||||||
|
'-T0'
|
||||||
|
'--auto-threads=logical'
|
||||||
|
'--long'
|
||||||
|
'-19'
|
||||||
|
)
|
||||||
|
|
||||||
|
# File Permissions Configuration
|
||||||
|
# Define secure permissions for system files and directories
|
||||||
|
file_permissions=(
|
||||||
|
# System files (shadow, gshadow, etc.) - Sensitive data
|
||||||
|
["/etc/gshadow"]="0:0:600" # Root-only readable, no writing allowed
|
||||||
|
["/etc/shadow"]="0:0:400" # Root-only readable, no writing allowed
|
||||||
|
|
||||||
|
# Root's home directory (should be private)
|
||||||
|
["/root"]="0:0:700" # Full access for root only
|
||||||
|
|
||||||
|
# Automated script (ensure it is executable by root)
|
||||||
|
["/root/.automated_script.sh"]="0:0:755" # Readable and executable by root
|
||||||
|
|
||||||
|
# Polkit rules and sudoers.d (restrict access to administrators)
|
||||||
|
["/etc/polkit-1/rules.d"]="0:0:750" # Admin access only
|
||||||
|
["/etc/sudoers.d"]="0:0:750" # Admin access only
|
||||||
|
|
||||||
|
# Grub and snapper tools (ensuring appropriate user access)
|
||||||
|
["/etc/grub.d/40_custom"]="0:0:755" # Executable for all users
|
||||||
|
["/usr/local/bin/snigdhaos-snapper"]="0:0:755" # Executable for all users
|
||||||
|
|
||||||
|
# NetworkManager dispatcher script (ensure root access)
|
||||||
|
["/etc/NetworkManager/dispatcher.d/09-timezone"]="0:0:755" # Executable by root
|
||||||
|
)
|
||||||
|
|
||||||
|
# Ensure proper configurations for system security and compression
|
||||||
|
Reference in New Issue
Block a user