diff --git a/.gitea/workflows/nix.yml b/.gitea/workflows/nix.yml new file mode 100644 index 0000000..ede6a93 --- /dev/null +++ b/.gitea/workflows/nix.yml @@ -0,0 +1,38 @@ +name: "Test, build and push caches" + +on: + push: + branches: + - master + +jobs: + test: + runs-on: debian-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: "0" + - uses: cachix/install-nix-action@v26 + with: + nix_path: nixpkgs=channel:nixos-unstable + extra_nix_config: | + experimental-features = nix-command flakes + - run: nix flake check + + build: + runs-on: debian-latest + needs: test + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: "0" + - uses: cachix/install-nix-action@v26 + with: + nix_path: nixpkgs=channel:nixos-unstable + extra_nix_config: | + experimental-features = nix-command flakes + - uses: cachix/cachix-action@v14 + with: + name: bonfire + authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" + - run: nix build -L diff --git a/flake.lock b/flake.lock index 0911694..88a0e1a 100644 --- a/flake.lock +++ b/flake.lock @@ -16,15 +16,56 @@ "type": "gitlab" } }, + "blobs_2": { + "flake": false, + "locked": { + "lastModified": 1604995301, + "narHash": "sha256-wcLzgLec6SGJA8fx1OEN1yV/Py5b+U5iyYpksUY/yLw=", + "owner": "simple-nixos-mailserver", + "repo": "blobs", + "rev": "2cccdf1ca48316f2cfd1c9a0017e8de5a7156265", + "type": "gitlab" + }, + "original": { + "owner": "simple-nixos-mailserver", + "repo": "blobs", + "type": "gitlab" + } + }, "bonfire": { "inputs": { "crane": "crane", - "devenv": "devenv", "fenix": "fenix", "home-manager": "home-manager", "nixgl": "nixgl", "nixos-mailserver": "nixos-mailserver", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", + "oscuro": "oscuro", + "sops-nix": "sops-nix_2" + }, + "locked": { + "lastModified": 1714133223, + "narHash": "sha256-mappc4Lj+nVE3Xc7aw5+kqDSJdXs4ALYlRpegWtNoyY=", + "owner": "L-Nafaryus", + "repo": "bonfire", + "rev": "a2f306e7fc5abcf1c05e4cbe72c23d9e53588932", + "type": "github" + }, + "original": { + "owner": "L-Nafaryus", + "repo": "bonfire", + "type": "github" + } + }, + "bonfire_2": { + "inputs": { + "crane": "crane_2", + "devenv": "devenv", + "fenix": "fenix_2", + "home-manager": "home-manager_2", + "nixgl": "nixgl_2", + "nixos-mailserver": "nixos-mailserver_2", + "nixpkgs": "nixpkgs_3", "sops-nix": "sops-nix" }, "locked": { @@ -45,16 +86,22 @@ "inputs": { "devenv": "devenv_2", "flake-compat": [ + "bonfire", + "oscuro", "bonfire", "devenv", "flake-compat" ], "nixpkgs": [ + "bonfire", + "oscuro", "bonfire", "devenv", "nixpkgs" ], "pre-commit-hooks": [ + "bonfire", + "oscuro", "bonfire", "devenv", "pre-commit-hooks" @@ -95,12 +142,37 @@ "type": "github" } }, + "crane_2": { + "inputs": { + "nixpkgs": [ + "bonfire", + "oscuro", + "bonfire", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713738183, + "narHash": "sha256-qd/MuLm7OfKQKyd4FAMqV4H6zYyOfef5lLzRrmXwKJM=", + "owner": "ipetkov", + "repo": "crane", + "rev": "f6c6a2fb1b8bd9b65d65ca9342dd0eb180a63f11", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, "devenv": { "inputs": { "cachix": "cachix", - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "nix": "nix_2", "nixpkgs": [ + "bonfire", + "oscuro", "bonfire", "nixpkgs" ], @@ -123,15 +195,19 @@ "devenv_2": { "inputs": { "flake-compat": [ + "bonfire", + "oscuro", "bonfire", "devenv", "cachix", "flake-compat" ], "nix": "nix", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "poetry2nix": "poetry2nix", "pre-commit-hooks": [ + "bonfire", + "oscuro", "bonfire", "devenv", "cachix", @@ -177,14 +253,42 @@ "type": "github" } }, + "fenix_2": { + "inputs": { + "nixpkgs": [ + "bonfire", + "oscuro", + "bonfire", + "nixpkgs" + ], + "rust-analyzer-src": [ + "bonfire", + "oscuro", + "bonfire" + ] + }, + "locked": { + "lastModified": 1713853552, + "narHash": "sha256-OOXi+9cSbst7Crah6UVxHe33O6HK91WgD2yU/p5/dqs=", + "owner": "nix-community", + "repo": "fenix", + "rev": "d596927635ddd8db224bbff6e4ccb08e42649eb5", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -196,11 +300,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "type": "github" }, "original": { @@ -225,9 +329,40 @@ "type": "github" } }, + "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-utils": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { "inputs": { - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1689068808, @@ -243,9 +378,9 @@ "type": "github" } }, - "flake-utils_2": { + "flake-utils_3": { "inputs": { - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1710146030, @@ -261,7 +396,7 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_4": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -279,6 +414,8 @@ "gitignore": { "inputs": { "nixpkgs": [ + "bonfire", + "oscuro", "bonfire", "devenv", "pre-commit-hooks", @@ -320,10 +457,35 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "bonfire", + "oscuro", + "bonfire", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713818326, + "narHash": "sha256-aw3xbVPJauLk/bbrlakIYxKpeuMWzA2feGrkIpIuXd8=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "67de98ae6eed5ad6f91b1142356d71a87ba97f21", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "nix": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "nixpkgs": [ + "bonfire", + "oscuro", "bonfire", "devenv", "cachix", @@ -350,6 +512,8 @@ "nix-github-actions": { "inputs": { "nixpkgs": [ + "bonfire", + "oscuro", "bonfire", "devenv", "cachix", @@ -375,11 +539,15 @@ "nix_2": { "inputs": { "flake-compat": [ + "bonfire", + "oscuro", "bonfire", "devenv", "flake-compat" ], "nixpkgs": [ + "bonfire", + "oscuro", "bonfire", "devenv", "nixpkgs" @@ -403,7 +571,7 @@ }, "nixgl": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils", "nixpkgs": [ "bonfire", "nixpkgs" @@ -423,10 +591,34 @@ "type": "github" } }, + "nixgl_2": { + "inputs": { + "flake-utils": "flake-utils_4", + "nixpkgs": [ + "bonfire", + "oscuro", + "bonfire", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713543440, + "narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=", + "owner": "guibou", + "repo": "nixGL", + "rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a", + "type": "github" + }, + "original": { + "owner": "guibou", + "repo": "nixGL", + "type": "github" + } + }, "nixos-mailserver": { "inputs": { "blobs": "blobs", - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat", "nixpkgs": [ "bonfire", "nixpkgs" @@ -447,18 +639,44 @@ "type": "gitlab" } }, + "nixos-mailserver_2": { + "inputs": { + "blobs": "blobs_2", + "flake-compat": "flake-compat_4", + "nixpkgs": [ + "bonfire", + "oscuro", + "bonfire", + "nixpkgs" + ], + "utils": "utils_2" + }, + "locked": { + "lastModified": 1713012165, + "narHash": "sha256-z/soXKDnz+w4Nw0LkRaM73YqolhSmIYy6cpg1F2ps8I=", + "owner": "simple-nixos-mailserver", + "repo": "nixos-mailserver", + "rev": "9f6635a0351c190179dc6904545f950108a23dd8", + "type": "gitlab" + }, + "original": { + "owner": "simple-nixos-mailserver", + "repo": "nixos-mailserver", + "type": "gitlab" + } + }, "nixpkgs": { "locked": { - "lastModified": 1692808169, - "narHash": "sha256-x9Opq06rIiwdwGeK2Ykj69dNc2IvUH1fY55Wm7atwrE=", - "owner": "NixOS", + "lastModified": 1713714899, + "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "9201b5ff357e781bf014d0330d18555695df7ba8", + "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", + "owner": "nixos", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -527,7 +745,39 @@ "type": "github" } }, + "nixpkgs-stable_3": { + "locked": { + "lastModified": 1713638189, + "narHash": "sha256-q7APLfB6FmmSMI1Su5ihW9IwntBsk2hWNXh8XtSdSIk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "74574c38577914733b4f7a775dd77d24245081dd", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { + "locked": { + "lastModified": 1692808169, + "narHash": "sha256-x9Opq06rIiwdwGeK2Ykj69dNc2IvUH1fY55Wm7atwrE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9201b5ff357e781bf014d0330d18555695df7ba8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1713714899, "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", @@ -543,11 +793,31 @@ "type": "github" } }, + "oscuro": { + "inputs": { + "bonfire": "bonfire_2" + }, + "locked": { + "lastModified": 1714131862, + "narHash": "sha256-t936zWQu+wHz4i1SPveDrCIpzvtjzhqlbCh7quzZldU=", + "owner": "L-Nafaryus", + "repo": "oscuro", + "rev": "d3944c0a08747f11aa4b9227dcb256c103a5a559", + "type": "github" + }, + "original": { + "owner": "L-Nafaryus", + "repo": "oscuro", + "type": "github" + } + }, "poetry2nix": { "inputs": { - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "nix-github-actions": "nix-github-actions", "nixpkgs": [ + "bonfire", + "oscuro", "bonfire", "devenv", "cachix", @@ -572,13 +842,17 @@ "pre-commit-hooks": { "inputs": { "flake-compat": [ + "bonfire", + "oscuro", "bonfire", "devenv", "flake-compat" ], - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "gitignore": "gitignore", "nixpkgs": [ + "bonfire", + "oscuro", "bonfire", "devenv", "nixpkgs" @@ -601,12 +875,18 @@ }, "root": { "inputs": { - "bonfire": "bonfire" + "bonfire": "bonfire", + "nixpkgs": [ + "bonfire", + "nixpkgs" + ] } }, "sops-nix": { "inputs": { "nixpkgs": [ + "bonfire", + "oscuro", "bonfire", "nixpkgs" ], @@ -626,6 +906,28 @@ "type": "github" } }, + "sops-nix_2": { + "inputs": { + "nixpkgs": [ + "bonfire", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable_3" + }, + "locked": { + "lastModified": 1713775152, + "narHash": "sha256-xyP8h9jLQ0AmyPy40sIwL7/D03oVpXG9YHoYJ4ecYWA=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "4371a1301c4d36cc791069d90ae522613a3a335e", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -671,9 +973,42 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "utils": { "inputs": { - "systems": "systems_3" + "systems": "systems" + }, + "locked": { + "lastModified": 1709126324, + "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "d465f4819400de7c8d874d50b982301f28a84605", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_2": { + "inputs": { + "systems": "systems_4" }, "locked": { "lastModified": 1709126324, diff --git a/flake.nix b/flake.nix index 6bee8e5..792f952 100644 --- a/flake.nix +++ b/flake.nix @@ -10,11 +10,11 @@ bonfire = { url = "github:L-Nafaryus/bonfire"; }; + nixpkgs.follows = "bonfire/nixpkgs"; }; - outputs = { self, bonfire, ... }: + outputs = { self, nixpkgs, bonfire, ... }: let - nixpkgs = bonfire.inputs.nixpkgs; forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" ]; nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); in @@ -48,7 +48,6 @@ pkgs = nixpkgsFor.${system}; bonfire-pkgs = bonfire.packages.${system}; fenix-pkgs = bonfire.inputs.fenix.packages.${system}; - crane-lib = bonfire.inputs.crane.lib.${system}; in { default = pkgs.mkShell { buildInputs = [ @@ -146,7 +145,6 @@ }; nixosConfigurations.oscuro = nixpkgs.lib.nixosSystem { - description = "Oscuro"; system = "x86_64-linux"; modules = [ self.nixosModules.oscuro @@ -158,7 +156,7 @@ services.oscuro = { enable = true; - discordToken = null; + discordToken = ""; # insert token }; system.stateVersion = "24.05";