1
2
Fork
You've already forked nix-config
0
An idiots nix config
  • Nix 85.1%
  • Nushell 5.1%
  • Python 4.9%
  • Shell 4.5%
  • Lua 0.4%
Find a file
2026年07月11日 17:11:04 +10:00
.github fix(ci): only run mirror action in the original repo, not forks 2026年06月23日 13:32:04 +00:00
.opencode refactor(nixos): use deviceType to gate imports for server-only options 2026年07月02日 21:56:45 +10:00
.woodpecker chore(deps): Update flake(s) 2026年06月06日 15:47:32 +10:00
.zed chore: add zed task for formatting current file with nix fmt 2025年06月11日 17:37:18 +10:00
docs feat(ai-agent): integrate PR #48637 lazy-deps fix with local overlay 2026年07月07日 20:32:10 +10:00
flake feat(nixdev): add forgesync service for repository mirroring between Codeberg and GitHub 2026年07月11日 17:11:04 +10:00
home feat(vcs): add AI commit descriptions and pre-push checks 2026年06月23日 20:37:01 +10:00
hosts feat(nixdev): add forgesync service for repository mirroring between Codeberg and GitHub 2026年07月11日 17:11:04 +10:00
lib refactor(nixos): use deviceType to gate imports for server-only options 2026年07月02日 21:56:45 +10:00
modules fix(server/storage): turns out nonempty just refuses to work now, so bye i guess 2026年07月08日 13:39:06 +10:00
openspec docs(openspec): archive ai-tree-module & create reallocate-server-service-roles 2026年07月11日 17:11:04 +10:00
overlays feat(ai-agent): integrate PR #48637 lazy-deps fix with local overlay 2026年07月07日 20:32:10 +10:00
pkgs mcp-sequential-thinking: 0-unstable-2026年03月06日 -> 0.6.0-unstable-2026年07月05日 2026年07月09日 09:17:52 +10:00
.editorconfig refactor: define state version via static file 2026年01月02日 14:22:47 +11:00
.envrc refactor(hyprland): convert to lua config 2026年05月31日 23:00:45 +10:00
.gitignore feat(pkgs): image compressor script 2026年05月20日 22:39:57 +10:00
.luarc.json refactor(modules/home-manager): restructure Hyprland with Lua config generation 2026年06月21日 23:35:44 +10:00
.mergify.yml ci(mergify): upgrade configuration to current format 2026年06月06日 23:38:55 +10:00
.sops.yaml feat(hosts/server): IO Guardian & module refactor 2025年12月21日 19:49:51 +11:00
AGENTS.md chore(flake/dev): switch to prettier for yaml 2026年06月18日 16:51:48 +10:00
flake.lock refactor: remove hy3 plugin and add defaultText to profile options 2026年06月23日 19:40:45 +10:00
flake.nix refactor: remove hy3 plugin and add defaultText to profile options 2026年06月23日 19:40:45 +10:00
LICENSE.md chore: update license year 2026年02月14日 22:31:30 +11:00
README.md refactor(ai): link opencode to some skills directly 2026年03月30日 21:40:17 +11:00
renovate.json fix(treefmt): add some exclusions 2025年12月15日 23:28:03 +11:00
result.json feat(pkgs/list-ephemeral): much improved and intergrated hm module 2026年04月21日 19:26:23 +10:00
state.version refactor(flake): rework hm and nixos builders 2026年01月02日 14:23:49 +11:00
typos.toml docs: did i write them no, did i read them... no. 2026年02月28日 00:23:00 +11:00

Nix Config

This is my interpretation of the perfect nix flake, this powers my desktops, laptops, servers, vms, containers, and all aspects of my computers.

Features

  • Automated Discovery: Hosts and users are automatically configured from filesystem structure
  • Automated Persistence: TempFS with persistable components using Impermanence or BTRFS snapshotting
  • Secret Management: Encrypted secrets in NixOS (sops-nix) and home-manager (sops-nix with sops)
  • Automated Updates: Flake dependency updates through Github Actions using Update-flake-lock
  • Hardware Acceleration: Automatic hardware acceleration support detection and configuration
  • Modular Architecture: Custom modules and overlays for extensibility

Supported Configurations

  • NixOS-managed systems with automatic configuration discovery:
    • Desktops - Personal workstations and development environments
    • Servers - Infrastructure services and automation
    • Laptops - Portable systems with power management

Repository Structure

The repository uses an automatic discovery system that scans the filesystem to build configurations:

.
├─ home # Root for all user homes (auto-discovered)
│ ├─── {username} # User-specific configurations
│ └─── shared # Shared home-manager modules
├─ hosts # Root for all hosts (auto-discovered by device type)
│ ├─── shared # Auto-imported modules for all hosts
│ │ ├─── global # Core system configuration (locale, networking, etc.)
│ │ └─── optional# Optional modules for specific use cases
│ ├─── desktop # Desktop NixOS systems
│ │ ├─── shared # Auto-imported modules for desktops
│ │ ├─── {host} # Individual desktop host configurations
│ ├─── laptop # Laptop NixOS Systems
│ │ ├─── shared # Auto-imported modules for laptops
│ │ └─── {host} # Individual laptop host configurations
│ └─── server # Server NixOS Systems
│ ├─── shared # Auto-imported modules for servers
│ └─── {host} # Individual server host configurations
├─ lib # Extensions to nixpkgs lib and custom builders
│ └─── builders # System and home-manager configuration builders
├─ modules # Custom NixOS and home-manager modules
├─ overlays # NixPkgs overlays for package modifications
├─ pkgs # Custom packages not in nixpkgs
└─ docs # Additional documentation

Auto-Discovery Mechanism

The flake automatically discovers:

  • Hosts: By scanning hosts/{device-type}/ directories (excluding shared/)
  • Users: By scanning home/ directories and matching with existing hosts
  • Hardware Acceleration: Support based on predefined host lists

Getting Started

Things on the TODO

These probably won't happen honestly

  • Cosmic Desktop once stabilized
  • Declarative disk management with disko for all hosts
  • Automated backup strategies for persistent data

Resources ive used as inspiration or based components on

Huge thanks to the people who worked on these repositories.