preparing for epic merger

This commit is contained in:
Clayton Hickey 2025-10-29 15:47:06 -04:00
parent e5c40d5d2a
commit f04b6025d6
7 changed files with 152 additions and 75 deletions

View file

@ -0,0 +1,260 @@
{ inputs, pkgs, options, config, lib, ... }:
{
imports =
[
./hardware-configuration.nix
../cos.nix
];
cos.username = "clhickey";
cos.hostName = "clhickey-nixos";
boot = {
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
supportedFilesystems = [
"ntfs"
];
binfmt = {
emulatedSystems = [
"aarch64-linux"
];
};
};
services.logind.settings.Login = {
HandlePowerKey="suspend";
};
time.timeZone = "America/New_York";
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";
};
};
networking = {
hostName = config.cos.hostName;
networkmanager.enable = true;
};
cos.wireguard = {
enable = true;
privateKeyFile = "/home/${config.cos.username}/wireguard-keys/private";
};
cos.hyprland = {
enable = true;
wallpaper = builtins.toString ./TranscodedWallpaper.jpeg;
};
# auto-mount USB drives
services.gvfs.enable = true;
services.udisks2.enable = true;
hardware.bluetooth.enable = true;
# For languini
networking.firewall.interfaces.${config.cos.wireguard.interface}.allowedTCPPorts = [
8000
8080
];
services = {
openssh = {
enable = true;
settings = {
PasswordAuthentication = true;
AllowUsers = null;
};
listenAddresses = [
{
port = 22;
addr = config.cos.wireguard.clientInternalIP;
}
];
};
};
virtualisation = {
waydroid = {
enable = false;
};
libvirtd = {
enable = true;
qemu = {
swtpm.enable = true;
ovmf.enable = true;
ovmf.packages = [ pkgs.OVMFFull.fd ];
};
};
virtualbox.host = {
enable = true;
enableKvm = true;
addNetworkInterface = false;
enableExtensionPack = true;
};
spiceUSBRedirection.enable = true;
};
users.users.${config.cos.username} = {
isNormalUser = true;
description = "Clayton Lopez Hickey";
extraGroups = [
"networkmanager"
"wheel"
"adbusers"
"libvirtd"
];
};
nixpkgs.config = {
allowUnfree = true;
android_sdk.accept_license = true;
};
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
nix.settings.trusted-users = [
"root"
"@wheel"
];
environment = {
systemPackages = with pkgs; [
fastfetch
wget
brave
kdePackages.kate
nextcloud-client
obs-studio
vlc
kdePackages.kdenlive
tmux
htop
helvum
libreoffice-fresh
anki-bin
gimp3
audacity
ffmpeg
zoom-us
inkscape
freecad
kdePackages.filelight
prismlauncher
blender
sqlitebrowser
arduino-ide
josm
krita
jetbrains.idea-ultimate
android-studio
gparted
jdk
jdk8
slack
inputs.penn-nix.packages.x86_64-linux.waypoint-client
inputs.cnvim.packages.x86_64-linux.default
osu-lazer-bin
thunderbird-bin
itch
element-desktop
gh
code-cursor
firefox
popsicle
nixfmt-rfc-style
graphviz
alacritty
prismlauncher
google-chrome
trilium-next-desktop
joplin-desktop
sshfs
unityhub
man-pages
man-pages-posix
vulkan-tools
wireshark
dotnetCorePackages.sdk_9_0_1xx-bin # for unit dev
vscode-fhs
discord
aseprite
pixelorama
];
sessionVariables = {
EDITOR = "${inputs.cnvim.packages.x86_64-linux.default}/bin/nvim";
};
};
fonts = {
packages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
liberation_ttf
fira-code
fira-code-symbols
mplus-outline-fonts.githubRelease
dina-font
proggyfonts
font-awesome
libre-baskerville
corefonts
vistafonts
];
};
programs = {
adb.enable = true;
steam = {
enable = true;
};
java = {
enable = true;
package = pkgs.jdk;
};
nix-ld = {
enable = true;
libraries = options.programs.nix-ld.libraries.default ++ [
pkgs.xorg.libXext
pkgs.xorg.libX11
pkgs.xorg.libXrender
pkgs.xorg.libXtst
pkgs.xorg.libXi
pkgs.freetype
];
};
virt-manager.enable = true;
ladybird = {
enable = true;
};
git = {
enable = true;
};
};
documentation.dev.enable = true;
home-manager.users.${config.cos.username} = { pkgs, ... }: {
home.stateVersion = "24.11";
};
system.stateVersion = "24.11";
}

View file

@ -0,0 +1,49 @@
# 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" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/c730801e-b298-4c87-bc08-4856e39ab268";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/F69E-6CCA";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/7afa7b67-4486-43a7-b58b-a7548beb4e20";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-c705edf8-6321-4956-8780-f6c00a62e77e".device = "/dev/disk/by-uuid/c705edf8-6321-4956-8780-f6c00a62e77e";
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp166s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.graphics = {
enable = true;
};
}