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,201 @@
{ 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 = "nixos";
networkmanager.enable = true; # Enable NetworkManager
nameservers = ["192.168.1.2"];
};
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.cody = {
isNormalUser = true;
description = "cody";
extraGroups = [ "wheel" "networkmanager" "libvirtd" "kvm" "qemu" "docker" ];
packages = with pkgs; [ ];
shell = pkgs.zsh;
};
home-manager.users.cody = import ./home.nix;
nixpkgs.overlays = [
inputs.nur.overlays.default
];
nixpkgs.config.android_sdk.accept_license = true;
services = {
xserver = {
enable = true;
xkb.layout = "us";
displayManager.lightdm = {
enable = true;
};
};
tailscale.enable = true;
displayManager.defaultSession = "hyprland";
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
resolved.enable = false;
blueman.enable = true;
};
hardware.bluetooth = {
enable = true;
powerOnBoot = 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
kdenlive
postman
pywalfox-native
vlc
xcolor
adb-sync
wl-clipboard
cliphist
wtype
nwg-look
tailscale
libsForQt5.qt5.qtgraphicaleffects
linuxPackages.v4l2loopback # Kernel module for virtual webcam
alsa-utils # Audio support
v4l-utils # Video4Linux tools
pipewire
libsForQt5.qt5.qtmultimedia
qemu
libvirt
virt-manager
bridge-utils # For networking support
dnsmasq # DHCP for VM networking
ebtables # NAT support for VMs
grim
nload
htop
atop
iftop
slurp
grimblast
swappy
dunst
jq
moreutils
hyprland
libnotify
coreutils
hyprshade
unityhub
pkg-config
mkinitcpio-nfs-utils
xorg.libX11
xorg.libXcursor
xorg.libXrandr
xorg.libXinerama
xorg.libXi
mesa
libGL
alsa-lib
adwaita-icon-theme
papirus-icon-theme
bibata-cursors
blueman
chromium
bind
iproute2
iputils
traceroute
mtr
tcpdump
];
# 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,31 @@
# 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" "thunderbolt" "nvme" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/7f7c0193-c0bc-47ad-9be3-0d48d83e489a";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/E646-95CD";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

100
hosts/nixos/home.nix Normal file
View File

@@ -0,0 +1,100 @@
{ config, pkgs, lib, ... }:
{
imports = [
../../modules
];
home.username = "cody";
home.homeDirectory = "/home/cody";
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
# go_1_24
# go-tools
# Protocol buffers
# protobuf
# Go protoc plugins
# protoc-gen-go
# protoc-gen-go-grpc
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
'')
];
modules.android = {
enable = false;
enableEmulator = false;
apiLevel = 34;
enableFlutterSupport = false;
};
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.setupFirefoxCalendarProfile =
lib.hm.dag.entryAfter [ "writeBoundary" ] ''
bash ~/.local/share/bin/setup-firefox-calendar-profile.sh
'';
home.activation.copyWallpapers =
lib.hm.dag.entryAfter [ "writeBoundary" ] ''
mkdir -p ~/Pictures/wallpapers
rm -rf ~/Pictures/wallpapers/*
cp -r ${../../wallpapers}/* ~/Pictures/wallpapers/
'';
}

View File

@@ -0,0 +1,16 @@
{ pkgs }:
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/
'';
}