115 lines
2.7 KiB
Nix
115 lines
2.7 KiB
Nix
|
{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;
|
||
|
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;
|
||
|
|
||
|
}
|
||
|
|