Wire the offline-first todo app (github: local /home/alex/code/todo) into manatee, following the app-module convention: - flake input `todo` (local git checkout for now; gitea URL commented) with nixpkgs following. - hosts/manatee/modules/todo: mod.todo option importing the app's NixOS module; runs on 127.0.0.1:8091, secureCookies, token from agenix; the host owns the nginx vhost (todo.ppp.pm, forceSSL + useACMEHost) and homepage card. - mod.todo.enable = true. - certs: todo.ppp.pm DNS-01 cert via hetzner. - home-assistant DNS updater: add `todo` to the Hetzner subdomain list. - secrets: todo-token.age (encrypted access token) + recipients in secrets.nix.
196 lines
5.4 KiB
Nix
196 lines
5.4 KiB
Nix
{
|
|
description = "nixos configs";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
nixos-hardware.url = "github:nixos/nixos-hardware/master";
|
|
|
|
disko = {
|
|
url = "github:nix-community/disko";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
nh = {
|
|
url = "github:viperML/nh/b00a24b39944efd4ec7944f02e0bd9113d991767";
|
|
};
|
|
|
|
nix-gc-env.url = "github:Julow/nix-gc-env";
|
|
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
agenix = {
|
|
url = "github:ryantm/agenix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
emacs-overlay = {
|
|
url = "github:nix-community/emacs-overlay";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
hyprland = {
|
|
url = "github:hyprwm/Hyprland";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
hyprland-contrib = {
|
|
url = "github:hyprwm/contrib";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
nix-jetbrains-plugins = {
|
|
url = "github:nix-community/nix-jetbrains-plugins";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
naviterm = {
|
|
url = "gitlab:detoxify92/naviterm";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
pppdotpm-site = {
|
|
url = "git+ssh://gitea@git.ppp.pm:1122/alex/ppp.pm-site.git?ref=main";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
whib-backend = {
|
|
url = "git+ssh://gitea@git.ppp.pm:1122/alex/whib.git?ref=master";
|
|
# url = "path:/home/alex/code/own/whib";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
whib-frontend = {
|
|
url = "git+ssh://gitea@git.ppp.pm:1122/alex/whib-react.git?ref=master";
|
|
# url = "path:/home/alex/code/own/whib-react";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
komga-comictracker = {
|
|
url = "git+ssh://gitea@git.ppp.pm:1122/alex/komga-comictracker.git?ref=main";
|
|
# url = "path:/home/alex/code/own/komga-comictracker";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
komga-bookmanager = {
|
|
url = "git+ssh://gitea@git.ppp.pm:1122/alex/komga-bookmanager.git?ref=main";
|
|
# url = "path:/home/alex/code/own/komga-bookmanager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
komga-reading-stats = {
|
|
url = "git+ssh://gitea@git.ppp.pm:1122/alex/komga-reading-stats.git?ref=main";
|
|
# url = "path:/home/alex/code/own/komga-reading-stats";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
puppy-tracker = {
|
|
url = "git+ssh://gitea@git.ppp.pm:1122/alex/puppy-tracker.git?ref=main";
|
|
# url = "path:/home/alex/code/puppy-tracker";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
solo-referee = {
|
|
url = "git+ssh://gitea@git.ppp.pm:1122/alex/solo-referee.git?ref=main";
|
|
# url = "path:/home/alex/code/solo-referee";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
todo = {
|
|
# Not yet pushed to gitea; using the local git checkout for now (git+file
|
|
# respects .gitignore, so web/node_modules isn't copied into the store).
|
|
# Flip these once the repo is published, matching the other apps above.
|
|
# url = "git+ssh://gitea@git.ppp.pm:1122/alex/todo.git?ref=main";
|
|
url = "git+file:///home/alex/code/todo?ref=main";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs =
|
|
{ ... }@inputs:
|
|
{
|
|
nixosConfigurations = {
|
|
pinwheel = inputs.nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
specialArgs = {
|
|
inherit inputs;
|
|
};
|
|
modules = [
|
|
./hosts/pinwheel/configuration.nix
|
|
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x1-10th-gen
|
|
./hosts/pinwheel/home.nix
|
|
];
|
|
};
|
|
|
|
manatee = inputs.nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
specialArgs = {
|
|
inherit inputs;
|
|
};
|
|
modules = [
|
|
./hosts/manatee/configuration.nix
|
|
./hosts/manatee/home.nix
|
|
];
|
|
};
|
|
|
|
backwards = inputs.nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
specialArgs = {
|
|
inherit inputs;
|
|
};
|
|
modules = [
|
|
./hosts/backwards/configuration.nix
|
|
./hosts/backwards/home.nix
|
|
];
|
|
};
|
|
|
|
tadpole =
|
|
let
|
|
system = "x86_64-linux";
|
|
in
|
|
inputs.nixpkgs.lib.nixosSystem {
|
|
inherit system;
|
|
specialArgs = {
|
|
inherit inputs;
|
|
};
|
|
modules = [
|
|
./hosts/tadpole/configuration.nix
|
|
./hosts/tadpole/home.nix
|
|
inputs.whib-backend.nixosModules.${system}.default
|
|
inputs.whib-frontend.nixosModules.${system}.default
|
|
];
|
|
};
|
|
|
|
test-vm =
|
|
let
|
|
system = "x86_64-linux";
|
|
in
|
|
inputs.nixpkgs.lib.nixosSystem {
|
|
inherit system;
|
|
specialArgs = {
|
|
inherit inputs;
|
|
};
|
|
modules = [
|
|
./hosts/test-vm/configuration.nix
|
|
inputs.whib-backend.nixosModules.${system}.default
|
|
inputs.whib-frontend.nixosModules.${system}.default
|
|
];
|
|
};
|
|
};
|
|
|
|
devShells =
|
|
let
|
|
system = "x86_64-linux";
|
|
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
|
in
|
|
{
|
|
${system}.default = pkgs.mkShell {
|
|
packages = [ pkgs.nixfmt ];
|
|
};
|
|
};
|
|
};
|
|
}
|