diff --git a/.bash_profile b/.bash_profile new file mode 100644 index 0000000..81afb5d --- /dev/null +++ b/.bash_profile @@ -0,0 +1,7 @@ +## ------------------- +## CUSTOM BASH_PROFILE +## ------------------- + +export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share:$HOME/.local/share/applications" +export LV2_PATH="~/.guix-profile/lib/lv2" + diff --git a/channels.scm b/channels.scm new file mode 100644 index 0000000..0554922 --- /dev/null +++ b/channels.scm @@ -0,0 +1,10 @@ +(cons* (channel + (name 'nonguix) + (url "https://gitlab.com/nonguix/nonguix") + ;; Enable signature verification: + (introduction + (make-channel-introduction + "897c1a470da759236cc11798f4e0a5f7d4d59fbc" + (openpgp-fingerprint + "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) + %default-channels) diff --git a/config.scm b/config.scm new file mode 100644 index 0000000..ccdb885 --- /dev/null +++ b/config.scm @@ -0,0 +1,125 @@ +;; Ceci est une configuration de système d'exploitation générée par +;; l'installateur graphique. +;; +;; Une fois l'installation terminée, vous pouvez apprendre à modifier +;; ce fichier pour ajuster la configuration du système et le passer à +;; la commande « guix system reconfigure » pour rendre vos changements +;; effectifs. + + +;; Indique quels modules importer pour accéder aux variables +;; utilisées dans cette configuration. +(use-modules (gnu)) +(use-modules (srfi srfi-1)) +(use-modules (gnu system setuid) (gnu packages cups)) +(use-modules (nongnu packages linux) (nongnu system linux-initrd)) +(use-service-modules cups desktop networking ssh xorg virtualization vpn security-token) + +(operating-system + (locale "fr_FR.utf8") + (timezone "Europe/Paris") + (keyboard-layout (keyboard-layout "fr" "oss")) + (host-name "PLX") + + (kernel linux) + (initrd microcode-initrd) + (firmware (list linux-firmware)) + + ;; La liste des comptes utilisateurs (« root » est implicite). + (users (cons* (user-account + (name "Pilous") + (comment "Pilous") + (group "users") + (home-directory "/home/Pilous") + (supplementary-groups '("users" "wheel" "netdev" "audio" "video" "libvirt" "kvm" "scanner" "cdrom" "lpadmin"))) + %base-user-accounts)) + + ;; Paquets installés pour tout le système. Les utilisateurs et utilisatrices peuvent aussi installer des paquets + ;; sous leur propre compte : utilisez « guix search MOT-CLÉ » pour chercher + ;; des paquets et « guix install PAQUET » pour installer un paquet. + (packages (append (list (specification->package "nss-certs") + (specification->package "qemu") + (specification->package "virt-manager") + (specification->package "libvirt") + (specification->package "lvm2") + (specification->package "mdadm") + (specification->package "network-manager") + (specification->package "network-manager-openvpn") + (specification->package "iwlwifi-firmware") + (specification->package "udisks") + (specification->package "gvfs") + (specification->package "lightdm-gtk-greeter") + (specification->package "thunar-volman") + (specification->package "thin-provisioning-tools")) + %base-packages)) + + ;; Voici la liste des services du système. Pour trouver les services disponibles, + ;; lancez « guix system search MOT-CLÉ » dans un terminal. + (services + (modify-services (append (list + (service xfce-desktop-service-type) + + (service cups-service-type + (cups-configuration + (web-interface? #t) + (extensions + (list cups-filters brlaser epson-inkjet-printer-escpr hplip-minimal)))) + + ;; Service KVM/Libvirt pour virt-manager + (service libvirt-service-type) + (service virtlog-service-type) + + ;; Modification des limites mémoires pour les accès audio temps réel + ;; (utile notamment pour Ardour) + (pam-limits-service + (list + (pam-limits-entry "@audio" 'both 'rtprio 99) + (pam-limits-entry "@audio" 'both 'memlock 'unlimited))) + + ;; Configuration de l'environnement graphique (notamment clavier) + (set-xorg-configuration + (xorg-configuration (keyboard-layout keyboard-layout)))) + %desktop-services) + + ;; Configuration du service network-manager pour prendre en charge + ;; OpenVPN + (network-manager-service-type config => (network-manager-configuration + (inherit config) + (vpn-plugins + (list (specification->package "network-manager-openvpn"))))) + + (guix-service-type config => (guix-configuration + (inherit config) + (extra-options '("--cores=10")) + (substitute-urls + (append (list "https://substitutes.nonguix.org") + %default-substitute-urls)) + (authorized-keys + (append + (list + (plain-file "non-guix.pub" + (string-append + "(public-key" + " (ecc " + " (curve Ed25519)" + " (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))"))) + %default-authorized-guix-keys)))))) + + + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (targets (list "/dev/sda")) + (keyboard-layout keyboard-layout))) + (swap-devices (list (swap-space + (target (uuid + "f79f265f-175b-4caa-bf63-53114b792afb"))))) + + ;; La liste des systèmes de fichiers qui seront « montés ». Les identifiants + ;; de systèmes de fichiers uniques (« UUIDs ») qui se trouvent ici s'obtiennent + ;; en exécutant « blkid » dans un terminal. + (file-systems (cons* (file-system + (mount-point "/") + (device (uuid + "cbcef149-d2fc-45a2-9c71-ebef7b17d80a" + 'ext4)) + (type "ext4")) %base-file-systems))) diff --git a/home-configuration.scm b/home-configuration.scm new file mode 100644 index 0000000..de4905c --- /dev/null +++ b/home-configuration.scm @@ -0,0 +1,40 @@ +;; Ce fichier « home-environment » peut être passé à « guix home reconfigure » pour reproduire +;; le contenu de votre profil. Son contenu est « symbolique » : il ne spécifie que les +;; noms des paquets. Pour reproduire exactement le même profil, vous devez aussi +;; retenir les canaux utilisés, ceux renvoyés par « guix describe ». +;; Voir la section « Répliquer Guix » dans le manuel. + + +(use-modules (gnu home) + (gnu services) + (gnu packages) + (gnu packages gnupg) + (guix gexp) + (gnu home services shells) + (gnu home services gnupg)) + +(home-environment + (services + (list (service home-bash-service-type + (home-bash-configuration + (aliases '( + ("clear" . "printf '\\033c'") + ("dir" . "dir --color=auto") + ("egrep" . "egrep --color=auto") + ("fgrep" . "fgrep --color=auto") + ("grep" . "grep --color=auto") + ("la" . "ls -A") + ("ll" . "ls -l") + ("l" . "ls -CF") + ("ls" . "ls -p --color=auto") + ("vdir" . "vdir --color=auto"))) + (bashrc (list (local-file "/home/Pilous/.config/guix/.bashrc" "bashrc"))) + (bash-profile (list (local-file + "/home/Pilous/.config/guix/.bash_profile" + "bash_profile"))))) + (service home-gpg-agent-service-type + (home-gpg-agent-configuration + (pinentry-program + (file-append pinentry-gnome3 "/bin/pinentry-gnome3")) + (ssh-support? #t)))))) + diff --git a/manifest.scm b/manifest.scm new file mode 100644 index 0000000..bfa29b7 --- /dev/null +++ b/manifest.scm @@ -0,0 +1,105 @@ +;; Ce fichier « manifeste » peut être passé à « guix package -m » pour reproduire +;; le contenu de votre profil. Son contenu est « symbolique » : il ne spécifie que les +;; noms des paquets. Pour reproduire exactement le même profil, vous devez aussi +;; retenir les canaux utilisés, ceux renvoyés par « guix describe ». +;; Voir la section « Répliquer Guix » dans le manuel. + +(specifications->manifest + (list "kdenlive" + "icecat" + "audacity" + "0ad" + "xdg-desktop-portal" + "xdg-desktop-portal-gtk" + "dino" + "ardour" + "gnome-builder" + "endeavour" + "dconf-editor" + "ffmpeg" + "avidemux" + "mpv" + "ungoogled-chromium" + "ublock-origin-chromium" + "pavucontrol" + "alsa-plugins" + "flatpak" + "yt-dlp" + "vlc" + "musescore" + "mumble" + "gimp" + "ghostwriter" + "supertuxkart" + "supertux" + "seahorse" + "hplip" + "inkscape" + "simplescreenrecorder" + "youtube-dl" + "obs" + "pngquant" + "icedove" + "meld" + "xournalpp" + "libreoffice" + "minetest" + "system-config-printer" + "lm-sensors" + "pinentry" + "gparted" + "openssh" + "gajim" + "gajim-omemo" + "git" + "dosage" + "licensecheck" + "rsync" + "recutils" + "gnupg" + "gzip" + "python" + "pandoc" + "fastboot" + "adb" + "ntfs-3g" + "man-pages" + "alsa-utils" + "font-liberation" + "gdb" + "testdisk" + "bind:utils" + "tig" + "bsd-games" + "curl" + "make" + "font-openmoji" + "neofetch" + "bash-completion" + "blender" + "aircrack-ng" + "nmap" + "rhythmbox" + "filezilla" + "retroarch" + "clamav" + "calibre" + "bitmask" + "tor-client" + "signal-desktop" + "giara" + "pipe-viewer" + "gaupol" + "emacs" + "handbrake" + "darktable" + "krita" + "mediainfo" + "shotcut" + "pdfarranger" + "tuba" + "josm" + "marble-qt" + "lmms" + "deluge" + "komikku"))