2023-04-15 20:44:47 +02:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
imports =
|
|
|
|
[
|
2023-04-22 16:49:04 +02:00
|
|
|
../../base.nix
|
2023-04-15 20:44:47 +02:00
|
|
|
../../common/metrics-exporters.nix
|
|
|
|
./hardware-configuration.nix
|
2023-04-17 02:23:56 +02:00
|
|
|
./filesystems.nix
|
2023-04-24 17:08:23 +02:00
|
|
|
./exports.nix
|
2023-04-22 16:49:04 +02:00
|
|
|
#./vms.nix
|
2023-04-15 20:44:47 +02:00
|
|
|
|
2023-04-16 16:49:08 +02:00
|
|
|
./services/nginx
|
2023-05-03 17:49:50 +02:00
|
|
|
./services/postgres.nix
|
2023-04-22 16:49:04 +02:00
|
|
|
./services/kanidm.nix
|
|
|
|
./services/jellyfin.nix
|
2023-04-15 20:44:47 +02:00
|
|
|
./services/metrics
|
2023-04-17 02:23:56 +02:00
|
|
|
./services/flame.nix
|
2023-04-26 12:32:47 +02:00
|
|
|
./services/hedgedoc.nix
|
2023-04-19 10:48:16 +02:00
|
|
|
./services/code-server.nix
|
2023-04-16 20:30:31 +02:00
|
|
|
# TODO:
|
|
|
|
# x Boot
|
|
|
|
# x Mount ZFS
|
|
|
|
# x Monitoring server
|
|
|
|
# x Podman
|
|
|
|
# x Flame
|
|
|
|
# - Transmission
|
2023-04-17 02:23:56 +02:00
|
|
|
# x Jellyfin
|
|
|
|
# x NFS imports
|
2023-05-03 17:49:50 +02:00
|
|
|
# x NFS exports
|
2023-04-16 20:30:31 +02:00
|
|
|
# - FreeBSD VM
|
|
|
|
# - Kali VM
|
2023-04-22 16:49:04 +02:00
|
|
|
# x Kerberos / IPA / Kanidm
|
|
|
|
# - Backup system
|
2023-04-16 20:30:31 +02:00
|
|
|
];
|
2023-04-15 20:44:47 +02:00
|
|
|
|
|
|
|
networking = {
|
|
|
|
hostName = "voyager";
|
|
|
|
defaultGateway = "192.168.10.1";
|
2023-05-03 17:49:50 +02:00
|
|
|
nameservers = [ "192.168.11.100" "1.1.1.1" ];
|
2023-04-16 16:49:08 +02:00
|
|
|
interfaces.eno1.ipv4 = {
|
2023-04-15 20:44:47 +02:00
|
|
|
addresses = [
|
2023-04-16 20:30:31 +02:00
|
|
|
{ address = "192.168.10.165"; prefixLength = 24; }
|
2023-04-15 20:44:47 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
hostId = "8e84b235";
|
|
|
|
};
|
|
|
|
|
2023-04-26 12:32:47 +02:00
|
|
|
sops.defaultSopsFile = ../../secrets/voyager/voyager.yaml;
|
|
|
|
|
2023-04-15 20:44:47 +02:00
|
|
|
environment.variables = { EDITOR = "vim"; };
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
((vim_configurable.override { }).customize{
|
2023-04-16 20:30:31 +02:00
|
|
|
name = "vim";
|
|
|
|
vimrcConfig.packages.myplugins = with pkgs.vimPlugins; {
|
2023-04-26 23:40:18 +02:00
|
|
|
start = [ vim-nix vim-lastplace vim-commentary ];
|
2023-04-16 20:30:31 +02:00
|
|
|
opt = [];
|
2023-04-15 20:44:47 +02:00
|
|
|
};
|
|
|
|
vimrcConfig.customRC = ''
|
|
|
|
" your custom vimrc
|
|
|
|
set number
|
|
|
|
set relativenumber
|
|
|
|
set nu rnu
|
|
|
|
set signcolumn=number
|
|
|
|
|
|
|
|
set hlsearch
|
|
|
|
set smartcase
|
|
|
|
set incsearch
|
|
|
|
|
|
|
|
set autoindent
|
|
|
|
set expandtab
|
|
|
|
set shiftwidth=2
|
|
|
|
set tabstop=2
|
|
|
|
set smartindent
|
|
|
|
set smarttab
|
|
|
|
|
|
|
|
set ruler
|
|
|
|
|
|
|
|
set undolevels=1000
|
|
|
|
|
|
|
|
set nocompatible
|
|
|
|
set backspace=indent,eol,start
|
|
|
|
" Turn on syntax highlighting by default
|
|
|
|
syntax on
|
|
|
|
" ...
|
|
|
|
'';
|
|
|
|
}
|
|
|
|
)
|
2023-04-16 16:49:08 +02:00
|
|
|
zfs
|
2023-04-17 02:23:56 +02:00
|
|
|
screen
|
2023-04-20 11:54:13 +02:00
|
|
|
exa
|
2023-04-17 02:23:56 +02:00
|
|
|
];
|
2023-04-15 20:44:47 +02:00
|
|
|
|
|
|
|
networking.firewall.allowedTCPPorts = [ 22 ];
|
|
|
|
|
|
|
|
system.stateVersion = "22.11";
|
|
|
|
}
|
|
|
|
|