{ config, pkgs, ... }: { imports = [ ./network.nix ./sound.nix ]; # Set your time zone. time.timeZone = "America/New_York"; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_US.UTF-8"; LC_IDENTIFICATION = "en_US.UTF-8"; LC_MEASUREMENT = "en_US.UTF-8"; LC_MONETARY = "en_US.UTF-8"; LC_NAME = "en_US.UTF-8"; LC_NUMERIC = "en_US.UTF-8"; LC_PAPER = "en_US.UTF-8"; LC_TELEPHONE = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8"; }; # Add support for logitech unifying receivers. hardware.logitech.wireless.enable = true; hardware.logitech.wireless.enableGraphical = true; # Add support for configuring QMK keyboards with Via. hardware.keyboard.qmk.enable = true; # Allow unfree packages nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ eza ]; system.autoUpgrade = { enable = true; allowReboot = true; flake = "github:alyraffauf/nixcfg"; dates = "daily"; operation = "boot"; rebootWindow = { lower = "01:00"; upper = "05:00"; } }; # Delete generations older than 7 days. nix.gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 7d"; }; # Automatically optimize the Nix store in the background. nix.settings.auto-optimise-store = true; # Run GC when there is less than 100MiB left. nix.extraOptions = '' min-free = ${toString (100 * 1024 * 1024)} max-free = ${toString (1024 * 1024 * 1024)} ''; nix.settings.experimental-features = [ "nix-command" "flakes" ]; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; }