# 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.

### Hostname

Change hostname with `sudoedit /etc/hostname`

Reboot.

### Tweaks

Scripts are named `<component>-<task>` where `<component>` is the part to be tweaked and `<task>` 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.

### Fish prompt

Execute command `set fish_color_user yellow`.

Execute command `set fish_color_host blue|red|yellow|magenta` depending of the power regulation.

## 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
```

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**