summaryrefslogtreecommitdiff
path: root/configuration.nix
diff options
context:
space:
mode:
authorNatasha Moongrave <natasha@256phi.eu>2026-01-28 21:29:47 +0100
committerNatasha Moongrave <natasha@256phi.eu>2026-01-28 21:29:47 +0100
commit67cf7eb1b5d0cf86faab9e67ed8bd060ed2267b6 (patch)
tree1218d481350e761b34596b9b5e4ca0f21af419a1 /configuration.nix
base
Diffstat (limited to 'configuration.nix')
-rw-r--r--configuration.nix166
1 files changed, 166 insertions, 0 deletions
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";
+
+}
+
+