Nikolaos Karaolidis 239e44d704 Add direnv cache
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2024-12-15 19:09:07 +00:00
2024-12-15 19:09:07 +00:00
2024-10-17 18:41:10 +01:00
2024-12-04 21:11:08 +00:00
2024-12-15 15:23:49 +00:00
2024-12-04 21:11:08 +00:00
2024-12-15 19:09:07 +00:00
2024-06-13 01:37:07 +03:00
2024-06-14 17:52:04 +03:00
2024-08-01 01:03:05 +03:00
2024-08-08 22:03:15 +03:00
2024-12-15 15:23:49 +00:00
2024-11-25 18:30:57 +00:00
2024-09-30 12:52:21 +04:00

nix

NixOS dotfiles and configuration for various hosts and users.

Structure

  • flake.lock and flake.nix: Core Nix flake files defining the repository's dependencies and entry points.

  • hosts/: All host-specific configurations.

    • common/: Shared configuration definitions.
      • system/: System-level configurations and scripts.
        • configs/: System configurations applicable to all hosts.
        • scripts/: Utility scripts, such as nix-cleanup.
        • shells/: Nix dev shells.
      • user/: Per-user options.
        • configs/: User configurations, split into:
          • console/: Console-related settings.
          • gui/: GUI-related settings.
        • scripts/: User-specific scripts and utilities.
    • <name>/: Individual host configurations.
      • scripts/: Host-specific scripts.
      • secrets/: Host-specific secrets, such as machineId.
      • users/: User-specific settings for the host.
      • format.nix: Disk layout definition using disko.
  • users/<name>/: Global configurations for individual users that apply across all hosts. This includes secrets (like GPG keys and third-party service passwords), wallpapers, and more.

  • lib/: Nix library function definitions and utilities.

  • scripts/: Utility scripts for managing the repository.

    • add-host.sh: Instantiate the keys for a new host configuration.
    • remove-host.sh: Remove references to a host.
    • add-user.sh: Instantiate the keys for a new user configuration.
    • remove-user.sh: Remove references to a user.
    • update-keys.sh: Update the encryption keys in all relevant files using sops.yaml configurations.
    • update.sh: Update flake and all git submodules.
    • install.sh: Install or repair a selected NixOS host.
  • submodules/: Flake forks used in the repository, such as nixpkgs and home-manager.

Any options.nix files create custom option definitions when present.

Hosts

Below is a table of all hosts, with links to their respective README files, which may provide further details and/or post-installation checklists.

Host README
eirene hosts/eirene/README.md
Description
NixOS dotfiles and configuration
Readme 3.5 MiB
Languages
Nix 80.8%
Shell 13.9%
CSS 1.9%
TypeScript 1.7%
Go 1.1%
Other 0.5%