snowfield/machines/arcadia/default.nix
2025-03-17 23:02:04 +01:00

108 lines
2.2 KiB
Nix

{
pkgs,
inputs,
lib,
...
}:
let
emacs-from-overlay = pkgs.emacsWithPackagesFromUsePackage {
config = ../../../emacs-config/ReadMe.org;
package = pkgs.emacs-igc;
alwaysEnsure = true;
alwaysTangle = true;
extraEmacsPackages = epkgs: [ epkgs.exwm ];
};
in
{
imports = [
./hardware.nix
./home-julien.nix
./syncthing.nix
];
machine.meta = {
arch = "x86_64-linux";
nixpkgs_version = inputs.unstable;
hm_version = inputs.home-manager-unstable;
# TODO: Fix colmena deployment
ips.public.ipv4 = "127.0.0.1";
ips.vpn.ipv4 = "100.100.45.12";
};
environment.persistence."/persistent" = {
hideMounts = true;
directories = [
"/var/lib"
"/var/log"
"/etc/NetworkManager/system-connections"
];
files = [
"/etc/machine-id"
"/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key.pub"
];
};
programs.fuse.userAllowOther = true;
fileSystems."/persistent".neededForBoot = true;
disko = import ./disko.nix;
boot.loader.systemd-boot.enable = true;
networking.wireless.enable = false;
services.tailscale.enable = true;
networking.networkmanager.enable = true;
services.dbus.enable = true;
programs.dconf.enable = true;
security.polkit.enable = true;
nix = {
distributedBuilds = true;
buildMachines = [
{
hostName = "epyc.infra.newtype.fr";
maxJobs = 100;
systems = [ "x86_64-linux" ];
sshUser = "root";
supportedFeatures = [
"kvm"
"nixos-test"
];
sshKey = "/home/julien/.ssh/id_ed25519";
speedFactor = 2;
}
];
};
environment.systemPackages = with pkgs; [
tailscale
brightnessctl
sbctl
];
security.pam.services.swaylock = { };
programs.ssh.startAgent = true;
services.xserver.displayManager.lightdm.enable = true;
services.xserver.desktopManager.xterm.enable = true;
services.xserver.enable = true;
services.xserver.windowManager.session = lib.singleton {
name = "exwm";
start = ''
${emacs-from-overlay}/bin/emacs -l /home/julien/.emacs.d/exwm-config.el
'';
};
services.gnome.gnome-keyring.enable = true;
system.stateVersion = "25.05";
}