{ config, pkgs, inputs, ... }: { imports = [ ./hardware-configuration.nix ]; nixpkgs.config.allowUnfree = true; system.autoUpgrade.enable = true; time.timeZone = "America/New_York"; security.rtkit.enable = true; powerManagement.enable = true; virtualisation.waydroid.enable = true; nix = { settings.experimental-features = [ "nix-command" "flakes" ]; gc.automatic = true; }; 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; }; fwupd.enable = true; printing.enable = true; fprintd.enable = true; thermald.enable = true; }; stylix = { enable = true; polarity = "light"; image = ./wallpaper.png; base16Scheme = "${pkgs.base16-schemes}/share/themes/brushtrees.yaml"; opacity = { terminal = .85; popups = .75; }; cursor = { package = pkgs.adwaita-icon-theme; name = "Adwaita"; size = 28; }; }; hardware = { sensor.iio.enable = true; pulseaudio.enable = false; graphics.enable32Bit = true; }; 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; }; 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 microcodeIntel 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? }