{ pkgs, lib, ... }: { # OS Configuration boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.configurationLimit = 10; boot.loader.efi.canTouchEfiVariables = true; boot.plymouth.enable = true; boot.kernelParams = [ "quiet" ]; boot.supportedFilesystems = [ "ntfs" ]; zramSwap.enable = true; # Reboot Timeout systemd.extraConfig = '' DefaultTimeoutStopSec=10s ''; # Firmware services.fwupd.enable = true; services.fprintd.enable = true; security.pam.services.login.fprintAuth = false; security.pam.services.gdm-fingerprint.text = '' auth required pam_shells.so auth requisite pam_nologin.so auth requisite pam_faillock.so preauth auth required ${pkgs.fprintd}/lib/security/pam_fprintd.so auth optional pam_permit.so auth required pam_env.so auth [success=ok default=1] ${pkgs.gnome.gdm}/lib/security/pam_gdm.so auth optional ${pkgs.gnome-keyring}/lib/security/pam_gnome_keyring.so account include login password required pam_deny.so session include login session optional ${pkgs.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start ''; # Time time.timeZone = "Europe/Paris"; # Keyboard & Touchpad i18n.defaultLocale = "fr_FR.UTF-8"; console = { font = "Lat2-Terminus16"; #keyMap = "fr"; useXkbConfig = true; }; services.xserver.xkb.layout = "fr"; services.xserver.xkb.variant = "oss"; services.libinput.enable = true; # Printing services.printing.enable = true; services.avahi.enable = true; services.avahi.nssmdns4 = true; services.avahi.openFirewall = true; # Shell programs.fish.enable = true; programs.fish.promptInit = '' any-nix-shell fish --info-right | source ''; environment.shells = with pkgs; [ fish ]; # Environment Variables environment.sessionVariables = { EDITOR = "hx"; }; # Graphics services.xserver.enable = true; programs.xwayland.enable = true; environment.sessionVariables.NIXOS_OZONE_WL = "1"; # GNOME services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; environment.gnome.excludePackages = [ pkgs.evince ]; # KDE # services.desktopManager.plasma6.enable = true; # programs.ssh.askPassword = lib.mkForce "${pkgs.gnome.seahorse}/libexec/seahorse/ssh-askpass"; programs.dconf.enable = true; services.flatpak.enable = true; services.joycond.enable = true; programs.joycond-cemuhook.enable = true; # Firefox config programs.firefox = { enable = true; package = (pkgs.wrapFirefox (pkgs.firefox-beta-unwrapped.override { pipewireSupport = true;}) {}); # Doesn't work ? # languagePacks = [ "fr" "en-US" ]; }; xdg.portal.enable = true; # Sound hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; #jack.enable = true; }; # Documentation documentation.enable = true; documentation.man.enable = true; documentation.dev.enable = true; # Fails for some reason documentation.nixos.enable = false; # Virtualisation virtualisation.libvirtd.enable = true; # Containers virtualisation.containers.enable = true; virtualisation.podman = { enable = true; dockerCompat = true; defaultNetwork.settings.dns_enabled = true; extraPackages = [ pkgs.zfs ]; }; }