# This is for global config I DEFINITELY want on all machines, this should only include basic utilities and be relatively small. # There is no order for where things are in this, it's a little messy. {pkgs, ...}: { # Lix nixpkgs.overlays = [ (final: prev: { inherit (prev.lixPackageSets.stable) nixpkgs-review nix-eval-jobs nix-fast-build colmena; }) ]; nix.package = pkgs.lixPackageSets.stable.lix; # 🇺🇸 i18n.defaultLocale = "en_US.UTF-8"; i18n.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"; }; # TODO: Look and find out if there's a better way to configure printers, my Brother needs to be reconnected every boot :/ services.printing.enable = true; services.avahi = { enable = true; nssmdns4 = true; openFirewall = true; publish = { enable = true; userServices = true; }; }; services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; }; programs.adb.enable = true; # Bit heavy but you never know when you might need it... users.users.laythe = { isNormalUser = true; description = "laythe"; extraGroups = [ "networkmanager" "wheel" "docker" "adbusers" "jackaudio" "podman" ]; #To make podman work subUidRanges = [{ startUid = 100000; count = 65536; }]; subGidRanges = [{ startGid = 100000; count = 65536; }]; }; programs.appimage = { enable = true; binfmt = true; package = pkgs.appimage-run.override { extraPkgs = pkgs: [ ]; }; }; services.flatpak.enable = true; programs.nix-ld.enable = true; nixpkgs.config.allowUnfree = true; nix.optimise.automatic = true; nix.gc = { automatic = true; dates = "daily"; # Maybe the solution is to buy more storage for my devices :p options = "--delete-older-than 3d"; }; environment.systemPackages = with pkgs; [ git wget wineWowPackages.stable # Heavy but really annoying to not have when you need it winetricks gparted unrar electrum qpwgraph libimobiledevice ifuse neofetch gimp # Despite the fact it falls under creative an image editor is too important to leave out. zip xz unzip p7zip dnsutils file which tree gnused gnutar gawk zstd lsof sysstat lm_sensors ethtool pciutils # lspci usbutils # lsusb ffmpeg-full xbindkeys xdotool xmodmap nixfmt ]; services.usbmuxd = { enable = true; package = pkgs.usbmuxd2; }; nix.settings.experimental-features = [ "nix-command" "flakes" ]; }