Compare commits
8 Commits
fd2962c306
...
weekly-202
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
943d9f3329 | ||
|
|
cad0288d68 | ||
|
|
15f998179d | ||
|
|
11075969f2 | ||
|
|
4c6d02ba55 | ||
|
|
2cce4376e5 | ||
|
|
9f455ec19c | ||
|
|
0ef6b08c42 |
138
.github/workflows/build-schemes.yml
vendored
138
.github/workflows/build-schemes.yml
vendored
@@ -3,8 +3,8 @@ name: Build All Color Schemes
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
paths:
|
paths:
|
||||||
- 'config/schemes.nix'
|
- "config/schemes.nix"
|
||||||
- 'config/scheme-utils.nix'
|
- "config/scheme-utils.nix"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -14,79 +14,79 @@ jobs:
|
|||||||
HOSTNAME: server
|
HOSTNAME: server
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Get available schemes
|
- name: Get available schemes
|
||||||
id: schemes
|
id: schemes
|
||||||
run: |
|
run: |
|
||||||
SCHEMES=$(nix eval --raw --impure --expr '
|
SCHEMES=$(nix eval --raw --impure --expr '
|
||||||
let
|
let
|
||||||
pkgs = import <nixpkgs> {};
|
pkgs = import <nixpkgs> {};
|
||||||
inputs = {};
|
inputs = {};
|
||||||
utils = import ./scripts/scheme-utils.nix { inherit pkgs inputs; };
|
utils = import ./scripts/scheme-utils.nix { inherit pkgs inputs; };
|
||||||
in
|
in
|
||||||
builtins.concatStringsSep " " utils.availableSchemes
|
builtins.concatStringsSep " " utils.availableSchemes
|
||||||
')
|
')
|
||||||
echo "schemes=$SCHEMES" >> $GITHUB_OUTPUT
|
echo "schemes=$SCHEMES" >> $GITHUB_OUTPUT
|
||||||
echo "Available schemes: $SCHEMES"
|
echo "Available schemes: $SCHEMES"
|
||||||
|
|
||||||
- name: Configure Attic cache
|
- name: Configure Attic cache
|
||||||
run: |
|
run: |
|
||||||
# Configure attic client to use your cache server
|
# Configure attic client to use your cache server
|
||||||
attic login servidos https://cache.servidos.lat ${{ secrets.ATTIC_TOKEN }}
|
attic login servidos http://127.0.0.1:2343 ${{ secrets.ATTIC_TOKEN }}
|
||||||
|
|
||||||
- name: Build and push all schemes
|
- name: Build and push all schemes
|
||||||
run: |
|
run: |
|
||||||
echo "Building and pushing all schemes..."
|
echo "Building and pushing all schemes..."
|
||||||
|
|
||||||
# Store original scheme
|
# Store original scheme
|
||||||
ORIGINAL_SCHEME=$(grep -oP "scheme = schemesFile\.schemes\.\K\w+" config/stylix.nix)
|
ORIGINAL_SCHEME=$(grep -oP "scheme = schemesFile\.schemes\.\K\w+" config/stylix.nix)
|
||||||
echo "Original scheme: $ORIGINAL_SCHEME"
|
echo "Original scheme: $ORIGINAL_SCHEME"
|
||||||
|
|
||||||
|
# Build and push each scheme
|
||||||
|
for scheme in ${{ steps.schemes.outputs.schemes }}; do
|
||||||
|
echo "========================================="
|
||||||
|
echo "Processing scheme: $scheme"
|
||||||
|
echo "========================================="
|
||||||
|
|
||||||
|
# Update stylix.nix to use this scheme
|
||||||
|
sed -i "s/scheme = schemesFile\.schemes\.\w\+;/scheme = schemesFile.schemes.$scheme;/" config/stylix.nix
|
||||||
|
|
||||||
|
# Verify the change
|
||||||
|
grep "scheme = schemesFile.schemes" config/stylix.nix
|
||||||
|
|
||||||
|
# Build the configuration
|
||||||
|
echo "Building $scheme..."
|
||||||
|
nix build .#nixosConfigurations.${HOSTNAME}.config.system.build.toplevel \
|
||||||
|
--out-link ./result-$scheme \
|
||||||
|
--quiet
|
||||||
|
|
||||||
|
# Push to cache
|
||||||
|
echo "Pushing $scheme to cache..."
|
||||||
|
attic push servidos:nixos ./result-$scheme
|
||||||
|
|
||||||
|
# Also push using print-out-paths for better cache coverage
|
||||||
|
nix build .#nixosConfigurations.${HOSTNAME}.config.system.build.toplevel \
|
||||||
|
--print-out-paths \
|
||||||
|
--quiet | attic push servidos:nixos --stdin
|
||||||
|
|
||||||
|
echo "✓ Completed $scheme"
|
||||||
|
echo ""
|
||||||
|
done
|
||||||
|
|
||||||
|
# Restore original scheme
|
||||||
|
echo "Restoring original scheme: $ORIGINAL_SCHEME"
|
||||||
|
sed -i "s/scheme = schemesFile\.schemes\.\w\+;/scheme = schemesFile.schemes.$ORIGINAL_SCHEME;/" config/stylix.nix
|
||||||
|
|
||||||
# Build and push each scheme
|
|
||||||
for scheme in ${{ steps.schemes.outputs.schemes }}; do
|
|
||||||
echo "========================================="
|
echo "========================================="
|
||||||
echo "Processing scheme: $scheme"
|
echo "All schemes built and pushed successfully!"
|
||||||
echo "========================================="
|
echo "========================================="
|
||||||
|
|
||||||
# Update stylix.nix to use this scheme
|
- name: Summary
|
||||||
sed -i "s/scheme = schemesFile\.schemes\.\w\+;/scheme = schemesFile.schemes.$scheme;/" config/stylix.nix
|
run: |
|
||||||
|
SCHEME_COUNT=$(echo "${{ steps.schemes.outputs.schemes }}" | wc -w)
|
||||||
# Verify the change
|
echo "✅ Color scheme builds completed successfully!"
|
||||||
grep "scheme = schemesFile.schemes" config/stylix.nix
|
echo "- Built $SCHEME_COUNT schemes: ${{ steps.schemes.outputs.schemes }}"
|
||||||
|
echo "- Pushed all builds to Atticd cache"
|
||||||
# Build the configuration
|
|
||||||
echo "Building $scheme..."
|
|
||||||
nix build .#nixosConfigurations.${HOSTNAME}.config.system.build.toplevel \
|
|
||||||
--out-link ./result-$scheme \
|
|
||||||
--quiet
|
|
||||||
|
|
||||||
# Push to cache
|
|
||||||
echo "Pushing $scheme to cache..."
|
|
||||||
attic push servidos:nixos ./result-$scheme
|
|
||||||
|
|
||||||
# Also push using print-out-paths for better cache coverage
|
|
||||||
nix build .#nixosConfigurations.${HOSTNAME}.config.system.build.toplevel \
|
|
||||||
--print-out-paths \
|
|
||||||
--quiet | attic push servidos:nixos --stdin
|
|
||||||
|
|
||||||
echo "✓ Completed $scheme"
|
|
||||||
echo ""
|
echo ""
|
||||||
done
|
echo "You can now switch schemes quickly without waiting for builds!"
|
||||||
|
|
||||||
# Restore original scheme
|
|
||||||
echo "Restoring original scheme: $ORIGINAL_SCHEME"
|
|
||||||
sed -i "s/scheme = schemesFile\.schemes\.\w\+;/scheme = schemesFile.schemes.$ORIGINAL_SCHEME;/" config/stylix.nix
|
|
||||||
|
|
||||||
echo "========================================="
|
|
||||||
echo "All schemes built and pushed successfully!"
|
|
||||||
echo "========================================="
|
|
||||||
|
|
||||||
- name: Summary
|
|
||||||
run: |
|
|
||||||
SCHEME_COUNT=$(echo "${{ steps.schemes.outputs.schemes }}" | wc -w)
|
|
||||||
echo "✅ Color scheme builds completed successfully!"
|
|
||||||
echo "- Built $SCHEME_COUNT schemes: ${{ steps.schemes.outputs.schemes }}"
|
|
||||||
echo "- Pushed all builds to Atticd cache"
|
|
||||||
echo ""
|
|
||||||
echo "You can now switch schemes quickly without waiting for builds!"
|
|
||||||
|
|||||||
2
.github/workflows/weekly-build-cache.yml
vendored
2
.github/workflows/weekly-build-cache.yml
vendored
@@ -38,7 +38,7 @@ jobs:
|
|||||||
if: steps.check_changes.outputs.changes == 'true'
|
if: steps.check_changes.outputs.changes == 'true'
|
||||||
run: |
|
run: |
|
||||||
# Configure attic client to use your cache server
|
# Configure attic client to use your cache server
|
||||||
attic login servidos https://cache.servidos.lat ${{ secrets.ATTIC_TOKEN }}
|
attic login servidos http://127.0.0.1:2343 ${{ secrets.ATTIC_TOKEN }}
|
||||||
|
|
||||||
- name: Build workstation configuration
|
- name: Build workstation configuration
|
||||||
if: steps.check_changes.outputs.changes == 'true'
|
if: steps.check_changes.outputs.changes == 'true'
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ in
|
|||||||
matchBlocks = {
|
matchBlocks = {
|
||||||
vps = {
|
vps = {
|
||||||
hostname = config.my.ips.vps;
|
hostname = config.my.ips.vps;
|
||||||
user = "fedora";
|
user = "jawz";
|
||||||
port = 3456;
|
port = 3456;
|
||||||
identityFile = config.sops.secrets."private_keys/${hostName}".path;
|
identityFile = config.sops.secrets."private_keys/${hostName}".path;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
(?d)jawz/chrome/userChrome.css
|
(?d)jawz/chrome/userChrome.css
|
||||||
(?d)jawz/chrome/userContent.css
|
(?d)jawz/chrome/userContent.css
|
||||||
(?d)jawz/lock
|
(?d)jawz/lock
|
||||||
|
(?d)jawz/storage
|
||||||
(?d)jawz/user.js
|
(?d)jawz/user.js
|
||||||
(?d)native-messaging-hosts/org.gnome.browser_connector.json
|
(?d)native-messaging-hosts/org.gnome.browser_connector.json
|
||||||
(?d)native-messaging-hosts/org.gnome.chrome_gnome_shell.json
|
(?d)native-messaging-hosts/org.gnome.chrome_gnome_shell.json
|
||||||
|
|||||||
56
flake.lock
generated
56
flake.lock
generated
@@ -234,11 +234,11 @@
|
|||||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760813311,
|
"lastModified": 1760948891,
|
||||||
"narHash": "sha256-lbHQ7FXGzt6/IygWvJ1lCq+Txcut3xYYd6VIpF1ojkg=",
|
"narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "4e627ac2e1b8f1de7f5090064242de9a259dbbc8",
|
"rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -492,11 +492,11 @@
|
|||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761340761,
|
"lastModified": 1761758444,
|
||||||
"narHash": "sha256-j12amQpLU23PbblMzw8Tt4whr2PxjP6XXYH99uYGFGc=",
|
"narHash": "sha256-m05lvxm5qhUoAWB5vkyt9llmGcQ05Q7Km8d6QvMVfVA=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "da04afa44e7545771b08f8e0defd2cd1810f1613",
|
"rev": "83a0a62004ee915921ac36a96760944ad6550e1e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -685,11 +685,11 @@
|
|||||||
"sudoku-solver": "sudoku-solver"
|
"sudoku-solver": "sudoku-solver"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760073554,
|
"lastModified": 1761720517,
|
||||||
"narHash": "sha256-Ydqg/9lpoha2vgspjviqeRh6/tsWN+pZcUxn1ZyrFZM=",
|
"narHash": "sha256-YWKeZsstuJMEOlC31pyveuLT9525YW+wzTAMHDawgZ0=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "5c13b806a094f3605e2da70e133551848ad8d9a9",
|
"rev": "07daae7770da1201de6825de9b65eab0fcd81ca8",
|
||||||
"revCount": 109,
|
"revCount": 116,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.servidos.lat/jawz/scripts.git"
|
"url": "https://git.servidos.lat/jawz/scripts.git"
|
||||||
},
|
},
|
||||||
@@ -706,11 +706,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761356901,
|
"lastModified": 1761703070,
|
||||||
"narHash": "sha256-YDySchURSJrS1P8zuzmFqypUS7shY6//0e0JiMZeLSI=",
|
"narHash": "sha256-KAsGjetWzPdUYqGuOu1Vu95d8i+L7JqwG7o3hLJ7DD8=",
|
||||||
"owner": "fufexan",
|
"owner": "fufexan",
|
||||||
"repo": "nix-gaming",
|
"repo": "nix-gaming",
|
||||||
"rev": "a8635e459ff96acbd156a8de613b99d9d6b3676a",
|
"rev": "30854a5ad380aa93b18c254bca4b5d7b6f3dc968",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -821,11 +821,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-small": {
|
"nixpkgs-small": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761294158,
|
"lastModified": 1761706708,
|
||||||
"narHash": "sha256-woFH58dy/EDeL1Li4IarZE9+0p0zdPmCsxCvKA7oYu4=",
|
"narHash": "sha256-zgrEi11Ok83JI2U11GQqSiE0TddvdHfnE8jI0iE4Vms=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e7b2e554a77018dec2f259b782d062500c133d49",
|
"rev": "1f12c8011e59aca25db5cbf000735089a51874ea",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -837,11 +837,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761114652,
|
"lastModified": 1761373498,
|
||||||
"narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=",
|
"narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c",
|
"rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -853,11 +853,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761173472,
|
"lastModified": 1761468971,
|
||||||
"narHash": "sha256-m9W0dYXflzeGgKNravKJvTMR4Qqa2MVD11AwlGMufeE=",
|
"narHash": "sha256-vY2OLVg5ZTobdroQKQQSipSIkHlxOTrIF1fsMzPh8w8=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c8aa8cc00a5cb57fada0851a038d35c08a36a2bb",
|
"rev": "78e34d1667d32d8a0ffc3eba4591ff256e80576e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -896,11 +896,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761364085,
|
"lastModified": 1761756571,
|
||||||
"narHash": "sha256-4BKMXhQ8SSYOo9NoK221fVYM86xMw5smoqHvwmLaDEo=",
|
"narHash": "sha256-Ryt/9e3t+KEo9BT1TJqpi8hnkGOQrG1ddsOPf12zwBM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nur",
|
"repo": "nur",
|
||||||
"rev": "e9f1e9e9cb027dd87785534261d0feb0097dfcfa",
|
"rev": "14ea3a540e215ee60d970038f56c26ffb205b843",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1037,11 +1037,11 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760478648,
|
"lastModified": 1761668239,
|
||||||
"narHash": "sha256-Y4l+Y3zUvqIDbyLrtOrzNvp1o50Fp9TYK+iwtwweFU4=",
|
"narHash": "sha256-b0+7/5hBUsLjd/gMY9/LSEsvuWFFolHdpUAOlG73zmw=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "1ec254101285777db13922303cc47ded06e10bb3",
|
"rev": "a149a557dc306e76d53e7dd488826e61ef9c6289",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ in
|
|||||||
server = "192.168.100.15";
|
server = "192.168.100.15";
|
||||||
miniserver = "192.168.1.100";
|
miniserver = "192.168.1.100";
|
||||||
workstation = "192.168.100.18";
|
workstation = "192.168.100.18";
|
||||||
vps = "51.222.141.104";
|
vps = "172.236.243.182";
|
||||||
wg-vps = "10.77.0.1";
|
wg-vps = "10.77.0.1";
|
||||||
wg-server = "10.77.0.2";
|
wg-server = "10.77.0.2";
|
||||||
wg-friend1 = "10.8.0.2";
|
wg-friend1 = "10.8.0.2";
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ in
|
|||||||
};
|
};
|
||||||
compression = {
|
compression = {
|
||||||
type = "zstd";
|
type = "zstd";
|
||||||
level = 8;
|
level = 3;
|
||||||
};
|
};
|
||||||
garbage-collection = {
|
garbage-collection = {
|
||||||
interval = "7 days";
|
interval = "7 days";
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ in
|
|||||||
];
|
];
|
||||||
settings = {
|
settings = {
|
||||||
server_name = cfg.domain;
|
server_name = cfg.domain;
|
||||||
public_baseurl = cfg.url;
|
public_baseurl = "http://${config.my.ips.wg-server}:${toString cfg.port}";
|
||||||
federation_domain_whitelist = [ ];
|
federation_domain_whitelist = [ ];
|
||||||
allow_public_rooms_without_auth = false;
|
allow_public_rooms_without_auth = false;
|
||||||
allow_public_rooms_over_federation = false;
|
allow_public_rooms_over_federation = false;
|
||||||
|
|||||||
@@ -106,8 +106,6 @@ in
|
|||||||
jq # json parser
|
jq # json parser
|
||||||
yq # yaml parser
|
yq # yaml parser
|
||||||
smartmontools # check hard drie health
|
smartmontools # check hard drie health
|
||||||
;
|
|
||||||
inherit (inputs.jawz-scripts.packages.x86_64-linux)
|
|
||||||
rmlint # amazing dupe finder that integrates well with BTRFS
|
rmlint # amazing dupe finder that integrates well with BTRFS
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user