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

@ -1,7 +1,5 @@
{ lib, ... }:
{
imports = [ ./guifull ];
options.home = with lib; {
desktop.enable = mkEnableOption "Desktop programs and services";
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
./ranger
./ssh
./tmux
./yt-dlp
./zellij
./zoxide
./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-discord-rpc.enable = true;
};

View file

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

Binary file not shown.

View file

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

View file

@ -18,17 +18,20 @@
# Common whitelist
whitelist = {
K5G = "8656dc10-6050-4a17-b29e-88c4babbc54c";
JimmJam = "2f7affee-e10b-450f-a5e2-44c79a14a109";
Viceebun = "f583f591-ad9b-4a30-8d91-514881b31394";
# Me!
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";
Freecorn1854 = "8299cd8d-3cd4-4779-8180-0d9db6dc12a9";
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";
Sp0ok7 = "016c3daa-3dd5-4631-ae79-3a6f48d7cbe6";
Tinyattack09 = "aaa8e9e2-4e51-4925-b9df-8a9504aec5d5";
catoiico = "01f10cdf-c146-437e-99b1-2278b5dbe420";
};
# Common plugins
@ -45,10 +48,6 @@
url = "https://cdn.modrinth.com/data/9eGKb6K1/versions/Il6UOBoH/voicechat-bukkit-2.5.27.jar";
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

View file

@ -40,8 +40,15 @@
uid = 1000;
};
# Import hm config, enable profiles based on system tags
home-manager.users."${config.vars.mainUser}" = {
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;
};
};
}