Simplify home profile activation by folding it into the tags logic
This commit is contained in:
parent
b3ba7481d8
commit
3398c611b7
27 changed files with 74 additions and 216 deletions
|
@ -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 ];
|
||||||
|
|
|
@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -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";
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -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";
|
|
||||||
}
|
|
|
@ -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"; } ];
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
{
|
|
||||||
home-manager.users."${config.vars.mainUser}" = {
|
|
||||||
home.guifull.enable = true;
|
|
||||||
wayland.windowManager.sway.extraSessionCommands = lib.mkForce "";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
{ config, ... }:
|
|
||||||
{
|
|
||||||
home-manager.users."${config.vars.mainUser}".home = {
|
|
||||||
desktop.enable = true;
|
|
||||||
school.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
{ config, ... }:
|
|
||||||
{
|
|
||||||
home-manager.users."${config.vars.mainUser}".home = {
|
|
||||||
desktop.enable = true;
|
|
||||||
production.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
{ config, ... }:
|
|
||||||
{
|
|
||||||
home-manager.users."${config.vars.mainUser}".home = {
|
|
||||||
guifull.enable = true;
|
|
||||||
school.enable = true;
|
|
||||||
enableNixpkgsReleaseCheck = false;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
{ config, ... }:
|
|
||||||
{
|
|
||||||
home-manager.users."${config.vars.mainUser}".home.guifull.enable = true;
|
|
||||||
}
|
|
|
@ -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";
|
||||||
|
|
|
@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -14,8 +14,8 @@
|
||||||
./nix-index
|
./nix-index
|
||||||
./ranger
|
./ranger
|
||||||
./ssh
|
./ssh
|
||||||
|
./tmux
|
||||||
./yt-dlp
|
./yt-dlp
|
||||||
./zellij
|
|
||||||
./zoxide
|
./zoxide
|
||||||
./zsh
|
./zsh
|
||||||
];
|
];
|
||||||
|
|
24
modules/home/programs/terminal/tmux/default.nix
Normal file
24
modules/home/programs/terminal/tmux/default.nix
Normal 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 "
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
|
@ -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"
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
|
@ -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.
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue