plasma
This commit is contained in:
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user