Signed-off-by: gwg313 <gwg313@pm.me>
This commit is contained in:
gwg313 2025-08-16 01:32:32 -04:00
parent 0d1d451171
commit 5f9fb27ebb
Signed by: gwg313
GPG key ID: 60FF63B4826B7400
17 changed files with 201 additions and 120 deletions

33
build_all.sh Executable file
View file

@ -0,0 +1,33 @@
#!/usr/bin/env bash
set -euo pipefail
# FLAKE_PATH="${1:-/tmp/flake}"
FLAKE_PATH=./flake.nix
CACHE="mycache"
GC_ROOT="/tmp/gcroots-ci"
mkdir -p "$GC_ROOT"
declare -a paths_to_push
# Build all NixOS configs
nixos_configs=$(nix eval --json "$FLAKE_PATH#nixosConfigurations" --apply 'builtins.attrNames' | jq -r '.[]')
for host in $nixos_configs; do
echo "▶ Building NixOS config: $host"
out_path=$(nix build --print-out-paths "$FLAKE_PATH#nixosConfigurations.${host}.config.system.build.toplevel")
paths_to_push+=("$out_path")
done
# Build all Home Manager configs
home_configs=$(nix eval --json "$FLAKE_PATH#homeConfigurations" --apply 'builtins.attrNames' | jq -r '.[]')
for user in $home_configs; do
echo "▶ Building Home config: $user"
out_path=$(nix build --print-out-paths "$FLAKE_PATH#homeConfigurations.${user}.activationPackage")
paths_to_push+=("$out_path")
done
# Push all at once
echo "📦 Pushing ${#paths_to_push[@]} paths to attic cache: $CACHE"
attic push "$CACHE" "${paths_to_push[@]}"
# Clean up
nix store delete "${paths_to_push[@]}"

View file

@ -13,6 +13,8 @@ _: {
10.147.17.246 registry.zerotier.gwg313.xyz 10.147.17.246 registry.zerotier.gwg313.xyz
10.147.17.246 ci.zerotier.gwg313.xyz 10.147.17.246 ci.zerotier.gwg313.xyz
10.147.17.246 uptime.zerotier.gwg313.xyz 10.147.17.246 uptime.zerotier.gwg313.xyz
10.147.17.246 hdoc.zerotier.gwg313.xyz
10.147.17.246 cache.zerotier.gwg313.xyz
@ -24,6 +26,10 @@ _: {
10.1.10.50 s3-console.gwg313.xyz 10.1.10.50 s3-console.gwg313.xyz
10.1.10.50 pastebin.gwg313.xyz 10.1.10.50 pastebin.gwg313.xyz
10.1.10.50 audiobooks.gwg313.xyz 10.1.10.50 audiobooks.gwg313.xyz
10.1.10.50 snippets.gwg313.xyz
10.1.10.50 bookmarks.gwg313.xyz
10.1.10.9 uptime.gwg313.xyz 10.1.10.9 uptime.gwg313.xyz
10.1.10.50 hdoc.gwg313.xyz
10.1.10.13 cache.gwg313.xyz
''; '';
} }

View file

@ -33,7 +33,7 @@
nix = { nix = {
settings = { settings = {
substituters = [ substituters = [
"https://cache.gwg313.xyz/mycache?priority=5" # "https://cache.gwg313.xyz/mycache?priority=5"
"https://cache.nixos.org?priority=10" "https://cache.nixos.org?priority=10"
"https://hyprland.cachix.org" "https://hyprland.cachix.org"
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
@ -41,7 +41,7 @@
"https://numtide.cachix.org" "https://numtide.cachix.org"
]; ];
trusted-public-keys = [ trusted-public-keys = [
"mycache:ovUjiiyQNUGjK8yZA4dPV1f8tIfCZrGIubdWvWpdvtc=" # "mycache:ovUjiiyQNUGjK8yZA4dPV1f8tIfCZrGIubdWvWpdvtc="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="

View file

@ -29,6 +29,7 @@
attic-client attic-client
ncdu ncdu
minio-client minio-client
kanata
# Editors # Editors
# neovim # Improved version of vim, often used with overlays. # neovim # Improved version of vim, often used with overlays.

View file

@ -1,12 +0,0 @@
{
services.gammastep = {
enable = true;
latitude = 45.4;
longitude = -75.7;
temperature = {
day = 6500;
night = 3500;
};
tray = true;
};
}

View file

@ -12,14 +12,15 @@
# background-opacity = 0.8; # background-opacity = 0.8;
background-opacity = 1; background-opacity = 1;
confirm-close-surface = false; confirm-close-surface = false;
font-family = lib.mkForce "Comic Code Ligatures"; # font-family = lib.mkForce "Comic Code Ligatures";
font-size = 16; font-family = lib.mkForce "Terminus";
font-size = 9;
gtk-titlebar = false; gtk-titlebar = false;
# theme = "Teerb"; # theme = "Teerb";
}; };
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
ueberzugpp ueberzugpp
terminus_font_ttf
]; ];
} }

View file

@ -1,25 +1,12 @@
# Discord is a popular chat application.
{ inputs, ... }:
{ {
# ... # imports = [inputs.nixcord.homeModules.nixcord];
programs.nixcord = { programs.nixcord = {
enable = true; enable = true;
# quickCss = "some CSS";
config = { config = {
# useQuickCss = true; frameless = true;
themeLinks = [
];
frameless = true; # set some Vencord options
plugins = {
hideAttachments.enable = true;
ignoreActivities = {
enable = true;
ignorePlaying = true;
ignoreWatching = true;
# ignoredActivities = [ "someActivity" ];
}; };
}; };
};
extraConfig = {
};
};
# ...
} }

View file

@ -44,6 +44,13 @@
bash.enable = true; bash.enable = true;
nix.enable = true; nix.enable = true;
tailwind.enable = true; tailwind.enable = true;
typst = {
enable = true;
lsp.enable = true;
lsp.server = "tinymist";
format.enable = true;
treesitter.enable = true;
};
}; };
}; };
} }

View file

@ -1,87 +1,27 @@
# Zen is a minimalistic web browser.
{ inputs, ... }:
{ {
pkgs, imports = [
config, inputs.zen-browser.homeModules.beta
inputs, ];
...
}:
let
accent = "#${config.lib.stylix.colors.base0D}";
background = "#${config.lib.stylix.colors.base00}";
foreground = "#${config.lib.stylix.colors.base05}";
muted = "#${config.lib.stylix.colors.base03}";
settings = '' programs.zen-browser = {
{ enable = true;
"config": { policies = {
"title" : "Welcome Home", DisableAppUpdate = true;
"openLinksInNewTab": false, DisableTelemetry = true;
"locale": "en-US",
"colors": {
"primary": "${accent}",
"background": "${background}",
"foreground": "${foreground}",
"muted": "#${muted}"
},
"folders": [
{
"name": "Bookmarks",
"links": [
{"title": "MyNixOs", "url": "https://mynixos.com", "icon": "󱄅"},
{"title": "Github", "url": "https://github.com", "icon": ""},
{"title": "Proton", "url": "https://mail.proton.me/u/0/inbox", "icon": ""},
{"title": "Chat GPT", "url": "https://chat.openai.com/", "icon": "󰭹"},
{"title": "Nixvim", "url": "https://nix-community.github.io/nixvim/", "icon": ""},
{"title": "Hyprland Wiki", "url": "https://wiki.hyprland.org/", "icon": "󰖬"},
{"title": "Youtube", "url": "https://youtube.com", "icon": "󰗃"}
]
},
{
"name": "Uni",
"links": [
{"title": "Outlook", "url": "https://outlook.office.com/mail/", "icon": "󰴢"},
{"title": "Office", "url": "https://www.office.com/?auth=2", "icon": "󰏆"},
{"title": "Teams", "url": "https://teams.microsoft.com/_", "icon": "󰊻"},
{"title": "Brightspace", "url": "https://carleton.ca/brightspace/_", "icon": "󱨡"}
]
}
]
}
}
'';
homepage = pkgs.buildNpmPackage { AutofillAddressesEnabled = false;
pname = "homepage"; AutoFillCreditCardEnabled = false;
version = "0.0.0"; DisablePocket = true;
DisableProfileImport = true;
src = pkgs.fetchFromGitHub { DisableSetDesktopBackground = true;
owner = "gwg313"; DontCheckDefaultBrowser = true;
repo = "homepage"; HomepageURL = "https://duckduckgo.com";
rev = "b77d35ed3596eb451bd2ec78063d7cc6e73c773d"; StartPage = "homepage";
hash = "sha256-j/40922kfAh6zqJ4IRYpr66YXNNYsxuXwZ0aiJFJea0="; NewTabPage = true;
}; OfferToSaveLogins = false;
# find more options here: https://mozilla.github.io/policy-templates/
# npmDepsHash = lib.fakeHash;
npmDepsHash = "sha256-bG+CHTq2Rst3JMxsjAC81KhK+G7WwsTVD1eyP87g0z4=";
buildPhase = ''
npm install
cp ${pkgs.writeText "src/routes/config.json" settings} src/routes/config.json
npm run build
mkdir $out
mv build $out
'';
meta = {
description = "homepage";
homepage = "https://github.com/gwg313/homepage";
}; };
}; };
in
{
home.file.".config/homepage" = {
source = "${homepage}/build";
recursive = true;
};
home.packages = with pkgs; [ inputs.zen-browser.packages."${system}".default ];
} }

View file

@ -76,4 +76,42 @@ in
night-shift-status night-shift-status
night-shift-status-icon night-shift-status-icon
]; ];
systemd.user.services.night-shift-on = {
Unit = {
Description = "Enable Night Shift at 8:30PM";
};
Service = {
ExecStart = "${night-shift-on}/bin/night-shift-on";
};
};
systemd.user.timers.night-shift-on = {
Unit = {
Description = "Timer for Night Shift ON";
};
Timer = {
OnCalendar = "*-*-* 20:30:00";
Persistent = true;
};
};
systemd.user.services.night-shift-off = {
Unit = {
Description = "Disable Night Shift at 6:35AM";
};
Service = {
ExecStart = "${night-shift-off}/bin/night-shift-off";
};
};
systemd.user.timers.night-shift-off = {
Unit = {
Description = "Timer for Night Shift OFF";
};
Timer = {
OnCalendar = "*-*-* 06:31:00";
Persistent = true;
};
};
} }

View file

@ -19,7 +19,7 @@
../../common/style/stylix.nix ../../common/style/stylix.nix
# ../../common/style/vars/candlekeep.nix # ../../common/style/vars/candlekeep.nix
../../common/nixos/sysctl ../../common/nixos/sysctl
../../common/nixos/tuigreet.nix # ../../common/nixos/tuigreet.nix
../../common/networking ../../common/networking
../../common/nixos ../../common/nixos

View file

@ -25,6 +25,23 @@
host = config.networking.hostName; host = config.networking.hostName;
}; };
}; };
pipeline_stages = [
{
journal = {
labels = [ "_SYSTEMD_UNIT" ];
};
}
];
}
{
job_name = "sshd";
journal = {
labels = {
job = "sshd";
host = config.networking.hostName;
};
journal_filters = [ "_SYSTEMD_UNIT=sshd.service" ];
};
} }
]; ];
}; };

View file

@ -80,6 +80,18 @@
url = "https://uptime.zerotier.gwg313.xyz"; url = "https://uptime.zerotier.gwg313.xyz";
} }
]; ];
hdoc_zt.loadBalancer.servers = [
{
url = "https://hdoc.zerotier.gwg313.xyz";
}
];
cache_zt.loadBalancer.servers = [
{
url = "https://cache.zerotier.gwg313.xyz";
}
];
}; };
routers = { routers = {
@ -185,6 +197,22 @@
tls.certResolver = "le"; tls.certResolver = "le";
middlewares = [ "headers" ]; middlewares = [ "headers" ];
}; };
hdoc_zt = {
entryPoints = [ "websecure" ];
rule = "Host(`hdoc.gwg313.xyz`)";
service = "hdoc_zt";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
cache_zt = {
entryPoints = [ "websecure" ];
rule = "Host(`cache.gwg313.xyz`)";
service = "hdoc_zt";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
}; };
}; };
}; };

View file

@ -108,6 +108,21 @@
tls.certResolver = "le"; tls.certResolver = "le";
middlewares = [ "headers" ]; middlewares = [ "headers" ];
}; };
hdoc = {
entryPoints = [ "websecure" ];
rule = "Host(`hdoc.gwg313.xyz`)";
service = "hdoc_local";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
cache = {
entryPoints = [ "websecure" ];
rule = "Host(`cache.gwg313.xyz`)";
service = "cache_local";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
}; };
}; };
}; };

View file

@ -115,6 +115,14 @@
tls.certResolver = "le"; tls.certResolver = "le";
middlewares = [ "headers" ]; middlewares = [ "headers" ];
}; };
hdoc_zt = {
entryPoints = [ "websecure" ];
rule = "Host(`hdoc.zerotier.gwg313.xyz`)";
service = "hdoc_local";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
}; };
}; };
}; };

View file

@ -46,18 +46,18 @@
bookmarks_local.loadBalancer.servers = [ bookmarks_local.loadBalancer.servers = [
{ {
url = "http://10.1.10.3:30099"; url = "https://bookmarks.gwg313.xyz";
} }
]; ];
pastebin_local.loadBalancer.servers = [ pastebin_local.loadBalancer.servers = [
{ {
url = "http://10.1.10.3:32090"; url = "https://pastebin.gwg313.xyz";
} }
]; ];
snippets_local.loadBalancer.servers = [ snippets_local.loadBalancer.servers = [
{ {
url = "http://10.1.10.3:31111"; url = "https://snippets.gwg313.xyz";
} }
]; ];
git_local.loadBalancer.servers = [ git_local.loadBalancer.servers = [
@ -95,6 +95,18 @@
url = "https://uptime.gwg313.xyz"; url = "https://uptime.gwg313.xyz";
} }
]; ];
hdoc_local.loadBalancer.servers = [
{
url = "https://hdoc.gwg313.xyz";
}
];
cache_local.loadBalancer.servers = [
{
url = "https://cache.gwg313.xyz";
}
];
}; };
}; };
}; };

BIN
wallpapers/ign_circuit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB