nixos-config/hosts/voyager/configuration.nix

120 lines
2.6 KiB
Nix
Raw Normal View History

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
./wireguard.nix
2023-04-24 17:08:23 +02:00
./exports.nix
2023-05-09 23:14:31 +02:00
2023-08-12 22:00:15 +02:00
./services/snappymail.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
./services/postgres.nix
2023-04-22 16:49:04 +02:00
./services/kanidm.nix
2023-05-09 23:14:31 +02:00
./services/matrix
2023-04-22 16:49:04 +02:00
./services/jellyfin.nix
2023-05-11 14:34:13 +02:00
./services/transmission.nix
2023-04-15 20:44:47 +02:00
./services/metrics
2023-04-17 02:23:56 +02:00
./services/flame.nix
2023-05-11 14:34:13 +02:00
./services/gitea.nix
2023-04-26 12:32:47 +02:00
./services/hedgedoc.nix
./services/vaultwarden.nix
2023-06-09 22:34:46 +02:00
./services/calibre.nix
./services/fancontrol.nix
2023-06-07 21:10:31 +02:00
# ./services/code-server.nix
2023-08-12 22:00:15 +02:00
2023-04-16 20:30:31 +02:00
];
2023-04-15 20:44:47 +02:00
networking = {
hostName = "voyager";
defaultGateway = "192.168.10.1";
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; {
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
2023-08-12 22:00:15 +02:00
services.snappymail = {
enable = true;
hostname = "mail.home.feal.no";
};
services.nginx.virtualHosts."${config.services.snappymail.hostname}" = let
certPath = "/etc/ssl-snakeoil/mail_home_feal_no";
in {
addSSL = true;
sslCertificate = "${certPath}.crt";
sslCertificateKey = "${certPath}.key";
};
2023-06-09 00:46:54 +02:00
/* virtualisation.podman = { */
/* enable = true; */
/* dockerCompat = true; # Make `docker` shell alias */
/* defaultNetwork.settings.dns_enabled = true; */
/* }; */
/* virtualisation.oci-containers.backend = "podman"; */
virtualisation.docker.enable = true;
virtualisation.oci-containers.backend = "docker";
2023-04-15 20:44:47 +02:00
networking.firewall.allowedTCPPorts = [ 22 ];
system.stateVersion = "22.11";
}