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
|
||||
intuos.imports = [ ./hosts/intuos ];
|
||||
jupiter.imports = [ ./hosts/jupiter ];
|
||||
flight.imports = [ ./hosts/flight ];
|
||||
|
||||
# Servers
|
||||
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
|
||||
./hardware
|
||||
./services
|
||||
./user
|
||||
];
|
||||
|
||||
system = {
|
||||
nixos.tags = [ "pc" ];
|
||||
nixos.tags = [
|
||||
"pc"
|
||||
"school"
|
||||
];
|
||||
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
|
||||
./disko
|
||||
./hardware
|
||||
./user
|
||||
];
|
||||
|
||||
system = {
|
||||
nixos.tags = [ "pc" ];
|
||||
nixos.tags = [
|
||||
"pc"
|
||||
"production"
|
||||
];
|
||||
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
|
||||
./jovian
|
||||
./services
|
||||
./user
|
||||
];
|
||||
|
||||
system = {
|
||||
nixos.tags = [ "pc" ];
|
||||
nixos.tags = [
|
||||
"pc"
|
||||
"gaming"
|
||||
"production"
|
||||
"school"
|
||||
];
|
||||
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 = {
|
||||
enable = true;
|
||||
servers = {
|
||||
velocity.enable = true;
|
||||
johnside.enable = true;
|
||||
marsh.enable = true;
|
||||
cornworld.enable = true;
|
||||
skyblock.enable = true;
|
||||
velocity.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -5,11 +5,14 @@
|
|||
./disko
|
||||
./filesystems
|
||||
./hardware
|
||||
./user
|
||||
];
|
||||
|
||||
system = {
|
||||
nixos.tags = [ "pc" ];
|
||||
nixos.tags = [
|
||||
"pc"
|
||||
"gaming"
|
||||
"production"
|
||||
];
|
||||
stateVersion = "24.05";
|
||||
};
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
home-manager.users."${config.vars.mainUser}".home.guifull.enable = true;
|
||||
}
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
./ranger
|
||||
./ssh
|
||||
./tmux
|
||||
./yt-dlp
|
||||
./zellij
|
||||
./zoxide
|
||||
./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-discord-rpc.enable = true;
|
||||
};
|
||||
|
|
|
@ -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.
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue