121 lines
3.3 KiB
Nix
121 lines
3.3 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
# 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;
|
|
|
|
# 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.gnome-keyring}/lib/security/pam_gnome_keyring.so
|
|
|
|
account include login
|
|
|
|
password required pam_deny.so
|
|
|
|
session include login
|
|
session optional ${pkgs.gnome.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;
|
|
|
|
# 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;
|
|
|
|
# Sound
|
|
sound.enable = false;
|
|
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 ];
|
|
};
|
|
}
|