No description
Find a file
2026-02-10 19:10:28 -06:00
home-manager Initial commit 2026-01-03 12:48:39 -06:00
nixos Initial commit 2026-01-03 12:48:39 -06:00
systems/af-desktop discord, fluffychat 2026-02-10 19:10:28 -06:00
users/ashley_funkhouser Update password hash 2026-01-28 01:05:23 -06:00
.gitignore Initial commit 2026-01-03 12:48:39 -06:00
flake.lock Initial commit 2026-01-03 12:48:39 -06:00
flake.nix Initial commit 2026-01-03 12:48:39 -06:00
README.md Update README.md 2026-01-28 01:08:31 -06:00

AJFunk Nix Flake

Structure

  • flake.nix - Entrypoint to repository
  • users/
    • ashley_funkhouser/
      • home.nix - Base home configuration specific to user
      • configuration.nix - Base system configuration specific to user
  • systems/
    • af-desktop/
      • home.nix - Home configuration specific to machine
      • configuration.nix - System configuration
      • disko.nix - Declarative disk partitioning
  • nixos/... - configuration.nix fragments for importing into system configurations
    • tui-base.nix - Custom system configuration across all systems
    • gui-base.nix - Custom system configuration specific to systems with a GUI
  • home-manager/ - home.nix fragments for importing into home configurations
    • tui-base.nix - Custom home configuration across all systems
    • gui-base.nix - Custom home configuration specific to systems with a GUI
  • flake.lock - Dependency lockfile

Getting started

Start in flake.nix towards the bottom in the nixosConfiguration section and follow the modules and imports down until you find what you are looking for.

System Installation (af-desktop)

ZFS Clean Install (Disko)

  1. Ensure all existing data is backed up.
  2. Boot into NixOS Live CD on system
  3. Exit installer and open a terminal
  4. Clone this repo to the live environment
cd
git clone https://git.mlaga97.space/ajfunk/ajfunk-nix
  1. Generate hardware-configuration.nix, add and commit
cd ~/ajfunk-nix
nixos-generate-config --no-filesystems --show-hardware-config | tee ./systems/af-desktop/hardware-configuration.nix

git add ./systems/af-desktop/hardware-configuration.nix
git commit -m 'Add hardware-configuration.nix for af-desktop'
git push
  1. Determine target disk path using gnome-disks
  2. Perform installation with Disko (See here for additional information)
cd ~/ajfunk-nix
sudo nix \
    --extra-experimental-features nix-command \
    --extra-experimental-features flakes \
    run 'github:nix-community/disko/latest#disko-install' -- --flake .#af-desktop --disk primary ${TARGET_DISK_PATH}
  1. Once installation is completed and hardware-configuration.nix is committed and pushed, reboot the system
  2. After rebooting, re-clone this repository with the updated hardware-configuration.nix, this is the system configuration to modify for any changes you want to make to the system.

Dual Boot (Manual)

TODO

Updates

Change System Configuration

cd ~/ajfunk-nix

# NOTE: Need to at least stage changes to guarantee that they will be applied by the rebuild, committing not required
git add *

sudo nixos-rebuild switch --flake .#$HOSTNAME

Update Packages

cd ~/ajfunk-nix
nix flake update
git add *
sudo nixos-rebuild switch --flake .#$HOSTNAME