diff options
Diffstat (limited to 'configuration.nix')
| -rwxr-xr-x | configuration.nix | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/configuration.nix b/configuration.nix new file mode 100755 index 0000000..ba91d63 --- /dev/null +++ b/configuration.nix @@ -0,0 +1,211 @@ +{ 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; + initrd = { + kernelModules = [ "i915" ]; + systemd.enable = true; + }; + loader = { + efi = { + canTouchEfiVariables = true; + efiSysMountPoint = "/boot"; + }; + grub = { + enable = true; + device = "nodev"; + useOSProber = true; + efiSupport = true; + }; + systemd-boot = { + enable = false; + consoleMode = "keep"; + configurationLimit = 5; + }; + }; + plymouth = { + enable = false; + theme = "deus_ex"; + themePackages = with pkgs; [ + # By default we would install all themes + (adi1090x-plymouth-themes.override { + selected_themes = [ "deus_ex" ]; + }) + ]; + logo = pkgs.fetchurl { + url = "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fcdn.icon-icons.com%2Ficons2%2F2699%2FPNG%2F512%2Fnixos_logo_icon_170910.png&f=1&nofb=1&ipt=71345d68f1fc864748db54e81111d5853a24fba1d39bdee7cc6fda3e58181bc0"; + sha256 = "sha256-fr1ZnKdX9EeXl2eTIrxEd17DkVKZL8BV9RGmluSgFfk="; + }; + extraConfig = '' + DeviceScale=1 + ''; + }; + + # Enable "Silent boot" + #consoleLogLevel = 3; + #initrd.verbose = false; + #kernelParams = [ + # "quiet" + # "splash" + # "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" "nixos" ]; + 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"; + +} + + |
