# Configure a fresh linux installation ## Install basic programs Install `git` and `fish` ## Change default user ### Add ```sh sudo adduser jovian sudo usermod -aG sudo jovian ``` ### Delete default user ```sh raspi-config # boot > cli > not autologin reboot sudo userdel -r pi ``` ## Clone configuration repository [From Gogs](https://gogs.jovian-hersemeule.eu/DricomDragon/JovianLinux) ## Set up your tools By executing scripts from _Install_ folder. Execute `deep-upgrade`, `basic-install` and `basic-custom` before any tweak. ### Fish prompt Execute command `set fish_color_user yellow`. Execute command `set fish_color_host blue|red|yellow|magenta` depending of the power regulation. ### Hostname Need reboot : `sudoedit /etc/hostname` No reboot required with *systemd* : `sudo hostname new-hostname` ### Tweaks Scripts are named `-` where `` is the part to be tweaked and `` the purpose of the script, which can be _install_ to install software of this part and _custom_ to configure them as Jovian does. Installation must be made before customization. ## Set up SSH ### Add client id key ```sh vim .ssh/authorizedkeys ``` Test if working. ### Remove password authentication ```sh sudoedit /etc/ssh/sshd_config ``` ### Create id to connect to servers ```sh ssh-keygen -f id_server_eddsa -t ed25519 -C key-name ``` Then add the generated public key to servers. ### Ubuntu repository You can use the `sources.list` in _Templates_ to set France OVH mirror. ## Desktop installation ### Regolith [Official website](https://regolith-linux.org) `sudo apt install i3xrocks-nm-vpn i3xrocks-disk-capacity i3xrocks-bluetooth i3xrocks-temp i3xrocks-volume i3xrocks-memory i3xrocks-battery` ### Disable package update sudoedit /etc/apt/apt.conf.d/10periodic APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Update-Package-Lists "0"; ### Copy dot folders Like _.thunderbird_, _.mozilla_, _.ssh_ ### Disable keyring password prompt with autologin Launch _seahorse_ and set a blank keyring password. **Warning: this will put your keyring as unencrypted** ## Headless installation For non-interactive servers. ### Auto-update Scripts are in `Server/Scripts/Update`. Edit the root crontab : ```cron 0 2 * * * /home/jovian/Cron/update_system > /home/jovian/Cron/logs/update_system_log.txt 2> /home/jovian/Cron/logs/update_system_error.txt 0 3 * * 4 /home/jovian/Cron/reboot_system > /home/jovian/Cron/logs/reboot_system_log.txt 2> /home/jovian/Cron/logs/reboot_system_error.txt @reboot /home/jovian/Cron/boot_system >> /home/jovian/Cron/logs/reboot_system_log.txt 2>> /home/jovian/Cron/logs/reboot_system_error.txt ``` Note : it's a home-made solution. Prefer `unattended-upgrades` for real use cases.