I HATE FLAKES, I HATE FLAKES, I HATE FLAKES

This commit is contained in:
Root User 2026-02-12 17:48:47 +01:00
parent 3ac51c3662
commit 1dd3af35f0
Signed by: root
GPG key ID: 087F0A95E5766D72
8 changed files with 74 additions and 62 deletions

View file

@ -3,7 +3,9 @@
pkgs, pkgs,
lib, lib,
... ...
}: { }: let
choose = paths: builtins.head (builtins.filter (p: builtins.pathExists p) paths);
in {
options.local = { options.local = {
hostname = lib.mkOption { hostname = lib.mkOption {
type = lib.types.str; type = lib.types.str;
@ -28,14 +30,11 @@
}; };
imports = [ imports = [
../desktop-manager/sway_greetd_homemanager.nix (choose [ ./modules/local/hostname_username.nix ../local/hostname_username.nix ])
../local/hostname_username.nix (choose [ ./modules/local/networking_local.nix ../local/networking_local.nix ])
../local/networking_local.nix (choose [ ./modules/bootloader/seabios-assigned-iso-at-birth.nix ../bootloader/seabios-assigned-iso-at-birth.nix ])
../bootloader/seabios-assigned-iso-at-birth.nix (choose [ ./modules/lix-default.nix ../lix-default.nix ])
../lix-default.nix (choose [ ./modules/secrets-config/sops-the-blank-system.nix ../secrets-config/sops-the-blank-system.nix ])
# Optionally to enable remote building: ./modules/toolsets/remote_building.nix
#./modules/songsheet/wavelog/docker-compose.nix
#./modules/secrets-config/sops-the-blank-system.nix
]; ];
config = { config = {

View file

@ -3,7 +3,9 @@
pkgs, pkgs,
lib, lib,
... ...
}: { }: let
choose = paths: builtins.head (builtins.filter (p: builtins.pathExists p) paths);
in {
options.local = { options.local = {
hostname = lib.mkOption { hostname = lib.mkOption {
type = lib.types.str; type = lib.types.str;
@ -28,11 +30,11 @@
}; };
imports = [ imports = [
../local/hostname_username.nix (choose [ ./modules/local/hostname_username.nix ../local/hostname_username.nix ])
../local/networking_local.nix (choose [ ./modules/local/networking_local.nix ../local/networking_local.nix ])
../bootloader/seabios-assigned-iso-at-birth.nix (choose [ ./modules/bootloader/seabios-assigned-iso-at-birth.nix ../bootloader/seabios-assigned-iso-at-birth.nix ])
../lix-default.nix (choose [ ./modules/lix-default.nix ../lix-default.nix ])
../secrets-config/sops-build-machine.nix (choose [ ./modules/secrets-config/sops-build-machine.nix ../secrets-config/sops-build-machine.nix ])
]; ];
config = { config = {

View file

@ -3,7 +3,9 @@
pkgs, pkgs,
lib, lib,
... ...
}: { }: let
choose = paths: builtins.head (builtins.filter (p: builtins.pathExists p) paths);
in {
options.local = { options.local = {
hostname = lib.mkOption { hostname = lib.mkOption {
type = lib.types.str; type = lib.types.str;
@ -28,16 +30,16 @@
}; };
imports = [ imports = [
../desktop-manager/sway_greetd_homemanager.nix (choose [ ./modules/desktop-manager/sway_greetd_homemanager.nix ../desktop-manager/sway_greetd_homemanager.nix ])
../local/hostname_username.nix (choose [ ./modules/local/hostname_username.nix ../local/hostname_username.nix ])
../local/networking_local.nix (choose [ ./modules/local/networking_local.nix ../local/networking_local.nix ])
../bootloader/seabios-assigned-iso-at-birth.nix (choose [ ./modules/bootloader/seabios-assigned-iso-at-birth.nix ../bootloader/seabios-assigned-iso-at-birth.nix ])
../lix-default.nix (choose [ ./modules/lix-default.nix ../lix-default.nix ])
# Optionally: ../toolsets/remote_building.nix # Optionally: (choose [ ./modules/toolsets/remote_building.nix ../toolsets/remote_building.nix ])
## Compose modules for Portainer service ## Compose modules for Portainer service
../songsheet/wavelog/docker-compose.nix (choose [ ./modules/songsheet/wavelog/docker-compose.nix ../songsheet/wavelog/docker-compose.nix ])
../secrets-config/sops-composesongsheet.nix (choose [ ./modules/secrets-config/sops-composesongsheet.nix ../secrets-config/sops-composesongsheet.nix ])
]; ];
config = { config = {

View file

@ -3,7 +3,9 @@
pkgs, pkgs,
lib, lib,
... ...
}: { }: let
choose = paths: builtins.head (builtins.filter (p: builtins.pathExists p) paths);
in {
options.local = { options.local = {
hostname = lib.mkOption { hostname = lib.mkOption {
type = lib.types.str; type = lib.types.str;
@ -28,13 +30,13 @@
}; };
imports = [ imports = [
../desktop-manager/gnome.nix (choose [ ./modules/desktop-manager/gnome.nix ../desktop-manager/gnome.nix ])
../local/hostname_username.nix (choose [ ./modules/local/hostname_username.nix ../local/hostname_username.nix ])
../local/networking_local.nix (choose [ ./modules/local/networking_local.nix ../local/networking_local.nix ])
../bootloader/seabios-assigned-iso-at-birth.nix (choose [ ./modules/bootloader/seabios-assigned-iso-at-birth.nix ../bootloader/seabios-assigned-iso-at-birth.nix ])
../lix-default.nix (choose [ ./modules/lix-default.nix ../lix-default.nix ])
../secrets-config/sops-database.nix (choose [ ./modules/secrets-config/sops-database.nix ../secrets-config/sops-database.nix ])
../system_scripts/gcloud_backup.nix (choose [ ./modules/system_scripts/gcloud_backup.nix ../system_scripts/gcloud_backup.nix ])
## TODO: Make this more elegant and less risky for unexpected errors happening. ## TODO: Make this more elegant and less risky for unexpected errors happening.
] ++ lib.optional (builtins.pathExists ./hardware-configuration.nix) ./hardware-configuration.nix; ] ++ lib.optional (builtins.pathExists ./hardware-configuration.nix) ./hardware-configuration.nix;

View file

@ -7,6 +7,7 @@
home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz"; home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz";
cfg = config.services.forgejo; cfg = config.services.forgejo;
srv = cfg.settings.server; srv = cfg.settings.server;
choose = paths: builtins.head (builtins.filter (p: builtins.pathExists p) paths);
in { in {
options.local = { options.local = {
hostname = lib.mkOption { hostname = lib.mkOption {
@ -32,12 +33,12 @@ in {
}; };
imports = [ imports = [
../desktop-manager/sway_greetd_homemanager.nix (choose [ ./modules/desktop-manager/sway_greetd_homemanager.nix ../desktop-manager/sway_greetd_homemanager.nix ])
../local/hostname_username.nix (choose [ ./modules/local/hostname_username.nix ../local/hostname_username.nix ])
../local/networking_local.nix (choose [ ./modules/local/networking_local.nix ../local/networking_local.nix ])
../toolsets/remote_building.nix (choose [ ./modules/toolsets/remote_building.nix ../toolsets/remote_building.nix ])
../bootloader/seabios-assigned-proxmox-at-birth.nix (choose [ ./modules/bootloader/seabios-assigned-proxmox-at-birth.nix ../bootloader/seabios-assigned-proxmox-at-birth.nix ])
../lix-default.nix (choose [ ./modules/lix-default.nix ../lix-default.nix ])
]; ];
config = { config = {

View file

@ -3,7 +3,9 @@
pkgs, pkgs,
lib, lib,
... ...
}: { }: let
choose = paths: builtins.head (builtins.filter (p: builtins.pathExists p) paths);
in {
options.local = { options.local = {
hostname = lib.mkOption { hostname = lib.mkOption {
type = lib.types.str; type = lib.types.str;
@ -28,15 +30,15 @@
}; };
imports = [ imports = [
../desktop-manager/sway_greetd_homemanager.nix (choose [ ./modules/desktop-manager/sway_greetd_homemanager.nix ../desktop-manager/sway_greetd_homemanager.nix ])
../local/hostname_username.nix (choose [ ./modules/local/hostname_username.nix ../local/hostname_username.nix ])
../local/networking_local.nix (choose [ ./modules/local/networking_local.nix ../local/networking_local.nix ])
../bootloader/seabios-assigned-iso-at-birth.nix (choose [ ./modules/bootloader/seabios-assigned-iso-at-birth.nix ../bootloader/seabios-assigned-iso-at-birth.nix ])
../lix-default.nix (choose [ ./modules/lix-default.nix ../lix-default.nix ])
# Optionally: ./modules/toolsets/remote_building.nix # Optionally: (choose [ ./modules/toolsets/remote_building.nix ../toolsets/remote_building.nix ])
## Compose modules for Portainer service ## Compose modules for Portainer service
../songsheet/wavelog/docker-compose.nix (choose [ ./modules/songsheet/wavelog/docker-compose.nix ../songsheet/wavelog/docker-compose.nix ])
../secrets-config/sops-composesongsheet.nix (choose [ ./modules/secrets-config/sops-composesongsheet.nix ../secrets-config/sops-composesongsheet.nix ])
]; ];
config = { config = {

View file

@ -3,7 +3,9 @@
pkgs, pkgs,
lib, lib,
... ...
}: { }: let
choose = paths: builtins.head (builtins.filter (p: builtins.pathExists p) paths);
in {
options.local = { options.local = {
hostname = lib.mkOption { hostname = lib.mkOption {
type = lib.types.str; type = lib.types.str;
@ -28,12 +30,12 @@
}; };
imports = [ imports = [
../desktop-manager/sway_greetd_homemanager.nix (choose [ ./modules/desktop-manager/sway_greetd_homemanager.nix ../desktop-manager/sway_greetd_homemanager.nix ])
../local/hostname_username.nix (choose [ ./modules/local/hostname_username.nix ../local/hostname_username.nix ])
../local/networking_local.nix (choose [ ./modules/local/networking_local.nix ../local/networking_local.nix ])
../bootloader/seabios-assigned-iso-at-birth.nix (choose [ ./modules/bootloader/seabios-assigned-iso-at-birth.nix ../bootloader/seabios-assigned-iso-at-birth.nix ])
../lix-default.nix (choose [ ./modules/lix-default.nix ../lix-default.nix ])
# Optionally: ./modules/toolsets/remote_building.nix # Optionally: (choose [ ./modules/toolsets/remote_building.nix ../toolsets/remote_building.nix ])
]; ];
config = { config = {

View file

@ -3,7 +3,9 @@
pkgs, pkgs,
lib, lib,
... ...
}: { }: let
choose = paths: builtins.head (builtins.filter (p: builtins.pathExists p) paths);
in {
options.local = { options.local = {
hostname = lib.mkOption { hostname = lib.mkOption {
type = lib.types.str; type = lib.types.str;
@ -28,12 +30,12 @@
}; };
imports = [ imports = [
../desktop-manager/sway_greetd_homemanager.nix (choose [ ./modules/desktop-manager/sway_greetd_homemanager.nix ../desktop-manager/sway_greetd_homemanager.nix ])
../local/hostname_username.nix (choose [ ./modules/local/hostname_username.nix ../local/hostname_username.nix ])
../local/networking_local.nix (choose [ ./modules/local/networking_local.nix ../local/networking_local.nix ])
../bootloader/seabios-assigned-iso-at-birth.nix (choose [ ./modules/bootloader/seabios-assigned-iso-at-birth.nix ../bootloader/seabios-assigned-iso-at-birth.nix ])
../lix-default.nix (choose [ ./modules/lix-default.nix ../lix-default.nix ])
../secrets-config/sops-wireguard.nix (choose [ ./modules/secrets-config/sops-wireguard.nix ../secrets-config/sops-wireguard.nix ])
# Optionally to enable remote building: ./modules/toolsets/remote_building.nix # Optionally to enable remote building: ./modules/toolsets/remote_building.nix
#./modules/songsheet/wavelog/docker-compose.nix #./modules/songsheet/wavelog/docker-compose.nix
#./modules/secrets-config/sops-the-blank-system.nix #./modules/secrets-config/sops-the-blank-system.nix