Compare commits
No commits in common. "f79128b1a6707407af14e29900529fcdae91b7a1" and "5d2ce0045594647343fd6026fdee98eccf80adf4" have entirely different histories.
f79128b1a6
...
5d2ce00455
@ -7,7 +7,7 @@ Reproduzierbares Arch-Linux-Setup basierend auf archinstall + Post-Install-Autom
|
|||||||
- `config/` — archinstall-Konfiguration (inkl. custom-commands die das Repo nach /opt/moonarch klonen)
|
- `config/` — archinstall-Konfiguration (inkl. custom-commands die das Repo nach /opt/moonarch klonen)
|
||||||
- `scripts/` — Post-Install- und Helper-Scripts
|
- `scripts/` — Post-Install- und Helper-Scripts
|
||||||
- `packages/` — Paketlisten (offiziell + AUR), getrennt gepflegt
|
- `packages/` — Paketlisten (offiziell + AUR), getrennt gepflegt
|
||||||
- `defaults/` — XDG-Configs, Shell-Config, Helper-Binaries, greetd/moongreet-Config, Wallpaper
|
- `defaults/` — XDG-Configs, Shell-Config, Helper-Binaries, greetd-Config, Wallpaper
|
||||||
|
|
||||||
## Konventionen
|
## Konventionen
|
||||||
|
|
||||||
|
|||||||
43
README.md
43
README.md
@ -1,49 +1,32 @@
|
|||||||
# Moonarch
|
# Moonarch
|
||||||
|
|
||||||
Reproduzierbares Arch-Linux-Setup mit Niri (Wayland Compositor), greetd/moongreet, Catppuccin Mocha Theming und durchgehender Automatisierung.
|
Reproduzierbares Arch-Linux-Setup mit Niri (Wayland Compositor), greetd/regreet, Catppuccin Mocha Theming und durchgehender Automatisierung.
|
||||||
|
|
||||||
## Schnellstart
|
## Schnellstart
|
||||||
|
|
||||||
### Variante A: Config im Live-System herunterladen
|
1. Arch ISO booten
|
||||||
|
2. `archinstall --config /pfad/zur/user_configuration.json` (Disk + Kernel interaktiv)
|
||||||
|
3. Reboot — das Repo liegt bereits in `/opt/moonarch`
|
||||||
|
4. Einloggen, dann:
|
||||||
|
|
||||||
1. [Arch ISO](https://archlinux.org/download/) auf USB flashen und davon booten
|
```bash
|
||||||
2. Im Live-System:
|
/opt/moonarch/scripts/post-install.sh
|
||||||
```bash
|
```
|
||||||
curl -O https://gitea.moonarch.de/nevaforget/moonarch/raw/branch/main/config/user_configuration.json
|
|
||||||
archinstall --config user_configuration.json
|
|
||||||
```
|
|
||||||
3. Disk + Kernel interaktiv waehlen, Rest kommt aus der Config
|
|
||||||
|
|
||||||
### Variante B: Config auf den USB-Stick legen (Ventoy)
|
5. Nochmal rebooten — fertig
|
||||||
|
|
||||||
1. [Ventoy](https://www.ventoy.net/) auf USB installieren
|
|
||||||
2. Arch ISO und `user_configuration.json` auf die Ventoy-Partition kopieren
|
|
||||||
3. Davon booten, dann:
|
|
||||||
```bash
|
|
||||||
archinstall --config /run/media/ventoy/user_configuration.json
|
|
||||||
```
|
|
||||||
|
|
||||||
### Nach archinstall
|
|
||||||
|
|
||||||
1. Reboot — das Repo liegt bereits in `/opt/moonarch` (via custom-commands)
|
|
||||||
2. Einloggen, dann:
|
|
||||||
```bash
|
|
||||||
/opt/moonarch/scripts/post-install.sh
|
|
||||||
```
|
|
||||||
3. Nochmal rebooten — fertig
|
|
||||||
|
|
||||||
## Struktur
|
## Struktur
|
||||||
|
|
||||||
```
|
```
|
||||||
config/ archinstall-Konfiguration
|
config/ archinstall-Konfiguration
|
||||||
packages/ Paketlisten (official.txt + aur.txt)
|
packages/ Paketlisten (official.txt + aur.txt)
|
||||||
scripts/ Post-Install, Update, Theme-Installer
|
scripts/ Bootstrap, Post-Install, Update, Theme-Installer
|
||||||
defaults/
|
defaults/
|
||||||
bin/ moonarch-* Helper-Scripts (/usr/local/bin/)
|
bin/ moonarch-* Helper-Scripts (/usr/local/bin/)
|
||||||
xdg/ XDG-Defaults (/etc/xdg/)
|
xdg/ XDG-Defaults (/etc/xdg/)
|
||||||
shell/ Zsh-Konfiguration
|
shell/ Zsh-Konfiguration
|
||||||
etc/ greetd + moongreet Konfiguration
|
etc/ greetd/regreet Konfiguration
|
||||||
backgrounds/ Default-Wallpaper
|
backgrounds/ Greeter-Wallpaper
|
||||||
```
|
```
|
||||||
|
|
||||||
## Update
|
## Update
|
||||||
@ -57,7 +40,7 @@ Aktualisiert Repo, Systempakete, fehlende Pakete und Defaults — alles interakt
|
|||||||
## Stack
|
## Stack
|
||||||
|
|
||||||
- **Compositor:** Niri (Scrollable Tiling Wayland)
|
- **Compositor:** Niri (Scrollable Tiling Wayland)
|
||||||
- **Greeter:** greetd + moongreet
|
- **Greeter:** greetd + regreet
|
||||||
- **Bar:** Waybar
|
- **Bar:** Waybar
|
||||||
- **Launcher:** Rofi (lbonn Wayland Fork)
|
- **Launcher:** Rofi (lbonn Wayland Fork)
|
||||||
- **Terminal:** Foot
|
- **Terminal:** Foot
|
||||||
|
|||||||
@ -41,6 +41,7 @@
|
|||||||
"fwupd",
|
"fwupd",
|
||||||
"ufw",
|
"ufw",
|
||||||
"greetd",
|
"greetd",
|
||||||
|
"greetd-regreet",
|
||||||
"niri",
|
"niri",
|
||||||
"waybar",
|
"waybar",
|
||||||
"foot",
|
"foot",
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 366 KiB After Width: | Height: | Size: 366 KiB |
@ -1,9 +1,9 @@
|
|||||||
# ABOUTME: greetd-Konfiguration fuer Moonarch.
|
# ABOUTME: greetd-Konfiguration fuer Moonarch.
|
||||||
# ABOUTME: Startet moongreet als Wayland-Greeter via gtk4-layer-shell.
|
# ABOUTME: Startet regreet unter niri als Wayland-Compositor.
|
||||||
|
|
||||||
[terminal]
|
[terminal]
|
||||||
vt = 1
|
vt = 1
|
||||||
|
|
||||||
[default_session]
|
[default_session]
|
||||||
command = "moongreet"
|
command = "niri -c /etc/greetd/niri-greeter.kdl"
|
||||||
user = "greeter"
|
user = "greeter"
|
||||||
|
|||||||
58
defaults/etc/greetd/niri-greeter.kdl
Normal file
58
defaults/etc/greetd/niri-greeter.kdl
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
// ABOUTME: Minimale Niri-Konfiguration fuer den regreet Login-Greeter.
|
||||||
|
// ABOUTME: Wird von greetd gestartet statt cage, um Multi-Monitor korrekt zu handhaben.
|
||||||
|
|
||||||
|
input {
|
||||||
|
keyboard {
|
||||||
|
xkb {
|
||||||
|
layout "de"
|
||||||
|
}
|
||||||
|
numlock
|
||||||
|
}
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
tap
|
||||||
|
natural-scroll
|
||||||
|
}
|
||||||
|
|
||||||
|
mouse {
|
||||||
|
accel-profile "flat"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cursor {
|
||||||
|
xcursor-theme "Sweet-cursors"
|
||||||
|
}
|
||||||
|
|
||||||
|
layout {
|
||||||
|
gaps 0
|
||||||
|
|
||||||
|
focus-ring {
|
||||||
|
off
|
||||||
|
}
|
||||||
|
|
||||||
|
border {
|
||||||
|
off
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// regreet starten und niri beenden, sobald regreet sich schliesst
|
||||||
|
spawn-at-startup "sh" "-c" "regreet; niri msg action quit --skip-confirmation"
|
||||||
|
|
||||||
|
// Greeter-Fenster maximiert darstellen
|
||||||
|
window-rule {
|
||||||
|
open-maximized true
|
||||||
|
}
|
||||||
|
|
||||||
|
hotkey-overlay {
|
||||||
|
skip-at-startup
|
||||||
|
}
|
||||||
|
|
||||||
|
prefer-no-csd
|
||||||
|
|
||||||
|
animations {
|
||||||
|
off
|
||||||
|
}
|
||||||
|
|
||||||
|
binds {
|
||||||
|
// Keine Keybinds noetig fuer den Greeter
|
||||||
|
}
|
||||||
40
defaults/etc/greetd/regreet.css
Normal file
40
defaults/etc/greetd/regreet.css
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
/* ABOUTME: Catppuccin Mocha CSS-Overrides fuer regreet. */
|
||||||
|
/* ABOUTME: Ergaenzt das GTK-Theme mit greeter-spezifischem Styling. */
|
||||||
|
|
||||||
|
window {
|
||||||
|
background-color: #1e1e2e;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 8px 12px;
|
||||||
|
border: 1px solid #45475a;
|
||||||
|
background-color: #313244;
|
||||||
|
color: #cdd6f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry:focus {
|
||||||
|
border-color: #b4befe;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 8px 16px;
|
||||||
|
background-color: #313244;
|
||||||
|
color: #cdd6f4;
|
||||||
|
border: 1px solid #45475a;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:hover {
|
||||||
|
background-color: #45475a;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.suggested-action {
|
||||||
|
background-color: #b4befe;
|
||||||
|
color: #1e1e2e;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.suggested-action:hover {
|
||||||
|
background-color: #89b4fa;
|
||||||
|
}
|
||||||
17
defaults/etc/greetd/regreet.toml
Normal file
17
defaults/etc/greetd/regreet.toml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# ABOUTME: regreet-Konfiguration fuer Moonarch.
|
||||||
|
# ABOUTME: Definiert Aussehen und Verhalten des Login-Greeters.
|
||||||
|
|
||||||
|
[background]
|
||||||
|
path = "/usr/share/backgrounds/moonarch-greeter.jpg"
|
||||||
|
fit = "Cover"
|
||||||
|
|
||||||
|
[GTK]
|
||||||
|
application_prefer_dark_theme = true
|
||||||
|
cursor_theme_name = "Sweet-cursors"
|
||||||
|
font_name = "Hack Nerd Font 12"
|
||||||
|
icon_theme_name = "Newaita-reborn-gray-dark"
|
||||||
|
theme_name = "catppuccin-mocha-lavender-standard+default"
|
||||||
|
|
||||||
|
[commands]
|
||||||
|
reboot = ["systemctl", "reboot"]
|
||||||
|
poweroff = ["systemctl", "poweroff"]
|
||||||
@ -1,9 +0,0 @@
|
|||||||
# ABOUTME: Moongreet-Konfiguration fuer Moonarch.
|
|
||||||
# ABOUTME: Definiert Aussehen und Verhalten des Login-Greeters.
|
|
||||||
|
|
||||||
[appearance]
|
|
||||||
background = "/usr/share/moonarch/wallpaper.jpg"
|
|
||||||
|
|
||||||
[behavior]
|
|
||||||
# show_user_list = true
|
|
||||||
# default_session = "niri-session"
|
|
||||||
@ -76,7 +76,7 @@ layout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// xwayland-satellite wird seit niri 25.08 automatisch verwaltet
|
spawn-at-startup "xwayland-satellite"
|
||||||
spawn-at-startup "waybar"
|
spawn-at-startup "waybar"
|
||||||
spawn-at-startup "dunst"
|
spawn-at-startup "dunst"
|
||||||
spawn-at-startup "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1"
|
spawn-at-startup "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1"
|
||||||
|
|||||||
@ -63,6 +63,7 @@ gtklock-powerbar-module
|
|||||||
gtklock-userinfo-module
|
gtklock-userinfo-module
|
||||||
nwg-look
|
nwg-look
|
||||||
greetd
|
greetd
|
||||||
|
greetd-regreet
|
||||||
polkit-gnome
|
polkit-gnome
|
||||||
|
|
||||||
# Dateimanager / XDG
|
# Dateimanager / XDG
|
||||||
|
|||||||
@ -108,30 +108,19 @@ if [[ ! -f "$HOME/.zshrc" ]]; then
|
|||||||
echo "source /etc/zsh/zshrc.moonarch" >> "$HOME/.zshrc"
|
echo "source /etc/zsh/zshrc.moonarch" >> "$HOME/.zshrc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# --- moongreet installieren (Greeter aus Gitea) ---
|
# --- greetd / regreet Konfiguration ---
|
||||||
|
|
||||||
if ! command -v moongreet &>/dev/null; then
|
log "Konfiguriere greetd + regreet..."
|
||||||
log "Installiere moongreet..."
|
|
||||||
MOONGREET_TMPDIR=$(mktemp -d)
|
|
||||||
git clone https://gitea.moonarch.de/nevaforget/greetd-moongreet.git "$MOONGREET_TMPDIR/moongreet"
|
|
||||||
(cd "$MOONGREET_TMPDIR/moongreet/pkg" && makepkg -si --noconfirm)
|
|
||||||
rm -rf "$MOONGREET_TMPDIR"
|
|
||||||
else
|
|
||||||
log "moongreet bereits installiert."
|
|
||||||
fi
|
|
||||||
|
|
||||||
# --- greetd / moongreet Konfiguration ---
|
|
||||||
|
|
||||||
log "Konfiguriere greetd + moongreet..."
|
|
||||||
sudo mkdir -p /etc/greetd
|
sudo mkdir -p /etc/greetd
|
||||||
sudo cp "$DEFAULTS_DIR/etc/greetd/config.toml" /etc/greetd/config.toml
|
sudo cp "$DEFAULTS_DIR/etc/greetd/config.toml" /etc/greetd/config.toml
|
||||||
sudo mkdir -p /etc/moongreet
|
sudo cp "$DEFAULTS_DIR/etc/greetd/niri-greeter.kdl" /etc/greetd/niri-greeter.kdl
|
||||||
sudo cp "$DEFAULTS_DIR/etc/moongreet/moongreet.toml" /etc/moongreet/moongreet.toml
|
sudo cp "$DEFAULTS_DIR/etc/greetd/regreet.toml" /etc/greetd/regreet.toml
|
||||||
|
sudo cp "$DEFAULTS_DIR/etc/greetd/regreet.css" /etc/greetd/regreet.css
|
||||||
|
|
||||||
# Default-Wallpaper installieren (Greeter, Lockscreen, Desktop)
|
# Greeter-Wallpaper installieren
|
||||||
log "Installiere Default-Wallpaper..."
|
log "Installiere Greeter-Wallpaper..."
|
||||||
sudo mkdir -p /usr/share/moonarch
|
sudo mkdir -p /usr/share/backgrounds
|
||||||
sudo cp "$DEFAULTS_DIR/backgrounds/wallpaper.jpg" /usr/share/moonarch/wallpaper.jpg
|
sudo cp "$DEFAULTS_DIR/backgrounds/moonarch-greeter.jpg" /usr/share/backgrounds/moonarch-greeter.jpg
|
||||||
|
|
||||||
# --- Systemd-Services aktivieren ---
|
# --- Systemd-Services aktivieren ---
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user