updates
Signed-off-by: gwg313 <gwg313@pm.me>
This commit is contained in:
parent
0d1d451171
commit
5f9fb27ebb
17 changed files with 201 additions and 120 deletions
33
build_all.sh
Executable file
33
build_all.sh
Executable 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[@]}"
|
||||||
|
|
@ -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
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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="
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
services.gammastep = {
|
|
||||||
enable = true;
|
|
||||||
latitude = 45.4;
|
|
||||||
longitude = -75.7;
|
|
||||||
temperature = {
|
|
||||||
day = 6500;
|
|
||||||
night = 3500;
|
|
||||||
};
|
|
||||||
tray = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -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
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# ...
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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 ];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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" ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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
BIN
wallpapers/ign_circuit.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 MiB |
Loading…
Add table
Add a link
Reference in a new issue