Files
nixos-configv3/global/default.nix
TheCrazyInsanity 1f0a61f56e lowkey kirking it
2025-12-16 12:55:40 -05:00

158 lines
3.1 KiB
Nix

# 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, nix-flatpak, ... }:
{
imports = [
# nix-flatpak.nixosModules.nix-flatpak
];
# 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"
];
}