Skip to content
vidhanioPublic

About

my nix config

Resources

Stars

6 stars

Watchers

0 watching

Forks

Repository files navigation

❄️ vidhanix

Overview

Personal NixOS and Home Manager configurations for x86-64 and Apple Silicon machines. Built with flake-parts and import-tree using the Dendritic pattern.

Structure

modules/
  profiles/   # shared configuration and hardware profiles
  hosts/      # machine metadata and host-specific configuration
  users/      # identities and per-user Home Manager configuration
  system/     # boot, storage, persistence, and Nix
  desktop/    # shared bindings, workspaces, appearance, and session helpers
  programs/   # applications, compositors, adapters, and packages
  services/   # service configuration
  upstream/   # reusable NixOS, Home Manager, and Stylix modules
  flake/      # inputs, tooling, generated files, and infrastructure

The import-tree loader discovers feature modules under modules/. Features contribute to deferred modules through three option groups:

  • profiles.<name>.{module,homeModule}: shared NixOS and Home Manager configuration. base provides headless foundations, pc adds desktop configuration, and apple-silicon extends pc for Apple hardware.
  • hosts.<hostname>.{module,homeModule}: profile selection and machine-specific configuration, accompanied by platform, SSH key, and user metadata.
  • users.<username>.module: per-user Home Manager configuration, accompanied by identity and SSH keys.

Reusable modules live in modules/upstream/_modules/{nixos,home-manager,stylix}/. The base profile imports the exported nixosModules.upstream and homeModules.upstream bundles. Keep related settings, packages, and assets beside their owning feature.

Packages

Build packages with nix build .#<package>. Run available passthru.updateScript hooks with just update-packages; pass package names to update a subset.

Package Description Updatable
berkeley-mono A love letter to the golden era of computing
berkeley-mono-variable A love letter to the golden era of computing
bibata-combined Bibata Cursor theme combining both Xcursor and hyprcursor versions
bibata-cursor Material based cursor theme ✓
bibata-hyprcursor Bibata Cursor theme adapted for hyprcursor
breezex-combined BreezeX Cursor theme combining both Xcursor and hyprcursor versions
breezex-cursor Extended KDE cursor ✓
breezex-hyprcursor BreezeX Cursor theme adapted for hyprcursor
cider A cross-platform Apple Music experience built on Vue.js and written from the ground up with performance in mind ✓
geode Geometry Dash mod loader for Windows and Proton ✓
google-combined Google Cursor theme combining both Xcursor and hyprcursor versions
google-cursor Opensource cursor theme inspired by Google ✓
google-hyprcursor Google Cursor theme adapted for hyprcursor
google-sans-flex The next generation of Google's brand typeface
jupynvim VSCode-style Jupyter notebook editing in Neovim ✓
linux-asahi-fairydust Experimental Asahi Linux kernel with DisplayPort Alt Mode support ✓
muvm-steam ARM64 Steam beta client with codecs and runtime in muvm for Apple Silicon
pragmata-pro-variable Condensed monospaced font optimized for screen, designed by Fabrizio Schiavi to be the ideal font for coding, math and engineering
update-packages Update all packages in this flake that have an update script

Generated Files

Definitions under modules/flake/files/ produce the following files. Regenerate them with just generate.

About

my nix config

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages