I am batman

This commit is contained in:
2026-07-10 20:07:29 -04:00
commit 4aac54bff6
175 changed files with 18136 additions and 0 deletions

View File

@@ -0,0 +1,188 @@
{ config, pkgs, inputs, lib, ... }:
{
imports = [ ./hardware-configuration.nix ]; # Include hardware scan results.
boot.loader.grub = {
enable = true;
efiSupport = true;
device = "nodev";
useOSProber = true;
};
boot.loader.efi.canTouchEfiVariables = true;
networking = {
hostName = "REPLACE_HOST";
networkmanager.enable = true; # Enable NetworkManager
};
time.timeZone = "America/Detroit";
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";
};
};
programs.zsh.enable = true;
users.users.REPLACE_USER = {
isNormalUser = true;
description = "REPLACE_USER";
extraGroups = [ "wheel" "networkmanager" "libvirtd" "kvm" "qemu" "docker" ];
packages = with pkgs; [ ];
shell = pkgs.zsh;
};
home-manager.users.REPLACE_USER = import ./home.nix;
nixpkgs.overlays = [
inputs.nur.overlays.default
];
services = {
xserver = {
enable = true;
xkb.layout = "us";
displayManager.sddm.enable = true;
displayManager.defaultSession = "hyprland";
};
displayManager.sddm = {
enable = true;
wayland.enable = true; # important for Hyprland
theme = "sddm-sugar-dark";
};
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
};
virtualisation = {
libvirtd.enable = true; # Enables libvirt daemon and KVM support
docker.enable = true; # Enable this only if you want Docker
};
programs.virt-manager.enable = true;
programs.hyprland.enable = true;
boot.kernelModules = [
"kvm"
"kvm-intel"
"v4l2loopback"
];
fonts = {
fontconfig.enable = true;
fontconfig.defaultFonts.monospace = [ "Meslo LG M Regular Nerd Font Complete Mono" ];
packages = with pkgs; [
nerd-fonts.meslo-lg
nerd-fonts.jetbrains-mono
nerd-fonts.agave
font-awesome
powerline-fonts
powerline-symbols
];
};
environment.systemPackages = with pkgs; [
vim
lastpass-cli
wget
git
docker
xhost
docker-compose
gnumake42
go
cmake
gcc
gdb
networkmanagerapplet
pywalfox-native
# droidcam
# kdenlive
vlc
xcolor
adb-sync
wl-clipboard
stash
nwg-look
libsForQt5.qt5.qtgraphicaleffects
linuxPackages.v4l2loopback # Kernel module for virtual webcam
alsa-utils # Audio support
v4l-utils # Video4Linux tools
pipewire
qemu
libvirt
virt-manager
bridge-utils # For networking support
dnsmasq # DHCP for VM networking
ebtables # NAT support for VMs
grim
slurp
grimblast
swappy
dunst
jq
moreutils
hyprland
libnotify
coreutils
hyprshade
unityhub
pkg-config
xorg.libX11
xorg.libXcursor
xorg.libXrandr
xorg.libXinerama
xorg.libXi
mesa
libGL
alsa-lib
(pkgs.stdenv.mkDerivation {
pname = "sugar-candy-sddm-theme";
version = "latest";
src = pkgs.fetchFromGitHub {
owner = "MarianArlt";
repo = "sddm-sugar-dark";
rev = "master";
sha256 = "0153z1kylbhc9d12nxy9vpn0spxgrhgy36wy37pk6ysq7akaqlvy";
};
installPhase = ''
mkdir -p $out/share/sddm/themes/sddm-sugar-dark
cp -r * $out/share/sddm/themes/sddm-sugar-dark
'';
})
];
# Optional: Specify the SDDM theme configuration
# environment.etc."sddm.conf".text = lib.mkForce ''
# [Theme]
# Current=sddm-sugar-dark
# '';
#
# Miscellaneous Settings
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# System State Version
system.stateVersion = "25.11";
}

View File

@@ -0,0 +1,34 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{
device = "/dev/disk/by-uuid/4555c094-debf-45c7-a330-b6f5d0a1e64f";
fsType = "ext4";
};
fileSystems."/boot" =
{
device = "/dev/disk/by-uuid/A7D4-AE37";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

88
hosts/template/home.nix Normal file
View File

@@ -0,0 +1,88 @@
{ config, pkgs, lib, ... }:
{
imports = [
../../modules
];
home.username = "REPLACE_USER";
home.homeDirectory = "/home/REPLACE_USER";
home.stateVersion = "24.11";
nixpkgs.config.allowUnfree = true;
home.packages = with pkgs; [
kitty
screenkey
docker
tree
ffmpeg
tilt
unzip
gimp
ripgrep
fzf
lsd
lazygit
opencode
neofetch
fastfetch
tree
git
nodejs_22
zig
tailwindcss
templ
imagemagick
go-blueprint
protobuf
air
pywal
bat
cava
w3m
nwg-displays
(writeShellScriptBin "protoc-gen-go" ''
export PATH=$HOME/.go/bin:$PATH
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
'')
(writeShellScriptBin "protoc-gen-go-grpc" ''
export PATH=$HOME/.go/bin:$PATH
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
'')
];
home.sessionVariables = {
SHELL = "${pkgs.zsh}/bin/zsh";
};
programs.dircolors.enable = true;
home.file.".p10k.zsh".source = ../../.p10k.zsh;
home.activation.copyScripts =
lib.hm.dag.entryAfter [ "writeBoundary" ] ''
mkdir -p ~/.local/share/bin
rm -rf ~/.local/share/bin/*
cp -r ${../../scripts}/* ~/.local/share/bin/
chmod +x ~/.local/share/bin/*
if [ -x ~/.local/share/bin/tmux-session-manager.sh ] && [ ! -e ~/.local/share/bin/tmux-session-manager ]; then
ln -s ~/.local/share/bin/tmux-session-manager.sh ~/.local/share/bin/tmux-session-manager
fi
'';
home.activation.copyWallpapers =
lib.hm.dag.entryAfter [ "writeBoundary" ] ''
mkdir -p ~/Pictures/wallpapers
rm -rf ~/Pictures/wallpapers/*
cp -r ${../../wallpapers}/* ~/Pictures/wallpapers/
'';
home.file.".config/lsd/colors.yaml".text = ''
date: "white"
user: "white"
group: "white"
# ...any other preferences
'';
}

View File

@@ -0,0 +1,14 @@
pkgs.stdenv.mkDerivation {
name = "sddm-theme";
src = pkgs.fetchFromGitHub {
owner = "MarianArlt";
repo = "sddm-sugar-dark";
rev = "ceb2c455663429be03ba62d9f898c571650ef7fe";
sha256 = "0153z1kylbhc9d12nxy9vpn0spxgrhgy36wy37pk6ysq7akaqlvy";
};
installPhase = ''
mkdir -p $out
cp -R ./* $out/
'';
}