Simplify home profile activation by folding it into the tags logic

This commit is contained in:
Bun 2025-06-30 11:04:46 -04:00
parent b3ba7481d8
commit 3398c611b7
27 changed files with 74 additions and 216 deletions

View file

@ -97,7 +97,6 @@
# Laptops # Laptops
intuos.imports = [ ./hosts/intuos ]; intuos.imports = [ ./hosts/intuos ];
jupiter.imports = [ ./hosts/jupiter ]; jupiter.imports = [ ./hosts/jupiter ];
flight.imports = [ ./hosts/flight ];
# Servers # Servers
midas.imports = [ ./hosts/midas ]; midas.imports = [ ./hosts/midas ];

View file

@ -1,11 +0,0 @@
{ lib, pkgs, ... }:
{
boot = {
kernelPackages = pkgs.linuxPackages;
loader.limine = {
enable = true;
biosDevice = lib.mkForce "/dev/disk/by-id/ata-XSTAR_SSD_64GB_XSFA2011000462";
};
plymouth.enable = true;
};
}

View file

@ -1,17 +0,0 @@
{ ... }:
{
imports = [
./boot
./filesystems
./hardware
./root
./user
];
system = {
nixos.tags = [ "pc" ];
stateVersion = "25.05";
};
deployment.targetHost = "409:b2b1:966c:b13:6d67:2d6b:45e2:f048";
}

View file

@ -1,14 +0,0 @@
{ config, ... }:
{
fileSystems = {
"/persist/storage" = {
device = "/dev/disk/by-uuid/3d6f81f2-7fa5-40a2-85bb-56f4cab63773";
fsType = "btrfs";
options = [
"nofail"
"nosuid"
"subvol=storage"
];
};
};
}

View file

@ -1,35 +0,0 @@
{ config, modulesPath, ... }:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot = {
initrd = {
availableKernelModules = [
"ehci_pci"
"ahci"
"xhci_pci"
"usb_storage"
"sd_mod"
"sr_mod"
];
kernelModules = [ "dm-snapshot" ];
};
kernelModules = [ "kvm-intel" ];
};
services.xserver.videoDrivers = [ "nvidia" ];
hardware = {
cpu.intel.updateMicrocode = true;
nvidia = {
package = config.boot.kernelPackages.nvidiaPackages.legacy_390;
prime = {
sync.enable = true;
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
};
nixpkgs.hostPlatform = "x86_64-linux";
}

View file

@ -1,54 +0,0 @@
{ config, name, ... }:
{
boot.initrd.luks.devices."${name}-disk".device = "/dev/disk/by-uuid/0fc43c11-c382-4e37-812b-8866b1b20e68";
fileSystems = {
"/boot" = {
device = "/dev/disk/by-uuid/FA96-EF11";
fsType = "vfat";
options = [ "umask=0077" ];
};
"/" = {
device = "/dev/disk/by-uuid/bbaf733b-14af-417b-b1c8-2f0534995483";
fsType = "btrfs";
options = [
"compress=zstd"
"ssd"
"subvol=root"
];
};
"/prev" = {
device = "/dev/disk/by-uuid/bbaf733b-14af-417b-b1c8-2f0534995483";
fsType = "btrfs";
options = [
"compress=zstd"
"noexec"
"ssd"
"subvol=prev"
];
};
"/nix" = {
device = "/dev/disk/by-uuid/bbaf733b-14af-417b-b1c8-2f0534995483";
fsType = "btrfs";
options = [
"compress=zstd"
"ssd"
"subvol=nix"
];
};
"/persist" = {
device = "/dev/disk/by-uuid/bbaf733b-14af-417b-b1c8-2f0534995483";
fsType = "btrfs";
neededForBoot = true;
options = [
"compress=zstd"
"ssd"
"subvol=persist"
];
};
};
swapDevices = [ { device = "/dev/disk/by-uuid/93ac8c5c-c947-4b45-a12a-146e87398517"; } ];
}

View file

@ -1,7 +0,0 @@
{ config, lib, ... }:
{
home-manager.users."${config.vars.mainUser}" = {
home.guifull.enable = true;
wayland.windowManager.sway.extraSessionCommands = lib.mkForce "";
};
}

View file

@ -5,11 +5,13 @@
./disko ./disko
./hardware ./hardware
./services ./services
./user
]; ];
system = { system = {
nixos.tags = [ "pc" ]; nixos.tags = [
"pc"
"school"
];
stateVersion = "24.11"; stateVersion = "24.11";
}; };

View file

@ -1,7 +0,0 @@
{ config, ... }:
{
home-manager.users."${config.vars.mainUser}".home = {
desktop.enable = true;
school.enable = true;
};
}

View file

@ -4,11 +4,13 @@
./boot ./boot
./disko ./disko
./hardware ./hardware
./user
]; ];
system = { system = {
nixos.tags = [ "pc" ]; nixos.tags = [
"pc"
"production"
];
stateVersion = "24.11"; stateVersion = "24.11";
}; };

View file

@ -1,7 +0,0 @@
{ config, ... }:
{
home-manager.users."${config.vars.mainUser}".home = {
desktop.enable = true;
production.enable = true;
};
}

View file

@ -7,11 +7,15 @@
./hardware ./hardware
./jovian ./jovian
./services ./services
./user
]; ];
system = { system = {
nixos.tags = [ "pc" ]; nixos.tags = [
"pc"
"gaming"
"production"
"school"
];
stateVersion = "24.11"; stateVersion = "24.11";
}; };

View file

@ -1,8 +0,0 @@
{ config, ... }:
{
home-manager.users."${config.vars.mainUser}".home = {
guifull.enable = true;
school.enable = true;
enableNixpkgsReleaseCheck = false;
};
}

View file

@ -20,11 +20,9 @@
minecraft-servers = { minecraft-servers = {
enable = true; enable = true;
servers = { servers = {
velocity.enable = true;
johnside.enable = true; johnside.enable = true;
marsh.enable = true;
cornworld.enable = true;
skyblock.enable = true; skyblock.enable = true;
velocity.enable = true;
}; };
}; };
}; };

View file

@ -5,11 +5,14 @@
./disko ./disko
./filesystems ./filesystems
./hardware ./hardware
./user
]; ];
system = { system = {
nixos.tags = [ "pc" ]; nixos.tags = [
"pc"
"gaming"
"production"
];
stateVersion = "24.05"; stateVersion = "24.05";
}; };

View file

@ -1,4 +0,0 @@
{ config, ... }:
{
home-manager.users."${config.vars.mainUser}".home.guifull.enable = true;
}

View file

@ -1,7 +1,5 @@
{ lib, ... }: { lib, ... }:
{ {
imports = [ ./guifull ];
options.home = with lib; { options.home = with lib; {
desktop.enable = mkEnableOption "Desktop programs and services"; desktop.enable = mkEnableOption "Desktop programs and services";
gaming.enable = mkEnableOption "Gaming apps and programs"; gaming.enable = mkEnableOption "Gaming apps and programs";

View file

@ -1,12 +0,0 @@
{ config, lib, ... }:
{
options.home = with lib; {
guifull.enable = mkEnableOption "Enable most other GUI profiles";
};
config.home = lib.mkIf config.home.guifull.enable {
desktop.enable = true;
gaming.enable = true;
production.enable = true;
};
}

View file

@ -14,8 +14,8 @@
./nix-index ./nix-index
./ranger ./ranger
./ssh ./ssh
./tmux
./yt-dlp ./yt-dlp
./zellij
./zoxide ./zoxide
./zsh ./zsh
]; ];

View file

@ -0,0 +1,24 @@
{ ... }:
{
programs.tmux = {
enable = true;
keyMode = "vi";
mouse = true;
terminal = "st-256color";
historyLimit = 4096;
baseIndex = 1;
extraConfig = ''
set -g status on
set -g status-left ""
set -g status-position bottom
set -g status-right "#[bg=brightblack]#[fg=dark_purple] #T "
set -g status-style "bg=black"
set -g set-titles on
set -g set-titles-string "#T"
setw -g window-status-format "#[bg=brightmagenta]#[fg=black] #I #[bg=brightblack]#[fg=white] #W "
setw -g window-status-current-format "#[bg=brightmagenta]#[fg=black] #I #[bg=white]#[fg=black] #W "
'';
};
}

View file

@ -1,10 +0,0 @@
{ config, lib, ... }:
{
programs.zellij.enable = true;
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories =
with lib; with config.home; with config.xdg; [
"state/${removePrefix "${homeDirectory}/" cacheHome}/zellij"
"state/${removePrefix "${homeDirectory}/" configHome}/zellij"
];
}

View file

@ -14,6 +14,15 @@
} }
''; '';
}; };
mpdscribble = {
enable = true;
endpoints."last.fm" = {
username = "viceebun";
passwordFile = "${config.xdg.dataHome}/mpd/lastfm_password";
};
};
mpd-mpris.enable = true; mpd-mpris.enable = true;
mpd-discord-rpc.enable = true; mpd-discord-rpc.enable = true;
}; };

View file

@ -6,7 +6,6 @@
"${hidden.config.deployment.targetHost}" = [ "hidden" ]; "${hidden.config.deployment.targetHost}" = [ "hidden" ];
"${intuos.config.deployment.targetHost}" = [ "intuos" ]; "${intuos.config.deployment.targetHost}" = [ "intuos" ];
"${jupiter.config.deployment.targetHost}" = [ "jupiter" ]; "${jupiter.config.deployment.targetHost}" = [ "jupiter" ];
"${flight.config.deployment.targetHost}" = [ "flight" ];
# Servers # Servers
"${midas.config.deployment.targetHost}" = [ "midas" ]; "${midas.config.deployment.targetHost}" = [ "midas" ];

Binary file not shown.

View file

@ -25,9 +25,9 @@
"jimbo@nixfox.ca" = { "jimbo@nixfox.ca" = {
hashedPassword = config.secrets.mailHash.bun; hashedPassword = config.secrets.mailHash.bun;
aliases = [ aliases = [
"james@nixfox.ca"
"bun@nixfox.ca" "bun@nixfox.ca"
"aubun@nixfox.ca"
"bun@bloxelcom.net" "bun@bloxelcom.net"
"contact@nixfox.ca" "contact@nixfox.ca"

View file

@ -18,17 +18,20 @@
# Common whitelist # Common whitelist
whitelist = { whitelist = {
K5G = "8656dc10-6050-4a17-b29e-88c4babbc54c"; # Me!
JimmJam = "2f7affee-e10b-450f-a5e2-44c79a14a109"; viceebun = "f583f591-ad9b-4a30-8d91-514881b31394";
Viceebun = "f583f591-ad9b-4a30-8d91-514881b31394"; monarchbun = "2f7affee-e10b-450f-a5e2-44c79a14a109";
aubund = "8656dc10-6050-4a17-b29e-88c4babbc54c";
# Everyone else
Ankha3000 = "dd65a277-f618-411e-812c-900c9c7e82d9";
DewDemolisher = "9205524f-3886-483d-b471-82bb9905671a"; DewDemolisher = "9205524f-3886-483d-b471-82bb9905671a";
Freecorn1854 = "8299cd8d-3cd4-4779-8180-0d9db6dc12a9"; Freecorn1854 = "8299cd8d-3cd4-4779-8180-0d9db6dc12a9";
Freemid1854 = "cf430607-3c2e-4c8b-8183-28299e801fa5"; Freemid1854 = "cf430607-3c2e-4c8b-8183-28299e801fa5";
Tinyattack09 = "aaa8e9e2-4e51-4925-b9df-8a9504aec5d5";
Ankha3000 = "dd65a277-f618-411e-812c-900c9c7e82d9";
catoiico = "01f10cdf-c146-437e-99b1-2278b5dbe420";
Sp0ok7 = "016c3daa-3dd5-4631-ae79-3a6f48d7cbe6";
PooxterMooxter = "c973f4b5-ab50-45e3-b3eb-36286a6f66aa"; PooxterMooxter = "c973f4b5-ab50-45e3-b3eb-36286a6f66aa";
Sp0ok7 = "016c3daa-3dd5-4631-ae79-3a6f48d7cbe6";
Tinyattack09 = "aaa8e9e2-4e51-4925-b9df-8a9504aec5d5";
catoiico = "01f10cdf-c146-437e-99b1-2278b5dbe420";
}; };
# Common plugins # Common plugins
@ -45,10 +48,6 @@
url = "https://cdn.modrinth.com/data/9eGKb6K1/versions/Il6UOBoH/voicechat-bukkit-2.5.27.jar"; url = "https://cdn.modrinth.com/data/9eGKb6K1/versions/Il6UOBoH/voicechat-bukkit-2.5.27.jar";
sha256 = "1k95sy0hf74y80fzk7960ww8wk210phyaiqkn4q7wlagdq48mxqm"; sha256 = "1k95sy0hf74y80fzk7960ww8wk210phyaiqkn4q7wlagdq48mxqm";
}; };
"plugins/ViaVersion.jar" = builtins.fetchurl {
url = "https://cdn.modrinth.com/data/P1OZGk5p/versions/cdC9vQSF/ViaVersion-5.3.2.jar";
sha256 = "0q1jrd3n6pyki8pyvckhm0d2jgh3lhzkq99cngskj3mlfb9pr57l";
};
}; };
# Config files # Config files

View file

@ -40,8 +40,15 @@
uid = 1000; uid = 1000;
}; };
# Import hm config, enable profiles based on system tags
home-manager.users."${config.vars.mainUser}" = { home-manager.users."${config.vars.mainUser}" = {
imports = [ ../../../home ]; imports = [ ../../../home ];
home.stateVersion = lib.mkForce config.system.stateVersion; home = {
desktop.enable = builtins.elem "pc" config.system.nixos.tags;
gaming.enable = builtins.elem "gaming" config.system.nixos.tags;
production.enable = builtins.elem "production" config.system.nixos.tags;
school.enable = builtins.elem "school" config.system.nixos.tags;
stateVersion = lib.mkForce config.system.stateVersion;
};
}; };
} }