This commit is contained in:
mjallen18
2026-03-25 18:23:08 -05:00
parent 78280d5150
commit 7fcbd0bb7c
35 changed files with 976 additions and 567 deletions

View File

@@ -75,23 +75,8 @@
};
network = {
hostName = "macbook-pro-nixos";
iwd.enable = true;
networkmanager.enable = true;
# iwd = {
# enable = true;
# settings = {
# General = {
# EnableNetworkConfiguration = true;
# };
# Rank = {
# BandModifier2_4GHz = 1.0;
# BandModifier5GHz = 5.0;
# BandModifier6GHz = 10.0;
# };
# Network = {
# AutoConnect = true;
# };
# };
# };
extraFirewallCommands = ''
iptables -I INPUT -m pkttype --pkt-type multicast -j ACCEPT
iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT
@@ -101,11 +86,6 @@
services = {
nebula = {
enable = true;
port = 4242;
lighthouses = [ "10.1.1.1" ];
staticHostMap = {
"10.1.1.1" = [ "mjallen.dev:4242" ];
};
secretsPrefix = "macbook-pro-nixos/nebula";
secretsFile = lib.snowfall.fs.get-file "secrets/mac-secrets.yaml";
hostSecretName = "macbook-pro-nixos";
@@ -161,8 +141,6 @@
omnissa
]);
networking.networkmanager.wifi.backend = "iwd";
environment.sessionVariables = {
DBX_CONTAINER_MANAGER = "podman";
GSK_RENDERER = "opengl";

View File

@@ -14,7 +14,6 @@ let
in
{
fileSystems = {
"/etc".neededForBoot = true;
# Network shares
"/media/nas/backup" = {
device = "//10.0.1.3/Backup";

View File

@@ -148,7 +148,6 @@
# ###################################################
boot.supportedFilesystems = [ "bcachefs" ];
fileSystems."/etc".neededForBoot = true;
programs.seahorse.enable = false;
}

View File

@@ -40,7 +40,7 @@
};
specialisation.graphical.configuration = {
${namespace}.desktop.cosmic.enable = true;
${namespace}.desktop.plasma.enable = true;
};
boot = {
@@ -56,10 +56,6 @@
};
};
fileSystems = {
"/etc".neededForBoot = true;
};
home-manager.users.nixos.snowfallorg.user.name = "nixos";
sops.defaultSopsFile = lib.mkForce "/dev/null";

View File

@@ -51,7 +51,6 @@ in
};
fileSystems = {
"/etc".neededForBoot = true;
"/media/sdcard" = {
device = "/dev/mmcblk0p1";
fsType = "bcachefs";

View File

@@ -31,7 +31,10 @@
bootloader.lanzaboote.enable = true;
desktop.gnome.enable = true;
desktop.gnome = {
enable = true;
vscodium.enable = true;
};
gaming.enable = true;
@@ -44,6 +47,7 @@
amd = {
enable = true;
lact.enable = true;
coolercontrol.enable = true;
};
};
@@ -61,17 +65,13 @@
network = {
hostName = "allyx";
iwd.enable = true;
networkmanager.enable = true;
};
services = {
nebula = {
enable = true;
port = 4242;
lighthouses = [ "10.1.1.1" ];
staticHostMap = {
"10.1.1.1" = [ "mjallen.dev:4242" ];
};
secretsPrefix = "allyx/nebula";
secretsFile = lib.snowfall.fs.get-file "secrets/allyx-secrets.yaml";
hostSecretName = "allyx";
@@ -79,14 +79,6 @@
};
};
programs.coolercontrol.enable = true;
environment.variables = {
GDK_SCALE = "1";
EDITOR = "${lib.getExe' pkgs.vscodium "codium"} --wait";
VISUAL = "${lib.getExe' pkgs.vscodium "codium"} --wait";
};
services = {
handheld-daemon = {
enable = true;
@@ -132,10 +124,9 @@
};
systemd = {
services = {
systemd-networkd-wait-online.enable = lib.mkForce false;
power-profiles-daemon.enable = lib.mkForce false;
inputplumber.enable = lib.mkForce false;
};
};
networking.networkmanager.wifi.backend = "iwd";
}

View File

@@ -37,9 +37,9 @@ in
# # Desktop # #
# ###################################################
# COSMIC is enabled for occasional local display access.
# Plasma is enabled for occasional local display access.
# headless.enable only disables watchdog/emergency mode, not the display server.
desktop.cosmic = enabled;
desktop.plasma = enabled;
# ###################################################
# # Development # #
@@ -285,7 +285,6 @@ in
];
};
"/etc".neededForBoot = true;
};
# Ensure Samba share root directories are owned by nix-apps:jallen-nas

View File

@@ -2,8 +2,8 @@
{
# as well as the libraries available from your flake's inputs.
lib,
# An instance of `pkgs` with your overlays and packages applied is also available.
pkgs,
# # An instance of `pkgs` with your overlays and packages applied is also available.
# pkgs,
# # You also have access to your flake's inputs.
# inputs,
@@ -40,7 +40,10 @@
enable = false;
wallpaperSource = "bing";
};
gnome.enable = true;
gnome = {
enable = true;
vscodium.enable = true;
};
};
gaming.enable = true;
@@ -54,6 +57,7 @@
amd = {
enable = true;
lact.enable = true;
coolercontrol.enable = true;
};
};
@@ -71,16 +75,13 @@
network = {
hostName = "matt-nixos";
iwd.enable = true;
networkmanager.enable = true;
};
services = {
nebula = {
enable = true;
port = 4242;
lighthouses = [ "10.1.1.1" ];
staticHostMap = {
"10.1.1.1" = [ "mjallen.dev:4242" ];
};
secretsPrefix = "matt-nixos/nebula";
secretsFile = lib.snowfall.fs.get-file "secrets/desktop-secrets.yaml";
hostSecretName = "matt-nixos";
@@ -88,17 +89,6 @@
};
};
programs.coolercontrol.enable = true;
systemd.services.systemd-networkd-wait-online.enable = lib.mkForce false;
environment.variables = {
GDK_SCALE = "1";
EDITOR = "${lib.getExe' pkgs.vscodium "codium"} --wait";
VISUAL = "${lib.getExe' pkgs.vscodium "codium"} --wait";
};
networking.networkmanager.wifi.backend = "iwd";
# security.wrappers.librepods = {
# source = "${pkgs.${namespace}.librepods}/bin/librepods";
# owner = "matt";
@@ -113,15 +103,13 @@
# kernelPackages = lib.mkOverride 90 pkgs.${namespace}.linuxPackages_cachyos-rc-lto-znver4;
# };
#};
"cosmic" = {
"plasma" = {
configuration = {
${namespace} = {
sops.enable = true;
desktop = {
cosmic.enable = lib.mkForce true;
hyprland = {
enable = lib.mkForce false;
};
plasma.enable = lib.mkForce true;
hyprland.enable = lib.mkForce false;
gnome.enable = lib.mkForce false;
};
};

View File

@@ -24,7 +24,6 @@ in
};
fileSystems = {
"/etc".neededForBoot = true;
"/media/matt/data" = {
device = "/dev/disk/by-uuid/f851d21e-27b3-4353-aa19-590d244db6e5";
fsType = "bcachefs";

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4;
}

View File

@@ -0,0 +1,181 @@
# Home Assistant dashboard definitions for nuc-nixos.
# Imported by default.nix and passed into the home-assistant module's
# `dashboards` option.
{ namespace, ... }:
{
${namespace}.services.home-assistant.dashboards = [
{
title = "Pets & Air Quality";
path = "pets-air";
icon = "mdi:paw";
cards = [
{
type = "markdown";
title = "🐾 Pets";
content = "## Pet Management";
}
{
type = "horizontal-stack";
cards = [
{
type = "entity";
entity = "select.joey_smart_feeder_manual_feed_quantity";
name = "Joey Feed";
}
{
type = "entity";
entity = "select.luci_smart_feeder_manual_feed_quantity";
name = "Luci Feed";
}
{
type = "entity";
entity = "text.joey_smart_feeder_text_on_display";
name = "Joey Display";
}
{
type = "entity";
entity = "text.luci_smart_feeder_text_on_display";
name = "Luci Display";
}
];
}
{
type = "entities";
title = "🐱 Litter Robot";
show_header_toggle = false;
entities = [
"vacuum.litter_robot_4_litter_box"
{
type = "button";
entity = "button.garbage_goober_deep";
name = "Deep Clean";
}
{
type = "button";
entity = "button.garbage_goober_pet_area_cleaning";
name = "Pet Area";
}
{
type = "button";
entity = "button.garbage_goober_intensive_sweeping";
name = "Intensive";
}
];
}
{
type = "markdown";
title = "🌬 Air Quality";
content = "## Air Purifiers & Humidity";
}
{
type = "horizontal-stack";
cards = [
{
type = "tile";
entity = "fan.living_room_air_purifier";
name = "Living Room";
icon = "mdi:air-purifier";
features = [
{
type = "fan-speed";
speed_count = 3;
}
];
}
{
type = "tile";
entity = "fan.bedroom_air_purifier";
name = "Bedroom";
icon = "mdi:air-purifier";
features = [
{
type = "fan-speed";
speed_count = 3;
}
];
}
{
type = "tile";
entity = "fan.bedroom_fan";
name = "Bedroom Fan";
icon = "mdi:fan";
features = [
{
type = "fan-speed";
speed_count = 4;
presets = [
{
name = "auto";
icon = "mdi:fan-auto";
}
{
name = "low";
icon = "mdi:fan-speed-1";
}
{
name = "medium";
icon = "mdi:fan-speed-2";
}
{
name = "high";
icon = "mdi:fan-speed-3";
}
];
}
];
}
];
}
{
type = "horizontal-stack";
cards = [
{
type = "tile";
entity = "humidifier.bedroom_humidifier";
name = "Bedroom Humidifier";
icon = "mdi:water-percent";
features = [
{
type = "humidifier-toggle";
}
{
type = "humidifier-modes";
modes = [
{
name = "auto";
icon = "mdi:refresh-auto";
}
{
name = "low";
icon = "mdi:water-percent";
}
{
name = "medium";
icon = "mdi:water-percent";
}
{
name = "high";
icon = "mdi:water-percent";
}
];
}
{
type = "humidifier-target-humidity";
}
];
}
];
}
{
type = "entities";
title = " Status";
show_header_toggle = false;
entities = [
"binary_sensor.bedroom_humidifier_low_water"
"binary_sensor.bedroom_humidifier_water_tank_lifted"
];
}
];
}
];
}

View File

@@ -1,34 +1,23 @@
{ namespace, ... }:
{
pkgs,
namespace,
...
}:
{
imports = [
./boot.nix
./dashboard.nix
];
${namespace} = {
sops.enable = true;
# ###################################################
# # Boot # #
# ###################################################
bootloader.lanzaboote.enable = true;
# ###################################################
# # Hardware # #
# ###################################################
hardware.disko = {
enable = true;
enableLuks = true;
filesystem = "btrfs";
# rootDisk = "/dev/loop0";
};
headless.enable = true;
# ###################################################
# # Impermanence # #
# ###################################################
impermanence = {
enable = true;
extraDirectories = [
@@ -41,10 +30,6 @@
];
};
# ###################################################
# # Network # #
# ###################################################
network = {
hostName = "nuc-nixos";
ipv4 = {
@@ -71,194 +56,11 @@
};
};
# ###################################################
# # Security # #
# ###################################################
security.tpm.enable = true;
# ###################################################
# # Services # #
# ###################################################
services = {
home-assistant = {
enable = true;
dashboards = [
{
title = "Pets & Air Quality";
path = "pets-air";
icon = "mdi:paw";
cards = [
{
type = "markdown";
title = "🐾 Pets";
content = "## Pet Management";
}
{
type = "horizontal-stack";
cards = [
{
type = "entity";
entity = "select.joey_smart_feeder_manual_feed_quantity";
name = "Joey Feed";
}
{
type = "entity";
entity = "select.luci_smart_feeder_manual_feed_quantity";
name = "Luci Feed";
}
{
type = "entity";
entity = "text.joey_smart_feeder_text_on_display";
name = "Joey Display";
}
{
type = "entity";
entity = "text.luci_smart_feeder_text_on_display";
name = "Luci Display";
}
];
}
{
type = "entities";
title = "🐱 Litter Robot";
show_header_toggle = false;
entities = [
"vacuum.litter_robot_4_litter_box"
{
type = "button";
entity = "button.garbage_goober_deep";
name = "Deep Clean";
}
{
type = "button";
entity = "button.garbage_goober_pet_area_cleaning";
name = "Pet Area";
}
{
type = "button";
entity = "button.garbage_goober_intensive_sweeping";
name = "Intensive";
}
];
}
{
type = "markdown";
title = "🌬 Air Quality";
content = "## Air Purifiers & Humidity";
}
{
type = "horizontal-stack";
cards = [
{
type = "tile";
entity = "fan.living_room_air_purifier";
name = "Living Room";
icon = "mdi:air-purifier";
features = [
{
type = "fan-speed";
speed_count = 3;
}
];
}
{
type = "tile";
entity = "fan.bedroom_air_purifier";
name = "Bedroom";
icon = "mdi:air-purifier";
features = [
{
type = "fan-speed";
speed_count = 3;
}
];
}
{
type = "tile";
entity = "fan.bedroom_fan";
name = "Bedroom Fan";
icon = "mdi:fan";
features = [
{
type = "fan-speed";
speed_count = 4;
presets = [
{
name = "auto";
icon = "mdi:fan-auto";
}
{
name = "low";
icon = "mdi:fan-speed-1";
}
{
name = "medium";
icon = "mdi:fan-speed-2";
}
{
name = "high";
icon = "mdi:fan-speed-3";
}
];
}
];
}
];
}
{
type = "horizontal-stack";
cards = [
{
type = "tile";
entity = "humidifier.bedroom_humidifier";
name = "Bedroom Humidifier";
icon = "mdi:water-percent";
features = [
{
type = "humidifier-toggle";
}
{
type = "humidifier-modes";
modes = [
{
name = "auto";
icon = "mdi:refresh-auto";
}
{
name = "low";
icon = "mdi:water-percent";
}
{
name = "medium";
icon = "mdi:water-percent";
}
{
name = "high";
icon = "mdi:water-percent";
}
];
}
{
type = "humidifier-target-humidity";
}
];
}
];
}
{
type = "entities";
title = " Status";
show_header_toggle = false;
entities = [
"binary_sensor.bedroom_humidifier_low_water"
"binary_sensor.bedroom_humidifier_water_tank_lifted"
];
}
];
}
];
automation = {
lightswitch = {
living-room-lights = {
@@ -309,21 +111,9 @@
};
};
# ###################################################
# # User # #
# ###################################################
user = {
name = "admin";
linger = true;
};
};
# ###################################################
# # Boot # #
# ###################################################
boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4;
fileSystems."/etc".neededForBoot = true;
}