1.7 KiB
1.7 KiB
ToDo's
- Investigate https://crane.dev/examples/quick-start-simple.html for ruszt builds
- https://nix.dev/tutorials/packaging-existing-software
- this looks awesome: https://github.com/erictossell/nixflakes/tree/main
- https://nixos.wiki/wiki/Binary_Cache
- build a good abstraction for systems
- allows setting nixpkgs.localSystem per systems
- should yield a
nixosConfiguration.${hostname} = nixpkgs.lib.nixosSystem {...}
- example module abstraction
# TODO think about partitions/hardware/system specific conf # TODO think about hardware.nix like things { config, inputs, lib, ... }: { home_conf = { # ... }; os_conf = { # ... }; }
- example mkSystem abstraction
let opts = { hostname = "test"; opt = "znver2"; users = { { name = "tristand", groups=[..] }, { name = "tester", groups=[..] }, }; modules = [ ./my_module.nix ]; }; in { mylib.mkSystem opts? # # take a path? just let the user call import ? }
- example localSystem conf
# to allow building nix.extraOptions = '' system-features = system-features = gccarch-znver2 ''; # to actually build (after rebuilding with the feature before) localSystem = { inherit system; gcc = { arch = "znver2"; tune = "znver2"; }; }; pkgs-args = { inherit localSystem overlays; config = { # .... }; }; pkgs = import nixpkgs pkgs-args; nixpkgs.pkgs = pkgs;
- switch from security.sudo.* to security.sudo-rs.*