This repository contains Nix configuration for my devices.
.
├── scripts
├── hooks
└── users/
├── common/
│ └── programs
└── $user/
├── programs
└── home.nix
scripts
: Scripts to execute configurations.hooks
: Git hooks.users
: List of user configs.$user
home.nix
: Home Manager entry to the configuration.programs
: Program configurations.
common
: Configurations used accross usersprograms
: Program configurations.
You need to run setup for one time setup. It's needed for git hooks etc.
In nix shell, run ./scripts/setup.nu
.
Run nix-shell
in the root of the project.
cd
into the project root.- For one time, execute
direnv allow
After enabling direnv
once, it will automatically enter to the nix-shell
whenever you cd
into the directory.
Use rebuild
script to set NIXOS configuration.
It uses the pinned channel in the repository root.
Example:
build-device devices/tuxedo-infinitybook-gen8/
Example:
build-user users/aiono-tuxedo
format-nix-staged
You don't need to do it manually as it runs automatically pre commit after setup.
Unfortunately Nix Store accumulates garbage as it's being used, so occasionally one needs to cleanup the store. For now there is a script for it: cleanup-nix-store
.