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.
  • NixOS and Darwin Hosts - Resproducible configurations for NixOS & Darwin hosts.
  • Bitwarden Managed Secrets - Secrets managed with Bitwarden Secret Managemer.
  • CVS Scanning - Automatic CVS vulnerability scanning using Vulnix.
  • Continuous Integration - Backed by continuous integration workflows on GitHub Actions runners.
  • Base16 Themes - Base16 theming throughout system and package configurations.
  • Nix Overlays - Custom Nix overlays for packages, extra utils and tools.
  • Ad-hoc Shell Environments - Reproducible ad-hoc shell environments for common tools and tasks.
  • Flake Templates - Flake templates included for bootstrapping 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 enviroments
├── templates       # Flake templates
├── flake.nix       # Flake inputs and outputs
├── lib.nix         # Nix utils
├── overlays.nix    # Package overlays
└── shell.nix       # Workspace development shell