From 67cf7eb1b5d0cf86faab9e67ed8bd060ed2267b6 Mon Sep 17 00:00:00 2001 From: Natasha Moongrave Date: Wed, 28 Jan 2026 21:29:47 +0100 Subject: base --- configuration.nix | 166 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 configuration.nix (limited to 'configuration.nix') diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..29b94aa --- /dev/null +++ b/configuration.nix @@ -0,0 +1,166 @@ +{ config, lib, pkgs, ... }: + + +{ + imports = [ + /etc/nixos/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"; + +} + + -- cgit v1.2.3