{ 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; loader = { # Hide the OS choice for bootloaders. # It's still possible to open the bootloader list by pressing any key # It will just not appear on screen unless a key is pressed timeout = 0; efi = { canTouchEfiVariables = true; efiSysMountPoint = "/boot"; }; grub = { enable = true; device = "nodev"; useOSProber = true; efiSupport = true; }; systemd-boot = { enable = false; configurationLimit = 5; }; }; plymouth = { enable = true; theme = "rings"; themePackages = with pkgs; [ # By default we would install all themes (adi1090x-plymouth-themes.override { selected_themes = [ "rings" ]; }) ]; }; # Enable "Silent boot" consoleLogLevel = 3; initrd.verbose = false; kernelParams = [ "quiet" "udev.log_level=3" "systemd.show_status=auto" ]; }; 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.stateVersion = "25.11"; }