Files
nixos-public/configuration.nix
2026-04-16 14:47:03 -07:00

173 lines
4.0 KiB
Nix

{ config, lib, pkgs, inputs, ... }:
{
imports = [ ./hardware-configuration.nix
./modules/wallpaper/sddm-wallpaper.nix
];
# Bootloader Grub + Hyperfluent
boot.loader = {
efi.canTouchEfiVariables = true;
grub = {
enable = true;
efiSupport = true;
device = "nodev";
useOSProber = true;
theme = pkgs.stdenv.mkDerivation {
pname = "HyperFluent-GRUB-Theme";
version = "1.0.1";
src = pkgs.fetchFromGitHub {
owner = "Coopydood"; repo = "HyperFluent-GRUB-Theme";
rev = "v1.0.1";
hash = "sha256-zryQsvue+YKGV681Uy6GqnDMxGUAEfmSJEKCoIuu2z8=";
};
installPhase = "cp -r nixos $out";
};
};
};
boot.initrd.systemd.enable = true;
boot.kernelParams = [ "quiet" "splash" ];
# Hyperland
programs.hyprland.enable = true;
# Host & Networking
networking.hostName = "nixos";
networking.networkmanager.enable = true;
networking.firewall.enable = true;
networking.networkmanager.plugins = with pkgs; [
networkmanager-openvpn
];
services.tailscale.enable = true;
# Enabiling Tuxedo
hardware.tuxedo-rs = {
enable = false;
tailor-gui.enable = true;
};
hardware.uinput.enable = true;
# Locale & time
time.timeZone = "America/Los_Angeles";
i18n.defaultLocale = "en_US.UTF-8";
programs.mtr.enable = true;
# Display
services.xserver.enable = true;
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
};
services.desktopManager.plasma6.enable = true;
services.xserver.xkb.layout = "us";
# Misc QOL Addons
boot.plymouth = {
enable = true;
theme = "blahaj";
themePackages = with pkgs; [ plymouth-blahaj-theme ];
};
services.printing.enable = true;
hardware.bluetooth.enable = true;
# Audio (PipeWire)
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
programs.nix-ld.enable = true;
# Users
users.users.system32 = {
isNormalUser = true;
description = "System32";
extraGroups = [ "networkmanager" "wheel" "wireshark" "docker" "uinput" "video" ];
};
# System-wide programs and features
programs.firefox.enable = true;
programs.wireshark.enable = true;
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nixpkgs.overlays = [
(import ./overlays/bambu.nix)
];
# Fonts
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
noto-fonts-color-emoji
];
# Mandatory systemwide packages
environment.systemPackages = with pkgs; [
networkmanager-openvpn
plymouth
vmware-workstation
tuxedo-rs
wireshark
mtr
bambu-studio
plymouth-blahaj-theme
];
# VMware Settings
virtualisation.vmware.host.enable = true;
virtualisation.docker.enable = true;
# sops-nix
sops = {
age.keyFile = "/var/lib/sops-nix/key";
age.sshKeyPaths = [ ];
defaultSopsFile = ./secrets/secrets.yaml;
# Example secret (uncomment and add to your secrets.yaml when ready)
# secrets."example.env" = {
# path = "/run/secrets/example.env";
# owner = "system32"; group = "system32"; mode = "0400";
# };
};
# OPENSSL_CONF override for wpa_supplicant
systemd.services.wpa_supplicant.environment.OPENSSL_CONF = pkgs.writeText"openssl.cnf""
openssl_conf = openssl_init
[openssl_init]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
Options = UnsafeLegacyRenegotiation
[system_default_sect]
CypherString = Default:@SECLEVEL=0
"
;
home-manager = {
extraSpecialArgs = { inherit inputs; };
users.system32 = import ./home.nix;
};
services.sunshine = {
enable = true;
autoStart = true;
capSysAdmin = true;
openFirewall = true;
package = pkgs.sunshine.override {
boost = pkgs.boost187;
};
};
# NixOS state version
system.stateVersion = "25.05";
}