Compare commits

..

No commits in common. "704a630a339f04f61904efb075dfd3756d718972" and "ccd08cf21d01ae1dd6b92de6daf575fc296b68d5" have entirely different histories.

49 changed files with 70 additions and 125 deletions

View file

@ -134,7 +134,7 @@
} }
# Import secrets # Import secrets
./modules/global/secret-spec.nix ./modules/common/secret-spec.nix
./secrets.nix ./secrets.nix
# Host-specific configuration # Host-specific configuration

View file

@ -15,7 +15,7 @@ in
{ {
imports = lib.flatten [ imports = lib.flatten [
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
"modules/global" "modules/common"
"modules/home" "modules/home"
]) ])
./asdf.nix ./asdf.nix

View file

@ -16,7 +16,7 @@ in
(lib.custom.scanPaths ./.) (lib.custom.scanPaths ./.)
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
"modules/global" "modules/common"
"hosts/users" "hosts/users"
]) ])
]; ];

View file

@ -0,0 +1,22 @@
{
inputs,
pkgs,
...
}:
{
imports = [
inputs.nixtheplanet.nixosModules.macos-ventura
];
services.macos-ventura = {
enable = true;
package = pkgs.makeDarwinImage { diskSizeBytes = 80000000000; };
openFirewall = true;
vncListenAddr = "0.0.0.0";
autoStart = false;
extraQemuFlags = [
"-spice"
"port=5930,addr=127.0.0.1,disable-ticketing"
];
};
}

View file

@ -27,11 +27,11 @@ in
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
## Required Configs ## ## Required Configs ##
"hosts/global/core" "hosts/common/core"
## Optional Configs ## ## Optional Configs ##
"hosts/global/common/acme" "hosts/common/optional/acme"
"hosts/global/common/docker.nix" "hosts/common/optional/docker.nix"
## Host user ## ## Host user ##
"hosts/users/${username}" # Not the best solution but I always have one user so ¯\_(ツ)_/¯ "hosts/users/${username}" # Not the best solution but I always have one user so ¯\_(ツ)_/¯

View file

@ -10,7 +10,7 @@ in
{ {
imports = lib.flatten [ imports = lib.flatten [
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
"hosts/global/common/system/lxc.nix" "hosts/common/optional/system/lxc.nix"
]) ])
]; ];

View file

@ -26,11 +26,11 @@ in
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
## Required Configs ## ## Required Configs ##
"hosts/global/core" "hosts/common/core"
## Optional Configs ## ## Optional Configs ##
"hosts/global/common/acme" "hosts/common/optional/acme"
"hosts/global/common/docker.nix" "hosts/common/optional/docker.nix"
## Host User ## ## Host User ##
"hosts/users/${username}" # # Not the best solution but I always have one user so ¯\_(ツ)_/¯ "hosts/users/${username}" # # Not the best solution but I always have one user so ¯\_(ツ)_/¯

View file

@ -5,8 +5,8 @@
{ {
imports = lib.flatten [ imports = lib.flatten [
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
"hosts/global/common/system/lxc.nix" "hosts/common/optional/system/lxc.nix"
"hosts/global/common/system/pool.nix" "hosts/common/optional/system/pool.nix"
]) ])
]; ];
} }

View file

@ -25,7 +25,7 @@ in
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
## Required Configs ## ## Required Configs ##
"hosts/global/core" "hosts/common/core"
## Proxy Specific ## ## Proxy Specific ##
"hosts/users/${username}" # # Not the best solution but I always have one user so ¯\_(ツ)_/¯ "hosts/users/${username}" # # Not the best solution but I always have one user so ¯\_(ツ)_/¯

View file

@ -5,8 +5,8 @@
{ {
imports = lib.flatten [ imports = lib.flatten [
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
"hosts/global/common/system/lxc.nix" "hosts/common/optional/system/lxc.nix"
"hosts/global/common/system/pool.nix" "hosts/common/optional/system/pool.nix"
]) ])
]; ];
} }

View file

@ -25,7 +25,7 @@ in
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
## Required Configs ## ## Required Configs ##
"hosts/global/core" "hosts/common/core"
## Optional Configs ## ## Optional Configs ##

View file

@ -5,8 +5,8 @@
{ {
imports = lib.flatten [ imports = lib.flatten [
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
"hosts/global/common/system/lxc.nix" "hosts/common/optional/system/lxc.nix"
"hosts/global/common/system/pool.nix" "hosts/common/optional/system/pool.nix"
]) ])
]; ];
} }

View file

@ -27,11 +27,11 @@ in
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
## Required Configs ## ## Required Configs ##
"hosts/global/core" "hosts/common/core"
## Optional Configs ## ## Optional Configs ##
"hosts/global/common/acme" "hosts/common/optional/acme"
"hosts/global/common/docker.nix" "hosts/common/optional/docker.nix"
## Proxy User ## ## Proxy User ##
"hosts/users/${username}" # # Not the best solution but I always have one user so ¯\_(ツ)_/¯ "hosts/users/${username}" # # Not the best solution but I always have one user so ¯\_(ツ)_/¯

View file

@ -5,8 +5,8 @@
{ {
imports = lib.flatten [ imports = lib.flatten [
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
"hosts/global/common/system/lxc.nix" "hosts/common/optional/system/lxc.nix"
"hosts/global/common/system/pool.nix" "hosts/common/optional/system/pool.nix"
]) ])
]; ];
} }

View file

@ -27,21 +27,21 @@ in
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
## Required Configs ## ## Required Configs ##
"hosts/global/core" "hosts/common/core"
## Optional Configs ## ## Optional Configs ##
"hosts/global/common/audio.nix" # pipewire and cli controls "hosts/common/optional/audio.nix" # pipewire and cli controls
"hosts/global/common/adb.nix" # android tools "hosts/common/optional/adb.nix" # android tools
"hosts/global/common/bluetooth.nix" "hosts/common/optional/bluetooth.nix"
"hosts/global/common/ddcutil.nix" # ddcutil for monitor controls "hosts/common/optional/ddcutil.nix" # ddcutil for monitor controls
"hosts/global/common/gaming.nix" # steam, gamescope, gamemode, and related hardware "hosts/common/optional/gaming.nix" # steam, gamescope, gamemode, and related hardware
# "hosts/global/common/gnome.nix" # desktop # "hosts/common/optional/gnome.nix" # desktop
"hosts/global/common/hyprland" # desktop "hosts/common/optional/hyprland" # desktop
"hosts/global/common/libvirt.nix" # vm tools "hosts/common/optional/libvirt.nix" # vm tools
"hosts/global/common/nvtop.nix" # GPU monitor (not available in home-manager) "hosts/common/optional/nvtop.nix" # GPU monitor (not available in home-manager)
"hosts/global/common/plymouth.nix" # fancy boot screen "hosts/common/optional/plymouth.nix" # fancy boot screen
"hosts/global/common/vial.nix" # KB setup "hosts/common/optional/vial.nix" # KB setup
# "hosts/global/common/ventura.nix" # macos vm # "hosts/common/optional/ventura.nix" # macos vm
## Misc Inputs ## ## Misc Inputs ##

View file

@ -14,7 +14,7 @@
imports = lib.flatten [ imports = lib.flatten [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
"hosts/global/common/system/pool.nix" "hosts/common/optional/system/pool.nix"
]) ])
]; ];

View file

@ -24,15 +24,15 @@ in
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
## Required Configs ## ## Required Configs ##
"hosts/global/core" "hosts/common/core"
## Optional Configs ## ## Optional Configs ##
"hosts/global/common/audio.nix" # pipewire and cli controls "hosts/common/optional/audio.nix" # pipewire and cli controls
# "hosts/global/common/gaming.nix" # steam, gamescope, gamemode, and related hardware # "hosts/common/optional/gaming.nix" # steam, gamescope, gamemode, and related hardware
# "hosts/global/common/gnome.nix" # desktop # "hosts/common/optional/gnome.nix" # desktop
"hosts/global/common/hyprland" # desktop "hosts/common/optional/hyprland" # desktop
# "hosts/global/common/nvtop.nix" # GPU monitor (not available in home-manager) # "hosts/common/optional/nvtop.nix" # GPU monitor (not available in home-manager)
# "hosts/global/common/plymouth.nix" # fancy boot screen # "hosts/common/optional/plymouth.nix" # fancy boot screen
## Misc Inputs ## ## Misc Inputs ##

View file

@ -12,7 +12,7 @@ in
imports = lib.flatten [ imports = lib.flatten [
(modulesPath + "/profiles/qemu-guest.nix") (modulesPath + "/profiles/qemu-guest.nix")
(map lib.custom.relativeToRoot [ (map lib.custom.relativeToRoot [
"hosts/global/common/system/pool.nix" "hosts/common/optional/system/pool.nix"
]) ])
]; ];

View file

@ -1,10 +0,0 @@
# TODO:
- I dont like the current system for hosts importing their main user
- I could rework hostSpecs so its imported since flake and manage it like that?
- or just rework the users/default and the hosts/core to just work different...
- Fix up how DEs are configured, its not modular at all rn, i need to be able to select the DE from hostSpec and it should be able to change config per user
- decouple /pool from places its not needed, or should be optional
- some users should not have access to pool or just cant access it cuz not local
- ssh keys are not setup per user
- should probably fix

View file

@ -1,23 +0,0 @@
{ config, ... }:
let
hostSpec = config.hostSpec;
in
{
users.groups = {
ryot = {
gid = 1004;
members = [ "${hostSpec.username}" ];
};
};
# Set a temp password for use by minimal builds like installer and iso
users.users.${hostSpec.username} = {
isNormalUser = true;
hashedPassword = hostSpec.hashedPassword;
group = "ryot";
extraGroups = [
"wheel"
];
};
}

View file

@ -1,23 +0,0 @@
{ config, ... }:
let
hostSpec = config.hostSpec;
in
{
users.groups = {
ryot = {
gid = 1004;
members = [ "${hostSpec.username}" ];
};
};
# Set a temp password for use by minimal builds like installer and iso
users.users.${hostSpec.username} = {
isNormalUser = true;
hashedPassword = hostSpec.hashedPassword;
group = "ryot";
extraGroups = [
"wheel"
];
};
}

View file

@ -1,23 +0,0 @@
{ config, ... }:
let
hostSpec = config.hostSpec;
in
{
users.groups = {
ryot = {
gid = 1004;
members = [ "${hostSpec.username}" ];
};
};
# Set a temp password for use by minimal builds like installer and iso
users.users.${hostSpec.username} = {
isNormalUser = true;
hashedPassword = hostSpec.hashedPassword;
group = "ryot";
extraGroups = [
"wheel"
];
};
}

View file

@ -16,11 +16,12 @@ in
users.users.${username} = { users.users.${username} = {
name = hostSpec.username; name = hostSpec.username;
shell = _shell; shell = _shell;
# These get placed into /etc/ssh/authorized_keys.d/<name> on nixos # These get placed into /etc/ssh/authorized_keys.d/<name> on nixos
openssh.authorizedKeys.keys = pubKeys; openssh.authorizedKeys.keys = pubKeys;
}; };
# Create ssh directory when homemanager is not loaded # Create ssh sockets directory for controlpaths when homemanager not loaded (i.e. isMinimal)
systemd.tmpfiles.rules = systemd.tmpfiles.rules =
let let
user = config.users.users.${username}.name; user = config.users.users.${username}.name;
@ -30,6 +31,7 @@ in
"d ${homeDir}/.ssh 0750 ${user} ${group} -" "d ${homeDir}/.ssh 0750 ${user} ${group} -"
]; ];
# No matter what environment we are in we want these tools
programs.fish.enable = true; programs.fish.enable = true;
} }
# Import the user's personal/home configurations, unless the environment is minimal # Import the user's personal/home configurations, unless the environment is minimal