diff options
| author | Grace Yoder <grace_yoder@outlook.com> | 2026-09-24 19:47:24 -0400 |
|---|---|---|
| committer | Grace Yoder <grace_yoder@outlook.com> | 2026-09-25 13:06:20 -0400 |
| commit | f6d8e3253f9aadce26cb9f7d51245e2691cd8627 (patch) | |
| tree | 84193b09b5e174737e165d6c22b2bc2c8935c9f2 | |
| parent | ddf0c7981fbeaa6a45591a66132a330c804259ec (diff) | |
loadable hosts
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | configuration.nix | 7 | ||||
| -rwxr-xr-x | darwin.nix | 9 | ||||
| -rwxr-xr-x | home.nix | 22 | ||||
| -rw-r--r-- | host.nix | 1 | ||||
| -rwxr-xr-x | hosts/turing.nix | 4 |
6 files changed, 16 insertions, 28 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..de71b01 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/host.nix diff --git a/configuration.nix b/configuration.nix index a321226..2b48913 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,8 +1,7 @@ -{ config, ... }: +{ ... }: let - host = import ./. + "/host.nix"; - conf = import ./. + "/hosts/${host.name}.nix"; + host = import ./host.nix; in { - config = conf; + imports = [ (./hosts + "/${host.name}.nix") ]; } @@ -6,16 +6,15 @@ }: let - paneru = builtins.getFlake "github:karinushka/paneru/bcf248ef60aa4c0b49002161b97bc6e268b05aa7"; - hostName = import ./host.nix; - primaryUser = if lib.hasSuffix "cs.purdue.edu" hostName then "yoder177" else "grace"; + paneru = builtins.getFlake "github:karinushka/paneru/5a033bc3a59f752ae72944f06945ab13cc570e04"; + host = import ./host.nix; in { imports = [ paneru.darwinModules.paneru ]; nixpkgs.config.allowUnfree = true; nixpkgs.hostPlatform = "aarch64-darwin"; - networking.hostName = hostName; + networking.hostName = host.name; environment.systemPackages = [ pkgs.raycast @@ -23,7 +22,7 @@ in ]; system = { - primaryUser = primaryUser; + primaryUser = host.user; stateVersion = 7; }; @@ -4,23 +4,12 @@ }: let - detectedHostname = - if builtins.match ".*-darwin" builtins.currentSystem != null then - "turing" - else - builtins.getEnv "HOSTNAME"; - detectedUsername = builtins.getEnv "USER"; - detectedHome = - let - envHome = builtins.getEnv "HOME"; - in - # Will not work on cs.purdue.edu - if envHome != "" then envHome else "/home/${detectedUsername}"; + host = import ./host.nix; in { home = { - username = lib.mkDefault detectedUsername; - homeDirectory = lib.mkDefault detectedHome; + username = host.user; + homeDirectory = host.home; }; imports = [ @@ -32,14 +21,13 @@ in ./home/langs.nix ./home/vcs.nix ] - ++ lib.optionals (detectedHostname == "turing") [ + ++ lib.optionals (host.name == "turing") [ ./home/packages.nix ./home/typst.nix ./home/pkgs_mac.nix ./home/ghostty.nix ] - ++ lib.optionals (lib.hasSuffix "cs.purdue.edu" detectedHostname) [ + ++ lib.optionals (lib.hasSuffix "cs.purdue.edu" host.name) [ ./home/cs_purdue.nix - ./home/ghostty.nix ]; } @@ -1,4 +1,5 @@ { name = "turing"; user = "grace"; + home = "/Users/grace"; } diff --git a/hosts/turing.nix b/hosts/turing.nix index d03bd22..c54c9ac 100755 --- a/hosts/turing.nix +++ b/hosts/turing.nix @@ -11,7 +11,7 @@ in ]; imports = [ - ./darwin.nix + ../darwin.nix "${home-manager}/nix-darwin" ]; @@ -20,7 +20,7 @@ in useUserPackages = true; backupFileExtension = "backup"; users.${config.system.primaryUser} = { - imports = [ ./home.nix ]; + imports = [ ../home.nix ]; home.username = config.system.primaryUser; home.homeDirectory = "/Users/${config.system.primaryUser}"; }; |
