# This is your system's configuration file. # Use this to configure your system environment (it replaces /etc/nixos/configuration.nix) {inputs, outputs, lib, config, pkgs, ...}: { # You can import other NixOS modules here imports = [ ./modules/networking.nix ./modules/gpg.nix ]; nixpkgs = { # You can add overlays here overlays = [ # Add overlays your own flake exports (from overlays and pkgs dir): outputs.overlays.additions outputs.overlays.selfsuper outputs.overlays.finalprev outputs.overlays.unstable-packages inputs.nix-minecraft.overlay ]; # Configure your nixpkgs instance config = { allowUnfree = true; }; }; # Enable flakes and garbage collection nix = { settings = { # Enable flakes and new 'nix' command experimental-features = "nix-command flakes"; # Deduplicate and optimize nix store auto-optimise-store = true; }; gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 1w"; }; }; # Set timezone time.timeZone = outputs.secrets.timeZone; # Select a terminal font console = { earlySetup = true; font = "${pkgs.terminus_font}/share/consolefonts/ter-u22n.psf.gz"; packages = with pkgs; [ terminus_font ]; keyMap = "us"; }; # Enable git programs.git = { enable = true; lfs.enable = true; }; # Basic firewall settings networking.nftables.enable = true; # Enable the ZSH shell programs.zsh.enable = true; # Disable Nano programs.nano.enable = false; # Disable the HTML documentation link documentation = { nixos.enable = false; info.enable = false; }; # Allow binary firmware hardware.enableRedistributableFirmware = true; }