{ self, inputs, ... }: { flake.modules.nixos.base = { config, pkgs, lib, ... }: { nix.settings.experimental-features = [ "nix-command" "flakes" ]; nixpkgs.config = { permittedInsecurePackages = [ "openssl-1.1.1w" ]; allowUnfree = true; }; # Set your time zone. time.timeZone = "US/Central"; # Select internationalisation properties. i18n = { defaultLocale = "en_US.UTF-8"; extraLocaleSettings = { LC_ADDRESS = "en_US.UTF-8"; LC_IDENTIFICATION = "en_US.UTF-8"; LC_MEASUREMENT = "en_US.UTF-8"; LC_MONETARY = "en_US.UTF-8"; LC_NAME = "en_US.UTF-8"; LC_NUMERIC = "en_US.UTF-8"; LC_PAPER = "en_US.UTF-8"; LC_TELEPHONE = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8"; }; }; fonts.packages = with pkgs; [ nerd-fonts.hack nerd-fonts.sauce-code-pro ]; # Need for less pain-in-the-ass for doing normal-ish stuff # This is needed for VSCode remote support. Read: https://nixos.wiki/wiki/Visual_Studio_Code programs.nix-ld.enable = true; # Configure network connections interactively with nmcli or nmtui. networking.networkmanager.enable = true; services.openssh.enable = true; security.polkit.enable = true; # polkit services.gnome.gnome-keyring.enable = true; # secret service security.pam.services.swaylock = {}; # Enable sound with pipewire. services.pulseaudio.enable = false; security.rtkit.enable = true; # PulseAudio server uses this to acquire realtime priority. services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; # If you want to use JACK applications, uncomment this #jack.enable = true; }; }; }