This adds some code to flake.nix to read the directory of hosts/ and find all hosts based on their host.nix file, and set the hostname based on the directory. I don't know enough about hostnames to know what are valid characters, but in the future this could allow a hostname such as "servers/madoka" which may be an issue. For now the structure is simple enough of "hosts/name" resulting in hostname "name" Another commit is planned which will do the same thing for users
39 lines
778 B
Nix
39 lines
778 B
Nix
{ config, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./hardware.nix
|
|
];
|
|
networking.hostName = "jibril";
|
|
nixpkgs.config.allowUnfree = true;
|
|
system.stateVersion = "23.05";
|
|
|
|
sops-nix = {
|
|
enable = true;
|
|
keyFile = "/etc/sops/age/keys.txt";
|
|
sopsFile = ./secrets.yaml;
|
|
secrets = {
|
|
wireless = {};
|
|
};
|
|
};
|
|
|
|
pipewire.enable = true;
|
|
polkit.enable = true;
|
|
bluetooth.enable = true;
|
|
wireless = {
|
|
enable = true;
|
|
networks = builtins.fromTOML (builtins.readFile ./networks.toml);
|
|
secretsFile = config.sops.secrets.wireless.path;
|
|
};
|
|
|
|
user.name = "pan";
|
|
user.timezone = "America/Los_Angeles";
|
|
|
|
tuigreet.enable = true;
|
|
hyprland.enable = true;
|
|
|
|
librewolf.enable = true;
|
|
fish.enable = true;
|
|
fish.setDefault = true;
|
|
syncthing.enable = true;
|
|
}
|