fixed stuff

This commit is contained in:
afoucaultc 2026-07-10 13:22:08 +02:00
parent f9413c476c
commit 2482644028
58 changed files with 296 additions and 339 deletions

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ ... }:
{
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;

View file

@ -1,11 +1,13 @@
{ config, pkgs, ... }:
{ pkgs, ... }:
{
# grub utilisé pour le bootloader
boot.kernelPackages = pkgs.linuxPackages;
boot.loader.grub = {
enable = true;
device = "nodev";
efiSupport = true;
useOSProber = true;
# nombre de configurations à garder en mémoire
configurationLimit = 5;
};
boot.loader.efi.canTouchEfiVariables = true;

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ pkgs, ... }:
{
hardware.graphics = {
enable = true;

View file

@ -1,14 +1,14 @@
{ config, pkgs, ... }:
{ pkgs, ... }:
{
# ── Mullvad VPN ── (remplace mullvad-vpn-bin de l'AUR)
# mullvad VPN
services.mullvad-vpn = {
enable = true;
package = pkgs.mullvad-vpn;
};
# ── Intégration gestionnaire de fichiers (miniatures, montage…) ──
services.gvfs.enable = true;
services.tumbler.enable = true;
environment.sessionVariables = {
NIXOS_OZONE_WL = "1";
};
# intégration gestionnaire de fichiers (pour Dolphin)
#services.gvfs.enable = true;
#services.tumbler.enable = true;
#environment.sessionVariables = {
# NIXOS_OZONE_WL = "1";
#};
}

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }: {
{ pkgs, ... }: {
fonts.packages = with pkgs; [
# Sans / Source (adobe-source-*-fonts, source-han-sans)
source-sans

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ ... }:
{
time.timeZone = "Europe/Paris";
i18n.defaultLocale = "fr_FR.UTF-8";

View file

@ -1,21 +1,12 @@
{ ... }:
{
config,
pkgs,
lib,
...
}:
{
# ─────────────────────────────────────────────────────────────
# Machine à faible RAM (4 GiB) : on privilégie TOUJOURS les
# binaires pré-compilés (caches) plutôt que la compilation locale.
# ─────────────────────────────────────────────────────────────
# privilège pour les paquets précompilés pour que la RAM ne soit pas trop sollicitée
nix.settings = {
experimental-features = [
"nix-command"
"flakes"
];
# Caches binaires : on récupère un maximum de paquets déjà
# compilés pour éviter de compiler sur cette machine.
# Caches binaires
substituters = [
"https://cache.nixos.org"
"https://hyprland.cachix.org"
@ -35,38 +26,31 @@
"root"
"@wheel"
];
# Toujours interroger les caches, ne jamais partir du principe
# qu'un paquet doit être compilé localement.
# utiliser les caches par défaut
builders-use-substitutes = true;
fallback = true; # si un cache tombe, on tente ailleurs
connect-timeout = 10;
# Limiter la pression mémoire pendant la construction :
# peu de jobs en parallèle, sinon 4 Gio saturent vite.
# limitation de l'utilisation de la RAM
max-jobs = 1; # une dérivation à la fois
cores = 2; # les 2 cœurs du i5-6200U par job
cores = 2; # les 2 coeurs du i5-6200U par job
};
# Auto-optimisation du store (déduplication) pour économiser le disque.
# optimisation du store
nix.settings.auto-optimise-store = true;
# ─────────────────────────────────────────────────────────────
# zram : swap compressé en RAM. Indispensable avec 4 Gio, à la
# fois pour l'usage courant et pour absorber les pics du rebuild.
# ─────────────────────────────────────────────────────────────
# zram : compression du swap en RAM pour absorber les pics du rebuild
zramSwap = {
enable = true;
algorithm = "zstd";
memoryPercent = 150; # jusqu'à 1.5x la RAM (zstd compresse ~3:1)
memoryPercent = 150;
priority = 100;
};
# Le noyau peut « swaper » agressivement vers zram (rapide) plutôt
# que de tuer des process pendant un build.
# swap du noyau si nécessaire
boot.kernel.sysctl = {
"vm.swappiness" = 180; # favorise zram
"vm.swappiness" = 180;
"vm.watermark_boost_factor" = 0;
"vm.watermark_scale_factor" = 125;
"vm.page-cluster" = 0; # recommandé avec zram
"vm.page-cluster" = 0;
};
# earlyoom : tue proprement le process le plus gourmand avant que la
# machine ne se fige totalement (utile si un build déborde malgré tout).
# empêche la machine de freeze totalement si un process est trop gourmand
services.earlyoom = {
enable = true;
freeMemThreshold = 5; # agit quand il reste < 5% de RAM libre

View file

@ -1,19 +1,15 @@
{ config, pkgs, ... }:
{ ... }:
{
# ThinkPad E560 : TLP pour l'autonomie. Pas d'asusd (spécifique ASUS).
services.tlp = {
enable = true;
settings = {
CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
# Seuils de charge batterie (préserve la batterie).
# Fonctionne sur la plupart des ThinkPad via tp_smapi/acpi.
START_CHARGE_THRESH_BAT0 = 40;
STOP_CHARGE_THRESH_BAT0 = 80;
};
};
services.power-profiles-daemon.enable = false;
# Économie d'énergie supplémentaire.
powerManagement.enable = true;
}

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ ... }:
{
services.pulseaudio.enable = false;
security.rtkit.enable = true;

View file

@ -1,5 +1,6 @@
{ pkgs, ... }:
{
# style global
stylix = {
enable = true;
targets.gtksourceview.enable = false;

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
git

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ ... }:
{
nix.gc = {
automatic = true;

View file

@ -1,9 +1,8 @@
{ config, pkgs, ... }:
{ ... }:
{
networking = {
hostName = "nixos-laptop";
networkmanager.enable = true;
# ouvrir des ports manuellement si besoin
firewall.enable = true;
};
services = {

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ pkgs, ... }:
{
users.users.afoucaultc = {
isNormalUser = true;