mirror of
https://gitea.sys64.dev/system32/nixos.git
synced 2026-08-08 00:55:13 +00:00
173 lines
4.0 KiB
Nix
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";
|
|
}
|