config/hosts/noximilien/default.nix

136 lines
4.8 KiB
Nix

{ config, pkgs, lib, ... }:
{
# Bootloader
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
boot.loader.grub.useOSProber = true;
imports = [
./hardware-configuration.nix
../../profiles/auto-upgrade.nix
../../profiles/upgrade-diff.nix
../../profiles/sshd.nix
../../profiles/podman.nix
../../profiles/vpn-pbsds/headscale.nix # opens port 3478
../../users/pbsds
../../users/jornane
../../profiles/mounts/freon-nfs.nix
../../profiles/mounts/reidun-nfs.nix
../../profiles/mounts/meconium-zfs.nix
../../profiles/mounts/fridge-nfs.nix
../../profiles/shell/base.nix
../../profiles/shell/archives.nix
../../profiles/shell/nix-utils.nix
#../../profiles/shell/binfmt-emu.nix # qemu won't compile...
../../profiles/services/tmate-server.nix # opens port 42244
../../profiles/http # enables nginx+acme, defines mkDomain
../../profiles/http/index
../../profiles/http/services/cinny.nix
../../profiles/http/services/element.nix
../../profiles/http/services/flexget.nix
../../profiles/http/services/gitea.nix
#../../profiles/http/services/hydra.nix
../../profiles/http/services/invidious.nix
../../profiles/http/services/rss-bridge.nix
#../../profiles/http/services/jellyfin.nix
../../profiles/http/services/plex.nix
../../profiles/http/services/tautulli.nix # will run a first-time-setup where admin account is made
../../profiles/http/services/libreddit.nix
#../../profiles/http/services/mattermost.nix
#../../profiles/http/services/navidrome.nix
../../profiles/http/services/netdata.nix
#../../profiles/http/services/nitter.nix
#../../profiles/http/services/ntopng.nix
../../profiles/http/services/microbin.nix
#../../profiles/http/services/owncast.nix
#../../profiles/http/services/paperless.nix
../../profiles/http/services/polaris.nix
#../../profiles/http/services/resilio.nix
../../profiles/http/services/roundcube.nix
../../profiles/http/services/thelounge.nix
../../profiles/http/services/vaultwarden.nix
../../profiles/http/services/webdav-zotero.nix
#../../profiles/http/services/convos.nix
#../../profiles/http/services/cryptpad.nix
#../../profiles/http/services/galene.nix
#../../profiles/http/services/graphana.nix
../../profiles/http/services/hedgedoc.nix
#../../profiles/http/services/home-assistant.nix
#../../profiles/http/services/jitsi-meet.nix
#../../profiles/http/services/kukkee
#../../profiles/http/services/matrix-synapse.nix
#../../profiles/http/services/shlink.nix
#../../profiles/http/services/sourcegraph.nix
#../../profiles/http/services/censordodge.nix
#../../profiles/http/services/openspeedtest.nix
../../profiles/http/docs
../../profiles/http/docs/pdoc.nix
../../profiles/http/docs/python-docs.nix
../../profiles/http/docs/nixpkgs.nix
../../profiles/http/docs/home-manager.nix
../../profiles/http/docs/linux-docs.nix
../../profiles/http/docs/programs.nix
../../profiles/http/docs/yagcd.nix
#../../profiles/http/sites/linktree-pbsds.nix # github bby!! TODO: remove
../../profiles/http/sites/refleksjon-no.nix
../../profiles/http/sites/roroslyd-no.nix
../../profiles/http/sites/kuklefse.nix
#../../profiles/http/services/trivial-gradios
#../../profiles/code-remote # TODO: move into web? services?
../../profiles/domeneshop-dyndns
../../profiles/remote-builders
../../profiles/autossh-reverse-tunnels
#../../profiles/xrdp
];
services.domeneshop-updater.targets = [
#"pbsds.net" # github bby!! TODO: remove
"olavtr.pbsds.net"
"kuklef.se"
];
networking.hostId = "e1ffd469"; # needed for zfs: head -c 8 /etc/machine-id
networking.wireguard.interfaces."wg0".ips = [ "172.22.48.3/24" ];
# TODO: remove? Move to where relevant?
nixpkgs.overlays = [
/** /
(final: prev: {
mapcrafter = prev.callPackage /home/pbsds/repos/nixpkgs-mapcrafter/pkgs/tools/games/minecraft/mapcrafter/default.nix { };
mapcrafter-world112 = prev.callPackage /home/pbsds/repos/nixpkgs-mapcrafter/pkgs/tools/games/minecraft/mapcrafter/default.nix { world="world112"; };
})
/**/
];
# Networking
networking.networkmanager.enable = true;
#networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
#networking.iwd.enable = true
networking.interfaces.eno1.ipv4.addresses = [
{ address = "192.168.1.9"; prefixLength = 24; }
];
networking.nameservers = [
"192.168.1.254"
"8.8.8.8"
"1.1.1.1"
];
networking.defaultGateway = {
address = "192.168.1.254";
interface = "eno1";
};
#networking.useDHCP = true;
#TODO: avahi? resolved? https://git.pvv.ntnu.no/Drift/pvv-nixos-config/src/main/base.nix#L15-L18
# TODO: remove? Move?
programs.dconf.enable = true;
}