diff --git a/base.nix b/base.nix index e8c34cd..20ca1c6 100644 --- a/base.nix +++ b/base.nix @@ -43,6 +43,15 @@ nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; }; + environment.systemPackages = with pkgs; [ + wget + git + tree + rsync + bottom + ripgrep + ]; + services.openssh = { enable = true; permitRootLogin = "no"; @@ -52,6 +61,7 @@ users.users.felixalb = { isNormalUser = true; extraGroups = [ "wheel" ]; + uid = 1000; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDKzPICGew7uN0cmvRmbwkwTCodTBUgEhkoftQnZuO4Q felixalbrigtsen@gmail.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHkLmJIkBM6AMbYM/hYm27Flgya81UiGqh9/owYWmrbZ home.feal.no" diff --git a/flake.lock b/flake.lock index 6f757f6..3f6079d 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1674091526, - "narHash": "sha256-eLhLKOpF1ix5xZeFF9g8uE1stdyxuBLJvWQ20gLbDto=", + "lastModified": 1681570648, + "narHash": "sha256-ATsDh8cEXqx+gGIIpEPf5twAStM9INIbwmVgS4WcjYQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc5b90fd72177d9bcf435b10c12bb943549748c6", + "rev": "745a6200bf74c4dbec8f94dd731ab3769c0e9df3", "type": "github" }, "original": { @@ -18,11 +18,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1673740915, - "narHash": "sha256-MMH8zONfqahgHly3K8/A++X34800rajA/XgZ2DzNL/M=", + "lastModified": 1681613598, + "narHash": "sha256-Ogkoma0ytYcDoMR2N7CZFABPo+i0NNo26dPngru9tPc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7c65528c3f8462b902e09d1ccca23bb9034665c2", + "rev": "1040ce5f652b586da95dfd80d48a745e107b9eac", "type": "github" }, "original": { @@ -47,11 +47,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1681209176, - "narHash": "sha256-wyQokPpkNZnsl/bVf8m1428tfA0hJ0w/qexq4EizhTc=", + "lastModified": 1681613729, + "narHash": "sha256-9Qb0tHW8l1hgFkuB76n4VT9UNUaR7QL3CgmJ5hcVYEg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "00d5fd73756d424de5263b92235563bc06f2c6e1", + "rev": "b7a6670a28b01cd1f62879921e36be2c69c4137a", "type": "github" }, "original": { @@ -62,11 +62,11 @@ }, "unstable": { "locked": { - "lastModified": 1674101896, - "narHash": "sha256-xWLaexT6IHhOJru54wrOMeBbkKeJzOZ4Pqrxctf82q0=", + "lastModified": 1681618194, + "narHash": "sha256-UR4OobzFHFyIVHXmanJLfm5o2DVufbFeP1Dn7C5Xqn0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a841e262264e48722dccc8469f066068146e406b", + "rev": "f2654e378dfc8153a141a8fcb854b423fe259a27", "type": "github" }, "original": { diff --git a/hosts/chapel/configuration.nix b/hosts/chapel/configuration.nix index c085532..298cad1 100644 --- a/hosts/chapel/configuration.nix +++ b/hosts/chapel/configuration.nix @@ -62,11 +62,6 @@ ''; } ) - wget - git - tree - rsync - bottom ]; networking.firewall.allowedTCPPorts = [ 80 22 3100 ]; diff --git a/hosts/voyager/configuration.nix b/hosts/voyager/configuration.nix index e15ebc7..5e589f5 100644 --- a/hosts/voyager/configuration.nix +++ b/hosts/voyager/configuration.nix @@ -8,34 +8,34 @@ ./hardware-configuration.nix ./containers.nix + ./services/nginx ./services/metrics # TODO: - # - Boots + # x Boot + # x Mount ZFS + # x Monitoring server + # x Podman + # x Flame # - Transmission # - Jellyfin # - NFS exports - # x Monitoring server + # - FreeBSD VM # - Kali VM # - Kerberos / IPA ]; boot = { - kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; - kernelParams = [ "nohibernate" ]; # No swap, no hibernate + zfs.extraPools = [ "tank" ]; supportedFilesystems = [ "zfs" ]; + kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; }; - # filesystems."/tank" = { - # device = "tank"; - # fsType = "zfs"; - # }; - networking = { hostName = "voyager"; defaultGateway = "192.168.10.1"; nameservers = [ "192.168.10.1" "1.1.1.1" ]; - interfaces.eth0.ipv4 = { + interfaces.eno1.ipv4 = { addresses = [ { address = "192.168.10.165"; prefixLength = 24; } ]; @@ -81,16 +81,11 @@ ''; } ) - wget - git - tree - rsync - bottom + zfs ]; networking.firewall.allowedTCPPorts = [ 22 ]; system.stateVersion = "22.11"; - } diff --git a/hosts/voyager/containers.nix b/hosts/voyager/containers.nix index a9c31e6..842bd5b 100644 --- a/hosts/voyager/containers.nix +++ b/hosts/voyager/containers.nix @@ -1,13 +1,19 @@ -{ config, pkgs, values, ... }: +{ config, pkgs, lib, ... }: { - config.virtualisation.oci-containers.containers = { + # Flame - Homelab dashboard/linktree + virtualisation.oci-containers.containers = { flame = { image = "pawelmalak/flame"; - ports = [ "5005:5005" ]; + ports = [ "127.0.0.1:5005:5005" ]; volumes = [ "/var/lib/flame/data:/app/data/" ]; }; }; + services.nginx.virtualHosts."flame.home.feal.no" = { + locations."/" = { + proxyPass = "http://127.0.0.1:5005"; + }; + }; } diff --git a/hosts/voyager/hardware-configuration.nix b/hosts/voyager/hardware-configuration.nix index 8885fc4..3299d83 100644 --- a/hosts/voyager/hardware-configuration.nix +++ b/hosts/voyager/hardware-configuration.nix @@ -8,33 +8,18 @@ [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "mpt3sas" "usb_storage" "usbhid" "sd_mod" "sr_mod" ]; + boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "mpt3sas" "usbhid" "usb_storage" "sd_mod" "sr_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "rpool/nixos/root"; - fsType = "zfs"; + { device = "/dev/disk/by-uuid/5e292e89-d68c-4b45-9166-142de8b6ff5e"; + fsType = "ext4"; }; - fileSystems."/home" = - { device = "rpool/nixos/home"; - fsType = "zfs"; - }; - - fileSystems."/var/lib" = - { device = "rpool/nixos/var/lib"; - fsType = "zfs"; - }; - - fileSystems."/boot/efis/usb-USB_SanDisk_3.2Gen1_0101b10101c61e14737f7ba5d4debafb705fb5bb1082a0be6e8a84f5eb4ae02393df000000000000000000009940bff9ff01740081558107b5ad5d4a-0:0-part1" = - { device = "/dev/sdb1"; - fsType = "vfat"; - }; - - fileSystems."/boot/efis/usb-USB_SanDisk_3.2Gen1_0101aa2faa7599e5f2afc0dde60a5f61a62999cc479fbf61706afe2f115d19735f550000000000000000000026304b1f0094160081558107b5ac9a2a-0:0-part1" = - { device = "/dev/sdc1"; + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/7EA9-3E3A"; fsType = "vfat"; }; diff --git a/hosts/voyager/services/metrics/default.nix b/hosts/voyager/services/metrics/default.nix index 05803d0..ea816f5 100644 --- a/hosts/voyager/services/metrics/default.nix +++ b/hosts/voyager/services/metrics/default.nix @@ -5,6 +5,6 @@ ./prometheus.nix ./grafana.nix ./loki.nix - ./snmp-exporter.nix + #./snmp-exporter.nix ]; } diff --git a/hosts/voyager/services/nginx/default.nix b/hosts/voyager/services/nginx/default.nix new file mode 100644 index 0000000..fbaa848 --- /dev/null +++ b/hosts/voyager/services/nginx/default.nix @@ -0,0 +1,15 @@ +{ config, values, ... }: +{ + services.nginx = { + enable = true; + enableReload = true; + + recommendedProxySettings = true; + recommendedTlsSettings = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + }; + + networking.firewall.allowedTCPPorts = [ 80 443 ]; +} +