Skip to content

Declarative system, package & home environment configurations - WIP Always.

Notifications You must be signed in to change notification settings

dominicegginton/dotfiles

Repository files navigation

NixOS

There's no place like ~

Declarative System, Package & Home Configurations - WIP Always

Features

  • Nix Flakes - 100% Nix Flakes-based configuration, no Nix channels.
  • User Home Environments - Reproducible user home environments using HomeManager.
  • Linux, WLS and Darwin Hosts - Declarative configurations for NixOS WSL & Darwin hosts.
  • Bitwarden Managed Secrets - System wide secrets managed with Bitwarden Secret Manager.
  • CVS Scanning - Automatic CVS vulnerability scanning using Vulnix.
  • Continuous Integration - Backed by continuous integration workflows on GitHub Actions runners.
  • Topology Diagrams - Automated infrastructure and network diagrams using nix-topology.
  • Nix Overlays - Overlays for packages, utils and tooling.
  • Ad-hoc Shell Environments - Predefined ad-hoc shell environments for common tools and tasks.
  • Flake Templates - Flake templates included for bootstrapping common development workspaces.

Caution

Host and home configurations within this workspace contain secrets values that are managed using Bitwarden Secrets and a combination of the sync-secrets derivation and secrets systemd service.

Workspace

This workspace follows the following structure:

├── home            # User HomeManager configurations
├── hosts           # Host NixOS and NixDarwin configurations
├── modules         # Nix modules
├── pkgs            # Packages
├── shells          # Ad-hoc shells environments
├── templates       # Flake templates
├── flake.nix       # Flake inputs and outputs
├── lib.nix         # Nix utils
├── overlays.nix    # Package overlays
└── shell.nix       # Workspace development shell