{ config, pkgs, inputs, ... }: { imports = [./hardware-configuration.nix]; nixpkgs.config.allowUnfree = true; system.autoUpgrade.enable = true; time.timeZone = "America/New_York"; powerManagement.enable = true; security = { rtkit.enable = true; polkit.enable = true; pam.services.swaylock = {}; pam.services.hyprlock = {}; }; nix = { gc.automatic = true; settings = { experimental-features = ["nix-command" "flakes"]; substituters = ["http://nix.dhilton.xyz/" "https://cache.nixos.org/"]; trusted-public-keys = ["nix.dhilton.xyz:MOW060dF1A0/UXmPZBue9KMxCO13PHYFwx1X9hcdYZ4="]; }; }; networking = { hostName = "laptop"; networkmanager.enable = true; firewall.enable = true; }; i18n = { defaultLocale = "en_US.UTF-8"; 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"; }; }; services = { xserver = { enable = true; displayManager.gdm.enable = true; desktopManager.gnome.enable = true; }; pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; }; ollama = { enable = true; package = pkgs.ollama-intel; }; fwupd.enable = true; printing.enable = true; fprintd.enable = true; thermald.enable = true; }; stylix = { enable = true; autoEnable = true; polarity = "dark"; image = ./wallpaper.png; base16Scheme = "${pkgs.base16-schemes}/share/themes/everforest.yaml"; opacity = { terminal = 0.85; popups = 0.75; desktop = 0.75; }; cursor = { package = pkgs.adwaita-icon-theme; name = "Adwaita"; size = 28; }; fonts = { serif = { package = pkgs.nerd-fonts.iosevka; name = "Iosevka NF"; }; sansSerif = { package = pkgs.nerd-fonts.iosevka; name = "Iosevka NF"; }; monospace = { package = pkgs.nerd-fonts.iosevka; name = "Iosevka NFM"; }; emoji = { package = pkgs.noto-fonts-emoji; name = "Noto Color Emoji"; }; }; }; hardware = { sensor.iio.enable = true; pulseaudio.enable = false; graphics.enable32Bit = true; graphics.extraPackages = with pkgs; [ intel-vaapi-driver intel-compute-runtime intel-media-sdk intel-media-driver intel-ocl level-zero vpl-gpu-rt microcodeIntel mkl embree ]; }; virtualisation.podman = { enable = true; dockerCompat = true; }; programs = { nix-ld.enable = true; nix-ld.libraries = with pkgs; [glibc glib]; zsh.enable = true; steam.enable = true; steam.gamescopeSession.enable = true; gamemode.enable = true; hyprland.enable = true; }; users.users.k = { isNormalUser = true; description = "k"; extraGroups = ["networkmanager" "wheel"]; packages = with pkgs; [zsh]; shell = pkgs.zsh; }; home-manager = { backupFileExtension = "bk"; users = {"k" = import ./home.nix;}; }; environment = { sessionVariables = {MOZ_USE_XINPUT2 = "1";}; gnome.excludePackages = with pkgs; [ gnome-photos gnome-tour xterm cheese # webcam tool gnome-contacts gnome-clocks gnome-maps geary # email reader evince # document viewer totem # video player tali # poker game iagno # go game hitori # sudoku game atomix # puzzle game ]; systemPackages = with pkgs; [ intel-vaapi-driver intel-compute-runtime intel-media-driver intel-ocl level-zero vpl-gpu-rt microcodeIntel opensycl mkl embree neovim ]; }; boot = { plymouth = {enable = true;}; consoleLogLevel = 0; initrd.verbose = false; kernelParams = [ "quiet" "splash" "boot.shell_on_fail" "loglevel=3" "rd.systemd.show_status=false" "rd.udev.log_level=3" "udev.log_priority=3" ]; loader.timeout = 0; }; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "23.11"; # Did you read the comment? }