# Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). { config, pkgs, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ./services.nix ./scanner.nix ./packages.nix ]; # Use the systemd-boot EFI boot loader. boot.loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; hardware.logitech.wireless.enable = true; hardware.logitech.wireless.enableGraphical = true; services.printing.enable = true; services.printing.drivers = [ pkgs.brlaser ]; # Video acceleration nixpkgs.config.packageOverrides = pkgs: { vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; }; hardware.opengl = { enable = true; extraPackages = with pkgs; [ intel-media-driver # LIBVA_DRIVER_NAME=iHD vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) vaapiVdpau libvdpau-va-gl ]; }; # hardware.opengl.extraPackages; # Enable Bluetooth hardware.bluetooth.enable = true; hardware.bluetooth.settings = { General = { Enable = "Source,Sink,Media,Socket"; }; }; services.blueman.enable = true; hardware.pulseaudio.enable = true; hardware.pulseaudio.extraConfig = " load-module module-switch-on-connect "; # Enable sane and brscan4 for DSP-7055 hardware = { sane = { enable = true; brscan4 = { enable = true; }; }; }; security = { apparmor.enable = true; pam = { u2f = { enable = true; control = "requisite"; }; services = { login.u2fAuth = true; lightdm.u2fAuth = true; }; }; }; networking.hostName = "Alexos"; # Define your hostname. # Set your time zone. time.timeZone = "Europe/Paris"; networking = { dhcpcd.enable = true; networkmanager = { enable = true; unmanaged = [ "interface-name:ve-*" ]; }; firewall.enable = true; firewall.allowedTCPPorts = [ 24800 ]; }; i18n.defaultLocale = "fr_FR.UTF-8"; console = { font = "Lat2-Terminus16"; keyMap = "fr"; }; fonts = { fontDir.enable = true; enableGhostscriptFonts = true; fonts = with pkgs; [ corefonts vistafonts inconsolata terminus_font proggyfonts dejavu_fonts font-awesome-ttf font-awesome nerdfonts source-code-pro source-sans-pro source-serif-pro ]; }; # run garbage collector at 19h00 everyday # and remove stuff older than 60 days nix.gc.automatic = true; nix.gc.dates = "19:00"; nix.gc.persistent = true; nix.gc.options = "--delete-older-than 60d"; # clean /tmp at boot boot.cleanTmpDir = true; system.stateVersion = "21.05"; # Did you read the comment? users = { users.ntp.group = "ntp"; groups.ntp = {}; defaultUserShell = "/run/current-system/sw/bin/fish"; extraUsers.alexandre = { isNormalUser = true; home = "/home/alexandre"; description = "alexandre"; extraGroups = [ "wheel" "networkmanager" "docker" "libvirtd" "vboxusers" "scanner" "lp" ]; hashedPassword = "$6$7m77oPQxa$W9YnRLo1X2eqztBHwpoH8diHGkBno5O39AMyL9Qm8y8I6uW63H2Nwx4p239OG5zhOxA8J1lZvHTQ3hKPSP9mT/"; }; }; }