aboutsummaryrefslogtreecommitdiff
path: root/configuration.nix
diff options
context:
space:
mode:
authorNatasha Moongrave <natasha@256phi.eu>2026-02-01 00:01:00 +0100
committerNatasha Moongrave <natasha@256phi.eu>2026-02-01 00:01:00 +0100
commit49423b9a43e26d437124faff73470d30e8830be6 (patch)
treec375cb0e7a22260382de4aa72f7b9f3e264f1a23 /configuration.nix
initial commit 2: electric boogaloo
Diffstat (limited to 'configuration.nix')
-rwxr-xr-xconfiguration.nix211
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";
+
+}
+
+