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

@@ -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;