feat: Rename project to 'Athenix'
This commit is contained in:
committed by
Hunter Halloran
parent
d97ece898c
commit
d205211c7d
@@ -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.)
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 ==========
|
||||
|
||||
Reference in New Issue
Block a user