nixos-config/configurations/london/default.nix

94 lines
2.1 KiB
Nix
Raw Normal View History

{
2024-04-11 20:15:47 +02:00
pkgs,
config,
lib,
extraInfo,
...
}:
{
imports = [ ./hardware.nix ];
deployment.targetHost = null;
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
2024-04-11 20:15:47 +02:00
# Custom udev rules for Nucleo's stlink interface
2024-02-18 10:08:50 +01:00
services.udev.extraRules = ''
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b",MODE="660",GROUP="dialout",TAG+="uaccess"
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748",MODE="660",GROUP="dialout",TAG+="uaccess"
'';
2024-04-11 20:15:47 +02:00
# Nix
2024-08-01 21:40:51 +02:00
nixpkgs.config.allowUnfree = true;
2023-12-22 23:18:58 +01:00
2024-04-11 20:15:47 +02:00
# System secrets
sops = {
gnupg.sshKeyPaths = [ ];
age = {
sshKeyPaths = [ ];
keyFile = "/var/lib/sops-nix/key.txt";
};
defaultSopsFile = ./secrets/secrets.yaml;
secrets.wg0_private = { };
};
2024-04-11 20:15:47 +02:00
# Wireguard
networking.wg-quick.interfaces.wg0 = {
2023-12-24 20:41:29 +01:00
address = [ "10.100.0.4/8" ];
dns = [ "10.100.0.1" ];
listenPort = 51820;
privateKeyFile = config.sops.secrets.wg0_private.path;
peers = [
{
# Rock Pro 64
publicKey = "XVmG3/rNsCqc8KCmOx3+UUn9DJOnJ40Uxid5JGdChR4=";
endpoint = "${extraInfo.wireguard.rockProEndpoint}:51820";
2023-12-25 21:53:14 +01:00
allowedIPs = [ "10.100.0.1" ];
persistentKeepalive = 25;
}
];
};
2024-04-11 20:15:47 +02:00
# User config
2024-08-01 21:40:51 +02:00
my.users = {
dala = {
description = "Dala";
2024-04-11 20:15:47 +02:00
groups = [
2024-06-08 08:11:42 +02:00
"docker"
2024-04-11 20:15:47 +02:00
"wheel"
"video"
"audio"
"seat"
"keys"
"lp"
"dialout"
"network"
];
uid = 1000;
shell = pkgs.fish;
2024-08-01 21:40:51 +02:00
hmConfig = {
2024-02-10 14:25:13 +01:00
programs.helix.enable = true;
2024-08-01 21:40:51 +02:00
my.desktop.sway.monitors = [
{
name = "Iiyama North America PL2470H 0x0000047B";
resolution = "1920x1080@165.003Hz";
position = "1920 0";
defaultWorkspace = 1;
}
{
name = "Iiyama North America PL2530H 1154392601941";
resolution = "1920x1080@74.973Hz";
position = "0 0";
defaultWorkspace = 2;
}
];
nixpkgs.config.allowUnfree = true;
2024-08-01 21:40:51 +02:00
my.development.embedded-tools.enable = true;
};
};
};
}