mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-05-19 13:06:52 +02:00
refactor(home): consolidate host home modules under home/hosts
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
# Host Home Modules
|
||||
|
||||
This directory contains host-specific Home Manager entry modules.
|
||||
|
||||
## Layout
|
||||
|
||||
- `home/hosts/linux/*.nix`: Linux host home modules
|
||||
- `home/hosts/darwin/*.nix`: macOS host home modules
|
||||
|
||||
## Conventions
|
||||
|
||||
1. Each host output should reference only one file under `home/hosts/...`.
|
||||
2. Shared home module imports should be handled in the host file itself.
|
||||
- Linux hosts usually import `../../linux/core.nix` or `../../linux/gui.nix`.
|
||||
- Darwin hosts import `../../darwin`.
|
||||
3. Host-specific overrides (SSH keys, desktop toggles, host-local config links) live in the same
|
||||
host file.
|
||||
@@ -0,0 +1,10 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
hostName = "fern";
|
||||
in
|
||||
{
|
||||
imports = [ ../../darwin ];
|
||||
|
||||
programs.ssh.matchBlocks."github.com".identityFile =
|
||||
"${config.home.homeDirectory}/.ssh/${hostName}";
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
hostName = "frieren";
|
||||
in
|
||||
{
|
||||
imports = [ ../../darwin ];
|
||||
|
||||
programs.ssh.matchBlocks."github.com".identityFile =
|
||||
"${config.home.homeDirectory}/.ssh/${hostName}";
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
hostName = "shoukei"; # Define your hostname.
|
||||
mkSymlink = config.lib.file.mkOutOfStoreSymlink;
|
||||
in
|
||||
{
|
||||
imports = [ ../../linux/gui.nix ];
|
||||
|
||||
programs.ssh.matchBlocks."github.com".identityFile =
|
||||
"${config.home.homeDirectory}/.ssh/${hostName}";
|
||||
|
||||
modules.desktop.gaming.enable = false;
|
||||
modules.desktop.niri.enable = true;
|
||||
modules.desktop.nvidia.enable = false;
|
||||
|
||||
xdg.configFile."niri/niri-hardware.kdl".source =
|
||||
mkSymlink "${config.home.homeDirectory}/nix-config/hosts/12kingdoms-shoukei/niri-hardware.kdl";
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
mkSymlink = config.lib.file.mkOutOfStoreSymlink;
|
||||
in
|
||||
{
|
||||
imports = [ ../../linux/gui.nix ];
|
||||
|
||||
programs.ssh.matchBlocks."github.com".identityFile = "${config.home.homeDirectory}/.ssh/idols-ai";
|
||||
|
||||
modules.desktop.gaming.enable = true;
|
||||
modules.desktop.niri.enable = true;
|
||||
modules.desktop.nvidia.enable = true;
|
||||
|
||||
xdg.configFile."niri/niri-hardware.kdl".source =
|
||||
mkSymlink "${config.home.homeDirectory}/nix-config/hosts/idols-ai/niri-hardware.kdl";
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
programs.gh.enable = true;
|
||||
programs.git.enable = true;
|
||||
|
||||
programs.zellij.enable = true;
|
||||
programs.bash.enable = true;
|
||||
programs.nushell.enable = true;
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
};
|
||||
|
||||
home.stateVersion = "25.11";
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
imports = [ ./idols-aquamarine.nix ];
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
imports = [ ./idols-aquamarine.nix ];
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
imports = [ ../../linux/core.nix ];
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
imports = [ ../../linux/core.nix ];
|
||||
}
|
||||
Reference in New Issue
Block a user