NixOS configuration for bootstrapping Daniel's station (Darwin)
Caution
This hosts system and home configurations are public for your own learning and research. They are not meant to be used with any hardware other than mine. Trying to build and deploy them to other systems without appropriate changes can render your machines unbootable and damage data.
This repository contains both:
- nix-darwin + Home Manager profiles for aarch64-darwin (Apple Silicon)
- NixOS host profiles for x86_64-linux systems
- Just follow this guide ↗ from DeterminateSystems
- it's already baked into DeterminateSystems Nix installer
# remote activation
nix run github:dminca/nix-config
# local activation
nix run .- sample
.sops.yaml&secrets/example.yaml↗ source
# create dir where key will be added
mkdir -vp ~/.config/sops/age
# generate key
nix-shell -p age --run "age-keygen -o ~/.config/sops/age/keys.txt"
# prepare data to encrypt
vi secrets/example.yaml
# have .sops.yaml filled
# encrypt data
nix-shell -p sops --run "sops --encrypt secrets/example.yaml" | pbcopy# add/remove entries from secrets file
nix-shell -p sops --run "sops secrets/example.yaml"Important
These plugins can only be used within home-manager setup (it's the only way I tested).
The search will retrieve a list of packages from the Nix Store, this means
you can add them in the plugins = [] section
nix-env -f '<nixpkgs>' -qaP -A vimPluginsnix-env -f '<nixpkgs>' -qaP -A tmuxPluginsTo remotely build the NixOS host run
nix shell nixpkgs#nixos-rebuild \
--command nixos-rebuild switch \
--flake .#nixos \
--target-host dminca@nixos \
--build-host dminca@nixos \
--no-reexec \
--sudoNote
Required to pass --fast and --target-host user@host if execution is triggered
from a Darwin or non-linux workstation.
Use the dedicated template in ./hephaestus and run the command shown in its README.
Use the dedicated template in ./rss-nixos-01 and run the command shown in its README.
- port all brew packages (all packages are listed in Brewfile
- port dotfiles (zshrc, neovim etc.)
- install
kubectlfor user profile - install
helmfor user profile - install
kubectxfor user profile
