feat: Rename project to 'Athenix'

This commit is contained in:
UGA Innovation Factory
2025-12-18 12:07:25 -05:00
committed by Hunter Halloran
parent d97ece898c
commit d205211c7d
39 changed files with 278 additions and 277 deletions

View File

@@ -94,6 +94,6 @@ Your `default.nix` must:
External modules are automatically integrated into the nixos-systems build:
- They receive the same flake inputs (nixpkgs, home-manager, etc.)
- They can use ugaif.* options if defined in the host type
- They can use athenix.* options if defined in the host type
- They are merged with local overrides and base configuration
- They work with all build methods (ISO, LXC, Proxmox, etc.)

View File

@@ -50,7 +50,7 @@
# Example: Configure services
# services.openssh.enable = true;
# Example: Use ugaif options if available from nixos-systems
# ugaif.users.myuser.enable = true;
# Example: Use athenix options if available from nixos-systems
# athenix.users.myuser.enable = true;
};
}

View File

@@ -18,7 +18,7 @@ user-dotfiles-repo/
└── vimrc
```
**Note:** The `user.nix` file is required for a functional user module. It should contain both `ugaif.users.<username>` options and home-manager configuration.
**Note:** The `user.nix` file is required for a functional user module. It should contain both `athenix.users.<username>` options and home-manager configuration.
## Usage
@@ -32,7 +32,7 @@ Copy the templates from this directory to your own Git repository:
```nix
{
ugaif.users = {
athenix.users = {
# Option 1: Define inline (without external module)
inlineuser = {
description = "My Name";
@@ -42,7 +42,7 @@ Copy the templates from this directory to your own Git repository:
};
# Option 2: Use external module (recommended for personal configs)
# The external user.nix will set ugaif.users.myusername options
# The external user.nix will set athenix.users.myusername options
myusername.external = builtins.fetchGit {
url = "https://github.com/username/dotfiles";
rev = "abc123def456..."; # Full commit hash for reproducibility
@@ -64,7 +64,7 @@ Enable the user in `inventory.nix`:
"my-system" = {
devices = {
"hostname" = {
ugaif.users.myusername.enable = true;
athenix.users.myusername.enable = true;
};
};
};
@@ -77,12 +77,12 @@ Enable the user in `inventory.nix`:
This file serves a dual purpose and is imported in **two contexts**:
1. **NixOS Module Context**: Imported to read `ugaif.users.<username>` options that define the user account (description, shell, groups, SSH keys, etc.)
1. **NixOS Module Context**: Imported to read `athenix.users.<username>` options that define the user account (description, shell, groups, SSH keys, etc.)
2. **Home-Manager Context**: Imported to configure the user environment with `home.*`, `programs.*`, and `services.*` options
**How it works:**
- The same file is evaluated twice in different contexts
- User account options (`ugaif.users.<username>`) are read during NixOS evaluation
- User account options (`athenix.users.<username>`) are read during NixOS evaluation
- Home-manager options are used when building the user's environment
- External module options override any defaults set in `users.nix`
- You can conditionally include packages/config based on system type using `osConfig`
@@ -118,7 +118,7 @@ This file contains system-level NixOS configuration. Only needed for:
{ config, lib, pkgs, osConfig ? null, ... }:
{
# User account options
ugaif.users.myuser = {
athenix.users.myuser = {
description = "My Name";
shell = pkgs.zsh;
hashedPassword = "!";
@@ -150,7 +150,7 @@ This file contains system-level NixOS configuration. Only needed for:
{ inputs, ... }:
{ config, lib, pkgs, osConfig ? null, ... }:
{
ugaif.users.myuser = {
athenix.users.myuser = {
description = "My Name";
shell = pkgs.zsh;
hashedPassword = "!";
@@ -162,7 +162,7 @@ This file contains system-level NixOS configuration. Only needed for:
ripgrep
fd
bat
] ++ lib.optional (osConfig.ugaif.sw.type or null == "desktop") firefox;
] ++ lib.optional (osConfig.athenix.sw.type or null == "desktop") firefox;
# Symlink dotfiles
home.file.".bashrc".source = ./config/bashrc;

View File

@@ -4,11 +4,11 @@
# User Configuration
# ============================================================================
# This file configures BOTH:
# 1. User account options (ugaif.users.<username>)
# 1. User account options (athenix.users.<username>)
# 2. Home-manager configuration (home.*, programs.*, services.*)
#
# The same file is imported in two contexts:
# - As a NixOS module to read ugaif.users.<username> options
# - As a NixOS module to read athenix.users.<username> options
# - As a home-manager module for user environment configuration
#
# This module receives the same `inputs` flake inputs as the main
@@ -26,7 +26,7 @@
# ========== User Account Configuration ==========
# Replace "myusername" with your actual username
ugaif.users.myusername = {
athenix.users.myusername = {
description = "Your Full Name";
shell = pkgs.zsh;
hashedPassword = "!"; # Locked password - use SSH keys only
@@ -47,7 +47,7 @@
};
# Note: You don't need to set 'enable = true' - that's controlled
# per-host in inventory.nix via ugaif.users.myusername.enable
# per-host in inventory.nix via athenix.users.myusername.enable
# ========== Home Manager Configuration ==========
@@ -60,7 +60,7 @@
fd
bat
]
++ lib.optional (osConfig.ugaif.sw.type or null == "desktop") firefox;
++ lib.optional (osConfig.athenix.sw.type or null == "desktop") firefox;
# Conditionally add packages based on system type
# ========== Programs ==========