diff --git a/configs/nixos/forgejo.nix b/configs/nixos/forgejo.nix index 6711b8f..7efa1f2 100644 --- a/configs/nixos/forgejo.nix +++ b/configs/nixos/forgejo.nix @@ -38,4 +38,6 @@ in { proxyPass = "http://localhost:${toString srv.HTTP_PORT}"; }; }; + + imports = [./nginx.nix]; } diff --git a/configs/nixos/radicale.nix b/configs/nixos/radicale.nix index 5aa2a21..7081633 100644 --- a/configs/nixos/radicale.nix +++ b/configs/nixos/radicale.nix @@ -24,4 +24,6 @@ proxyPass = "http://localhost:5232"; }; }; + + imports = [./nginx.nix]; } diff --git a/flake.nix b/flake.nix index 0bdffed..879173a 100644 --- a/flake.nix +++ b/flake.nix @@ -95,6 +95,7 @@ gv-wsl = import ./hosts/wsl-workstation.nix {inherit inputs configLib;}; rockhole = import ./hosts/rockhole64 {inherit inputs configLib;}; cirrus = import ./hosts/cirrus {inherit inputs configLib;}; + remotepi-karp = import ./hosts/remotepi-karp {inherit inputs configLib;}; }; # Standalone home-manager configuration entrypoint @@ -127,6 +128,7 @@ proxmox = import ./packages/proxmox.nix {inherit inputs configLib;}; iso = import ./packages/iso.nix {inherit inputs configLib;}; aarch-64-iso = import ./packages/aarch64-iso.nix {inherit inputs configLib;}; + rpi3-sd-image = import ./packages/rpi3-sd-image.nix {inherit inputs configLib;}; }; templates = import ./templates; diff --git a/hosts/cirrus/default.nix b/hosts/cirrus/default.nix index 100a1db..2341bd2 100644 --- a/hosts/cirrus/default.nix +++ b/hosts/cirrus/default.nix @@ -17,7 +17,7 @@ inputs.nixpkgs.lib.nixosSystem { ../../configs/nixos/common.nix ../../configs/nixos/tailscale.nix ../../configs/nixos/sshd.nix - ../../configs/nixos/secrets.nix + # ../../configs/nixos/secrets.nix ../../configs/nixos/radicale.nix ../../configs/nixos/forgejo.nix ({ diff --git a/hosts/remote-pi/default.nix b/hosts/remotepi-karp/default.nix similarity index 88% rename from hosts/remote-pi/default.nix rename to hosts/remotepi-karp/default.nix index dd97bf9..878a702 100644 --- a/hosts/remote-pi/default.nix +++ b/hosts/remotepi-karp/default.nix @@ -10,34 +10,31 @@ inputs.nixpkgs.lib.nixosSystem { inputs.home-manager.nixosModules.home-manager inputs.disko.nixosModules.disko inputs.nixos-hardware.nixosModules.raspberry-pi-3 + ../../configs/nixos/common.nix ../../configs/nixos/sshd.nix - ../../configs/nixos/secrets.nix + # ../../configs/nixos/secrets.nix ../../configs/nixos/tailscale.nix ({ config, pkgs, lib, configLib, + modulesPath, ... }: { - boot.initrd.availableKernelModules = [ - "xhci_pci" - "usbhid" - "usb_storage" - ]; hardware.enableRedistributableFirmware = true; host = { user = "gabe"; fullName = "Gabe Venberg"; }; - networking.hostName = "remotepi"; # Define your hostname. + networking.hostName = "remotepi-karp"; # Define your hostname. networking.hostId = "8efd3e13"; networking.useNetworkd = true; systemd.network = { enable = true; - networks."TODO" = { - name = "TODO"; + networks."eth0" = { + name = "eth0"; address = ["TODO"]; gateway = ["TODO"]; dns = ["1.1.1.1"]; @@ -97,7 +94,7 @@ inputs.nixpkgs.lib.nixosSystem { # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "24.11"; # Did you read the comment? + system.stateVersion = "24.05"; # Did you read the comment? }) ]; } diff --git a/hosts/rockhole64/default.nix b/hosts/rockhole64/default.nix index 103a364..0cc7c02 100644 --- a/hosts/rockhole64/default.nix +++ b/hosts/rockhole64/default.nix @@ -14,7 +14,7 @@ inputs.nixpkgs.lib.nixosSystem { ./adguard.nix ../../configs/nixos/common.nix ../../configs/nixos/sshd.nix - ../../configs/nixos/secrets.nix + # ../../configs/nixos/secrets.nix ../../configs/nixos/tailscale.nix ({ config, diff --git a/packages/rpi3-sd-image.nix b/packages/rpi3-sd-image.nix new file mode 100644 index 0000000..5157515 --- /dev/null +++ b/packages/rpi3-sd-image.nix @@ -0,0 +1,105 @@ +{ + inputs, + configLib, + ... +}: +(inputs.nixpkgs.lib.nixosSystem { + system = "aarch64-linux"; + specialArgs = {inherit inputs configLib;}; + modules = [ + inputs.home-manager.nixosModules.home-manager + inputs.disko.nixosModules.disko + inputs.nixos-hardware.nixosModules.raspberry-pi-3 + + ../configs/nixos/common.nix + ../configs/nixos/sshd.nix + # ../configs/nixos/secrets.nix + ../configs/nixos/tailscale.nix + ({ + config, + pkgs, + lib, + configLib, + modulesPath, + ... + }: { + imports = [ "${modulesPath}/installer/sd-card/sd-image-aarch64.nix" ]; + hardware.enableRedistributableFirmware = true; + host = { + user = "gabe"; + fullName = "Gabe Venberg"; + }; + networking.hostName = "nixpi"; # Define your hostname. + networking.useNetworkd = true; + systemd.network = { + enable = true; + networks."eth0" = { + name = "eth0"; + DHCP = "yes"; + # address = ["TODO"]; + # gateway = ["TODO"]; + # dns = ["1.1.1.1"]; + }; + }; + fileSystems = { + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + options = ["noatime"]; + }; + }; + + time.timeZone = "America/Chicago"; + + # home-manager.sharedModules = [ + # inputs.sops-nix.homeManagerModules.sops + # ]; + home-manager.users.${config.host.user} = { + inputs, + osConfig, + lib, + ... + }: { + host = osConfig.host; + user = { + git = { + profile = { + name = config.host.fullName; + email = "gabevenberg@gmail.com"; + }; + workProfile.enable = false; + }; + }; + imports = [ + ../roles/home-manager/minimal-terminal.nix + ../configs/home-manager/common.nix + inputs.nixvim.homeManagerModules.nixvim + # ../configs/home-manager/secrets.nix + ]; + + # sops = lib.mkIf (inputs ? nix-secrets) { + # secrets = { + # }; + # }; + }; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "24.05"; # Did you read the comment? + }) + ]; +}) +.config +.system +.build +.sdImage