{ config, pkgs, lib, ... }: { imports = [ ./hardware.nix ]; # Configure Nix nix.package = pkgs.lix; nix.settings = { experimental-features = [ "nix-command" "flakes" ]; substituters = [ "https://cache.games01.kb-one.de" ]; trusted-public-keys = [ "cache.game01.kb-one.de:JF++7CgrasYciQeB5jlziqT5BTjaknEk9cMeh4lQf30=" ]; }; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "b43-firmware" "broadcom-sta" "veracrypt" ]; nixpkgs.config.permittedInsecurePackages = [ "electron-27.3.11" ]; # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; # Networking networking.hostName = "LANA9Z"; # Define your hostname. networking.networkmanager.enable = true; networking.firewall.enable = true; # Allow KDE Connect Ports networking.firewall.allowedTCPPortRanges = [{ from = 1714; to = 1764; }]; networking.firewall.allowedUDPPortRanges = [{ from = 1714; to = 1764; }]; # Allow Minecraft Ports #networking.firewall.allowedTCPPorts = [ 25565 19132 ]; #networking.firewall.allowedUDPPorts = [ 25565 19132 ]; # Enable Bluetooth hardware.bluetooth.enable = true; # enables support for Bluetooth hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot # Set your time zone. time.timeZone = "Europe/Berlin"; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "de_DE.UTF-8"; LC_IDENTIFICATION = "de_DE.UTF-8"; LC_MEASUREMENT = "de_DE.UTF-8"; LC_MONETARY = "de_DE.UTF-8"; LC_NAME = "de_DE.UTF-8"; LC_NUMERIC = "de_DE.UTF-8"; LC_PAPER = "de_DE.UTF-8"; LC_TELEPHONE = "de_DE.UTF-8"; LC_TIME = "de_DE.UTF-8"; }; services.xserver.enable = true; # Enable the KDE Plasma Desktop Environment. services.displayManager.sddm.enable = true; services.desktopManager.plasma6.enable = true; # Configure keymap in X11 services.xserver.xkb = { layout = "de"; variant = ""; }; # Configure console keymap console.keyMap = "de"; # Enable CUPS to print documents. services.printing.enable = true; # Enable SSH-Agent programs.ssh.startAgent = true; # Enable LanguageTool Server services.languagetool = { enable = true; allowOrigin = "*"; }; # Enable sound with pipewire. hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.kb = { isNormalUser = true; description = "kB"; extraGroups = [ "networkmanager" "wheel" ]; }; # List packages installed in system profile. To search, run: $ nix search wget environment.systemPackages = with pkgs; [ vim wget tree git sops ]; # Default Editor programs.vim.enable = true; programs.vim.defaultEditor = true; # Sops Secrets Config sops.defaultSopsFormat = "yaml"; sops.age.keyFile = "/home/kb/.config/sops/age/keys.txt"; system.stateVersion = "24.11"; # NEVER Change this }