dotfiles/nixos/systems/omen/default.nix

79 lines
1.9 KiB
Nix
Raw Normal View History

# SPDX-FileCopyrightText: 2022 Richard Brežák <richard@brezak.sk>
#
# SPDX-License-Identifier: LGPL-3.0-or-later
{ inputs, lib, config, secret, ... }:
let
inherit (lib)
flip
mapAttrs
singleton;
config' = config;
in
{
flake.nixosConfigurations.omen = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
config' = config';
inputs' = inputs;
secret =
if builtins.pathExists "${inputs.secret}/default.nix" then
import inputs.secret { inherit lib; }
else
{};
};
modules = singleton
({ pkgs, config, ... }:
{
imports = [
./xserver.nix
./udp2tcp.nix
../../common/steam.nix
./grub.nix
./networking.nix
./filesystems.nix
./hardware.nix
./users.nix
./nixpkgs.nix
../../common/sound.nix
inputs.dwarffs.nixosModules.dwarffs
];
_module.args.nixinate = {
host = secret.network.ips.omen.vpn or "";
sshUser = "main";
buildOn = "local";
substituteOnTarget = true;
hermetic = false;
nixOptions = [
"--override-input secret path://$HOME/dotfiles/secret"
];
};
services.fwupd.enable = true;
services.syncthing = {
enable = true;
user = "main";
group = "main";
};
services.sshd.enable = true;
# Makes QEMU recompile https://github.com/NixOS/nixpkgs/issues/221056
# boot.binfmt.emulatedSystems = [
# "aarch64-linux"
# "riscv64-linux"
# ];
time.timeZone = "Europe/Amsterdam";
system.stateVersion = "20.09";
virtualisation.podman.enable = true;
});
};
}