Compare commits
11 commits
3a23b4cec9
...
9e46cd7b30
Author | SHA1 | Date | |
---|---|---|---|
9e46cd7b30 | |||
43f0f9b028 | |||
8ffe055df8 | |||
6067499083 | |||
2809c01b20 | |||
bce8fbbb78 | |||
c327895c6b | |||
37ae2afef6 | |||
9d4b2b4b7f | |||
83e191134a | |||
cba0555c38 |
16 changed files with 54 additions and 49 deletions
|
@ -8,7 +8,7 @@ jobs:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
name: Checkout repository
|
name: Checkout repository
|
||||||
- name: Attic login
|
- name: Attic login
|
||||||
run: attic login nixfleet http://10.100.0.1:8081 ${{secrets.ATTIC_NIXFLEET_TOKEN}}
|
run: attic login nixfleet http://sisko.wg.aciceri.dev:8081 ${{secrets.ATTIC_NIXFLEET_TOKEN}}
|
||||||
- name: Build with nix
|
- name: Build with nix
|
||||||
run: nix-fast-build --no-nom --systems "x86_64-linux aarch64-linux" --attic-cache "nixfleet" --skip-cached --result-file result.json || true
|
run: nix-fast-build --no-nom --systems "x86_64-linux aarch64-linux" --attic-cache "nixfleet" --skip-cached --result-file result.json || true
|
||||||
- name: Report checks
|
- name: Report checks
|
||||||
|
|
32
flake.lock
generated
32
flake.lock
generated
|
@ -26,11 +26,11 @@
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741914590,
|
"lastModified": 1742098205,
|
||||||
"narHash": "sha256-R8Bxh/AMD6nvmQrC43DkUkuwDmTWlyvNAzJ0Riq5w5U=",
|
"narHash": "sha256-gCkVTohFTyq/Pi3dlUhv1uA5Kqbalf45nLmUDRluULE=",
|
||||||
"owner": "catppuccin",
|
"owner": "catppuccin",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "1e3fe44bc13809f62c2ef0aa864a304a6c8ebea4",
|
"rev": "d84df59c7aa29cebaff9f190d19c24e7ddacd773",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -122,11 +122,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741945480,
|
"lastModified": 1742113225,
|
||||||
"narHash": "sha256-D80QGijmeVxm/4fJVd53dP8MHCLcn+JjtgniaGKIXvg=",
|
"narHash": "sha256-tUor57FbLwwy+duUbjq8Ff0TyayK1i50rUbXBfdgfuM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "5d6c484290f0754ce745ea6f7e2b7d037bdc7b76",
|
"rev": "7e13aa507d714371e6ff70a91d76dcb339311773",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -282,11 +282,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741379162,
|
"lastModified": 1742058297,
|
||||||
"narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=",
|
"narHash": "sha256-b4SZc6TkKw8WQQssbN5O2DaCEzmFfvSTPYHlx/SFW9Y=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc",
|
"rev": "59f17850021620cd348ad2e9c0c64f4e6325ce2a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -464,11 +464,11 @@
|
||||||
"lix": {
|
"lix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741957871,
|
"lastModified": 1742087036,
|
||||||
"narHash": "sha256-BSim3favVai9y7eMaFWNNDbIJ0mdRp5TMcJvHWdjC1s=",
|
"narHash": "sha256-oiVgpmK9bZe7lvf7JRc7jAW4fotEuW9d/3e9LJMk8mU=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "af15a446ea88a2244e3c5a50eab776c33ab3bd80",
|
"rev": "29732f19a2a9e0d9e7a5bad953c4fad6f719c50e",
|
||||||
"revCount": 17649,
|
"revCount": 17654,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git@git.lix.systems/lix-project/lix"
|
"url": "https://git@git.lix.systems/lix-project/lix"
|
||||||
},
|
},
|
||||||
|
@ -663,11 +663,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741246872,
|
"lastModified": 1741851582,
|
||||||
"narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=",
|
"narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "10069ef4cf863633f57238f179a0297de84bd8d3",
|
"rev": "6607cf789e541e7873d40d3a8f7815ea92204f32",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -14,8 +14,8 @@ let
|
||||||
cols = "150";
|
cols = "150";
|
||||||
};
|
};
|
||||||
floating-btop = {
|
floating-btop = {
|
||||||
rows = "210";
|
rows = "60";
|
||||||
cols = "60";
|
cols = "210";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
kirk = {
|
kirk = {
|
||||||
|
@ -38,7 +38,7 @@ let
|
||||||
run-floating-btop =
|
run-floating-btop =
|
||||||
with niriVars.floating-btop;
|
with niriVars.floating-btop;
|
||||||
pkgs.writeScriptBin "run-floating-btop" ''
|
pkgs.writeScriptBin "run-floating-btop" ''
|
||||||
foot --title='bTop' -W ${rows}x${cols} btop
|
foot --title='bTop' -W ${cols}x${rows} btop
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
};
|
};
|
||||||
auto_sync = true;
|
auto_sync = true;
|
||||||
sync_frequency = "5m";
|
sync_frequency = "5m";
|
||||||
sync_address = "http://sisko.fleet:8889";
|
sync_address = "http://sisko.wg.aciceri.dev:8889";
|
||||||
search_mode = "fuzzy";
|
search_mode = "fuzzy";
|
||||||
style = "compact";
|
style = "compact";
|
||||||
};
|
};
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
"matrix"
|
"matrix"
|
||||||
"radarr"
|
"radarr"
|
||||||
"zerotier"
|
"zerotier"
|
||||||
|
"mosh"
|
||||||
]
|
]
|
||||||
++ [
|
++ [
|
||||||
./disko.nix
|
./disko.nix
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
"photos.aciceri.dev"
|
"photos.aciceri.dev"
|
||||||
"jelly.aciceri.dev"
|
"jelly.aciceri.dev"
|
||||||
"matrix.aciceri.dev"
|
"matrix.aciceri.dev"
|
||||||
|
"vpn.aciceri.dev"
|
||||||
];
|
];
|
||||||
apiTokenFile = config.age.secrets.cloudflare-dyndns-api-token.path;
|
apiTokenFile = config.age.secrets.cloudflare-dyndns-api-token.path;
|
||||||
};
|
};
|
||||||
|
|
|
@ -80,7 +80,6 @@ in
|
||||||
time_zone = "Europe/Rome";
|
time_zone = "Europe/Rome";
|
||||||
temperature_unit = "C";
|
temperature_unit = "C";
|
||||||
external_url = "https://home.aciceri.dev";
|
external_url = "https://home.aciceri.dev";
|
||||||
internal_url = "http://rock5b.fleet:8123";
|
|
||||||
};
|
};
|
||||||
logger.default = "WARNING";
|
logger.default = "WARNING";
|
||||||
wake_on_lan = { };
|
wake_on_lan = { };
|
||||||
|
@ -89,7 +88,7 @@ in
|
||||||
name = "Picard";
|
name = "Picard";
|
||||||
platform = "wake_on_lan";
|
platform = "wake_on_lan";
|
||||||
mac = "74:56:3c:37:17:bd"; # this shouldn't be public
|
mac = "74:56:3c:37:17:bd"; # this shouldn't be public
|
||||||
host = "picard.fleet";
|
host = "picard.wg.aciceri.dev";
|
||||||
turn_off.service = "shell_command.turn_off_picard";
|
turn_off.service = "shell_command.turn_off_picard";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/mnt/nas" = {
|
fileSystems."/mnt/nas" = {
|
||||||
device = "sisko.fleet:/hd";
|
device = "sisko.wg.aciceri.dev:/hd";
|
||||||
fsType = "nfs";
|
fsType = "nfs";
|
||||||
options = [
|
options = [
|
||||||
"x-systemd.automount"
|
"x-systemd.automount"
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
"*.sisko.wg.aciceri.dev"
|
"*.sisko.wg.aciceri.dev"
|
||||||
];
|
];
|
||||||
dnsProvider = "cloudflare";
|
dnsProvider = "cloudflare";
|
||||||
# dnsResolver = "1.1.1.1:53";
|
|
||||||
dnsPropagationCheck = true;
|
dnsPropagationCheck = true;
|
||||||
group = config.services.nginx.group;
|
group = config.services.nginx.group;
|
||||||
environmentFile = config.age.secrets.cloudflare-dyndns-api-token.path;
|
environmentFile = config.age.secrets.cloudflare-dyndns-api-token.path;
|
||||||
|
|
|
@ -81,7 +81,7 @@
|
||||||
distributedBuilds = true;
|
distributedBuilds = true;
|
||||||
buildMachines =
|
buildMachines =
|
||||||
lib.lists.optional (config.networking.hostName == "picard") {
|
lib.lists.optional (config.networking.hostName == "picard") {
|
||||||
hostName = "sisko.fleet";
|
hostName = "sisko.wg.aciceri.dev";
|
||||||
system = "aarch64-linux";
|
system = "aarch64-linux";
|
||||||
maxJobs = 7;
|
maxJobs = 7;
|
||||||
supportedFeatures = [
|
supportedFeatures = [
|
||||||
|
|
|
@ -8,11 +8,11 @@ in
|
||||||
pushgateway = {
|
pushgateway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
web = {
|
web = {
|
||||||
listen-address = "sisko.fleet:9094";
|
listen-address = "sisko.wg.aciceri.dev:9094";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
checkConfig = false; # Otherwise it will fail because it cannot access bearer_token_file
|
checkConfig = false; # Otherwise it will fail because it cannot access bearer_token_file
|
||||||
webExternalUrl = "https://status.aciceri.dev";
|
webExternalUrl = "https://status.wg.aciceri.dev";
|
||||||
globalConfig.scrape_interval = "10s";
|
globalConfig.scrape_interval = "10s";
|
||||||
scrapeConfigs = [
|
scrapeConfigs = [
|
||||||
{
|
{
|
||||||
|
@ -22,7 +22,7 @@ in
|
||||||
static_configs = [
|
static_configs = [
|
||||||
{
|
{
|
||||||
targets = [
|
targets = [
|
||||||
"sisko.fleet:${builtins.toString config.services.home-assistant.config.http.server_port}"
|
"sisko.wg.aciceri.dev:${builtins.toString config.services.home-assistant.config.http.server_port}"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
@ -39,7 +39,7 @@ in
|
||||||
job_name = "node";
|
job_name = "node";
|
||||||
static_configs = [
|
static_configs = [
|
||||||
{
|
{
|
||||||
targets = builtins.map (host: "${host}.fleet:9100") [
|
targets = builtins.map (host: "${host}.wg.aciceri.dev:9100") [
|
||||||
"sisko"
|
"sisko"
|
||||||
"picard"
|
"picard"
|
||||||
"kirk"
|
"kirk"
|
||||||
|
@ -51,7 +51,7 @@ in
|
||||||
job_name = "wireguard";
|
job_name = "wireguard";
|
||||||
static_configs = [
|
static_configs = [
|
||||||
{
|
{
|
||||||
targets = builtins.map (host: "${host}.fleet:9586") [
|
targets = builtins.map (host: "${host}.wg.aciceri.dev:9586") [
|
||||||
"picard"
|
"picard"
|
||||||
"kirk"
|
"kirk"
|
||||||
];
|
];
|
||||||
|
@ -62,7 +62,7 @@ in
|
||||||
job_name = "zfs";
|
job_name = "zfs";
|
||||||
static_configs = [
|
static_configs = [
|
||||||
{
|
{
|
||||||
targets = builtins.map (host: "${host}.fleet:9134") [
|
targets = builtins.map (host: "${host}.wg.aciceri.dev:9134") [
|
||||||
"picard"
|
"picard"
|
||||||
"kirk"
|
"kirk"
|
||||||
];
|
];
|
||||||
|
@ -73,7 +73,7 @@ in
|
||||||
job_name = "restic";
|
job_name = "restic";
|
||||||
static_configs = [
|
static_configs = [
|
||||||
{
|
{
|
||||||
targets = builtins.map (host: "${host}.fleet:9753") [ "sisko" ];
|
targets = builtins.map (host: "${host}.wg.aciceri.dev:9753") [ "sisko" ];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -81,7 +81,7 @@ in
|
||||||
job_name = "postgres";
|
job_name = "postgres";
|
||||||
static_configs = [
|
static_configs = [
|
||||||
{
|
{
|
||||||
targets = builtins.map (host: "${host}.fleet:9187") [ "sisko" ];
|
targets = builtins.map (host: "${host}.wg.aciceri.dev:9187") [ "sisko" ];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,7 @@ in
|
||||||
job_name = "nginx";
|
job_name = "nginx";
|
||||||
static_configs = [
|
static_configs = [
|
||||||
{
|
{
|
||||||
targets = builtins.map (host: "${host}.fleet:9117") [ "sisko" ];
|
targets = builtins.map (host: "${host}.wg.aciceri.dev:9117") [ "sisko" ];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -97,7 +97,7 @@ in
|
||||||
job_name = "smartctl";
|
job_name = "smartctl";
|
||||||
static_configs = [
|
static_configs = [
|
||||||
{
|
{
|
||||||
targets = builtins.map (host: "${host}.fleet:9633") [
|
targets = builtins.map (host: "${host}.wg.aciceri.dev:9633") [
|
||||||
"sisko"
|
"sisko"
|
||||||
"kirk"
|
"kirk"
|
||||||
"picard"
|
"picard"
|
||||||
|
|
|
@ -12,7 +12,7 @@ let
|
||||||
};
|
};
|
||||||
clients = [
|
clients = [
|
||||||
{
|
{
|
||||||
url = "http://sisko.fleet:${
|
url = "http://sisko.wg.aciceri.dev:${
|
||||||
builtins.toString config.services.loki.configuration.server.http_listen_port or 3100
|
builtins.toString config.services.loki.configuration.server.http_listen_port or 3100
|
||||||
}/loki/api/v1/push";
|
}/loki/api/v1/push";
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
services = {
|
services = {
|
||||||
syncthing = {
|
syncthing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
guiAddress = "${config.networking.hostName}.fleet:8434";
|
guiAddress = "${config.networking.hostName}.wg.aciceri.dev:8434";
|
||||||
# TODO Use the home-manager module instead of the following conditions
|
# TODO Use the home-manager module instead of the following conditions
|
||||||
user = if config.networking.hostName == "sisko" then "syncthing" else "ccr";
|
user = if config.networking.hostName == "sisko" then "syncthing" else "ccr";
|
||||||
dataDir = if config.networking.hostName == "sisko" then "/mnt/hd/syncthing" else "/home/ccr";
|
dataDir = if config.networking.hostName == "sisko" then "/mnt/hd/syncthing" else "/home/ccr";
|
||||||
|
@ -16,25 +16,25 @@
|
||||||
picard = {
|
picard = {
|
||||||
id = "XKSCJ46-EM6GIZ7-6ABQTZZ-ZRVWVFM-MJ3QNVG-F5EWHY5-ZUNYVSL-DA77YAG";
|
id = "XKSCJ46-EM6GIZ7-6ABQTZZ-ZRVWVFM-MJ3QNVG-F5EWHY5-ZUNYVSL-DA77YAG";
|
||||||
addresses = [
|
addresses = [
|
||||||
"tcp://picard.fleet"
|
"tcp://picard.wg.aciceri.dev"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
sisko = {
|
sisko = {
|
||||||
id = "QE6V7PR-VHMAHHS-GHD4ZI3-IBB7FEM-M6EQZBX-YFCWDAK-YCYL6VO-NNRMXQK";
|
id = "QE6V7PR-VHMAHHS-GHD4ZI3-IBB7FEM-M6EQZBX-YFCWDAK-YCYL6VO-NNRMXQK";
|
||||||
addresses = [
|
addresses = [
|
||||||
"tcp://sisko.fleet"
|
"tcp://sisko.wg.aciceri.dev"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
kirk = {
|
kirk = {
|
||||||
id = "OVPXSCE-XFKCBJ2-A4SKJRI-DYBZ6CV-U2OFNA2-ALHOPW5-PPMHOIQ-5TG2HAJ";
|
id = "OVPXSCE-XFKCBJ2-A4SKJRI-DYBZ6CV-U2OFNA2-ALHOPW5-PPMHOIQ-5TG2HAJ";
|
||||||
addresses = [
|
addresses = [
|
||||||
"tcp://kirk.fleet"
|
"tcp://kirk.wg.aciceri.dev"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
oneplus8t = {
|
oneplus8t = {
|
||||||
id = "KMB2YRF-DGTWU24-SLITU23-5TN7BMQ-6PFAQQZ-CZ7J2QL-PIGVBTU-VRFRMQV";
|
id = "KMB2YRF-DGTWU24-SLITU23-5TN7BMQ-6PFAQQZ-CZ7J2QL-PIGVBTU-VRFRMQV";
|
||||||
addresses = [
|
addresses = [
|
||||||
"tcp://oneplus8t.fleet"
|
"tcp://oneplus8t.wg.aciceri.dev"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -24,9 +24,4 @@
|
||||||
privateKeyFile = config.age.secrets."${config.networking.hostName}-wireguard-private-key".path;
|
privateKeyFile = config.age.secrets."${config.networking.hostName}-wireguard-private-key".path;
|
||||||
listenPort = 51820;
|
listenPort = 51820;
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.hosts = lib.mapAttrs' (hostname: vpnConfig: {
|
|
||||||
name = vpnConfig.ip;
|
|
||||||
value = [ "${hostname}.fleet" ];
|
|
||||||
}) vpn;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,16 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
services.zerotierone = {
|
services.zerotierone = {
|
||||||
enable = true;
|
enable = true;
|
||||||
joinNetworks = [ "632ea29085af0cb4" ];
|
joinNetworks = [ "632ea29085af0cb4" ];
|
||||||
};
|
};
|
||||||
|
environment =
|
||||||
|
if (config.networking.hostName == "sisko") then
|
||||||
|
{
|
||||||
|
persistence."/persist".directories = [
|
||||||
|
"/var/lib/zerotier-one"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ };
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,8 @@ host=${1-picard}
|
||||||
|
|
||||||
nixos-rebuild switch \
|
nixos-rebuild switch \
|
||||||
--flake ".#${host}" \
|
--flake ".#${host}" \
|
||||||
--target-host "root@${host}.fleet" \
|
--target-host "root@${host}.wg.aciceri.dev" \
|
||||||
--build-host "root@${host}.fleet" \
|
--build-host "root@${host}.wg.aciceri.dev" \
|
||||||
--option warn-dirty false \
|
--option warn-dirty false \
|
||||||
--fast \
|
--fast \
|
||||||
"${@:2}"
|
"${@:2}"
|
||||||
|
|
Loading…
Add table
Reference in a new issue