No description
Find a file
2025-06-05 19:21:32 +08:00
homes/x86_64-linux/rafiq feat(homes/rafiq): add thunderbird 2025-06-05 19:14:39 +08:00
lib feat(nixosModules/databases): add mysql 2025-06-03 20:59:23 +08:00
modules feat(homeModules/desktop): make default timeout for mako 10 seconds 2025-06-05 19:21:32 +08:00
packages feat(packages/rebuild): add support for --all flag 2025-06-05 08:30:01 +08:00
secrets feat(users/rafiq): add email configuration 2025-06-05 18:37:12 +08:00
systems/x86_64-linux refactor(nginx): add proxies option 2025-06-05 16:23:32 +08:00
.gitignore feat(packages/rebuild): improve rebuild script 2025-05-20 18:31:18 +08:00
.sops.yaml feat(modules/secrets): init sops-nix 2025-05-18 22:57:16 +08:00
flake.lock build(flake.lock): bump flake inputs and rm thefuck (deprecated) 2025-06-02 21:18:06 +08:00
flake.nix style(tree-wide): apply linting 2025-06-04 07:49:31 +08:00
README.md docs(README.md): add todos 2025-06-04 21:16:58 +08:00

Planning

To-do

  • Copy over ~/.ssh/id_ed25519 and zellij status bar plugin confirmation
  • Migrate immich to apollo, point to helios
  • Migrate LibreChat to apollo, maintain db
  • Figure out wakapi
  • Add forgejo
  • Add simple blog

Versions

  • 1.0.0
    • Replicate old zagreus wholly
    • Automated backups for home and state directories
    • Ability to build VMs of all systems and implement integration tests
      • Staging VMs for ad-hoc testing
    • All servers set up with following services:
      • Git server
      • Chat app
      • Network shares
      • Federation with ActivityPub
      • Wakapi
    • Add a way to define services per host and refer to them by hostname
  • 0.3.0
    • Integration tests for all services
    • Easier way to add proxyPass, web server independent
    • Migrate services from helios

Modules

The nixosModules and homeModules exposed by this flake are slightly out of the norm.

Option declarations for user specific configuration are kept to:

  • homeModules for CLI
  • nixosModules for desktop

System configurations, to this end, should include the window manager, lockscreen, terminal etc. for that system.

These desktop programs will be configured in home-manager for each user, but those configurations consult the osConfig variable passed in by home-manager.

System Setup

The following files are required for system activation:

  • /persist/home/${mainUser}/.ssh/id_ed25519

This private key will be used by sops-nix to decrypt the secrets in secrets/secrets.yaml. The secrets inside the yaml file should also be set, or otherwise removed alongside their declarations (in modules/nixos/system/secrets.nix) and references.

Impermanence

System and user state is stored under /persist. Anything not declared under {environment,home}.persistence is deleted on system boot.