Compare commits
2 commits
96f4062991
...
4c07feb21a
Author | SHA1 | Date | |
---|---|---|---|
|
4c07feb21a | ||
|
4ed696e5b1 |
|
@ -5,6 +5,7 @@
|
|||
./environment.nix
|
||||
./home-manager.nix
|
||||
./nginx.nix
|
||||
./nixpkgs.nix
|
||||
./openssh.nix
|
||||
./security.nix
|
||||
./zsh.nix
|
||||
|
|
14
common/nixpkgs.nix
Normal file
14
common/nixpkgs.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ config, lib, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
packageOverrides = pkgs: {
|
||||
agenix = inputs.agenix.packages.${config.nixpkgs.hostPlatform.system}.default;
|
||||
};
|
||||
};
|
||||
|
||||
overlays = [ inputs.nur.overlay ];
|
||||
};
|
||||
}
|
|
@ -8,6 +8,8 @@ in
|
|||
options.qenya.sysadmin.enable = mkEnableOption "Base configuration for headless servers";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
time.timeZone = "Etc/UTC";
|
||||
|
||||
# Allow remote deployment with colmena
|
||||
deployment.targetUser = null;
|
||||
security.sudo.wheelNeedsPassword = false;
|
||||
|
|
22
flake.nix
22
flake.nix
|
@ -27,25 +27,15 @@
|
|||
nodeNixpkgs = {
|
||||
kalessin = import nixpkgs { system = "aarch64-linux"; }; # TODO: this should be generated from the host config somehow
|
||||
};
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
};
|
||||
|
||||
defaults = { name, nodes, config, lib, pkgs, ... }: {
|
||||
defaults = { name, nodes, ... }: {
|
||||
networking.hostName = name;
|
||||
|
||||
nix.settings.experimental-features = "nix-command flakes";
|
||||
nixpkgs.flake.source = nixpkgs;
|
||||
nix.nixPath = [ "nixpkgs=flake:nixpkgs" ];
|
||||
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
packageOverrides = pkgs: {
|
||||
agenix = agenix.packages.${config.nixpkgs.hostPlatform.system}.default;
|
||||
};
|
||||
};
|
||||
|
||||
overlays = [ nur.overlay ];
|
||||
};
|
||||
|
||||
imports = [
|
||||
home-manager.nixosModules.home-manager
|
||||
|
@ -59,7 +49,6 @@
|
|||
|
||||
tohru = { name, nodes, ... }: {
|
||||
networking.hostId = "31da19c1";
|
||||
time.timeZone = "Europe/London";
|
||||
deployment = {
|
||||
allowLocalDeployment = true;
|
||||
targetHost = null; # disallow remote deployment
|
||||
|
@ -72,7 +61,6 @@
|
|||
|
||||
yevaud = { name, nodes, ... }: {
|
||||
networking.hostId = "09673d65";
|
||||
time.timeZone = "Etc/UTC";
|
||||
deployment.targetHost = "yevaud.birdsong.network";
|
||||
|
||||
imports = [
|
||||
|
@ -82,7 +70,6 @@
|
|||
|
||||
orm = { name, nodes, ... }: {
|
||||
networking.hostId = "00000000";
|
||||
time.timeZone = "Etc/UTC";
|
||||
deployment.targetHost = "orm.birdsong.network";
|
||||
|
||||
imports = [
|
||||
|
@ -92,7 +79,6 @@
|
|||
|
||||
kalessin = { name, nodes, ... }: {
|
||||
networking.hostId = "534b538e";
|
||||
time.timeZone = "Etc/UTC";
|
||||
deployment = {
|
||||
targetHost = "kalessin.birdsong.network";
|
||||
buildOnTarget = true;
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
boot.loader.systemd-boot.editor = false;
|
||||
|
||||
age.secrets.wireguard-peer-tohru.file = ../../secrets/wireguard-peer-tohru.age;
|
||||
|
||||
birdsong.peering = {
|
||||
enable = true;
|
||||
privateKeyFile = config.age.secrets.wireguard-peer-tohru.path;
|
||||
|
@ -30,6 +29,8 @@
|
|||
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
time.timeZone = "Europe/London";
|
||||
|
||||
i18n.defaultLocale = "en_GB.UTF-8";
|
||||
console.keyMap = "uk";
|
||||
|
||||
|
|
Loading…
Reference in a new issue