# 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 ./packages.nix ../modules/prometheus-node.nix ]; # Use the systemd-boot EFI boot loader. boot.loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; programs = { zsh.enable = true; fish.enable = true; ssh = { setXAuthLocation = true; forwardX11 = true; }; }; # hardware hardware = { logitech = { wireless.enable = true; wireless.enableGraphical = true; }; pulseaudio = { enable = true; extraConfig = " load-module module-switch-on-connect "; }; sane = { enable = true; brscan4 = { enable = true; }; dsseries = { enable = true; }; }; bluetooth = { enable = true; settings = { General = { Enable = "Source,Sink,Media,Socket"; }; }; }; 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 ]; }; }; # Video acceleration nixpkgs.config.packageOverrides = pkgs: { vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = 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 powerline-fonts inconsolata terminus_font proggyfonts dejavu_fonts font-awesome nerdfonts source-code-pro source-sans-pro source-serif-pro iosevka ]; }; # 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; nixpkgs.config = { allowUnfree = true; }; system.stateVersion = "21.05"; # Did you read the comment? environment.variables = { EDITOR = "vim"; BROWSER = "firefox"; LESS = "--quit-if-one-screen --RAW-CONTROL-CHARS"; TERMINAL = "xfce4-terminal"; PRIVATE_BROWSER = "firefox -private"; DEFAULT-WEB-BROWSER = "firefox"; }; 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" "plocate" ]; hashedPassword = "$6$7m77oPQxa$W9YnRLo1X2eqztBHwpoH8diHGkBno5O39AMyL9Qm8y8I6uW63H2Nwx4p239OG5zhOxA8J1lZvHTQ3hKPSP9mT/"; }; }; }