···22 _class = "darwin";
3344 imports = [
55+ # keep-sorted start
56 ../base
66-77 ./brew # homebrew the package manager
88- ./hardware # hardware config - i.e. keyboard
99- ./preferences # system preferences
1010- ./security # security settings to keep the system secure
1111-128 ./config-path.nix # set the path to the darwin configuration
139 ./documentation.nix # turn off docs
1010+ ./extras.nix # modules that are not in this repo, and don't have a nice place to be imported in
1111+ ./hardware # hardware config - i.e. keyboard
1412 ./legacy.nix # some shims to keep compatibility with some options that need refactoring upstream
1515- ./extra.nix # modules that are not in this repo, and don't have a nice place to be imported in
1313+ ./nix.nix # nix settings
1414+ ./preferences # system preferences
1515+ ./security # security settings to keep the system secure
1616 ./system-packages.nix # system packages will be needed for all users
1717- ./nix.nix # nix settings
1717+ # keep-sorted end
1818 ];
1919}
···1010# or `defaults read xxx` to read a specific domain.
1111{
1212 imports = [
1313+ # keep-sorted start
1314 ./clock.nix # Settings for the clock in the menu bar
1415 ./dock.nix # Settings for the dock
1516 ./finder.nix # Settings for Finder (file manager)
···2021 ./sound.nix # Sound settings
2122 ./theme.nix # Theme settings
2223 ./wm.nix # Window manager settings
2424+ # keep-sorted end
2325 ];
2426}
···11{
22 imports = [
33+ # keep-sorted start prefix_order=../../,./
34 ../../systems
44-55+ ./args.nix # the base args that is passed to the flake
56 ./checks # custom checks that are devised to test if the system is working as expected
67 ./lib # the lib that is used in the system
78 ./packages # our custom packages provided by the flake
89 ./programs # programs that run in the dev shell
99-1010- ./args.nix # the base args that is passed to the flake
1010+ # keep-sorted end
1111 ];
1212}
+3-1
modules/flake/lib/default.nix
···44{ lib, inputs, ... }:
55let
66 gardenLib = lib.fixedPoints.makeExtensible (final: {
77- template = import ./template; # templates, selections of code that are repeated
77+ # keep-sorted start block=yes
88 hardware = import ./hardware.nix;
99 helpers = import ./helpers.nix { inherit lib; };
1010 secrets = import ./secrets.nix { inherit inputs; };
1111 services = import ./services.nix { inherit lib; };
1212+ template = import ./template; # templates, selections of code that are repeated
1213 validators = import ./validators.nix { inherit lib; };
1414+ # keep-sorted end
13151416 # we have to rexport the functions we want to use, but don't want to refer to the whole lib
1517 # "path". e.g. gardenLib.hardware.isx86Linux can be shortened to gardenLib.isx86Linux
···11{
22 imports = [
33+ # keep-sorted start prefix_order=../../,./
34 ./formatter.nix # formatter for nix fmt, via treefmt is a formatter for every language
45 ./shell.nix # a dev shell that provieds all that you will need to work
66+ # keep-sorted end
57 ];
68}
···11{
22 imports = [
33+ # keep-sorted start
34 ../generic
44-55+ ./docs.nix # no more docs
56 ./environment # environment variables & path
66- ./programs # ways to configure packages
77- ./themes # themes for applications
88- ./docs.nix # no more docs
97 ./extras.nix # modules that are not in this repo, and don't have a nice place to be imported in
108 ./home.nix # home settings
119 ./profiles.nix # profiles for different machines
1010+ ./programs # ways to configure packages
1211 ./secrets.nix # secrets for the home directory
1212+ ./themes # themes for applications
1313+ # keep-sorted end
1314 ];
1415}
···33# https://github.com/NixOS/nixpkgs/blob/90a153e81e7deb0b2ea1466c8a2f515df1974717/nixos/modules/profiles/installation-device.nix#L32
44{
55 imports = [
66+ # keep-sorted start
67 ./boot.nix # boot settings
78 ./console.nix # tty configurations
89 ./fixes.nix # fixes issues
···1213 ./nixpkgs.nix # nixpkgs configurations like unfree packages
1314 ./programs.nix # programs that we will need to make our NixOS install
1415 ./space.nix # ways that we save valuable space on the iso
1616+ # keep-sorted end
1517 ];
1618}
+3-1
modules/nixos/boot/default.nix
···11{
22 imports = [
33- ./loader.nix # which system loader are we using
33+ # keep-sorted start
44 ./generic.nix # generic boot configuration
55+ ./loader.nix # which system loader are we using
56 ./secure-boot.nix # pretty much what it looks like
77+ # keep-sorted end
68 ];
79}
···11{
22 imports = [
33+ # keep-sorted start
44+ ./bluetooth.nix # bluetooth
35 ./cloud # abstractions for specific cloud providers
46 ./cpu # cpu specific options
77+ ./firmwares.nix # firmwares
88+ ./fs.nix # filesystem tools
59 ./gpu # gpu specific options
610 ./media # sound and video
1111+ ./options.nix # options to set the cpu and gpu
712 ./power # power management
88-99- ./bluetooth.nix # bluetooth
1010- ./firmwares.nix # firmwares
1111- ./fs.nix # filesystem tools
1212- ./options.nix # options to set the cpu and gpu
1313 ./tpm.nix # Trusted Platform Module
1414 ./yubikey.nix # yubikey device support and management tools
1515+ # keep-sorted end
1516 ];
1617}