nix/NOTES.md
Tristan Druyen d71e942e57
WIP
- add & use iosevka instead of firacode
- change doom theme to gruvbox-dark
- add some tramp config
- remove doom workspaces to improve centaur-tabs
- add tree-sitter to doom layers where possible
- mount work smb shares
- add adb tools
- change to stable firefox from beta
- various other stuff
2023-11-27 22:11:52 +01:00

68 lines
1.7 KiB
Markdown

# 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
```nix
# 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
```nix
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
```nix
# 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;
inherit overlays;
config = {
# ....
};
};
pkgs = import nixpkgs pkgs-args;
nixpkgs.pkgs = pkgs;
```
- switch from security.sudo.* to security.sudo-rs.*