Compare commits

..

No commits in common. "9cfccf44e1b7f461f65c7d05fda1c8c0d4a12428" and "ff41ad8ebadfd09436d8d2bbf009ba5b35a6bcec" have entirely different histories.

5 changed files with 62 additions and 263 deletions

View File

@ -20,19 +20,6 @@
./systems/LoutreOS/configuration.nix
];
};
nixosConfigurations.paul-fixe = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
modules = [
({ pkgs, ... }: {
nix.nixPath = [
"nixpkgs=${nixpkgs}"
];
})
nixpkgs.nixosModules.notDetected
./systems/PC-Fixe/configuration.nix
];
};
};
}

View File

@ -17,42 +17,25 @@
efiSupport = true;
device = "nodev";
zfsSupport = true;
gfxmodeEfi = "1920x1080,auto";
memtest86.enable = true;
fontSize = 32;
};
boot.kernelParams = [
"acpi_enforce_resources=lax"
"zfs.zfs_arc_max=2147483648"
];
boot.tmpOnTmpfs = false;
boot.kernelParams = ["acpi_enforce_resources=lax"];
boot.tmpOnTmpfs = true;
boot.supportedFilesystems = [ "zfs" ];
virtualisation.virtualbox.host.enable = true;
# virtualisation.virtualbox.host.enableExtensionPack = true;
# virtualisation.anbox.enable = true;
virtualisation.podman.enable = true;
virtualisation.anbox.enable = true;
services.zfs = {
trim = {
enable = true;
interval = "monthly";
};
autoScrub = {
enable = true;
interval = "monthly";
};
trim.enable = true;
autoSnapshot = {
enable = true;
monthly = 6;
};
autoReplication = {
enable = true;
host = "nyanlout.re";
username = "zfspaulfixe";
identityFilePath = "/var/lib/zfs-replication/id_rsa";
localFilesystem = "fastaf/home";
remoteFilesystem = "loutrepool/zfs-replicate/paul-fixe";
};
autoScrub.enable = true;
};
hardware.bluetooth.enable = true;
@ -60,21 +43,6 @@
# Logitech G920
hardware.usbWwan.enable = true;
# hardware.pulseaudio.extraConfig = ''
# load-module module-null-sink sink_name=mic_denoised_out rate=48000
# load-module module-ladspa-sink sink_name=mic_raw_in sink_master=mic_denoised_out label=noise_suppressor_mono plugin=${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so control=50
# load-module module-loopback source=alsa_input.pci-0000_09_00.4.analog-stereo sink=mic_raw_in channels=1 source_dont_move=true sink_dont_move=true
# load-module module-echo-cancel source_name=hd_mic source_master=mic_denoised_out.monitor sink_master=alsa_output.pci-0000_09_00.4.analog-stereo
# set-default-source hd_mic
# '';
# hardware.pulseaudio.configFile = pkgs.runCommand "default.pa" {} ''
# sed '/module-switch-on-port-available$/d' \
# ${pkgs.pulseaudio}/etc/pulse/default.pa > $out
# '';
services.udev.packages = with pkgs; [
usb-modeswitch-data # Logitech G920
];
@ -88,10 +56,6 @@
networking.hostName = "paul-fixe";
networking.hostId = "3a1f739e";
networking.hosts = {
"10.30.0.1" = ["emby.nyanlout.re" "nyanlout.re"];
};
environment.systemPackages = with pkgs; [
usb_modeswitch
];
@ -116,165 +80,26 @@
];
};
services.syncthing.enable = true;
services.syncthing.user = "paul";
services.syncthing.group = "users";
services.netdata.enable = true;
services.openssh.enable = true;
services.openssh.passwordAuthentication = false;
services.openssh.forwardX11 = true;
# security.pki.certificates = [
# ''
# -----BEGIN CERTIFICATE-----
# MIIDoTCCAomgAwIBAgIGDorvJrq1MA0GCSqGSIb3DQEBCwUAMCgxEjAQBgNVBAMM
# CW1pdG1wcm94eTESMBAGA1UECgwJbWl0bXByb3h5MB4XDTIwMDgzMDE5MjA1NloX
# DTIzMDkwMTE5MjA1NlowKDESMBAGA1UEAwwJbWl0bXByb3h5MRIwEAYDVQQKDAlt
# aXRtcHJveHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsUHB2if9A
# L5ytR9VrZncwDdx3J6ZdA2+wZQe9EjtX5ax1r55bbQBoJmN2HqZCSA3vdvMzr42W
# Jx0ksNhNocEGvER2dTUIqkUKeeYQIRCc5CD9T5IpUVVKm3aeJo+FATmuzg4m23MZ
# a9Up4nCdUJwufSqzv0ZWvEHERWtRXPYRZ2t+vKqnCS+dOQ3NsGWvC+12i7kNMKyy
# 0ylFBY/BZfaH/kMVzUijAnNQPWpW3T/Wqpx7z+IXZ+ccCQ1U1N26FXhSMa/+DenW
# fo27QVNOu5cIIpAYmTl6+Oek0XLSH8oFLdjeVtBJuHFA1iAfmqPv4yJDKbSgg/d8
# Jb46BE2ZyW6RAgMBAAGjgdAwgc0wDwYDVR0TAQH/BAUwAwEB/zARBglghkgBhvhC
# AQEEBAMCAgQweAYDVR0lBHEwbwYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcD
# BAYIKwYBBQUHAwgGCisGAQQBgjcCARUGCisGAQQBgjcCARYGCisGAQQBgjcKAwEG
# CisGAQQBgjcKAwMGCisGAQQBgjcKAwQGCWCGSAGG+EIEATAOBgNVHQ8BAf8EBAMC
# AQYwHQYDVR0OBBYEFEiFqrQtFmTV66rlQ9SCqp7ohrtsMA0GCSqGSIb3DQEBCwUA
# A4IBAQBfH5xpxt4mCdnjiISaMeEcKuur2kfVbQEKNceDeKLZJfcwEkMtAr0LeyMV
# 1hkExtvyU0JPmgyzU7Le4UHEB8pwyyD3kYx7vBtxjVSXAbK1YKgDllPmXtlJGmA/
# SMuxnwkUXwMeZBxmu8LR1SOQiMX+aZvYbQIjigduXOC/ZSHYtJbh+RmrvHFEBu7L
# zZx8DzJKOmlfo9gohNIW1ucRM6B4B5yy5plqurGlkFPHlRqGoWkJPI4oB+cobzMh
# QidzHgk4Set3bqIuYAsqtHGxdTtnGooagQBUWt0CxmGdmonofzinsAAasKprcBl6
# QaNGz7o/LfHprXvCM1mHjbVVbZN2
# -----END CERTIFICATE-----
# ''
# ];
# services.wakeonlan.interfaces = [ { interface = "eno1"; method = "magicpacket"; } ];
services.nginx = {
enable = true;
recommendedGzipSettings = true;
recommendedOptimisation = true;
package = pkgs.nginx.override {
modules = with pkgs.nginxModules; [ rtmp ];
};
virtualHosts."stream.nyanlout.re" = {
locations."/" = {
root = "/var/www/hls/";
extraConfig = ''
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
'';
};
default = true;
};
appendConfig = let
rootLocation = config.services.nginx.virtualHosts."stream.nyanlout.re".locations."/".root;
in ''
rtmp {
server {
listen 1935;
application live {
live on;
interleave on;
exec_push ${pkgs.ffmpeg}/bin/ffmpeg -i rtmp://localhost/$app/$name -async 1 -vsync -1
-c:v libx264 -c:a aac -b:v 256k -b:a 96k -vf "scale=480:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -f flv rtmp://localhost/show/$name_low
-c:v libx264 -c:a aac -b:v 768k -b:a 96k -vf "scale=720:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -f flv rtmp://localhost/show/$name_mid
-c:v libx264 -c:a aac -b:v 1024k -b:a 128k -vf "scale=960:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -f flv rtmp://localhost/show/$name_high
-c:v libx264 -c:a aac -b:v 1920k -b:a 128k -vf "scale=1280:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -f flv rtmp://localhost/show/$name_hd720
-c copy -f flv rtmp://localhost/show/$name_src 2>>${rootLocation}/ffmpeg-$name.log;
}
application show {
live on;
hls on;
hls_path ${rootLocation};
hls_fragment 5;
hls_playlist_length 10;
hls_nested on;
hls_variant _low BANDWIDTH=352000; # Low bitrate, sub-SD resolution
hls_variant _mid BANDWIDTH=448000; # Medium bitrate, SD resolution
hls_variant _high BANDWIDTH=1152000; # High bitrate, higher-than-SD resolution
hls_variant _hd720 BANDWIDTH=2048000; # High bitrate, HD 720p resolution
hls_variant _src BANDWIDTH=8192000; # Source bitrate, source resolution
}
}
}
'';
};
services.xserver.deviceSection = ''
Option "metamodes" "DP-0: 3440x1440_144 +0+0 {AllowGSYNCCompatible=On}"
'';
systemd = let
DP0Config = "--mode 3440x1440 --rate 144";
DP2Config = "--auto --left-of DP-0";
HDMIConfig = "--auto --left-of DP-0";
in {
services = {
wol = {
description = "Wake-on-LAN";
wantedBy = [ "multi-user.target" ];
requires = [ "network.target" ];
after = [ "network.target" ];
script = ''
${pkgs.ethtool}/sbin/ethtool -s eno1 wol g
'';
serviceConfig.Type = "oneshot";
};
nginx.serviceConfig.ReadWritePaths = "/var/www/hls";
zfs-replication.serviceConfig.StateDirectory = "zfs-replication";
};
user.services = {
"enableTV" = {
description = "Enable TV output";
script = ''
${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --mode 3440x1440 --rate 144 --primary
/run/current-system/sw/bin/nvidia-settings --assign CurrentMetaMode="DP-0: 3440x1440_144 { AllowGSYNCCompatible=On }"
${pkgs.xorg.xrandr}/bin/xrandr --output HDMI-0 ${HDMIConfig}
'';
conflicts = ["CSMode.service"];
serviceConfig.Type = "oneshot";
};
"primaryTV" = {
description = "Set TV output as primary";
script = ''
${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --mode 3440x1440 --rate 144
/run/current-system/sw/bin/nvidia-settings --assign CurrentMetaMode="DP-0: 3440x1440_144 { AllowGSYNCCompatible=On }"
${pkgs.xorg.xrandr}/bin/xrandr --output HDMI-0 --primary ${HDMIConfig}
'';
conflicts = ["CSMode.service"];
serviceConfig.Type = "oneshot";
};
"FreeSyncMode" = {
description = "Enable FreeSync screen only";
script = ''
${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --mode 3440x1440 --rate 144
/run/current-system/sw/bin/nvidia-settings --assign CurrentMetaMode="DP-0: 3440x1440_144 { AllowGSYNCCompatible=On }"
${pkgs.xorg.xrandr}/bin/xrandr --output HDMI-0 --off
'';
conflicts = ["CSMode.service"];
serviceConfig.Type = "oneshot";
};
"CSMode" = {
description = "Enable 4:3 black bars";
script = ''
${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --mode 3440x1440 --rate 144 --primary
/run/current-system/sw/bin/nvidia-settings --assign CurrentMetaMode="DP-0: 3440x1440_144 { ViewPortIn=3440x1440, ViewPortOut=1920x1440+760+0, AllowGSYNCCompatible=On }"
${pkgs.xorg.xrandr}/bin/xrandr --output HDMI-0 --off
'';
preStop = ''
/run/current-system/sw/bin/nvidia-settings --assign CurrentMetaMode="DP-0: 3440x1440_144 { ViewPortIn=3440x1440, ViewPortOut=3440x1440+0+0, AllowGSYNCCompatible=On }"
'';
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
};
systemd.services = {
"wol" = {
description = "Wake-on-LAN";
wantedBy = [ "multi-user.target" ];
requires = [ "network.target" ];
after = [ "network.target" ];
script = ''
${pkgs.ethtool}/sbin/ethtool -s eno1 wol g
'';
serviceConfig.Type = "oneshot";
};
};

View File

@ -21,31 +21,46 @@
fsType = "zfs";
};
fileSystems."/home" =
{ device = "rpool/home";
fsType = "zfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/F4EC-57DF";
fsType = "vfat";
};
fileSystems."/home" =
{ device = "fastaf/home";
fsType = "zfs";
};
fileSystems."/mnt/steam" =
{ device = "fastaf/steam";
fsType = "zfs";
};
fileSystems."/mnt/games" =
{ device = "fastaf/games";
fsType = "zfs";
};
fileSystems."/mnt/hdd" =
{ device = "/dev/mapper/ManjaroVG-ManjaroRoot";
fsType = "ext4";
};
fileSystems."/home/paul/Documents" =
{ device = "/mnt/hdd/paul/Documents";
options = [ "bind" ];
};
fileSystems."/home/paul/Téléchargements" =
{ device = "/mnt/hdd/paul/Téléchargements";
options = [ "bind" ];
};
fileSystems."/home/paul/Musique" =
{ device = "/mnt/hdd/paul/Musique";
options = [ "bind" ];
};
fileSystems."/home/paul/Images" =
{ device = "/mnt/hdd/paul/Images";
options = [ "bind" ];
};
fileSystems."/home/paul/Vidéos" =
{ device = "/mnt/hdd/paul/Vidéos";
options = [ "bind" ];
};
fileSystems."/mnt/medias" =
{ device = "10.30.0.1:/mnt/medias";
fsType = "nfs";
@ -55,5 +70,5 @@
swapDevices = [ ];
nix.maxJobs = lib.mkDefault 12;
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
}

View File

@ -11,11 +11,9 @@
vimAlias = true;
configure = {
customRC = ''
set tabstop=8
set shiftwidth=4
set softtabstop=0
set shiftwidth=2
set softtabstop=2
set expandtab
set smarttab
set background=dark
'';
packages.myVimPackage = with pkgs.vimPlugins; {
@ -29,7 +27,7 @@
})
# Gestionnaires de version
gitMinimal
gitFull
tig
gitAndTools.hub
quilt
@ -62,14 +60,13 @@
starship
# Audio
# beets
beets
# Outils
borgbackup
binutils
bat
molly-guard
nix-template
lz4
# Développement

View File

@ -17,7 +17,6 @@
minecraft
multimc
lutris
teamspeak_client
betaflight-configurator
@ -51,7 +50,6 @@
gwenview
kcalc
spectacle
kinfocenter
kile
(texlive.combine {
inherit (texlive) scheme-small titling collection-langfrench cm-super;
@ -59,7 +57,7 @@
gnome-breeze
libreoffice-fresh
libreoffice
gimp
inkscape
@ -67,15 +65,12 @@
obs-studio
vlc
mpv
# jftui
# calibre
jellyfin-mpv-shim
kdenlive
jftui
calibre
glxinfo
i7z
appimage-run
pavucontrol
];
i18n = {
@ -86,21 +81,12 @@
programs.steam.enable = true;
# hardware = {
# pulseaudio.enable = true;
# };
# sound.enable = true;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
hardware = {
pulseaudio.enable = true;
};
sound.enable = true;
networking.networkmanager.enable = true;
systemd.extraConfig = "DefaultLimitNOFILE=1048576";
@ -120,7 +106,6 @@
xserver = {
enable = true;
layout = "fr";
exportConfiguration = true;
displayManager.sddm.enable = true;
desktopManager.plasma5.enable = true;
};
@ -139,16 +124,6 @@
};
environment.etc = {
"mpv/mpv.conf" = {
text = ''
profile=gpu-hq
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
video-sync=display-resample
interpolation
tscale=oversample
'';
};
# CK3 fix
"ssl/certs/f387163d.0".source = "${pkgs.cacert.unbundled}/etc/ssl/certs/Starfield_Class_2_CA.crt";
};