diff --git a/nixos/docker/homepage/compose.nix b/nixos/docker/homepage/compose.nix index 2b745d9..67b4323 100644 --- a/nixos/docker/homepage/compose.nix +++ b/nixos/docker/homepage/compose.nix @@ -1,5 +1,7 @@ # Auto-generated using compose2nix v0.3.1. -{ pkgs, lib, ... }: { +{ pkgs, lib, ... }: + +{ # Runtime virtualisation.docker = { enable = true; @@ -11,6 +13,7 @@ virtualisation.oci-containers.containers."homepage" = { image = "ghcr.io/gethomepage/homepage:latest"; volumes = [ + "/home/rae/.dotfiles/assets/wallpapers:/app/public/images:rw" "/home/rae/.dotfiles/configs/homepage:/app/config:rw" "/var/run/docker.sock:/var/run/docker.sock:rw" ]; diff --git a/nixos/docker/homepage/default.nix b/nixos/docker/homepage/default.nix index 4bc9c99..20c980a 100644 --- a/nixos/docker/homepage/default.nix +++ b/nixos/docker/homepage/default.nix @@ -1,11 +1,22 @@ -{ pkgs, ... }: let +{ pkgs, lib, ... }: let cfg = options.containers.homepage; settingsFormat = pkgs.formats.yaml; in { options.containers.homepage = { - enable = mkEnableOption "homepage"; - widgets = mkOption { + enable = lib.mkEnableOption "homepage"; + openFirewall = lib.mkOption { + type = lib.types.bool; + default = false; + }; + settings = lib.mkOption { inherit (settingsFormat) type; + description = "See https://gethomepage.dev/configs/settings/"; + default = {}; + }; + widgets = lib.mkOption { + inherit (settingsFormat) type; + description = "See https://gethomepage.dev/widgets/"; + default = []; }; }; @@ -13,7 +24,12 @@ in { inherit (./compose.nix); environment.etc = lib.mkIf cfg.enable { + "homepage-dashboard/settings.yaml".source = settingsFormat.generate "settings.yaml" cfg.settings; "homepage-dashboard/widgets.yaml".source = settingsFormat.generate "widgets.yaml" cfg.widgets; }; + + networking.firewall = lib.mkIf cfg.openFirewall { + allowedTCPPorts = [ 3000 ]; + }; }; } diff --git a/nixos/docker/homepage/docker-compose.yml b/nixos/docker/homepage/docker-compose.yml index ff14ea5..c24bc74 100644 --- a/nixos/docker/homepage/docker-compose.yml +++ b/nixos/docker/homepage/docker-compose.yml @@ -8,3 +8,4 @@ services: volumes: - /home/rae/.dotfiles/configs/homepage:/app/config # Make sure your local config directory exists - /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations + - /home/rae/.dotfiles/assets/wallpapers:/app/public/images diff --git a/nixos/home/vscode.nix b/nixos/home/vscode.nix index 9a0f713..e9b6040 100644 --- a/nixos/home/vscode.nix +++ b/nixos/home/vscode.nix @@ -27,6 +27,7 @@ }; }; in { + "editor.detectIndentation" = false; "editor.fontFamily" = "'Fira Code Light', monospace"; # "editor.fontLigatures" = true; "editor.formatOnSave" = false; @@ -39,6 +40,7 @@ "prettier.trailingComma" = "none"; "prettier.singleAttributePerLine" = false; "prettier.useEditorConfig" = true; + "prettier.useTabs" = true; "svelte.enable-ts-plugin" = true; "telemetry.telemetryLevel" = "off"; "workbench.activityBar.iconClickBehavior" = "toggle"; diff --git a/nixos/hosts/near/configuration.nix b/nixos/hosts/near/configuration.nix index 80de74c..ab976a3 100644 --- a/nixos/hosts/near/configuration.nix +++ b/nixos/hosts/near/configuration.nix @@ -14,7 +14,42 @@ programs.git.enable = true; virtualisation.docker.enable = true; containers = { - homepage.enable = true; + homepage = { + enable = true; + openFirewall = true; + settings = { + title = "near"; + background = "/images/2kki_rainy_apartments.png"; + theme = "dark"; + color = "violet"; + headerStyle = "clean"; + target = "_self"; + quickLaunch.provider = "duckduckgo"; + }; + widgets = [ + { + search.provider = "duckduckgo"; + } + { + resources = { + cpu = true; + memory = true; + disk = "/"; + uptime = true; + network = true; + }; + } + { + openmeteo = { + label = "Jacksonville"; + latitude = 30.3321838; + longitude = -81.655651; + timezone = "America/New_York"; + units = "imperial"; + }; + } + ]; + }; }; services = { @@ -22,14 +57,17 @@ ports = [ 22 ]; banner = "I won't hold it against you"; settings = { - PasswordAuthentication = true; + PasswordAuthentication = false; }; }; }; networking = { hostName = "near"; - firewall.allowedTCPPorts = [ 22 8082 ]; + firewall.allowedTCPPorts = [ 22 ]; + networkmanager = { + enable = true; + }; }; time.timeZone = "America/New_York"; diff --git a/secrets/sparkfun.gpg b/secrets/sparkfun.gpg new file mode 100644 index 0000000..7697826 --- /dev/null +++ b/secrets/sparkfun.gpg @@ -0,0 +1 @@ +^>=̢ @zo4a++q :bJj09pdm*EC_)TuJ0&??l{԰g]}WU ", 岚IMBIZD".BhubbIss6^QMYNv L_pSTS \ No newline at end of file