diff options
Diffstat (limited to '')
| -rw-r--r-- | trivionomicon/.gitignore | 2 | ||||
| -rw-r--r-- | trivionomicon/COPYING (renamed from COPYING) | 0 | ||||
| -rw-r--r-- | trivionomicon/README.md (renamed from README.md) | 0 | ||||
| -rw-r--r-- | trivionomicon/doctrine/default.nix (renamed from doctrine/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/doctrine/lib/default.nix (renamed from doctrine/lib/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/doctrine/lib/import-all.nix (renamed from doctrine/lib/import-all.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/doctrine/lib/mk-module.nix (renamed from doctrine/lib/mk-module.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/flake.lock | 61 | ||||
| -rw-r--r-- | trivionomicon/flake.nix | 229 | ||||
| -rw-r--r-- | trivionomicon/modules/athena-bccr/default.nix (renamed from modules/athena-bccr/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/athena-bccr/hm.nix (renamed from modules/athena-bccr/hm.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/athena-bccr/options.nix (renamed from modules/athena-bccr/options.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/athena-bccr/sys.nix (renamed from modules/athena-bccr/sys.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/default.nix (renamed from modules/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/laptop/default.nix (renamed from modules/laptop/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/laptop/sys.nix (renamed from modules/laptop/sys.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/mediawiki/default.nix (renamed from modules/mediawiki/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/mediawiki/options.nix (renamed from modules/mediawiki/options.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/mediawiki/sys.nix (renamed from modules/mediawiki/sys.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/nix-registry/default.nix (renamed from modules/nix-registry/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/nix-registry/hm.nix (renamed from modules/nix-registry/hm.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/nix-registry/options.nix (renamed from modules/nix-registry/options.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/socialpredict/default.nix (renamed from modules/socialpredict/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/socialpredict/options.nix (renamed from modules/socialpredict/options.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/socialpredict/sys.nix (renamed from modules/socialpredict/sys.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/soju/default.nix (renamed from modules/soju/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/soju/options.nix (renamed from modules/soju/options.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/soju/sys.nix (renamed from modules/soju/sys.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/sway/default.nix (renamed from modules/sway/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/sway/options.nix (renamed from modules/sway/options.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/sway/sys.nix (renamed from modules/sway/sys.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/thinkpad/default.nix (renamed from modules/thinkpad/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/thinkpad/sys.nix (renamed from modules/thinkpad/sys.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/trivionomiconMotd/default.nix (renamed from modules/trivionomiconMotd/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/trivionomiconMotd/sys.nix (renamed from modules/trivionomiconMotd/sys.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/waybar/default.nix (renamed from modules/waybar/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/waybar/hm.nix (renamed from modules/waybar/hm.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/waybar/options.nix (renamed from modules/waybar/options.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/yubico/default.nix (renamed from modules/yubico/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/yubico/hm.nix (renamed from modules/yubico/hm.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/modules/yubico/sys.nix (renamed from modules/yubico/sys.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/pkgs/athena-bccr/0001-Remove-CheckUpdatePlugin-from-default-list.patch (renamed from pkgs/athena-bccr/0001-Remove-CheckUpdatePlugin-from-default-list.patch) | 0 | ||||
| -rw-r--r-- | trivionomicon/pkgs/athena-bccr/LaunchGaudi.java (renamed from pkgs/athena-bccr/LaunchGaudi.java) | 0 | ||||
| -rw-r--r-- | trivionomicon/pkgs/athena-bccr/default.nix (renamed from pkgs/athena-bccr/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/pkgs/athena-bccr/firmador.nix (renamed from pkgs/athena-bccr/firmador.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/pkgs/athena-bccr/gaudi-env.nix (renamed from pkgs/athena-bccr/gaudi-env.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/pkgs/athena-bccr/releases.nix (renamed from pkgs/athena-bccr/releases.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/pkgs/athena-bccr/unwrapped.nix (renamed from pkgs/athena-bccr/unwrapped.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/pkgs/default.nix | 11 | ||||
| -rw-r--r-- | trivionomicon/pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch (renamed from pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch) | 0 | ||||
| -rw-r--r-- | trivionomicon/pkgs/snapborg/default.nix (renamed from pkgs/snapborg/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/pkgs/socialpredict/0001-Support-POSTGRES_URL-for-overriding-the-PG-DSN.patch (renamed from pkgs/socialpredict/0001-Support-POSTGRES_URL-for-overriding-the-PG-DSN.patch) | 0 | ||||
| -rw-r--r-- | trivionomicon/pkgs/socialpredict/0002-Fix-API_URL-api-v0-.-API_URL-v0.patch (renamed from pkgs/socialpredict/0002-Fix-API_URL-api-v0-.-API_URL-v0.patch) | 0 | ||||
| -rw-r--r-- | trivionomicon/pkgs/socialpredict/default.nix (renamed from pkgs/socialpredict/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/pkgs/spliit/default.nix | 76 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/.gitignore (renamed from templates/system-flake/.gitignore) | 0 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/flake.nix (renamed from templates/system-flake/flake.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/home/default.nix (renamed from templates/system-flake/home/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/home/platform/me@foo/default.nix (renamed from templates/system-flake/home/platform/me@foo/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/pkgs/config/default.nix (renamed from templates/system-flake/pkgs/config/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/pkgs/config/unfree.nix (renamed from templates/system-flake/pkgs/config/unfree.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/pkgs/default.nix (renamed from templates/system-flake/pkgs/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/pkgs/hello-world/Makefile (renamed from templates/system-flake/pkgs/hello-world/Makefile) | 0 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/pkgs/hello-world/default.nix (renamed from templates/system-flake/pkgs/hello-world/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/pkgs/hello-world/hello-world.c (renamed from templates/system-flake/pkgs/hello-world/hello-world.c) | 0 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/pkgs/lib/default.nix (renamed from templates/system-flake/pkgs/lib/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/pkgs/lib/fibonacci.nix (renamed from templates/system-flake/pkgs/lib/fibonacci.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/sys/default.nix (renamed from templates/system-flake/sys/default.nix) | 0 | ||||
| -rw-r--r-- | trivionomicon/templates/system-flake/sys/platform/foo/default.nix (renamed from templates/system-flake/sys/platform/foo/default.nix) | 0 |
69 files changed, 379 insertions, 0 deletions
diff --git a/trivionomicon/.gitignore b/trivionomicon/.gitignore new file mode 100644 index 0000000..f094862 --- /dev/null +++ b/trivionomicon/.gitignore @@ -0,0 +1,2 @@ +!**/.keep +result diff --git a/COPYING b/trivionomicon/COPYING index f288702..f288702 100644 --- a/COPYING +++ b/trivionomicon/COPYING diff --git a/README.md b/trivionomicon/README.md index aced5a2..aced5a2 100644 --- a/README.md +++ b/trivionomicon/README.md diff --git a/doctrine/default.nix b/trivionomicon/doctrine/default.nix index 0d50d49..0d50d49 100644 --- a/doctrine/default.nix +++ b/trivionomicon/doctrine/default.nix diff --git a/doctrine/lib/default.nix b/trivionomicon/doctrine/lib/default.nix index e2d84b8..e2d84b8 100644 --- a/doctrine/lib/default.nix +++ b/trivionomicon/doctrine/lib/default.nix diff --git a/doctrine/lib/import-all.nix b/trivionomicon/doctrine/lib/import-all.nix index 423dd9c..423dd9c 100644 --- a/doctrine/lib/import-all.nix +++ b/trivionomicon/doctrine/lib/import-all.nix diff --git a/doctrine/lib/mk-module.nix b/trivionomicon/doctrine/lib/mk-module.nix index 7a1de39..7a1de39 100644 --- a/doctrine/lib/mk-module.nix +++ b/trivionomicon/doctrine/lib/mk-module.nix diff --git a/trivionomicon/flake.lock b/trivionomicon/flake.lock new file mode 100644 index 0000000..8730827 --- /dev/null +++ b/trivionomicon/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1754292888, + "narHash": "sha256-1ziydHSiDuSnaiPzCQh1mRFBsM2d2yRX9I+5OPGEmIE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ce01daebf8489ba97bd1609d185ea276efdeb121", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/trivionomicon/flake.nix b/trivionomicon/flake.nix new file mode 100644 index 0000000..2b53ebd --- /dev/null +++ b/trivionomicon/flake.nix @@ -0,0 +1,229 @@ +{ + inputs = { + flake-utils.url = "github:numtide/flake-utils"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; + }; + + outputs = { + self, + nixpkgs, + flake-utils, + }: let + mapOverlayOverride = prefix: overlay: final: prev: let + overlayPkgs = overlay final prev; + in + { + "${prefix}" = (prev.${prefix} or {}) // builtins.removeAttrs overlayPkgs ["override"]; + } + // (overlayPkgs.override or {}); + + doctrineNoPkgs = self.lib.mkDoctrine { + lib = nixpkgs.lib; + pkgs = null; + }; + in + flake-utils.lib.eachDefaultSystem (system: let + pkgs = import nixpkgs {inherit system;}; + in { + formatter = pkgs.alejandra; + + packages = + (import nixpkgs { + inherit system; + overlays = [self.overlays.default]; + }).${ + doctrineNoPkgs.prefix + }; + }) + // { + templates = let + system-flake = { + path = ./templates/system-flake; + description = "Opinionated flake for a NixOS system with Home Manager"; + }; + in { + inherit system-flake; + + default = system-flake; + }; + + overlays = let + overlay = mapOverlayOverride doctrineNoPkgs.prefix (import ./pkgs); + in { + default = overlay; + ${doctrineNoPkgs.prefix} = overlay; + }; + + homeManagerModules.default = ./modules; + nixosModules.default = ./modules; + + lib = { + mkDoctrine = import ./doctrine; + + mkSystemFlake = { + flakes, + system, + doctrinePrefix ? null, + formatter ? "alejandra", + paths ? {}, + }: let + mkDoctrine = args: + self.lib.mkDoctrine + (args + // optionalAttrs (doctrinePrefix != null) { + prefix = doctrinePrefix; + }); + + doctrineNoPkgs = mkDoctrine { + lib = nixpkgs.lib; + pkgs = null; + }; + + optionalFlake = name: + if flakes ? "${name}" + then flakes.${name} + else null; + + requireFlake = name: + if flakes ? "${name}" + then flakes.${name} + else throw "Required flake input '${name}' is missing"; + + nur = optionalFlake "nur"; + nixpkgs = requireFlake "nixpkgs"; + unstable = optionalFlake "unstable"; + + home-manager = + if hmSourcePath != null + then requireFlake "home-manager" + else null; + + pathFromSelf = path: builtins.toPath "${flakes.self}" + "/${path}"; + + localOverlayPath = pathFromSelf paths.localOverlay; + nixpkgsConfigPath = pathFromSelf paths.nixpkgsConfig; + nixosSourcePath = pathFromSelf paths.nixosSource; + nixosPlatformsPath = pathFromSelf paths.nixosPlatforms; + hmSourcePath = pathFromSelf paths.hmSource; + hmPlatformsPath = pathFromSelf paths.hmPlatforms; + + pkgs = importPkgs nixpkgs; + + importPkgs = flake: + import flake ({ + inherit system; + + overlays = let + conditions = [ + { + overlay = nur.overlays.default; + condition = nur != null; + } + # NB: Preserve the relative order + { + overlay = mapOverlayOverride prefix (import ./pkgs); + condition = true; + } + { + overlay = flakes.self.overlays.default; + condition = true; + } + ]; + in + builtins.map (cond: cond.overlay) (builtins.filter (cond: cond.condition) conditions); + } + // optionalAttrs (paths ? nixpkgsConfig) { + config = import nixpkgsConfigPath {inherit (nixpkgs) lib;}; + }); + + inherit (pkgs) lib; + inherit (nixpkgs.lib) optionalAttrs; # Prevents infinite recursion + inherit (doctrineNoPkgs) prefix; + inherit (doctrineNoPkgs.lib) importAll; + in + { + formatter.${system} = + if formatter == "alejandra" + then pkgs.alejandra + else if formatter == "nixpkgs-fmt" + then pkgs.nixpkgs-fmt + else throw "Unknown formatter: '${formatter}'"; + + packages.${system} = pkgs.${prefix}; + + overlays.default = final: prev: let + overlay = final: prev: + if paths ? localOverlay + then import localOverlayPath {inherit final prev flakes;} + else {}; + in + mapOverlayOverride prefix overlay final prev + // optionalAttrs (unstable != null) { + unstable = importPkgs unstable; + }; + } + // optionalAttrs (paths ? nixosSource) { + nixosConfigurations = let + hostConfig = platform: + self.lib.mkSystem { + inherit flakes pkgs; + doctrine = doctrineNoPkgs; + + modules = [ + nixosSourcePath + platform + ]; + }; + in + lib.mapAttrs (_: hostConfig) (importAll {root = nixosPlatformsPath;}); + } + // optionalAttrs (paths ? hmSource) { + homeConfigurations = let + home = name: platform: + home-manager.lib.homeManagerConfiguration { + inherit pkgs; + + extraSpecialArgs = { + inherit flakes; + + doctrine = mkDoctrine { + inherit pkgs; + namespace = "hm"; + }; + }; + + modules = [ + self.homeManagerModules.default + hmSourcePath + platform + ]; + }; + in + lib.mapAttrs home (importAll {root = hmPlatformsPath;}); + }; + + mkSystem = { + pkgs, + flakes, + doctrine, + modules, + }: + flakes.nixpkgs.lib.makeOverridable flakes.nixpkgs.lib.nixosSystem { + inherit pkgs; + inherit (pkgs) system; + + modules = [self.nixosModules.default] ++ modules; + + specialArgs = { + inherit flakes; + + doctrine = self.lib.mkDoctrine { + inherit pkgs; + inherit (doctrine) prefix; + namespace = "sys"; + }; + }; + }; + }; + }; +} diff --git a/modules/athena-bccr/default.nix b/trivionomicon/modules/athena-bccr/default.nix index 93c5660..93c5660 100644 --- a/modules/athena-bccr/default.nix +++ b/trivionomicon/modules/athena-bccr/default.nix diff --git a/modules/athena-bccr/hm.nix b/trivionomicon/modules/athena-bccr/hm.nix index 0678e3c..0678e3c 100644 --- a/modules/athena-bccr/hm.nix +++ b/trivionomicon/modules/athena-bccr/hm.nix diff --git a/modules/athena-bccr/options.nix b/trivionomicon/modules/athena-bccr/options.nix index eb61cf5..eb61cf5 100644 --- a/modules/athena-bccr/options.nix +++ b/trivionomicon/modules/athena-bccr/options.nix diff --git a/modules/athena-bccr/sys.nix b/trivionomicon/modules/athena-bccr/sys.nix index 631185d..631185d 100644 --- a/modules/athena-bccr/sys.nix +++ b/trivionomicon/modules/athena-bccr/sys.nix diff --git a/modules/default.nix b/trivionomicon/modules/default.nix index 0c0fd4c..0c0fd4c 100644 --- a/modules/default.nix +++ b/trivionomicon/modules/default.nix diff --git a/modules/laptop/default.nix b/trivionomicon/modules/laptop/default.nix index b908d47..b908d47 100644 --- a/modules/laptop/default.nix +++ b/trivionomicon/modules/laptop/default.nix diff --git a/modules/laptop/sys.nix b/trivionomicon/modules/laptop/sys.nix index 252f49c..252f49c 100644 --- a/modules/laptop/sys.nix +++ b/trivionomicon/modules/laptop/sys.nix diff --git a/modules/mediawiki/default.nix b/trivionomicon/modules/mediawiki/default.nix index 2ed69c2..2ed69c2 100644 --- a/modules/mediawiki/default.nix +++ b/trivionomicon/modules/mediawiki/default.nix diff --git a/modules/mediawiki/options.nix b/trivionomicon/modules/mediawiki/options.nix index 3ab7894..3ab7894 100644 --- a/modules/mediawiki/options.nix +++ b/trivionomicon/modules/mediawiki/options.nix diff --git a/modules/mediawiki/sys.nix b/trivionomicon/modules/mediawiki/sys.nix index 525ec3e..525ec3e 100644 --- a/modules/mediawiki/sys.nix +++ b/trivionomicon/modules/mediawiki/sys.nix diff --git a/modules/nix-registry/default.nix b/trivionomicon/modules/nix-registry/default.nix index 8406d88..8406d88 100644 --- a/modules/nix-registry/default.nix +++ b/trivionomicon/modules/nix-registry/default.nix diff --git a/modules/nix-registry/hm.nix b/trivionomicon/modules/nix-registry/hm.nix index 1c57e95..1c57e95 100644 --- a/modules/nix-registry/hm.nix +++ b/trivionomicon/modules/nix-registry/hm.nix diff --git a/modules/nix-registry/options.nix b/trivionomicon/modules/nix-registry/options.nix index e8898ec..e8898ec 100644 --- a/modules/nix-registry/options.nix +++ b/trivionomicon/modules/nix-registry/options.nix diff --git a/modules/socialpredict/default.nix b/trivionomicon/modules/socialpredict/default.nix index f821bf4..f821bf4 100644 --- a/modules/socialpredict/default.nix +++ b/trivionomicon/modules/socialpredict/default.nix diff --git a/modules/socialpredict/options.nix b/trivionomicon/modules/socialpredict/options.nix index bb2ad5e..bb2ad5e 100644 --- a/modules/socialpredict/options.nix +++ b/trivionomicon/modules/socialpredict/options.nix diff --git a/modules/socialpredict/sys.nix b/trivionomicon/modules/socialpredict/sys.nix index 36e5272..36e5272 100644 --- a/modules/socialpredict/sys.nix +++ b/trivionomicon/modules/socialpredict/sys.nix diff --git a/modules/soju/default.nix b/trivionomicon/modules/soju/default.nix index 2b302f0..2b302f0 100644 --- a/modules/soju/default.nix +++ b/trivionomicon/modules/soju/default.nix diff --git a/modules/soju/options.nix b/trivionomicon/modules/soju/options.nix index 06c3381..06c3381 100644 --- a/modules/soju/options.nix +++ b/trivionomicon/modules/soju/options.nix diff --git a/modules/soju/sys.nix b/trivionomicon/modules/soju/sys.nix index 83c3560..83c3560 100644 --- a/modules/soju/sys.nix +++ b/trivionomicon/modules/soju/sys.nix diff --git a/modules/sway/default.nix b/trivionomicon/modules/sway/default.nix index 9f49e7c..9f49e7c 100644 --- a/modules/sway/default.nix +++ b/trivionomicon/modules/sway/default.nix diff --git a/modules/sway/options.nix b/trivionomicon/modules/sway/options.nix index e433039..e433039 100644 --- a/modules/sway/options.nix +++ b/trivionomicon/modules/sway/options.nix diff --git a/modules/sway/sys.nix b/trivionomicon/modules/sway/sys.nix index 9c8b664..9c8b664 100644 --- a/modules/sway/sys.nix +++ b/trivionomicon/modules/sway/sys.nix diff --git a/modules/thinkpad/default.nix b/trivionomicon/modules/thinkpad/default.nix index e210947..e210947 100644 --- a/modules/thinkpad/default.nix +++ b/trivionomicon/modules/thinkpad/default.nix diff --git a/modules/thinkpad/sys.nix b/trivionomicon/modules/thinkpad/sys.nix index bc96146..bc96146 100644 --- a/modules/thinkpad/sys.nix +++ b/trivionomicon/modules/thinkpad/sys.nix diff --git a/modules/trivionomiconMotd/default.nix b/trivionomicon/modules/trivionomiconMotd/default.nix index 0844b5a..0844b5a 100644 --- a/modules/trivionomiconMotd/default.nix +++ b/trivionomicon/modules/trivionomiconMotd/default.nix diff --git a/modules/trivionomiconMotd/sys.nix b/trivionomicon/modules/trivionomiconMotd/sys.nix index 5b38e3d..5b38e3d 100644 --- a/modules/trivionomiconMotd/sys.nix +++ b/trivionomicon/modules/trivionomiconMotd/sys.nix diff --git a/modules/waybar/default.nix b/trivionomicon/modules/waybar/default.nix index 97cacf3..97cacf3 100644 --- a/modules/waybar/default.nix +++ b/trivionomicon/modules/waybar/default.nix diff --git a/modules/waybar/hm.nix b/trivionomicon/modules/waybar/hm.nix index 1bfa3e2..1bfa3e2 100644 --- a/modules/waybar/hm.nix +++ b/trivionomicon/modules/waybar/hm.nix diff --git a/modules/waybar/options.nix b/trivionomicon/modules/waybar/options.nix index b2daa33..b2daa33 100644 --- a/modules/waybar/options.nix +++ b/trivionomicon/modules/waybar/options.nix diff --git a/modules/yubico/default.nix b/trivionomicon/modules/yubico/default.nix index 71bed70..71bed70 100644 --- a/modules/yubico/default.nix +++ b/trivionomicon/modules/yubico/default.nix diff --git a/modules/yubico/hm.nix b/trivionomicon/modules/yubico/hm.nix index 8d06368..8d06368 100644 --- a/modules/yubico/hm.nix +++ b/trivionomicon/modules/yubico/hm.nix diff --git a/modules/yubico/sys.nix b/trivionomicon/modules/yubico/sys.nix index 3cd009f..3cd009f 100644 --- a/modules/yubico/sys.nix +++ b/trivionomicon/modules/yubico/sys.nix diff --git a/pkgs/athena-bccr/0001-Remove-CheckUpdatePlugin-from-default-list.patch b/trivionomicon/pkgs/athena-bccr/0001-Remove-CheckUpdatePlugin-from-default-list.patch index e7fc5d5..e7fc5d5 100644 --- a/pkgs/athena-bccr/0001-Remove-CheckUpdatePlugin-from-default-list.patch +++ b/trivionomicon/pkgs/athena-bccr/0001-Remove-CheckUpdatePlugin-from-default-list.patch diff --git a/pkgs/athena-bccr/LaunchGaudi.java b/trivionomicon/pkgs/athena-bccr/LaunchGaudi.java index e4bcdbf..e4bcdbf 100644 --- a/pkgs/athena-bccr/LaunchGaudi.java +++ b/trivionomicon/pkgs/athena-bccr/LaunchGaudi.java diff --git a/pkgs/athena-bccr/default.nix b/trivionomicon/pkgs/athena-bccr/default.nix index a5f79ca..a5f79ca 100644 --- a/pkgs/athena-bccr/default.nix +++ b/trivionomicon/pkgs/athena-bccr/default.nix diff --git a/pkgs/athena-bccr/firmador.nix b/trivionomicon/pkgs/athena-bccr/firmador.nix index 8ae8750..8ae8750 100644 --- a/pkgs/athena-bccr/firmador.nix +++ b/trivionomicon/pkgs/athena-bccr/firmador.nix diff --git a/pkgs/athena-bccr/gaudi-env.nix b/trivionomicon/pkgs/athena-bccr/gaudi-env.nix index 0ca1b82..0ca1b82 100644 --- a/pkgs/athena-bccr/gaudi-env.nix +++ b/trivionomicon/pkgs/athena-bccr/gaudi-env.nix diff --git a/pkgs/athena-bccr/releases.nix b/trivionomicon/pkgs/athena-bccr/releases.nix index e965172..e965172 100644 --- a/pkgs/athena-bccr/releases.nix +++ b/trivionomicon/pkgs/athena-bccr/releases.nix diff --git a/pkgs/athena-bccr/unwrapped.nix b/trivionomicon/pkgs/athena-bccr/unwrapped.nix index d6f3f38..d6f3f38 100644 --- a/pkgs/athena-bccr/unwrapped.nix +++ b/trivionomicon/pkgs/athena-bccr/unwrapped.nix diff --git a/trivionomicon/pkgs/default.nix b/trivionomicon/pkgs/default.nix new file mode 100644 index 0000000..1b11af9 --- /dev/null +++ b/trivionomicon/pkgs/default.nix @@ -0,0 +1,11 @@ +final: prev: +with prev.lib; let + inherit (final) callPackage; +in { + override = {}; + + athena-bccr = callPackage ./athena-bccr {}; + snapborg = final.python3Packages.callPackage ./snapborg {}; + socialpredict = callPackage ./socialpredict {}; + spliit = callPackage ./spliit {}; +} diff --git a/pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch b/trivionomicon/pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch index 33f7a0c..33f7a0c 100644 --- a/pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch +++ b/trivionomicon/pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch diff --git a/pkgs/snapborg/default.nix b/trivionomicon/pkgs/snapborg/default.nix index 271be5c..271be5c 100644 --- a/pkgs/snapborg/default.nix +++ b/trivionomicon/pkgs/snapborg/default.nix diff --git a/pkgs/socialpredict/0001-Support-POSTGRES_URL-for-overriding-the-PG-DSN.patch b/trivionomicon/pkgs/socialpredict/0001-Support-POSTGRES_URL-for-overriding-the-PG-DSN.patch index 69dc660..69dc660 100644 --- a/pkgs/socialpredict/0001-Support-POSTGRES_URL-for-overriding-the-PG-DSN.patch +++ b/trivionomicon/pkgs/socialpredict/0001-Support-POSTGRES_URL-for-overriding-the-PG-DSN.patch diff --git a/pkgs/socialpredict/0002-Fix-API_URL-api-v0-.-API_URL-v0.patch b/trivionomicon/pkgs/socialpredict/0002-Fix-API_URL-api-v0-.-API_URL-v0.patch index 09b0d70..09b0d70 100644 --- a/pkgs/socialpredict/0002-Fix-API_URL-api-v0-.-API_URL-v0.patch +++ b/trivionomicon/pkgs/socialpredict/0002-Fix-API_URL-api-v0-.-API_URL-v0.patch diff --git a/pkgs/socialpredict/default.nix b/trivionomicon/pkgs/socialpredict/default.nix index 22dc6a9..22dc6a9 100644 --- a/pkgs/socialpredict/default.nix +++ b/trivionomicon/pkgs/socialpredict/default.nix diff --git a/trivionomicon/pkgs/spliit/default.nix b/trivionomicon/pkgs/spliit/default.nix new file mode 100644 index 0000000..280e820 --- /dev/null +++ b/trivionomicon/pkgs/spliit/default.nix @@ -0,0 +1,76 @@ +{ + buildNpmPackage, + fetchFromGitHub, + nodePackages, + lib, + writeShellScriptBin, + pkgs, +}: let + schemaEngine = "${pkgs.prisma-engines}/bin/schema-engine"; + queryEngineBin = "${pkgs.prisma-engines}/bin/query-engine"; + queryEngineLib = "${pkgs.prisma-engines}/lib/libquery_engine.node"; + buildFlags = ["--ignore-scripts"]; +in + buildNpmPackage { + pname = "spliit2"; + version = "master-20250420"; + + src = fetchFromGitHub { + repo = "spliit"; + owner = "spliit-app"; + + rev = "a11efc79c13298c0d282e47496d132538752405f"; + hash = "sha256-v4gaPzLzBbbqw/LDYxe1fiyficcrqcGOop23YPiTrdc="; + }; + + npmDepsHash = "sha256-sd0/7ruNUFxUKTeTwx/v8Vc/G3llkXP6RSDE78h3qVU="; + + nativeBuildInputs = [pkgs.openssl]; + + npmRebuildFlags = buildFlags; + + PRISMA_SCHEMA_ENGINE_BINARY = schemaEngine; + PRISMA_QUERY_ENGINE_BINARY = queryEngineBin; + PRISMA_QUERY_ENGINE_LIBRARY = queryEngineLib; + + preBuild = '' + cp -v scripts/build.env .env + + npx prisma generate + ''; + + npmBuildFlags = buildFlags; + + postInstall = '' + cp -r .next public package.json next.config.mjs $out/lib/node_modules/spliit2 + + install -Dvm755 -t $out/bin ${lib.getExe (writeShellScriptBin "spliit2" '' + set -euxo pipefail + + cd @out@/lib/node_modules/spliit2 + + export PATH="$PWD/node_modules/.bin:$PATH" + export NEXT_TELEMETRY_DISABLED=1 + + export PRISMA_SCHEMA_ENGINE_BINARY="${schemaEngine}" + export PRISMA_QUERY_ENGINE_BINARY="${queryEngineBin}" + export PRISMA_QUERY_ENGINE_LIBRARY="${queryEngineLib}" + + prisma migrate deploy + next start + '')} + + substituteInPlace $out/bin/spliit2 \ + --replace @out@ $out + + wrapProgram $out/bin/spliit2 \ + --prefix PATH : ${lib.makeBinPath [pkgs.openssl]} + ''; + + meta = { + description = "Free and Open Source Alternative to Splitwise. Share expenses with your friends and family."; + homepage = "https://spliit.app"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; []; + }; + } diff --git a/templates/system-flake/.gitignore b/trivionomicon/templates/system-flake/.gitignore index 21f979d..21f979d 100644 --- a/templates/system-flake/.gitignore +++ b/trivionomicon/templates/system-flake/.gitignore diff --git a/templates/system-flake/flake.nix b/trivionomicon/templates/system-flake/flake.nix index 6afe06f..6afe06f 100644 --- a/templates/system-flake/flake.nix +++ b/trivionomicon/templates/system-flake/flake.nix diff --git a/templates/system-flake/home/default.nix b/trivionomicon/templates/system-flake/home/default.nix index 49439c7..49439c7 100644 --- a/templates/system-flake/home/default.nix +++ b/trivionomicon/templates/system-flake/home/default.nix diff --git a/templates/system-flake/home/platform/me@foo/default.nix b/trivionomicon/templates/system-flake/home/platform/me@foo/default.nix index 6481e85..6481e85 100644 --- a/templates/system-flake/home/platform/me@foo/default.nix +++ b/trivionomicon/templates/system-flake/home/platform/me@foo/default.nix diff --git a/templates/system-flake/pkgs/config/default.nix b/trivionomicon/templates/system-flake/pkgs/config/default.nix index 47abe76..47abe76 100644 --- a/templates/system-flake/pkgs/config/default.nix +++ b/trivionomicon/templates/system-flake/pkgs/config/default.nix diff --git a/templates/system-flake/pkgs/config/unfree.nix b/trivionomicon/templates/system-flake/pkgs/config/unfree.nix index deda971..deda971 100644 --- a/templates/system-flake/pkgs/config/unfree.nix +++ b/trivionomicon/templates/system-flake/pkgs/config/unfree.nix diff --git a/templates/system-flake/pkgs/default.nix b/trivionomicon/templates/system-flake/pkgs/default.nix index 78a86d4..78a86d4 100644 --- a/templates/system-flake/pkgs/default.nix +++ b/trivionomicon/templates/system-flake/pkgs/default.nix diff --git a/templates/system-flake/pkgs/hello-world/Makefile b/trivionomicon/templates/system-flake/pkgs/hello-world/Makefile index 4eef056..4eef056 100644 --- a/templates/system-flake/pkgs/hello-world/Makefile +++ b/trivionomicon/templates/system-flake/pkgs/hello-world/Makefile diff --git a/templates/system-flake/pkgs/hello-world/default.nix b/trivionomicon/templates/system-flake/pkgs/hello-world/default.nix index 19047a1..19047a1 100644 --- a/templates/system-flake/pkgs/hello-world/default.nix +++ b/trivionomicon/templates/system-flake/pkgs/hello-world/default.nix diff --git a/templates/system-flake/pkgs/hello-world/hello-world.c b/trivionomicon/templates/system-flake/pkgs/hello-world/hello-world.c index d6cfa6b..d6cfa6b 100644 --- a/templates/system-flake/pkgs/hello-world/hello-world.c +++ b/trivionomicon/templates/system-flake/pkgs/hello-world/hello-world.c diff --git a/templates/system-flake/pkgs/lib/default.nix b/trivionomicon/templates/system-flake/pkgs/lib/default.nix index ab54163..ab54163 100644 --- a/templates/system-flake/pkgs/lib/default.nix +++ b/trivionomicon/templates/system-flake/pkgs/lib/default.nix diff --git a/templates/system-flake/pkgs/lib/fibonacci.nix b/trivionomicon/templates/system-flake/pkgs/lib/fibonacci.nix index a12576b..a12576b 100644 --- a/templates/system-flake/pkgs/lib/fibonacci.nix +++ b/trivionomicon/templates/system-flake/pkgs/lib/fibonacci.nix diff --git a/templates/system-flake/sys/default.nix b/trivionomicon/templates/system-flake/sys/default.nix index fa0f994..fa0f994 100644 --- a/templates/system-flake/sys/default.nix +++ b/trivionomicon/templates/system-flake/sys/default.nix diff --git a/templates/system-flake/sys/platform/foo/default.nix b/trivionomicon/templates/system-flake/sys/platform/foo/default.nix index ef84269..ef84269 100644 --- a/templates/system-flake/sys/platform/foo/default.nix +++ b/trivionomicon/templates/system-flake/sys/platform/foo/default.nix |
