commits
Create flake, packages and services namespaces
Selectively inherit some of the less niche functions to the root level
Add lib.getStandaloneHomeConfigurations and lib.isStandaloneHome
Configure agenix-rekey to only consider standalone homes to avoid dummy
host warning on unused host-based home configurations
Modify ciMatrix package to use the new standalone home functions
For whatever reason that one package still infrecs unless I override it
manually
For some reason, the officially recommended overlay causes opaque
infinite recursion errors in some cases, but luckily a
[workaround](https://github.com/NixOS/nixpkgs/pull/445223#issuecomment-3330902652)
exists
Change back to more manually assembled outputs for better control of the
overridden attributes
Create lib.callPackageRecursiveWith to wrap
lib.packagesFromDirectoryRecursive so that it works more like the
existing callPackageWith
Create lib.callPackageWith to make it automatically attempt to load a
subdir's package.nix or default.nix if present
Reintroduce package overlay and make it the default
Migrate outdated powerManagement.powerUpCommand and co to oneshot
services
Remove haumea and lib.loaders as those were obsolete, unnecessarily
complex and went mostly unused anyway
Create lib.nixFilesToAttrs for simple localized processing of nix files
in select locations instead, see nix/overlays/default.nix and
nix/legacyPackages/scripts/default.nix
Regenerates README with fixed obsolete content
Those are unnecessarily complex remnants that weren't being used anyway
Those never worked quite right, so I'll just use
pkgs-by-name-for-flake-parts for now
Specify builder image instead of using latest
Ensure system is passed as an input
Update lix-gha-installer
Should catch errors in the less often used home configs
A thin abstraction over agenix-rekey allows home-level keys to be
automatically used as host-level instead when applicable for easier
keying to the host's SSH key instead of each user's home SSH keys. That
only applies to home-manager configs used as NixOS modules, as standalone
home configurations still have to use the appropriate user-level key.
See my.secretDefinitions, my.secrets
All commands now use the new `@complete external`
Nushell has a built-in picker, but it's quite barebones, so I made this
to make use of fzf's niceties
Supports plain lists and tables, optionally takes a cell path to show a
desired column from a table
chore: Update flake inputs
Trying to work around sporadic aarch64 build failures
That was never meant to be there to begin with, oops
Rename nix/modules to the more appropriate nix/flakeModules
Move systems to an output instead of a privileged arg
Fix lib.loaders.load to actually take the filterFn into account
Demote kernel, pipewire, users, virtualization and wayland profiles to
regular modules, as it doesn't fit with the idea of orthogonal
generalized roles
Add assertions to DE/graphical/gui profiles so they aren't accidentally
activated without config.hardware.graphics.enable
Remove most of the "hidden enables" on my module namespace except where
a dependent option can be reasonably considered to be part of the base
feature set, enabled modules are now clear from skimming
`nix/{home,system}/modules/default.nix`. See `my.cli.editors` for the
most notable offender, as `my.cli.editors.enable` used to affect several
nested options.
Demote graphical profile to off by default as this flake provides configs
for both daily driver machines and servers
Rework `my.profiles.apps` namespace into `my.gui` for consistency
Home and NixOS configurations are now built only on main by default,
while packages and devShells build on main and develop
Now builds a list of derivations for each arch, ignores
nixosConfigurations for the moment
The CI derivation matrix is now built based on an explicitly set, per
derivation flag
For home/nixos configs, `config.my.ci.build = true` must be set.
For devShells/packages, `passthru.my.ci.build = true` will enable builds for
all systems. Use `passthru.my.ci.${system}.build = true` for more granular
control.
Should make switches over SSH smoother
Change back to more manually assembled outputs for better control of the
overridden attributes
Create lib.callPackageRecursiveWith to wrap
lib.packagesFromDirectoryRecursive so that it works more like the
existing callPackageWith
Create lib.callPackageWith to make it automatically attempt to load a
subdir's package.nix or default.nix if present
Reintroduce package overlay and make it the default
Remove haumea and lib.loaders as those were obsolete, unnecessarily
complex and went mostly unused anyway
Create lib.nixFilesToAttrs for simple localized processing of nix files
in select locations instead, see nix/overlays/default.nix and
nix/legacyPackages/scripts/default.nix
Regenerates README with fixed obsolete content
A thin abstraction over agenix-rekey allows home-level keys to be
automatically used as host-level instead when applicable for easier
keying to the host's SSH key instead of each user's home SSH keys. That
only applies to home-manager configs used as NixOS modules, as standalone
home configurations still have to use the appropriate user-level key.
See my.secretDefinitions, my.secrets
Remove most of the "hidden enables" on my module namespace except where
a dependent option can be reasonably considered to be part of the base
feature set, enabled modules are now clear from skimming
`nix/{home,system}/modules/default.nix`. See `my.cli.editors` for the
most notable offender, as `my.cli.editors.enable` used to affect several
nested options.
Demote graphical profile to off by default as this flake provides configs
for both daily driver machines and servers
Rework `my.profiles.apps` namespace into `my.gui` for consistency
The CI derivation matrix is now built based on an explicitly set, per
derivation flag
For home/nixos configs, `config.my.ci.build = true` must be set.
For devShells/packages, `passthru.my.ci.build = true` will enable builds for
all systems. Use `passthru.my.ci.${system}.build = true` for more granular
control.