{ config, lib, pkgs, ... }: { imports = [ ./hardware-configuration.nix ]; nix.settings = { substituters = [ "https://cache.nixos.org/" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; experimental-features = [ "nix-command" "flakes" ]; }; # === System Settings === boot.kernelPackages = pkgs.linuxPackages_latest; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.loader.systemd-boot.configurationLimit = 5; networking.hostName = "kronos"; networking.networkmanager.enable = true; fileSystems."/boot".options = [ "fmask=0077" "dmask=0077" ]; hardware.bluetooth = { enable = true; powerOnBoot = true; settings = { General = { Experimental = true; Enable = "Source,Sink,Media,Socket"; AutoConnect = true; FastConnectabke = true; }; Policy.AutoEnable = true; }; }; security.pam.sshAgentAuth.enable = true; # In your configuration.nix environment.variables = { JAVA_HOME = "${pkgs.jdk17}/lib/openjdk"; # adjust path based on version }; time.timeZone = "Europe/Prague"; services.xserver = { wacom.enable = true; enable = true; windowManager.i3 = { enable = true; extraPackages = with pkgs; [ polybar i3lock-fancy-rapid ]; }; }; services.displayManager.defaultSession = "none+i3"; services.displayManager.ly = { enable = true; }; services.xserver.xkb.layout = "cz"; services.xserver.xkb.options = "eurosign:e,caps:escape"; services.printing.enable = true; services.pipewire = { enable = true; pulse.enable = true; }; services.libinput.enable = true; users.users = { mun = { isNormalUser = true; extraGroups = [ "wheel" "bluetooth" "networkmanager" "kvm" ]; packages = with pkgs; [ tree ]; shell = pkgs.zsh; }; }; programs.firefox.enable = true; programs.zsh.enable = true; nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ neovim wget stdenv tree-sitter discord kitty xfce.thunar thunderbird flameshot libreoffice spotify tor-browser alsa-utils helvum blueman bluez cava i3status i3lock-fancy-rapid xss-lock polybar rofi feh clipman tree git lazygit killall acpi wirelesstools brightnessctl fastfetch auto-cpufreq btop cargo gnome-boxes clippy xclip texstudio godotPackages_4_5.godot clang tree-sitter ripgrep fd unzip lua-language-server stylua rust-analyzer rustfmt cargo rustc zathura krita ruff vtsls pyright imagemagick ghostscript ruff python314 ly prismlauncher vlc lua53Packages.luarocks mermaid-cli lua nil obsidian wine bottles comic-mono playerctl zscroll espeak qbittorrent perl bzip2 libresprite audacity libgcc celestia lutris vscodium peazip vscode (texlive.combine { inherit (texlive) scheme-full; notestex = texlivePackages.notestex; }) (retroarch.withCores (cores: with cores; [ # --- NES --- # fceumm # --- GBA --- # mgba # --- GB / GBC --- # gambatte sameboy ])) ]; fonts = { enableDefaultPackages = true; packages = with pkgs; [ fira-code noto-fonts noto-fonts-color-emoji blackout beon]; }; programs.steam = { enable = true; remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers }; # enable Java support programs.java = { enable = true; package = pkgs.jdk17; # or pkgs.jdk11, pkgs.jdk8, whatever you need }; services.xserver.videoDrivers = [ "intel" ]; hardware.graphics = { enable = true; extraPackages = with pkgs; [ intel-vaapi-driver # for video acceleration on Intel intel-media-driver intel-compute-runtime mesa ]; }; services.openssh.enable = true; system.copySystemConfiguration = true; system.stateVersion = "25.11"; }