First commit
This commit is contained in:
parent
9532c89e63
commit
ca0610b675
13 changed files with 597 additions and 40 deletions
102
hosts/pennsardin/bepovim.nix
Normal file
102
hosts/pennsardin/bepovim.nix
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
# modules/alerts/sms.nix
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
# services.xserver.enable = true;
|
||||
|
||||
services.xserver.xkb.extraLayouts.bepovim = {
|
||||
description = "Clavier Bepovim – 4 niveaux";
|
||||
languages = [ "fr" ];
|
||||
# IMPORTANT: c'est `symbolsFile`, pas `symbols`.
|
||||
symbolsFile = builtins.toFile "bepovim.xkb" ''
|
||||
xkb_symbols "basic" {
|
||||
name[Group1] = "Bepovim";
|
||||
|
||||
key <ESC> { [ Escape ] };
|
||||
key <AE01> { [ dollar, numbersign ] };
|
||||
key <AE02> { [ less, 1, guillemotleft ] };
|
||||
key <AE03> { [ greater, 2, guillemotright ] };
|
||||
key <AE04> { [ parenleft, 3, bracketleft ] };
|
||||
key <AE05> { [ parenright, 4, bracketright ] };
|
||||
key <AE06> { [ at, 5, braceleft ] };
|
||||
key <AE07> { [ plus, 6, braceright ] };
|
||||
key <AE08> { [ minus, 7, asciitilde ] };
|
||||
key <AE09> { [ asterisk, 8 ] };
|
||||
key <AE10> { [ slash, 9, backslash ] };
|
||||
key <AE11> { [ quotedbl, 0 ] };
|
||||
key <AE12> { [ equal, ampersand ] };
|
||||
key <BKSP> { [ BackSpace ] };
|
||||
key <TAB> { [ Tab, ISO_Left_Tab ] };
|
||||
|
||||
key <AD01> { [ b, B ] };
|
||||
key <AD02> { [ eacute, Eacute ] };
|
||||
key <AD03> { [ p, P ] };
|
||||
key <AD04> { [ o, O ] };
|
||||
key <AD05> { [ r, R ] };
|
||||
key <AD06> { [ dead_circumflex, grave ] };
|
||||
key <AD07> { [ v, V ] };
|
||||
key <AD08> { [ s, S ] };
|
||||
key <AD09> { [ t, T ] };
|
||||
key <AD10> { [ d, D ] };
|
||||
key <AD11> { [ egrave, Egrave ] };
|
||||
key <AD12> { [ ccedilla, Ccedilla ] };
|
||||
|
||||
key <RTRN> { [ Return ] };
|
||||
key <AC01> { [ c, C ] };
|
||||
key <AC02> { [ a, A ] };
|
||||
key <AC03> { [ u, U ] };
|
||||
key <AC04> { [ i, I ] };
|
||||
key <AC05> { [ e, E, EuroSign ] };
|
||||
key <AC06> { [ period, question ] };
|
||||
key <AC07> { [ n, N ] };
|
||||
key <AC08> { [ h, H, Left ] };
|
||||
key <AC09> { [ j, J, Down ] };
|
||||
key <AC10> { [ k, K, Up ] };
|
||||
key <AC11> { [ l, L, Right ] };
|
||||
key <AC12> { [ m, M ] };
|
||||
|
||||
key <LFSH> { [ Shift_L ] };
|
||||
key <LSGT> { [ q, Q ] };
|
||||
key <AB01> { [ w, W ] };
|
||||
key <AB02> { [ agrave, Agrave ] };
|
||||
key <AB03> { [ f, F ] };
|
||||
key <AB04> { [ colon, bar ] };
|
||||
key <AB05> { [ comma, semicolon ] };
|
||||
key <AB06> { [ apostrophe, exclam ] };
|
||||
key <AB07> { [ x, X ] };
|
||||
key <AB08> { [ g, G ] };
|
||||
key <AB09> { [ z, Z ] };
|
||||
key <AB10> { [ y, Y ] };
|
||||
|
||||
key <DELE> { [ Up ] };
|
||||
key <DOWN> { [ Left ] };
|
||||
key <RGHT> { [ Down ] };
|
||||
key <INS> { [ Right ] };
|
||||
|
||||
key <LCTL> { [ Control_L ] };
|
||||
key <LALT> { [ Alt_L ] };
|
||||
key <SPCE> { [ space, underscore, nobreakspace, U202F ] };
|
||||
key <RALT> { [ ISO_Level3_Shift ] };
|
||||
|
||||
key <FK02> { [ F1, F1 ] };
|
||||
key <FK03> { [ F2, F2 ] };
|
||||
key <FK04> { [ F3, F3 ] };
|
||||
key <FK05> { [ F4, F4 ] };
|
||||
key <FK06> { [ F5, F5 ] };
|
||||
key <FK07> { [ F6, F6 ] };
|
||||
key <FK08> { [ F7, F7 ] };
|
||||
key <FK09> { [ F8, F8 ]};
|
||||
key <FK10> { [ F9, F9 ] };
|
||||
key <FK11> { [ F10, F10 ] };
|
||||
key <FK12> { [ F11, F11 ] };
|
||||
};
|
||||
'';
|
||||
};
|
||||
|
||||
services.xserver.xkb.layout = "bepovim";
|
||||
services.xserver.xkb.variant = "basic";
|
||||
services.xserver.xkb.options = "lv3:ralt_switch";
|
||||
console.useXkbConfig = true;
|
||||
}
|
||||
|
||||
|
|
@ -1,15 +1,137 @@
|
|||
{ config, pkgs, ... }:
|
||||
{ config, pkgs, lib, desktop, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./raid.nix
|
||||
./bepovim.nix
|
||||
../../wm/bspwm.nix
|
||||
];
|
||||
nix.settings.experimental-features = ["nix-command" "flakes" ];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = [ "amdgpu" "kvm-amd" ];
|
||||
boot.extraModulePackages = [];
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
boot.kernelParams = [
|
||||
"mem_sleep_default=deep"
|
||||
"amdgpu.si_support=0"
|
||||
"amdgpu.cik_support=0"
|
||||
"radeon.si_support=0"
|
||||
"radeon.cik_support=0"
|
||||
];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/b4e3577b-17ab-4a89-9aeb-4e223be4c75b"; # à adapter si tu as un autre label/disque
|
||||
fsType = "ext4"; # ou btrfs, xfs, ce que t'as utilisé
|
||||
};
|
||||
swapDevices = [] ;
|
||||
|
||||
boot.plymouth.enable = true ;
|
||||
boot.loader.timeout = 5;
|
||||
boot.loader.systemd-boot.enable = true ;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.loader.efi.efiSysMountPoint = "/boot";
|
||||
|
||||
boot.tmp.cleanOnBoot = true ;
|
||||
systemd.coredump.enable = false ;
|
||||
services.journald.extraConfig = ''
|
||||
SystemMaxUse=200M
|
||||
RuntimeMaxUse=100M
|
||||
'';
|
||||
|
||||
hardware.firmware = with pkgs ; [ linux-firmware ];
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
hardware.graphics = {
|
||||
enable = true ;
|
||||
extraPackages = with pkgs ; [
|
||||
mesa libva libva-utils libvdpau libva-vdpau-driver vaapiVdpau libvdpau-va-gl amdvlk vulkan-tools vulkan-loader vulkan-validation-layers
|
||||
];
|
||||
enable32Bit = true ;
|
||||
};
|
||||
environment.variables = {
|
||||
LIBVA_DRIVER_NAME = "radeonsi";
|
||||
VDPAU_DRIVER = "va_gl";
|
||||
};
|
||||
|
||||
hardware.bluetooth.enable = true ;
|
||||
environment.etc."pam.d/i3lock".text = ''
|
||||
auth include login
|
||||
account include login
|
||||
password include login
|
||||
session include login
|
||||
'';
|
||||
services.blueman.enable = true ;
|
||||
|
||||
services.xserver.enable = true ;
|
||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||
services.logind.extraConfig = ''
|
||||
IdleAction=suspend
|
||||
IdleActionSec=5min
|
||||
HandleLidSwitch=suspend
|
||||
HandleLidSwitchDocked=ignore
|
||||
'';
|
||||
|
||||
networking.hostName = "pennsardin";
|
||||
time.timeZone = "Europe/Paris";
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "fr_FR.UTF-8";
|
||||
|
||||
users.users.toto = {
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "fr_FR.UTF-8";
|
||||
LC_IDENTIFICATION = "fr_FR.UTF-8";
|
||||
LC_MEASUREMENT = "fr_FR.UTF-8";
|
||||
LC_MONETARY = "fr_FR.UTF-8";
|
||||
LC_NAME = "fr_FR.UTF-8";
|
||||
LC_NUMERIC = "fr_FR.UTF-8";
|
||||
LC_PAPER = "fr_FR.UTF-8";
|
||||
LC_TELEPHONE = "fr_FR.UTF-8";
|
||||
LC_TIME = "fr_FR.UTF-8";
|
||||
};
|
||||
|
||||
services.printing.enable = true ;
|
||||
# Enable sound with pipewire.
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
|
||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||
# no need to redefine it in your config for now)
|
||||
#media-session.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# i3lock
|
||||
btrfs-progs
|
||||
evtest
|
||||
gdu
|
||||
git
|
||||
glances
|
||||
lm_sensors
|
||||
neovim
|
||||
snapper
|
||||
tmux
|
||||
xorg.xev
|
||||
xorg.xkbcomp
|
||||
];
|
||||
|
||||
programs.steam.enable = true ;
|
||||
hardware.xpadneo.enable = true ;
|
||||
programs.zsh.enable = true;
|
||||
users.users.lomig = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
extraGroups = [ "networkmanager" "lp" "wheel" ];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
services.xserver.enable = true;
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
allowUnsupportedSystem = true ;
|
||||
};
|
||||
system.stateVersion = "25.05"; # pour éviter les hurlements inutiles
|
||||
}
|
||||
|
||||
|
|
|
|||
54
hosts/pennsardin/raid.nix
Normal file
54
hosts/pennsardin/raid.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
# modules/alerts/sms.nix
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
user = "21782061"; # Ton identifiant Free
|
||||
pass = "PEmCOQLKMEdMW9"; # Ta clé
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [ curl ];
|
||||
environment.etc."mdadm-raid-wrapper.sh".text = ''
|
||||
systemctl start raid-alert-sms.service
|
||||
'';
|
||||
|
||||
boot.swraid = {
|
||||
enable = true ;
|
||||
mdadmConf = ''
|
||||
MAILADDR guillaume.lame@protonmail.com
|
||||
PROGRAM /etc/mdadm-raid-wrapper.sh
|
||||
ARRAY /dev/md/raid-home UUID=cad7faf8:93cab941:ba745379:becc1918
|
||||
'';
|
||||
};
|
||||
|
||||
fileSystems."/mnt/raid" = {
|
||||
device = "/dev/md/raid-home" ;
|
||||
fsType = "btrfs" ;
|
||||
options = ["compress=zstd" "noatime" "nofail" "x-systemd.device-timeout=5"];
|
||||
};
|
||||
|
||||
# systemd.services.raid-alert-sms = {
|
||||
# description = "Envoie un SMS si RAID pète";
|
||||
# wantedBy = [ "multi-user.target" ];
|
||||
# serviceConfig = {
|
||||
# Type = "oneshot";
|
||||
# ExecStart = ''
|
||||
# ${pkgs.curl}/bin/curl -s \
|
||||
# "https://smsapi.free-mobile.fr/sendmsg?user=${user}&pass=${pass}&msg=TON+RAID+EST+MORT+FUIS"
|
||||
# '';
|
||||
# };
|
||||
# };
|
||||
|
||||
# systemd.services.mdadm-monitor = {
|
||||
# description = "RAID monitoring";
|
||||
# wantedBy = [ "multi-user.target" ];
|
||||
# after = [ "network.target" ];
|
||||
# serviceConfig = {
|
||||
# ExecStart = "${pkgs.mdadm}/bin/mdadm --monitor --scan --daemonize --program=/etc/mdadm-raid-wrapper.sh";
|
||||
# Restart = "always";
|
||||
# RestartSec = "5s";
|
||||
# Type = "forking";
|
||||
# };
|
||||
# };
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue