9 Commits

Author SHA1 Message Date
shobu
cda4de62b6 old nix
Some checks failed
/ Build Nix targets (push) Successful in 25s
/ build hive configuration (push) Failing after 3m29s
2025-11-12 04:47:59 +01:00
shobu
d6e8d81ef0 old nix
Some checks failed
/ Build Nix targets (push) Successful in 26s
/ build hive configuration (push) Failing after 19s
2025-11-12 04:46:23 +01:00
shobu
e1d2f10b6a old nix
Some checks failed
/ Build Nix targets (push) Successful in 27s
/ build hive configuration (push) Failing after 3m35s
2025-11-12 04:35:54 +01:00
shobu
668c8de2e7 test
Some checks failed
/ Build Nix targets (push) Successful in 26s
/ build hive configuration (push) Failing after 3m37s
2025-11-12 04:31:00 +01:00
shobu
82e03ed59b test
Some checks failed
/ Build Nix targets (push) Successful in 27s
/ build hive configuration (push) Failing after 15s
2025-11-12 04:28:08 +01:00
shobu
d41b153dbb fix prev
Some checks failed
/ Build Nix targets (push) Successful in 26s
/ build hive configuration (push) Failing after 3m34s
2025-11-12 04:19:37 +01:00
shobu
c901116678 test
Some checks failed
/ Build Nix targets (push) Successful in 44s
/ build hive configuration (push) Failing after 19s
2025-11-12 04:15:22 +01:00
shobu
26ac144938 directly run the nix-develop repo
Some checks failed
/ Build Nix targets (push) Successful in 30s
/ build hive configuration (push) Failing after 3m52s
2025-11-12 00:30:41 +01:00
shobu
10bcea2d77 remove cachix usage
Some checks failed
/ Build Nix targets (push) Successful in 31s
/ build hive configuration (push) Failing after 1m40s
2025-11-12 00:19:14 +01:00
10 changed files with 230 additions and 161 deletions

View File

@@ -1,15 +0,0 @@
on: [push]
jobs:
analysis:
permissions:
contents: read
id-token: write
name: perform flake analysis
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- name: Check Nix flake inputs
uses: http://github.com/DeterminateSystems/flake-checker-action@main

View File

@@ -0,0 +1,14 @@
on: [push]
jobs:
build:
name: Build Nix targets
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: http://github.com/cachix/install-nix-action@v18
- uses: http://github.com/cachix/cachix-action@v12
with:
name: statix
- name: Check Nix flake inputs
uses: http://github.com/DeterminateSystems/flake-checker-action@main

View File

@@ -1,42 +0,0 @@
on:
push:
branches:
- master
jobs:
deploy:
permissions:
contents: read
id-token: write
name: build hive configuration
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@main
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
# restore and save a cache using this key
primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
# if there's no cache hit, restore a cache by this prefix
restore-prefixes-first-match: nix-${{ runner.os }}-
# collect garbage until the Nix store size (in bytes) is at most this number
# before trying to save a new cache
# 1G = 1073741824
gc-max-store-size-linux: 1G
# do purge caches
purge: true
# purge all versions of the cache
purge-prefixes: nix-${{ runner.os }}-
# created more than this number of seconds ago
purge-created: 60000
purge-primary-key: never
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
known_hosts: ${{ secrets.KNOWN_HOSTS }}
- uses: http://github.com/cachix/cachix-action@v16
with:
name: colmena
- run: nix run .#colmena apply

View File

@@ -0,0 +1,17 @@
on:
push:
branches:
- master
- test-deploy
jobs:
build:
name: build hive configuration
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v5
- uses: cachix/install-nix-action@v31
with:
install_url: https://releases.nixos.org/nix/nix-2.20.0/install
- uses: https://github.com/nicknovitski/nix-develop@v1
- run: colmena apply

148
flake.lock generated
View File

@@ -340,6 +340,36 @@
} }
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": {
"lastModified": 1744440957,
"narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1744463964,
"narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=",
"rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650",
"revCount": 782401,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.782401%2Brev-2631b0b7abcea6e640ce31cd78ea58910d31e650/01962c8a-63c4-7abd-a3df-63a17b548cc7/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz"
}
},
"nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1736549401, "lastModified": 1736549401,
"narHash": "sha256-ibkQrMHxF/7TqAYcQE+tOnIsSEzXmMegzyBWza6uHKM=", "narHash": "sha256-ibkQrMHxF/7TqAYcQE+tOnIsSEzXmMegzyBWza6uHKM=",
@@ -355,6 +385,56 @@
"type": "github" "type": "github"
} }
}, },
"pyproject-build-systems": {
"inputs": {
"nixpkgs": [
"striped-back",
"nixpkgs"
],
"pyproject-nix": [
"striped-back",
"pyproject-nix"
],
"uv2nix": [
"striped-back",
"uv2nix"
]
},
"locked": {
"lastModified": 1744599653,
"narHash": "sha256-nysSwVVjG4hKoOjhjvE6U5lIKA8sEr1d1QzEfZsannU=",
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"rev": "7dba6dbc73120e15b558754c26024f6c93015dd7",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"type": "github"
}
},
"pyproject-nix": {
"inputs": {
"nixpkgs": [
"striped-back",
"nixpkgs"
]
},
"locked": {
"lastModified": 1743438845,
"narHash": "sha256-1GSaoubGtvsLRwoYwHjeKYq40tLwvuFFVhGrG8J9Oek=",
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"rev": "8063ec98edc459571d042a640b1c5e334ecfca1e",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
@@ -364,6 +444,8 @@
"nix-minecraft": "nix-minecraft", "nix-minecraft": "nix-minecraft",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_5",
"shoblog-front": "shoblog-front", "shoblog-front": "shoblog-front",
"striped-back": "striped-back",
"striped-front": "striped-front",
"testing-grounds": "testing-grounds", "testing-grounds": "testing-grounds",
"unstable": "unstable" "unstable": "unstable"
} }
@@ -402,6 +484,45 @@
"type": "github" "type": "github"
} }
}, },
"striped-back": {
"inputs": {
"nixpkgs": "nixpkgs_7",
"pyproject-build-systems": "pyproject-build-systems",
"pyproject-nix": "pyproject-nix",
"uv2nix": "uv2nix"
},
"locked": {
"lastModified": 1748719386,
"narHash": "sha256-nyXHemXPEKnqIVIYIorSbt64zRwMvijyGQGCW3zUUkc=",
"ref": "refs/heads/master",
"rev": "bdfd6f1f4aac6a00ae4509f14b3a63c84d169edf",
"revCount": 8,
"type": "git",
"url": "ssh://git@gitlab.com/striped1/striped-back"
},
"original": {
"type": "git",
"url": "ssh://git@gitlab.com/striped1/striped-back"
}
},
"striped-front": {
"inputs": {
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1748718798,
"narHash": "sha256-KUxbrUjRfuKjkJZLzKr11WEXLfPs38YrW/CMG6XbnbY=",
"ref": "refs/heads/master",
"rev": "a553f10147dad9e41829f67b247817a079f6f671",
"revCount": 11,
"type": "git",
"url": "ssh://git@gitlab.com/striped1/striped-front"
},
"original": {
"type": "git",
"url": "ssh://git@gitlab.com/striped1/striped-front"
}
},
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@@ -434,7 +555,7 @@
}, },
"testing-grounds": { "testing-grounds": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_7" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1755527993, "lastModified": 1755527993,
@@ -465,6 +586,31 @@
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
},
"uv2nix": {
"inputs": {
"nixpkgs": [
"striped-back",
"nixpkgs"
],
"pyproject-nix": [
"striped-back",
"pyproject-nix"
]
},
"locked": {
"lastModified": 1744797880,
"narHash": "sha256-gt9JBkYjZAEvGwCG7RMAAAr0j2RsaRmOMj/vV0briXk=",
"owner": "pyproject-nix",
"repo": "uv2nix",
"rev": "3583e037163491ecd833f1d5d3eedf3869543c5d",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "uv2nix",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@@ -18,8 +18,8 @@
nix-minecraft.url = "github:Infinidoge/nix-minecraft"; nix-minecraft.url = "github:Infinidoge/nix-minecraft";
testing-grounds.url = "gitlab:shobu13/testing-grounds"; testing-grounds.url = "gitlab:shobu13/testing-grounds";
shoblog-front.url = "gitlab:shobu13/shoblog"; shoblog-front.url = "gitlab:shobu13/shoblog";
# striped-front.url = "git+ssh://git@gitlab.com/striped1/striped-front"; striped-front.url = "git+ssh://git@gitlab.com/striped1/striped-front";
# striped-back.url = "git+ssh://git@gitlab.com/striped1/striped-back"; striped-back.url = "git+ssh://git@gitlab.com/striped1/striped-back";
copyparty.url = "github:9001/copyparty"; copyparty.url = "github:9001/copyparty";
@@ -38,8 +38,8 @@
disko, disko,
shoblog-front, shoblog-front,
# striped-front, striped-front,
# striped-back, striped-back,
nix-minecraft, nix-minecraft,
testing-grounds, testing-grounds,
copyparty, copyparty,
@@ -109,9 +109,5 @@
''; '';
}; };
}); });
packages = forEachSupportedSystem ({pkgs}: {
inherit (colmena.packages."${pkgs.system}") colmena;
});
}; };
} }

View File

@@ -1,12 +1,12 @@
{ inputs, pkgs, ... }:
{ {inputs, pkgs, ...}: {
services.homepage-dashboard = { services.homepage-dashboard = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
allowedHosts = "dashboard.shobu.fr"; allowedHosts = "dashboard.shobu.fr";
settings = { settings = {
title = "Shobu's homelab dashboard"; title = "Shobu's homelab dashboard";
description = "a dashboard of free and awesome bullshit"; description = "a dashboard of free and wesome bullshit";
startUrl = "https://dashboard.shobu.fr"; startUrl = "https://dashboard.shobu.fr";
base = "https://dashboard.shobu.fr"; base = "https://dashboard.shobu.fr";
headerStyle = "boxed"; headerStyle = "boxed";
@@ -16,7 +16,7 @@
}; };
layout = [ layout = [
{ "resources" = { }; } {"resources" = {};}
{ {
"about me stuff" = { "about me stuff" = {
tab = "Public"; tab = "Public";
@@ -44,7 +44,7 @@
widgets = [ widgets = [
{ {
greeting = { greeting = {
text = "Welcome on my services and links dashboard, make yourself home. :3"; text = "Welcome on my services and links dashboard, make yourself home.";
}; };
} }
{ {

View File

@@ -1,6 +1,6 @@
{inputs, ...}: {inputs, ...}:
let let
# striped-front = inputs.striped-front; striped-front = inputs.striped-front;
sin-address = "192.168.1.14"; sin-address = "192.168.1.14";
in { in {
@@ -77,12 +77,12 @@ in {
''; '';
}; };
}; };
# "striped.shobu.fr" = { "striped.shobu.fr" = {
# enableACME = true; enableACME = true;
# forceSSL = true; forceSSL = true;
# root = "${striped-front.packages.x86_64-linux.default}/dist"; root = "${striped-front.packages.x86_64-linux.default}/dist";
# }; };
"dashboard.shobu.fr" = { "dashboard.shobu.fr" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;

View File

@@ -1,56 +1,12 @@
{ {nodes, ...}:let
nodes,
inputs,
pkgs,
...
}:
let
sin-address = "192.168.1.14"; sin-address = "192.168.1.14";
unstable = import inputs.unstable { system = pkgs.system; }; in{
in
{
imports = [ imports = [
./virtualisation.nix ./virtualisation.nix
]; ];
networking.nat.forwardPorts = [ networking.nat.forwardPorts = [{
{
sourcePort = nodes.sin.config.services.gitea.settings.server.SSH_PORT; sourcePort = nodes.sin.config.services.gitea.settings.server.SSH_PORT;
proto = "tcp"; proto = "tcp";
destination = "${sin-address}:22"; destination = "${sin-address}:22";
} }];
];
services.gitea-actions-runner.package = unstable.gitea-actions-runner;
# services.gitea-actions-runner.instances = {
# "gitea.shobu.fr-runner" = {
# enable = true;
# name = "gitea.shobu.fr-runner";
# url = nodes.sin.config.services.gitea.settings.server.ROOT_URL;
# token = "uEDPBW6Z9oItAKRtloVwis0LkPbD4OmV2w5esOhW";
# labels = [
# "ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04"
# ];
# settings = {
# cache = {
# # Enable cache server to use actions/cache.
# enabled = true;
# # The directory to store the cache data.
# # If it's empty, the cache data will be stored in $HOME/.cache/actcache.
# dir = "";
# # The host of the cache server.
# # It's not for the address to listen, but the address to connect from job containers.
# # So 0.0.0.0 is a bad choice, leave it empty to detect automatically.
# host = "";
# # The port of the cache server.
# # 0 means to use a random available port.
# port = 0;
# # The external cache server URL. Valid only when enable is true.
# # If it's specified, act_runner will use this URL as the ACTIONS_CACHE_URL rather than start a server by itself.
# # The URL should generally end with "/".
# external_server = "";
# };
# };
# };
# };
} }

View File

@@ -1,5 +1,4 @@
{ nodes, pkgs, ... }: {nodes, pkgs, ...}: {
{
systemd.sockets.podman.socketConfig.Symlinks = [ systemd.sockets.podman.socketConfig.Symlinks = [
"/run/docker.sock" "/run/docker.sock"
]; ];
@@ -16,8 +15,7 @@
}; };
}; };
virtualisation.oci-containers.containers = virtualisation.oci-containers.containers = let
let
runner_config = pkgs.writeTextFile { runner_config = pkgs.writeTextFile {
name = "config.yml"; name = "config.yml";
text = '' text = ''
@@ -25,8 +23,7 @@
network: "host" network: "host"
''; '';
}; };
in in {
{
gitea-runner = { gitea-runner = {
image = "gitea/act_runner@sha256:8477d5b61b655caad4449888bae39f1f34bebd27db56cb15a62dccb3dcf3a944"; image = "gitea/act_runner@sha256:8477d5b61b655caad4449888bae39f1f34bebd27db56cb15a62dccb3dcf3a944";
autoStart = true; autoStart = true;