massive structural changes

This commit is contained in:
Sean Kovacs 2026-01-13 14:46:30 -05:00
commit 02aba5b7c1
Signed by: sckova
GPG key ID: 00F325187C68651A
10 changed files with 532 additions and 561 deletions

View file

@ -1,5 +1,5 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
@ -8,48 +8,9 @@
inputs,
...
}: {
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
nix.settings.trusted-users = [
"root"
"sckova"
];
nix.settings = {
# Increase file descriptor limit for builds
sandbox = "relaxed";
extra-sandbox-paths = [];
build-users-group = "nixbld";
};
security.pam.loginLimits = [
{
domain = "*";
type = "soft";
item = "nofile";
value = "65536";
}
{
domain = "*";
type = "hard";
item = "nofile";
value = "65536";
}
];
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
environment.sessionVariables = rec {
environment.sessionVariables = {
# this makes electron apps work per the wiki
NIXOS_OZONE_WL = "1";
EDITOR = "nvim";
TERMINAL = "kitty";
};
boot = {
@ -120,11 +81,16 @@
services = {
desktopManager.plasma6.enable = true;
displayManager.sddm = {
enable = true;
wayland.enable = true;
enableHidpi = true;
displayManager = {
sddm = {
enable = true;
wayland.enable = true;
enableHidpi = true;
};
defaultSession = "niri";
};
libinput.enable = true;
printing.enable = true;
pipewire = {
@ -136,29 +102,6 @@
udisks2.enable = true;
};
virtualisation = {
containers.enable = true;
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true; # Required for containers under podman-compose to be able to talk to each other.
};
};
systemd.tmpfiles.rules = ["L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware"];
users.users.sckova = {
isNormalUser = true;
description = "Sean Kovacs";
extraGroups = [
"wheel"
"networkmanager"
"podman"
];
packages = with pkgs; [];
hashedPassword = "$6$bvwRUFaJNMpH8rm3$FGDWFN6tBScJ/2DynAjnlZE8JRfyADN78d6c4GawxpAjyNLNE/AjQzMA09tLRqpKX7WnN5PIUZLAm2bT9/RbG0";
};
environment = {
systemPackages = with pkgs; [
git
@ -185,9 +128,6 @@
};
services.openssh.enable = true;
users.users."sckova".openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCn/eXMq04vcXNqGVzlZOw2C2dQYBqzWsoigdFW09XqC2WPaGljbAIayzaD7Q1tIlPGGy10+nipAXAk1CHAnrQ2KSg4v/SwFphF48V3joeQmideC4vo0EIQEQibbMtj3oFezqRcRZINl/1hr4t0myZ3zkoTjh3HCkqJEMGUdArDMEVPA5mwcKSLsyshW9LMG/3C9YKKPU1/lVsoeDkj8AVZA0srhkApuRKF0IVu8KoPd6ldvSWgpQ1iuQ+MEMSeOUJytieBkzeY9zEVePaQ86oIMDUzqq8OTN37RyShiJKPskKyj12rJI2eFtI/viGaj8P6/yvKqMp3F4kAsPAuvMLLAIYCNa+139rDpkkIKB6lVtgq0jnJGRywaYXGIRyExNcVAr8I9wrNnNN2M4whVeYBxfLMzKZ+VvfK39AaGvnzPuFDLqUC87sN4c/1KZQo+TCtlaxcYvqowWylw5JHUt8uwFcO/dUebQxxAv8EdyPZGJ/54y19PsTbu9KyxSc2gIU= sckova"
];
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions

View file

@ -1,8 +1,6 @@
{
config,
pkgs,
catppuccin,
nix-cachyos-kernel,
...
}: {
networking.hostName = "alien";
@ -25,36 +23,14 @@
'';
hardware.i2c.enable = true;
boot.binfmt.emulatedSystems = [
"aarch64-linux"
"riscv64-linux"
];
catppuccin.accent = "blue";
home-manager.users.sckova = {
imports = [catppuccin.homeModules.catppuccin];
};
boot.loader.systemd-boot.consoleMode = "max";
# boot.kernelPackages = pkgs.linuxPackages;
# let's use the CachyOS kernel instead!
nixpkgs.overlays = [nix-cachyos-kernel.overlays.default];
nix.settings.substituters = [
"https://attic.xuyh0120.win/lantian"
"https://cache.garnix.io"
];
nix.settings.trusted-public-keys = [
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
];
boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-lts;
# enable hyper-v for guests
virtualisation.hypervGuest.enable = true;
boot.blacklistedKernelModules = ["hyperv_fb"];
programs = {
gamescope = {
enable = true;
@ -77,7 +53,6 @@
enable = false;
user = "sckova";
};
defaultSession = "niri";
};
environment = {
@ -102,4 +77,27 @@
capSysAdmin = true;
openFirewall = true;
};
# virtualization settings
virtualisation = {
containers.enable = true;
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true; # Required for containers under podman-compose to be able to talk to each other.
};
};
# enable hyper-v for guests
virtualisation.hypervGuest.enable = true;
boot.blacklistedKernelModules = ["hyperv_fb"];
boot.binfmt.emulatedSystems = [
"aarch64-linux"
"riscv64-linux"
];
# i don't even remember what this does or why i added it
systemd.tmpfiles.rules = ["L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware"];
}

View file

@ -1,25 +1,10 @@
{
config,
pkgs,
lib,
catppuccin,
...
}: {
{pkgs, ...}: {
networking.hostName = "peach";
boot.binfmt.emulatedSystems = [
"x86_64-linux"
"riscv64-linux"
];
boot.kernelParams = ["apple_dcp.show_notch=1"];
catppuccin.accent = "peach";
home-manager.users.sckova = {
imports = [catppuccin.homeModules.catppuccin];
};
hardware.asahi = {
enable = true;
setupAsahiSound = true;
@ -37,7 +22,7 @@
swapDevices = [
{
device = "/swapfile";
size = 16000; # 16GB
size = 8000; # 8GB
}
];

View file

@ -1,18 +1,6 @@
{
config,
pkgs,
lib,
catppuccin,
...
}: {
{catppuccin, ...}: {
networking.hostName = "vm";
# Enable emulation for architectures we're not currently running
boot.binfmt.emulatedSystems =
lib.optional (pkgs.stdenv.hostPlatform.system != "x86_64-linux") "x86_64-linux"
++ lib.optional (pkgs.stdenv.hostPlatform.system != "aarch64-linux") "aarch64-linux"
++ lib.optional (pkgs.stdenv.hostPlatform.system != "riscv64-linux") "riscv64-linux";
catppuccin.accent = "green";
home-manager.users.sckova = {

View file

@ -1,4 +1,6 @@
{pkgs, ...}: {
# This following block taken from the wiki:
# https://nixos.wiki/wiki/Fish#Setting_fish_as_your_shell
programs.bash = {
interactiveShellInit = ''
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]

View file

@ -1,6 +1,8 @@
# The goal of this configuration is to make it so you can write systemd units that
# can wait until tailscale is up and connected, by putting After=tailscaled.service
# in their unit file.
# https://github.com/tailscale/tailscale/issues/11504#issuecomment-2113331262
{
config,
pkgs,
lib,
...

View file

@ -1,7 +1,8 @@
# https://github.com/nix-community/nixos-apple-silicon/issues/145
# This should work with both x86_64 and aarch64. (hopefully)
{
config,
lib,
pkgs,
...
}: {
nixpkgs.overlays = lib.mkIf (config.nixpkgs.hostPlatform.isLinux) [