1
0
Fork 0
mirror of https://git.sr.ht/~roxwize/.dotfiles synced 2025-04-03 18:14:15 +00:00
This commit is contained in:
Rae 5e 2025-03-05 16:54:21 -05:00
parent 1739b89ea3
commit a1adbd9e02
Signed by: rae
GPG key ID: 5B1A0FAB9BAB81EE
6 changed files with 68 additions and 7 deletions

View file

@ -1,5 +1,7 @@
# Auto-generated using compose2nix v0.3.1. # Auto-generated using compose2nix v0.3.1.
{ pkgs, lib, ... }: { { pkgs, lib, ... }:
{
# Runtime # Runtime
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
@ -11,6 +13,7 @@
virtualisation.oci-containers.containers."homepage" = { virtualisation.oci-containers.containers."homepage" = {
image = "ghcr.io/gethomepage/homepage:latest"; image = "ghcr.io/gethomepage/homepage:latest";
volumes = [ volumes = [
"/home/rae/.dotfiles/assets/wallpapers:/app/public/images:rw"
"/home/rae/.dotfiles/configs/homepage:/app/config:rw" "/home/rae/.dotfiles/configs/homepage:/app/config:rw"
"/var/run/docker.sock:/var/run/docker.sock:rw" "/var/run/docker.sock:/var/run/docker.sock:rw"
]; ];

View file

@ -1,11 +1,22 @@
{ pkgs, ... }: let { pkgs, lib, ... }: let
cfg = options.containers.homepage; cfg = options.containers.homepage;
settingsFormat = pkgs.formats.yaml; settingsFormat = pkgs.formats.yaml;
in { in {
options.containers.homepage = { options.containers.homepage = {
enable = mkEnableOption "homepage"; enable = lib.mkEnableOption "homepage";
widgets = mkOption { openFirewall = lib.mkOption {
type = lib.types.bool;
default = false;
};
settings = lib.mkOption {
inherit (settingsFormat) type; 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); inherit (./compose.nix);
environment.etc = lib.mkIf cfg.enable { 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; "homepage-dashboard/widgets.yaml".source = settingsFormat.generate "widgets.yaml" cfg.widgets;
}; };
networking.firewall = lib.mkIf cfg.openFirewall {
allowedTCPPorts = [ 3000 ];
};
}; };
} }

View file

@ -8,3 +8,4 @@ services:
volumes: volumes:
- /home/rae/.dotfiles/configs/homepage:/app/config # Make sure your local config directory exists - /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 - /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations
- /home/rae/.dotfiles/assets/wallpapers:/app/public/images

View file

@ -27,6 +27,7 @@
}; };
}; };
in { in {
"editor.detectIndentation" = false;
"editor.fontFamily" = "'Fira Code Light', monospace"; "editor.fontFamily" = "'Fira Code Light', monospace";
# "editor.fontLigatures" = true; # "editor.fontLigatures" = true;
"editor.formatOnSave" = false; "editor.formatOnSave" = false;
@ -39,6 +40,7 @@
"prettier.trailingComma" = "none"; "prettier.trailingComma" = "none";
"prettier.singleAttributePerLine" = false; "prettier.singleAttributePerLine" = false;
"prettier.useEditorConfig" = true; "prettier.useEditorConfig" = true;
"prettier.useTabs" = true;
"svelte.enable-ts-plugin" = true; "svelte.enable-ts-plugin" = true;
"telemetry.telemetryLevel" = "off"; "telemetry.telemetryLevel" = "off";
"workbench.activityBar.iconClickBehavior" = "toggle"; "workbench.activityBar.iconClickBehavior" = "toggle";

View file

@ -14,7 +14,42 @@
programs.git.enable = true; programs.git.enable = true;
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
containers = { 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 = { services = {
@ -22,14 +57,17 @@
ports = [ 22 ]; ports = [ 22 ];
banner = "I won't hold it against you"; banner = "I won't hold it against you";
settings = { settings = {
PasswordAuthentication = true; PasswordAuthentication = false;
}; };
}; };
}; };
networking = { networking = {
hostName = "near"; hostName = "near";
firewall.allowedTCPPorts = [ 22 8082 ]; firewall.allowedTCPPorts = [ 22 ];
networkmanager = {
enable = true;
};
}; };
time.timeZone = "America/New_York"; time.timeZone = "America/New_York";

1
secrets/sparkfun.gpg Normal file
View file

@ -0,0 +1 @@
„^>©=€Ì¢ @—zo4¿a‡÷‰++°<19>˜Ÿç··Ýq £:bJ®j09pød„÷ÍmÉ*¬äEC_)õýTuƒJÙç0&­?á?´l{‚Ô°g•€]}œ˜WÔU "úŠ, Ê岚IM»ëBIZÛD³".¢þÒÝÙî¿Bhu÷bÈ÷ƒbŠØÀº­Ÿê×á×IsÛså6†^QMYÃúNv L_˜p€ST<>S