{pkgs, stateVersion, ...}: { imports = [ ./hardware-configuration.nix # Hardware scan ]; # System system.stateVersion = stateVersion; # Only touch if aware of effects, check manual # experimental-features = "nix-command flakes"; # Users users.users.nibunta = { isNormalUser = true; description = "Nibunta NixOS"; initialPassword = "password"; extraGroups = [ "networkmanager" "wheel" ]; shell = pkgs.fish; }; programs.fish.enable = true; nix.extraOptions = '' experimental-features = nix-command flakes ''; nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ nix-tree nix-update nix-init nurl nil nano kate ventoy-bin-full # Libs llvmPackages_7.clangUseLLVM mold python311 poetry ]; # Graphical and Windowing environment services.xserver = { enable = true; # X11 windowing system. displayManager = { sddm.enable = true; autoLogin = { enable=true; user="nibunta"; }; }; ## KDE Plasma desktopManager.plasma5.enable = true; }; # Localization and Internationalisation time.timeZone = "Europe/London"; i18n.defaultLocale = "en_GB.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_GB.UTF-8"; LC_IDENTIFICATION = "en_GB.UTF-8"; LC_MEASUREMENT = "en_GB.UTF-8"; LC_MONETARY = "en_GB.UTF-8"; LC_NAME = "en_GB.UTF-8"; LC_NUMERIC = "en_GB.UTF-8"; LC_PAPER = "en_GB.UTF-8"; LC_TELEPHONE = "en_GB.UTF-8"; LC_TIME = "en_GB.UTF-8"; }; # Networking networking.networkmanager.enable = true; networking.hostName = "nixos"; # networking.wireless.enable = true; # Wireless support via wpa_supplicant /* networking.firewall = { allowedTCPPorts = [ ... ]; allowedUDPPorts = [ ... ]; }; */ # Input settings console.keyMap = "pt-latin1"; # Reference: https://nixos.wiki/wiki/Keyboard_Layout_Customization # Configure keymap in X11 services.xserver = { layout = "pt"; xkbVariant = ""; }; # Plug&Play Devices settings services.printing.enable = true; sound.enable = true; # Ssound with pipewire. hardware.pulseaudio.enable = false; hardware.pulseaudio.extraConfig = """ # Creates a device where AudioRelay can stream audio into load-module module-null-sink sink_name=audiorelay-virtual-mic-sink sink_properties=device.description=Virtual-Mic-Sink # Creates a device usable by communications apps (e.g: voice apps) load-module module-remap-source master=audiorelay-virtual-mic-sink.monitor source_name=audiorelay-virtual-mic-sink source_properties=device.description=Virtual-Mic """; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; # jack.enable = true; # JACK applications # media-session.enable = true; }; # TODO: Temporarily here because i dont know how to do it in the user section # virtualisation.virtualbox.host = { # enable = true; # enableExtensionPack = true; #}; # virtualisation.virtualbox.guest = { # enable = true; # x11 = true; # }; # users.extraGroups.vboxusers.members = [ "nibunta" ]; virtualisation.libvirtd.enable = true; programs.dconf.enable = true; }