diff --git a/host/caenus/default.nix b/host/caenus/default.nix index aa5e20b..a5c08b3 100644 --- a/host/caenus/default.nix +++ b/host/caenus/default.nix @@ -1,11 +1,5 @@ -{ modulesPath, config, pkgs, ... }: - -let - - hostname = "caenus"; - -in { - +{ modulesPath, config, pkgs, hostName ... }: +{ ## MODULES & IMPORTS ## imports = @@ -24,27 +18,9 @@ in { boot.loader.efi.canTouchEfiVariables = true; ## NETWORKING ## - networking = { - firewall = { - allowedTCPPorts = [ 22 80 443 4040 ]; - allowedUDPPorts = [ 25565 4040 ]; - }; - dhcpcd.enable = false; - hostName = hostname; - networkmanager.enable = true; - useHostResolvConf = false; - }; - - systemd.network = { - enable = true; - networks."50-enp0s6" = { - matchConfig.Name = "enp0s6"; - networkConfig = { - DHCP = "yes"; - IPv6AcceptRA = true; - }; - linkConfig.RequiredForOnline = "routable"; - }; + networking.firewall = { + allowedTCPPorts = [ 22 80 443 4040 ]; + allowedUDPPorts = [ 25565 4040 ]; }; ## ENVIORMENT & PACKAGES ## diff --git a/host/cloud/default.nix b/host/cloud/default.nix index 793420a..9f3de4c 100644 --- a/host/cloud/default.nix +++ b/host/cloud/default.nix @@ -1,11 +1,5 @@ -{ modulesPath, config, pkgs, ... }: - -let - - hostname = "cloud"; - -in { - +{ modulesPath, config, pkgs, hostName ... }: +{ ## MODULES & IMPORTS ## imports = [ # Common Modules @@ -31,28 +25,9 @@ in { ]; ## NETWORKING ## - networking = { - firewall = { - allowedTCPPorts = [ 22 80 443 ]; - allowedUDPPorts = [ ]; - }; - dhcpcd.enable = false; - hostName = hostname; - networkmanager.enable = true; - useDHCP = false; - useHostResolvConf = false; - }; - - systemd.network = { - enable = true; - networks."50-eth0" = { - matchConfig.Name = "eth0"; - networkConfig = { - DHCP = "ipv4"; - IPv6AcceptRA = true; - }; - linkConfig.RequiredForOnline = "routable"; - }; + networking.firewall = { + allowedTCPPorts = [ 22 80 443 ]; + allowedUDPPorts = [ ]; }; ## ENVIORMENT & PACKAGES ## diff --git a/host/cloud/hardware.nix b/host/cloud/hardware.nix index 0972f43..7af8914 100644 --- a/host/cloud/hardware.nix +++ b/host/cloud/hardware.nix @@ -9,6 +9,12 @@ options = ["direct_io" "defaults" "allow_other" "minfreespace=50G" "fsname=mergerfs" "category.create=mfs" "nonempty"]; }; + "/home/toph/git" = { + fsType = "none"; + device = "/pool/git"; + options = ["bind" "nofail"]; + }; + "/var/lib/nextcloud" = { fsType = "none"; device = "/pool/NextCloud"; diff --git a/host/komodo/default.nix b/host/komodo/default.nix new file mode 100644 index 0000000..a6df51f --- /dev/null +++ b/host/komodo/default.nix @@ -0,0 +1,36 @@ +{ modulesPath, config, pkgs, hostName ... }: +{ + ## MODULES & IMPORTS ## + imports = [ + # Common Modules + ../../common/lxc + ../../common/ssh + + # Import hardware configuration. + ./hardware.nix + + # Local Modules + ./modules/frp + ./modules/komodo + ]; + + ## NETWORKING ## + networking.firewall = { + allowedTCPPorts = [ 22 80 443 ]; + allowedUDPPorts = [ ]; + }; + + ## ENVIORMENT & PACKAGES ## + environment.systemPackages = with pkgs; [ + git + micro + openssh + ranger + sshfs + wget + ]; + + environment.variables = { + HOSTNAME = hostName; + }; +} diff --git a/host/komodo/hardware.nix b/host/komodo/hardware.nix new file mode 100644 index 0000000..0f4817d --- /dev/null +++ b/host/komodo/hardware.nix @@ -0,0 +1,23 @@ +{ + programs.fuse.userAllowOther = true; + + fileSystems = { + "/pool" = { + device = "toph@104.40.4.24:/pool"; + fsType = "sshfs"; + options = [ + "defaults" + "reconnect" + "_netdev" + "allow_other" + "identityfile=/home/toph/.ssh/pve" + ]; + }; + + "/home/toph/git" = { + fsType = "none"; + device = "/pool/git"; + options = ["bind" "nofail"]; + }; + }; +} diff --git a/host/komodo/home/default.nix b/host/komodo/home/default.nix new file mode 100644 index 0000000..c073ee2 --- /dev/null +++ b/host/komodo/home/default.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: +{ + # Module imports + imports = [ + # Common Modules + ../../../common/home + ]; + + home.packages = with pkgs; [ + fastfetch + fish + fishPlugins.grc + fishPlugins.tide + grc + lazydocker + ]; +} \ No newline at end of file diff --git a/host/komodo/modules/frp/default.nix b/host/komodo/modules/frp/default.nix new file mode 100644 index 0000000..25c31f9 --- /dev/null +++ b/host/komodo/modules/frp/default.nix @@ -0,0 +1,13 @@ +{ + # services.frp = { + # enable = true; + # role = "server"; + # settings = { + # bindPort = 4040; + # auth = { + # method = "token"; + # token = builtins.readFile ./frp.token; + # }; + # }; + # }; +} \ No newline at end of file diff --git a/host/komodo/modules/frp/frp.token b/host/komodo/modules/frp/frp.token new file mode 100644 index 0000000..862383d --- /dev/null +++ b/host/komodo/modules/frp/frp.token @@ -0,0 +1 @@ +$2b$05$3hq3mA559Yxy679kKbzou..ao9d7annFWAo4MRo0tO04bYJsteWTu \ No newline at end of file diff --git a/host/komodo/modules/frp/frp.token.example b/host/komodo/modules/frp/frp.token.example new file mode 100644 index 0000000..d4aa30e --- /dev/null +++ b/host/komodo/modules/frp/frp.token.example @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/host/komodo/modules/komodo/default.nix b/host/komodo/modules/komodo/default.nix new file mode 100644 index 0000000..544b7b4 --- /dev/null +++ b/host/komodo/modules/komodo/default.nix @@ -0,0 +1,3 @@ +{ + +} \ No newline at end of file diff --git a/host/nix/default.nix b/host/nix/default.nix index d1ff9f7..ee7e694 100644 --- a/host/nix/default.nix +++ b/host/nix/default.nix @@ -1,10 +1,5 @@ -{ modulesPath, config, pkgs, ... }: -let - - hostname = "nix"; - -in { - +{ modulesPath, config, pkgs, hostName ... }: +{ ## MODULES & IMPORTS ## imports = [ # Common Modules @@ -15,28 +10,11 @@ in { ./hardware.nix ]; + ## NETWORKING ## - networking = { - firewall = { - allowedTCPPorts = [ 80 443 ]; - }; - dhcpcd.enable = false; - hostName = hostname; - networkmanager.enable = true; - useDHCP = false; - useHostResolvConf = false; - }; - - systemd.network = { - enable = true; - networks."50-eth0" = { - matchConfig.Name = "eth0"; - networkConfig = { - DHCP = "ipv4"; - IPv6AcceptRA = true; - }; - linkConfig.RequiredForOnline = "routable"; - }; + networking.firewall = { + allowedTCPPorts = [ 22 80 443 ]; + allowedUDPPorts = [ ]; }; ## ENVIORMENT & PACKAGES ## @@ -50,7 +28,7 @@ in { wget x2goserver ]; - + programs.java = { enable = true; package = pkgs.jdk; }; diff --git a/host/proxy/default.nix b/host/proxy/default.nix index 9d9ced6..d6c6ab1 100644 --- a/host/proxy/default.nix +++ b/host/proxy/default.nix @@ -1,11 +1,5 @@ -{ modulesPath, config, pkgs, ... }: - -let - - hostname = "proxy"; - -in { - +{ modulesPath, config, pkgs, hostName ... }: +{ ## MODULES & IMPORTS ## imports = [ # Common Modules @@ -23,27 +17,9 @@ in { ]; ## NETWORKING ## - networking = { - firewall = { - allowedTCPPorts = [ 22 80 443 ]; - allowedUDPPorts = [ ]; - }; - dhcpcd.enable = false; - hostName = hostname; - networkmanager.enable = true; - useHostResolvConf = false; - }; - - systemd.network = { - enable = true; - networks."50-net0" = { - matchConfig.Name = "net0"; - networkConfig = { - DHCP = "yes"; - IPv6AcceptRA = true; - }; - linkConfig.RequiredForOnline = "routable"; - }; + networking.firewall = { + allowedTCPPorts = [ 22 80 443 ]; + allowedUDPPorts = [ ]; }; ## ENVIORMENT & PACKAGES ## diff --git a/host/proxy/hardware.nix b/host/proxy/hardware.nix index c6d4323..0f4817d 100644 --- a/host/proxy/hardware.nix +++ b/host/proxy/hardware.nix @@ -1,6 +1,23 @@ { - # fileSystems."/" = { - # device = "/dev/sda1"; - # fsType = "ext4"; - # }; -} \ No newline at end of file + programs.fuse.userAllowOther = true; + + fileSystems = { + "/pool" = { + device = "toph@104.40.4.24:/pool"; + fsType = "sshfs"; + options = [ + "defaults" + "reconnect" + "_netdev" + "allow_other" + "identityfile=/home/toph/.ssh/pve" + ]; + }; + + "/home/toph/git" = { + fsType = "none"; + device = "/pool/git"; + options = ["bind" "nofail"]; + }; + }; +} diff --git a/nix/default.nix b/nix/default.nix index 9b055f4..99af7b9 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -52,6 +52,9 @@ in { }; ## NIXOS ## + systemd.tmpfiles.rules = [ + "d /home/toph/git 0750 toph users -" + ]; # forces interfaces to be named predictably # This value determines the NixOS release with which your system is to be system.stateVersion = "24.11";