Fold more logic into the tagging system

This commit is contained in:
Bun 2025-06-30 19:42:19 -04:00
parent 3398c611b7
commit 7999794410
14 changed files with 60 additions and 25 deletions

View file

@ -4,7 +4,7 @@
disk = { disk = {
"${name}" = { "${name}" = {
type = "disk"; type = "disk";
device = "/dev/nvme0n1"; device = "/dev/disk/by-id/nvme-Sabrent_SB-2130-1TB_48791579308725";
content = { content = {
type = "gpt"; type = "gpt";
partitions = { partitions = {

View file

@ -3,6 +3,15 @@
imports = [ ./desktop ]; imports = [ ./desktop ];
config = lib.mkIf config.jovian.steam.enable { config = lib.mkIf config.jovian.steam.enable {
# Kernel and hardware
boot = {
kernelPackages = lib.mkForce pkgs.linuxPackages_jovian;
supportedFilesystems.nfs = lib.mkForce false;
};
hardware.xone.enable = true;
# Steam and Jovian services
jovian = { jovian = {
steam = { steam = {
autoStart = true; autoStart = true;
@ -18,18 +27,10 @@
}; };
}; };
# Evil kernel
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_jovian;
programs.steam.extest.enable = true; programs.steam.extest.enable = true;
hardware.xone.enable = true; # Networkmanager for UI compatibility
networking.networkmanager.enable = true;
# Use networkmanager for ui compatibility
networking = {
networkmanager.enable = true;
wireless.enable = lib.mkForce false;
};
# Disable conflicting services # Disable conflicting services
services = { services = {
@ -37,14 +38,6 @@
tlp.enable = lib.mkForce false; tlp.enable = lib.mkForce false;
}; };
# Disable network filesystems
fileSystems = {
"midas".enable = false;
"kitty".enable = false;
"detritus".enable = false;
"prophet".enable = false;
};
environment.persistence."/persist".directories = [ environment.persistence."/persist".directories = [
"/etc/NetworkManager/system-connections" "/etc/NetworkManager/system-connections"
"/var/lib/decky-loader" "/var/lib/decky-loader"

View file

@ -9,5 +9,13 @@
libvirtd.enable = true; libvirtd.enable = true;
vmware.host.enable = true; vmware.host.enable = true;
}; };
services.nginx = {
enable = true;
virtualHosts."localhost" = {
default = true;
root = "/var/www/landing-page";
};
};
}; };
} }

View file

@ -0,0 +1,6 @@
{ ... }:
{
imports = [ ./nixfox ];
services.nginx.enable = true;
}

View file

@ -0,0 +1,10 @@
{ config, lib, ... }:
{
services.nginx = {
enable = true;
virtualHosts."localhost" = {
default = true;
root = "/var/www/landing-page";
};
};
}

View file

@ -10,6 +10,7 @@
system = { system = {
nixos.tags = [ nixos.tags = [
"pc" "pc"
"chat"
"gaming" "gaming"
"production" "production"
]; ];

View file

@ -2,6 +2,7 @@
{ {
options.home = with lib; { options.home = with lib; {
desktop.enable = mkEnableOption "Desktop programs and services"; desktop.enable = mkEnableOption "Desktop programs and services";
chat.enable = mkEnableOption "Chat applications";
gaming.enable = mkEnableOption "Gaming apps and programs"; gaming.enable = mkEnableOption "Gaming apps and programs";
production.enable = mkEnableOption "Apps for visual productivity"; production.enable = mkEnableOption "Apps for visual productivity";
school.enable = mkEnableOption "Apps for school and college"; school.enable = mkEnableOption "Apps for school and college";

View file

@ -0,0 +1,16 @@
{ config, lib, pkgs, ... }:
{
home = lib.mkIf config.home.chat.enable {
packages = with pkgs; [
element-desktop
vesktop
wasistlos
];
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories =
with lib; with config.home; with config.xdg; [
"data/${removePrefix "${homeDirectory}/" configHome}/Element"
"data/${removePrefix "${homeDirectory}/" configHome}/vesktop"
"data/${removePrefix "${homeDirectory}/" cacheHome}/wasistlos"
];
};
}

View file

@ -2,6 +2,7 @@
{ {
imports = [ imports = [
./avtools ./avtools
./chat
./gaming ./gaming
./general ./general
./headless ./headless

View file

@ -4,12 +4,10 @@
packages = with pkgs; [ packages = with pkgs; [
libreoffice libreoffice
qbittorrent qbittorrent
vesktop
]; ];
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories =
with lib; with config.home; with config.xdg; [ with lib; with config.home; with config.xdg; [
"data/${removePrefix "${homeDirectory}/" configHome}/qBittorrent" "data/${removePrefix "${homeDirectory}/" configHome}/qBittorrent"
"data/${removePrefix "${homeDirectory}/" configHome}/vesktop"
]; ];
}; };
} }

View file

@ -7,7 +7,7 @@
support32Bit = true; support32Bit = true;
}; };
pulse.enable = true; pulse.enable = true;
#jack.enable = true; jack.enable = builtins.elem "production" config.system.nixos.tags;
wireplumber.extraConfig."wireplumber.settings"."bluetooth.autoswitch-to-headset-profile" = false; wireplumber.extraConfig."wireplumber.settings"."bluetooth.autoswitch-to-headset-profile" = false;
}; };
} }

View file

@ -1,7 +1,7 @@
{ ... }: { config, ... }:
{ {
networking.wireless = { networking.wireless = {
enable = true; enable = !config.networking.networkmanager.enable;
userControlled.enable = true; userControlled.enable = true;
}; };
} }

View file

@ -1,7 +1,7 @@
{ config, ... }: { config, ... }:
{ {
programs.gamemode = { programs.gamemode = {
enable = builtins.elem "pc" config.system.nixos.tags; enable = builtins.elem "gaming" config.system.nixos.tags;
settings = { settings = {
general.renice = 10; general.renice = 10;
gpu = { gpu = {

View file

@ -45,6 +45,7 @@
imports = [ ../../../home ]; imports = [ ../../../home ];
home = { home = {
desktop.enable = builtins.elem "pc" config.system.nixos.tags; desktop.enable = builtins.elem "pc" config.system.nixos.tags;
chat.enable = builtins.elem "chat" config.system.nixos.tags;
gaming.enable = builtins.elem "gaming" config.system.nixos.tags; gaming.enable = builtins.elem "gaming" config.system.nixos.tags;
production.enable = builtins.elem "production" config.system.nixos.tags; production.enable = builtins.elem "production" config.system.nixos.tags;
school.enable = builtins.elem "school" config.system.nixos.tags; school.enable = builtins.elem "school" config.system.nixos.tags;