summaryrefslogtreecommitdiffstats
path: root/linhes/linhes-system/lh_system_start.sh
blob: a74805aa09f642523e726f50fe6b710d06cbac60 (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
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/bash

. /etc/profile
#. /etc/systemconfig
SystemType=Masterbackend

function msg(){
    /usr/bin/notify-send --app-name="LinHES" --icon=dialog-information "$1" "$2"
}

function applyUIsettings(){
    cp /usr/share/linhes/templates/plasma-org.kde.plasma.desktop-appletsrc ~/.config/
    #restart plasma
    kquitapp5 plasmashell
    kstart5 plasmashell > /dev/null 2>&1
    plasma-apply-colorscheme BreezeDark
    kwriteconfig5 --group KDE --key SingleClick false
    kwriteconfig5 --file ~/.config/kscreenlockerrc --group Daemon --key Autolock false
    kwriteconfig5 --file ~/.config/kscreenlockerrc --group Daemon --key LockOnResume false
    kwriteconfig5 --file ~/.config/ksmserverrc --group General --key loginMode emptySession
    #disable file indexing
    balooctl disable
    sleep 2
    plasma-apply-wallpaperimage /usr/share/linhes/templates/lights-bud-abstract-4k-cq.jpg
    msg "Welcome to LinHES 9!"
}

function x11vnc_setup(){
    konsole -e /bin/bash -i -c "echo 'Create VNC password.' && x11vnc --storepasswd"
    mkdir -p ~/.vnc
    touch ~/.vnc/x11vnc.log
    sudo /usr/bin/systemctl enable --now x11vnc.service
}

function bashrc_setup(){
    if ! grep -q 'alias rscp=' ~/.bashrc; then
        echo -e "\nalias rscp='rsync -a --info=progress2'" >> ~/.bashrc
    fi
    if ! grep -q 'alias rsmv=' ~/.bashrc; then
        echo -e "alias rsmv='rsync -a --info=progress2 --remove-source-files'" >> ~/.bashrc
    fi
}

function nanorc_setup(){
    sudo sed -i 's/# set tabsize.*/set tabsize 4/' /etc/nanorc
    sudo sed -i 's/# set tabstospaces.*/set tabstospaces/' /etc/nanorc
    sudo sed -i 's/# include "\/usr\/share\/nano\/\*.nanorc"/include "\/usr\/share\/nano\/\*.nanorc"/' /etc/nanorc
}

function storage_scan(){
    if [ -e /tmp/scan_report ]; then
        msg "New Storage Found" "Run add_storage.py for details."
    fi
}

function install_lh_apps(){
    #install programs that are not needed on the iso
    sudo pacman -Syyy --noconfirm firefox glances mythtv ncdu x11vnc
}

function first_configure(){
    if [ ! -f ~/.config/lh_configured ]; then
        #apply settings for all system types
        applyUIsettings
        msg "New install of LinHES. Starting setup."
        install_lh_apps
        nanorc_setup
        bashrc_setup
        x11vnc_setup

        #apply settings for specific system types
        if [ ! $SystemType = "Frontend_only" ]; then
            # only run mythfilldatabase for masterbackends
            #nice -n 19 mythfilldatabase --quiet &
            msg "Guide data is being loaded." "Until this completes some shows will appear as unknown in the program guide."
        else
            msg "Frontend Only"
            #Frontend_only cmds
        fi
        touch ~/.config/lh_configured
    fi
}



#-------MAIN-------
first_configure
/usr/bin/enableIRWake.sh &
storage_scan