This commit is contained in:
neox 2024-07-08 15:09:46 +02:00
parent 82bf2531b4
commit ce756de6f7
No known key found for this signature in database
GPG Key ID: 57BC26A3687116F6
4 changed files with 177 additions and 130 deletions

View File

@ -42,50 +42,6 @@ SUBSYSTEM==\"usb\", GROUP=\"spice\", MODE=\"0660\"
SUBSYSTEM==\"usb_device\", GROUP=\"spice\", MODE=\"0660\" SUBSYSTEM==\"usb_device\", GROUP=\"spice\", MODE=\"0660\"
"))) ")))
;; Contenu du certificat CA
(define %openvpn-ca-cert
"-----BEGIN CERTIFICATE-----
MIIFGTCCAwGgAwIBAgIEWgh7mjANBgkqhkiG9w0BAQsFADAsMQswCQYDVQQGEwJG
UjEMMAoGA1UEChMDRkROMQ8wDQYDVQQDEwZDQSBGRE4wHhcNMTcxMTEyMTY0OTMx
WhcNMzcwMTExMTY0OTQzWjAsMQswCQYDVQQGEwJGUjEMMAoGA1UEChMDRkROMQ8w
DQYDVQQDEwZDQSBGRE4wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/
kZzJVsN4vpK7phHW7sX4UpJ1bEd1BveKBATiMTDIOY8ioVv7tAmNOSTABBi8KYzS
LmflAVgsMGh1JI4+b5O4ZN1DKjKp9WAkJZvotsmHnCYsKBhoYc4JqkZQgG2s7zOm
b7eigEWZQf0F5PIaNUzT2nZZlIjxnv7DiAI+lu46qWQfu09IAca4DyN3ViFmlv03
PD4QpTqdungSWCr2gv3VOVF3yX1+b/P4kX7oWae+U2XFL9hYDUuWaFFdWCTzSRvv
JV7QMSflicb7fCRKC6E2r8x7igxyzr5NT6NAkYWvazgyNc7NOsy2hJ9EkN4IWs/0
GORkzYKBcA0MMFdt5CgbAPBFXleLwoaFpZ4BVkFIhREJHNgK6ZFfK60U4O+F552R
QZPbgD+5geJOi6XbrBD3lQ/yb3qaNoejo1g39D7h571rPRYorDlTj6BZ925D+A+7
Mb6DOZMxYUfQ6SYqZSnWf7aivdLpNNsN8K0un8Z2BB98eK6cIhUv298FxF0+tSZI
ok9T5SxF8URU2VfI6wVcSVRh8Q5aeKf2NINIxN6wrBYSwAls3gkwDEsAny+tCwwL
3hy3Y7SEvg+ItFS+d2RYdqav72Av5H2o6Uxr9025ZPKo89/Czd6XPID96znK2x/N
l851UCjHfvNG2xzRqJa0HhUl2pLyEMpC62g31wKv+wIDAQABo0MwQTAPBgNVHRMB
Af8EBTADAQH/MA8GA1UdDwEB/wQFAwMHBAAwHQYDVR0OBBYEFCtQ0M1liMFOkprT
3G5JCpfc/pNAMA0GCSqGSIb3DQEBCwUAA4ICAQAscgi/f2oJIRwHHR+Yt/nW2Z43
hBVLTf0/u/Doa2m7Ae7Bv138ofaFwwF2q7iwnrb2F6L5deD0ZZoLtL0cNtNz7ajw
46SurhoftZh98ZaEmga6UtdNBDz8EO6aJtcwH4nXmzsfQFJ6WHdoKsWTC2L8u3Q8
nbxVF8x/J5QZKOiNp7hlxGEaFABmfaPvRXa4Fm/KLuITL74pEZ3K0+ufnrsT2S4+
8RcgFYkRsKBkXPbhaGp10XDKHC4PPq26fZYVKMb4WzoeDMVMcfotGmdOrehah0mu
0fC9qElVoKtuEEvKtzAsnAX/jRPRMYqqtD90fqL6txoVKzVQcP8cyY0L6eZhIdYe
nt0NfGhmxo6sRAnVmjA5yIriHOE70Zcd2ebeBcUITe7MReIynuygd85BhYyIegBB
WGsj3iSp2Gg5CBNOe8JBLV6UU7iexThlEfWwbSpgigpdICaAaqjTATsO9PWeIM+v
TsH51AC2wh63U5o6OCp3H18/bVJ3oX2F9fba8pPY5r7T7ou0Sq5Jy6i2US03vtDA
NT2/q5MXAHy7kdMCHzT4KQp81pUTY3bNtujUyGC9Nhgf0CMQMLOmwL7lF9aKWk8J
tG1ixRwplTEHEuJARpKp+MebiyfI87OoCSRJP+LygnkKeYNGxV0fhQnIW3+44bnw
NH0QlNNxLH0iV4UJQA==
-----END CERTIFICATE-----")
;; Fonction pour créer le fichier ca.crt
(define (create-ca-cert)
(let ((file "/etc/openvpn/ca.crt"))
(mkdir-p (dirname file))
(call-with-output-file file
(lambda (port)
(display %openvpn-ca-cert port)))
file))
;; Configuration du système ;; Configuration du système
;; C'est le point d'entrée de la configuration ;; C'est le point d'entrée de la configuration
(operating-system (operating-system
@ -110,14 +66,167 @@ NH0QlNNxLH0iV4UJQA==
;; Quelques paquets installés au niveau du système. ;; Quelques paquets installés au niveau du système.
;; On installe notamment network-manager et son extension pour openvpn, ;; On installe notamment network-manager et son extension pour openvpn,
;; ou encore libvirt/virt-manager pour la virtualisation ;; ou encore libvirt/virt-manager pour la virtualisation
(packages (append (list (packages
(specification->package "nss-certs") (append
(specification->package "qemu") (specifications->packages
(specification->package "virt-manager") (list
(specification->package "libvirt") "adb"
(specification->package "lvm2") "alsa-plugins"
(specification->package "mdadm") "alsa-utils"
(specification->package "openvpn")) "ardour"
"audacity"
"bind:utils"
"binutils"
"blueman"
"bmaptools"
"cabextract"
"claws-mail"
"cmatrix"
"cpupower"
"cryptsetup"
"curl"
"cvs"
"dconf-editor"
"dino"
"emacs"
"endeavour"
"evolution"
"exfatprogs"
"fastboot"
"ffmpeg"
"file"
"flashrom"
"flatpak"
"font-awesome"
"font-liberation"
"font-openmoji"
"gallery-dl"
"gdb"
"ghostscript"
"ghostwriter"
"gimp"
"git"
"git-lfs"
"git:send-email"
"glmark2"
"gnome-bluetooth"
"gnome-builder"
"gnome-font-viewer"
"gnome-maps"
"gnome-power-manager"
"gnome-shell-extension-appindicator"
"gnome-shell-extension-blur-my-shell"
"gnome-shell-extension-burn-my-windows"
"gnome-shell-extension-dash-to-dock"
"gnome-shell-extension-night-theme-switcher"
"gnome-shell-extension-noannoyance"
"gnome-shell-extension-vitals"
"gnome-tweaks"
"gnupg"
"gnuplot"
"gparted"
"gpgme"
"graphviz"
"grub"
"hexchat"
"hplip"
"htop"
"hwloc"
"icecat"
"inetutils"
"inkscape"
"jack"
"jp2a"
"kcachegrind"
"kgraphviewer"
"libreoffice"
"libtree"
"libvirt"
"lm-sensors"
"lsof"
"lvm2"
"lynx"
"make"
"man-pages"
"mdadm"
"mediainfo"
"megatools"
"meld"
"microcom"
"minetest"
"minicom"
"minisat"
"mpv"
"mtr"
"mumble"
"nbd"
"ncftp"
"ndisc6"
"neofetch"
"nextcloud-client"
"nitrocli"
"nmap"
"nss-certs"
"ntfs-3g"
"openssh"
"openssl"
"openvpn"
"openvpn"
"pandoc"
"parted"
"patchelf"
"pavucontrol"
"pkg-config"
"poppler"
"powertop"
"profanity"
"python"
"python2"
"python-logutils"
"python-markdown"
"python-paramiko"
"qbittorrent"
"qemu"
"qjackctl"
"qpdf"
"recutils"
"rsync"
"rubber"
"screen"
"seahorse"
"setxkbmap"
"simplescreenrecorder"
"sl"
"speedtest-cli"
"sqlitebrowser"
"sshpass"
"system-config-printer"
"testdisk"
"texlive"
"texlive-biber"
"texmaker"
"tig"
"tilix"
"transmission"
"tree"
"uefitool"
"ungoogled-chromium"
"virt-manager"
"vlc"
"wine64"
"xauth"
"xdg-desktop-portal"
"xdg-desktop-portal-gnome"
"xdg-desktop-portal-gtk"
"xdg-utils"
"xdot"
"xdotool"
"xeyes"
"xmlcopyeditor"
"xournalpp"
"xrdp"
"yt-dlp"
"zstd"))
%base-packages)) %base-packages))
;; Services du système. ;; Services du système.
@ -152,8 +261,9 @@ NH0QlNNxLH0iV4UJQA==
(service openvpn-client-service-type (service openvpn-client-service-type
(openvpn-client-configuration (openvpn-client-configuration
(proto tcp) (proto tcp)
;(fast-io? #t) (fast-io? #t)
(ca %openvpn-ca-cert) (ca "/etc/openvpn/fdn.crt")
(auth-user-pass "/etc/openvpn/fdn.creds")
(remote (remote
(list (list
(openvpn-remote-configuration (openvpn-remote-configuration

BIN
guix_07.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -1,76 +0,0 @@
# Procédure d'installation de GNU Guix
## Scénario d'un PC vierge
### Récupération de l'ISO de GNU Guix
Télécharger la version actuelle de GNU Guix (système) [ici](https://ci.guix.gnu.org/search/latest/ISO-9660?query=spec:images+status:success+system:x86_64-linux+image.iso) et l'écrire sur une clé USB.
#### Écriture de l'image ISO sur clé USB
Il est possible d'utiliser l'application Disques de GNOME
![](disques.png)
Sous Windows, il est possible d'utiliser l'application [Rufus](https://rufus.ie/en/), et penser à choisir le système de fichier FAT32.
### Démarrage de l'installateur
1. Insérer la clé USB dans l'ordinateur et la démarrer
2. Appuyer sur entrée pour le démarrage de l'installateur
![](guix_01.png)
3. Continuer à suivre les instructions pour paramétrer la localisation et la langue.
![](guix_02.png)
![](guix_03.png)
4. Choisir l'installation dans un processus `shell` pour pouvoir installer manuellement GNU Guix.
![](guix_04.png)
5. Appuyer sur Entrée pour ouvrir le terminal
![](guix_05.png)
6. Vous avez désormais un terminal prêt à l'utilisation !
![](guix_06.png)
### Configuration
Charger les caractères AZERTY/français :
```
root@gnu ~# loadkeys fr
```
Récupérer la configuration de Guix pré-préparée :
```
wget https://codeberg.org/neox_/guix_install_from_scratch/raw/branch/master/config.scm
```
Rechercher la liste des disques :
```
lsblk
```
Un résultat comme suit apparaît :
![](guix_07.png)
Si aucune partition n'existe, on utilisera l'utilitaire `cfdisk` (embarqué dans l'installateur). Pour cela, lancer simplement `cfdisk` et créer au moins une partition.
Ici, on identifie `/dev/vda1` comme le disque cible de l'installation.
On commence par formater et chiffrer la partition :
```
cryptsetup luksFormat /dev/vda1
cryptsetup open /dev/vda1 my-partition
mkfs.ext4 -L my-root /dev/mapper/my-partition
```
On monte ensuite la partition :
```
mount LABEL=my-root /mnt
```
On active le service du Store :
```
herd start cow-store /mnt
```
On lance l'installation :
```
guix system init config.scm /mnt
```

View File

@ -31,6 +31,8 @@ Sous Windows, il est possible d'utiliser l'application [Rufus](https://rufus.ie/
### Configuration ### Configuration
### Préparation de l'installation
Charger les caractères AZERTY/français : Charger les caractères AZERTY/français :
``` ```
root@gnu ~# loadkeys fr root@gnu ~# loadkeys fr
@ -41,6 +43,9 @@ Récupérer la configuration de Guix pré-préparée :
wget https://codeberg.org/neox_/guix_install_from_scratch/raw/branch/master/config.scm wget https://codeberg.org/neox_/guix_install_from_scratch/raw/branch/master/config.scm
``` ```
### Préparation du disque
Rechercher la liste des disques : Rechercher la liste des disques :
``` ```
lsblk lsblk
@ -65,6 +70,13 @@ On monte ensuite la partition :
mount LABEL=my-root /mnt mount LABEL=my-root /mnt
``` ```
###
### Lancement de l'installation
On active le service du Store : On active le service du Store :
``` ```
herd start cow-store /mnt herd start cow-store /mnt
@ -74,3 +86,4 @@ On lance l'installation :
``` ```
guix system init config.scm /mnt guix system init config.scm /mnt
``` ```