my nix configs
				
			
		| - Removed inotify sysctl settings from hardware configuration. - Added updated inotify limits under GUI services for JetBrains IDEs. This ensures better compatibility and performance for these tools. Signed-off-by: Harald Hoyer <harald@hoyer.xyz> | ||
|---|---|---|
| .secrets | ||
| homes | ||
| lib | ||
| modules | ||
| overlays | ||
| packages | ||
| systems | ||
| .gitattributes | ||
| .gitignore | ||
| .sops.yaml | ||
| CLAUDE.md | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
NixOS Configuration
A modular NixOS configuration setup for multiple systems.
Project Structure
- modules/: Reusable NixOS/Darwin modules- common.nix: Common module imports and definitions
- nixos/: NixOS-specific modules- home/: Home Manager integration for NixOS
- nix/: Nix package manager configuration
- nix-ld/: Dynamic linking support
- network/: Network configuration modules- resolved/: DNS resolution configuration
 
- security/: Security-related modules- ssh-host-keys/: SSH host key management
 
- services/: Service configuration modules- base/: Basic system configuration
- gui/: Graphical interface setup
- homeprinter/: Home printer support
- podman/: Container runtime
- secureboot/: Secure boot configuration
 
- sgx/: Intel SGX support- aesmd_dcap/: SGX AESMD DCAP service
- pccs/: SGX Provisioning Certificate Caching Service
 
- system/: System configuration modules- auto-upgrade/: Automatic system upgrades
- limits/: System resource limits
- zram/: ZRAM swap configuration
 
- tools/: Common tools configuration- direnv/: Direnv integration
- git/: Git configuration
 
- user/: User account configuration
- virtualization/: Virtualization support
 
- home/: Home Manager modules- cli-apps/: Command-line applications
- gui/: GUI application configuration
- tools/: User tools configuration
- user/: User preferences
 
- darwin/: Darwin-specific modules- home/,- nix/,- security/, etc.
 
 
- systems/: Individual system configurations- x86_64-linux/: Linux systems on x86_64
- aarch64-linux/: Linux systems on ARM
- x86_64-darwin/: macOS systems on x86_64
- aarch64-darwin/: macOS systems on ARM
 
- homes/: Home Manager configurations for each user/system
- lib/: Helper functions and utilities
- overlays/: Nixpkgs overlays
- packages/: Custom packages
Using the Configurations
Install a system via nixos-anywhere
$ nix run github:numtide/nixos-anywhere -- \
  --flake 'git+https://git.hoyer.xyz/harald/nixcfg'.#hostname \
  root@hostname --no-reboot --tty -i $HOME/.ssh/id_ed25519
... enter disk password
$ ssh -t root@hostname systemd-cryptenroll /dev/luksdev --wipe-slot=tpm2 --tpm2-device=auto --tpm2-pcrs=1,15
Update NixOS system
$ nixos-rebuild --use-remote-sudo -L --show-trace --refresh --flake git+https://git.hoyer.xyz/harald/nixcfg boot
Update macOS system
$ darwin-rebuild -L --show-trace --refresh --flake git+https://git.hoyer.xyz/harald/nixcfg switch
Update home-manager configuration
$ nix --refresh run 'git+https://git.hoyer.xyz/harald/nixcfg' -- \
  switch -b backup --flake 'git+https://git.hoyer.xyz/harald/nixcfg'