summaryrefslogtreecommitdiff
path: root/raveos-cosmic-theme/raveos-cosmic-first-login.sh
blob: 4964028134766abf2f781c2718ce5c6f625766af (plain)
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
#!/usr/bin/env bash
set -euo pipefail

marker_dir="${HOME}/.config/raveos-cosmic-theme"
marker_file="${marker_dir}/.first-login-done"
wallpaper="/usr/share/backgrounds/raveos/raveos-main-bg.jpeg"
theme_ron="/usr/share/raveos/cosmic-theme/theme-data/cosmic/raveos.ron"
cosmic_payload="/usr/share/raveos/cosmic-theme/theme-data/cosmic"

mkdir -p "${marker_dir}"
[[ -e "${marker_file}" ]] && exit 0
[[ "${XDG_CURRENT_DESKTOP:-}" == *COSMIC* ]] || exit 0

sleep 2

# Hivatalos RaveOS tema importalasa ha elerheto
if command -v cosmic-settings >/dev/null 2>&1 && [[ -f "${theme_ron}" ]]; then
    cosmic-settings appearance import "${theme_ron}" >/dev/null 2>&1 || true
fi

# Alapertelmezett konfig masolasa ha meg nem letezne
if [[ -d "${cosmic_payload}" ]]; then
    mkdir -p "${HOME}/.config/cosmic"
    cp -rn "${cosmic_payload}/." "${HOME}/.config/cosmic/" 2>/dev/null || true
fi

# Hatterkep beallitasa
if [[ -f "${wallpaper}" ]]; then
    mkdir -p "${HOME}/.config/cosmic/com.system76.CosmicBackground/v1"
    if [[ ! -f "${HOME}/.config/cosmic/com.system76.CosmicBackground/v1/all" ]]; then
        cat > "${HOME}/.config/cosmic/com.system76.CosmicBackground/v1/all" <<BG_EOF
(
    output: "all",
    source: Path("${wallpaper}"),
    filter_by_theme: false,
    rotation_frequency: 3600,
    filter_method: Lanczos,
    scaling_mode: Zoom,
    sampling_method: Alphanumeric,
)
BG_EOF
        echo "true" > "${HOME}/.config/cosmic/com.system76.CosmicBackground/v1/same-on-all"
    fi
fi

# Billentyuzet-kiosztas beallitasa
if [[ ! -f "${HOME}/.config/cosmic/com.system76.CosmicComp/v1/xkb_config" ]]; then
    kb_layout="hu"
    kb_variant=""
    xorg_kb="/etc/X11/xorg.conf.d/00-keyboard.conf"
    if [[ -f "${xorg_kb}" ]]; then
        kb_tmp="$(awk '/XkbLayout/ {print $3}' "${xorg_kb}" 2>/dev/null | tr -d '"' | head -1)"
        [[ -n "$kb_tmp" ]] && kb_layout="${kb_tmp%%,*}"
        kb_tmp="$(awk '/XkbVariant/ {print $3}' "${xorg_kb}" 2>/dev/null | tr -d '"' | head -1)"
        [[ -n "$kb_tmp" ]] && kb_variant="${kb_tmp%%,*}"
    elif [[ -f /etc/default/keyboard ]]; then
        kb_tmp="$(awk -F'"' '/^XKBLAYOUT=/{print $2; exit}' /etc/default/keyboard 2>/dev/null)"
        [[ -n "$kb_tmp" ]] && kb_layout="${kb_tmp%%,*}"
        kb_tmp="$(awk -F'"' '/^XKBVARIANT=/{print $2; exit}' /etc/default/keyboard 2>/dev/null)"
        [[ -n "$kb_tmp" ]] && kb_variant="${kb_tmp%%,*}"
    fi

    mkdir -p "${HOME}/.config/cosmic/com.system76.CosmicComp/v1"
    cat > "${HOME}/.config/cosmic/com.system76.CosmicComp/v1/xkb_config" <<XKB_EOF
(
    rules: "",
    model: "",
    layout: "${kb_layout}",
    variant: "${kb_variant}",
    options: None,
    repeat_delay: 600,
    repeat_rate: 25,
)
XKB_EOF
fi

touch "${marker_file}"