diff --git a/README.md b/README.md index 3158d6f..6d190a7 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,33 @@ > it's a more than just a dotfiles in cause of packages, modules, templates and > etc. Discover the current repository on your own risk. +# Hints + +* Update and push inputs: +```sh +nix flake update +nix flake archive --json \ + | jq -r '.path,(.inputs|to_entries[].value.path)' \ + | cachix push bonfire +``` + +* Build and push package: +```sh +nix build --json .#package \ + | jq -r '.[].outputs | to_entries[].value' \ + | cachix push bonfire +``` + +* Rebuild system with git submodules: +```sh +nixos-rebuild switch --flake ".?submodules=1#astora" +``` + +* Rebuild remote system from local system with git submodules: +```sh +nixos-rebuild switch --flake ".?submodules=1#catarina" --build-host l-nafaryus@astora --target-host l.nafaryus@catarina --use-remote-sudo +``` + # License diff --git a/devShells/bonfire.nix b/devShells/bonfire.nix index cba3b1b..9f43d36 100644 --- a/devShells/bonfire.nix +++ b/devShells/bonfire.nix @@ -1,6 +1,8 @@ { crane-lib, pkgs, ... }: crane-lib.devShell { packages = with pkgs; [ + sops + mkpasswd nil jq cachix diff --git a/flake.lock b/flake.lock index 2e0b60e..77a3df2 100644 --- a/flake.lock +++ b/flake.lock @@ -16,18 +16,65 @@ "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_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": { + "lastModified": 1713950784, + "narHash": "sha256-E8KH9rUYRNEajvuUhQxaqVZEj4INxgux/HbQ7NzZZ68=", + "owner": "L-Nafaryus", + "repo": "bonfire", + "rev": "5217f6d2229e246f0df4d47c1b4046559160c14f", + "type": "github" + }, + "original": { + "owner": "L-Nafaryus", + "repo": "bonfire", + "type": "github" + } + }, "cachix": { "inputs": { "devenv": "devenv_2", "flake-compat": [ + "oscuro", + "bonfire", "devenv", "flake-compat" ], "nixpkgs": [ + "oscuro", + "bonfire", "devenv", "nixpkgs" ], "pre-commit-hooks": [ + "oscuro", + "bonfire", "devenv", "pre-commit-hooks" ] @@ -66,12 +113,36 @@ "type": "github" } }, + "crane_2": { + "inputs": { + "nixpkgs": [ + "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": [ + "oscuro", + "bonfire", "nixpkgs" ], "pre-commit-hooks": "pre-commit-hooks" @@ -93,14 +164,18 @@ "devenv_2": { "inputs": { "flake-compat": [ + "oscuro", + "bonfire", "devenv", "cachix", "flake-compat" ], "nix": "nix", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "poetry2nix": "poetry2nix", "pre-commit-hooks": [ + "oscuro", + "bonfire", "devenv", "cachix", "pre-commit-hooks" @@ -142,14 +217,40 @@ "type": "github" } }, + "fenix_2": { + "inputs": { + "nixpkgs": [ + "oscuro", + "bonfire", + "nixpkgs" + ], + "rust-analyzer-src": [ + "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": { @@ -161,11 +262,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": { @@ -190,9 +291,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, @@ -208,9 +340,9 @@ "type": "github" } }, - "flake-utils_2": { + "flake-utils_3": { "inputs": { - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1710146030, @@ -226,7 +358,7 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_4": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -244,6 +376,8 @@ "gitignore": { "inputs": { "nixpkgs": [ + "oscuro", + "bonfire", "devenv", "pre-commit-hooks", "nixpkgs" @@ -283,10 +417,34 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "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": [ + "oscuro", + "bonfire", "devenv", "cachix", "devenv", @@ -312,6 +470,8 @@ "nix-github-actions": { "inputs": { "nixpkgs": [ + "oscuro", + "bonfire", "devenv", "cachix", "devenv", @@ -336,10 +496,14 @@ "nix_2": { "inputs": { "flake-compat": [ + "oscuro", + "bonfire", "devenv", "flake-compat" ], "nixpkgs": [ + "oscuro", + "bonfire", "devenv", "nixpkgs" ], @@ -362,7 +526,7 @@ }, "nixgl": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" ] @@ -381,10 +545,33 @@ "type": "github" } }, + "nixgl_2": { + "inputs": { + "flake-utils": "flake-utils_4", + "nixpkgs": [ + "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": [ "nixpkgs" ], @@ -404,18 +591,43 @@ "type": "gitlab" } }, + "nixos-mailserver_2": { + "inputs": { + "blobs": "blobs_2", + "flake-compat": "flake-compat_4", + "nixpkgs": [ + "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" } @@ -484,7 +696,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=", @@ -500,11 +744,31 @@ "type": "github" } }, + "oscuro": { + "inputs": { + "bonfire": "bonfire" + }, + "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": [ + "oscuro", + "bonfire", "devenv", "cachix", "devenv", @@ -528,12 +792,16 @@ "pre-commit-hooks": { "inputs": { "flake-compat": [ + "oscuro", + "bonfire", "devenv", "flake-compat" ], - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "gitignore": "gitignore", "nixpkgs": [ + "oscuro", + "bonfire", "devenv", "nixpkgs" ], @@ -556,18 +824,20 @@ "root": { "inputs": { "crane": "crane", - "devenv": "devenv", "fenix": "fenix", "home-manager": "home-manager", "nixgl": "nixgl", "nixos-mailserver": "nixos-mailserver", - "nixpkgs": "nixpkgs_2", - "sops-nix": "sops-nix" + "nixpkgs": "nixpkgs", + "oscuro": "oscuro", + "sops-nix": "sops-nix_2" } }, "sops-nix": { "inputs": { "nixpkgs": [ + "oscuro", + "bonfire", "nixpkgs" ], "nixpkgs-stable": "nixpkgs-stable_2" @@ -586,6 +856,27 @@ "type": "github" } }, + "sops-nix_2": { + "inputs": { + "nixpkgs": [ + "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, @@ -631,9 +922,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 d6e4fc0..e28d2ec 100644 --- a/flake.nix +++ b/flake.nix @@ -2,8 +2,8 @@ description = "Derivation lit"; nixConfig = { - extra-substituters = ["https://bonfire.cachix.org"]; - extra-trusted-public-keys = ["bonfire.cachix.org-1:mzAGBy/Crdf8NhKail5ciK7ZrGRbPJJobW6TwFb7WYM="]; + extra-substituters = [ "https://bonfire.cachix.org" ]; + extra-trusted-public-keys = [ "bonfire.cachix.org-1:mzAGBy/Crdf8NhKail5ciK7ZrGRbPJJobW6TwFb7WYM=" ]; }; inputs = { @@ -12,10 +12,6 @@ url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; - devenv = { - url = "github:cachix/devenv"; - inputs.nixpkgs.follows = "nixpkgs"; - }; nixgl = { url = "github:guibou/nixGL"; inputs.nixpkgs.follows = "nixpkgs"; @@ -37,9 +33,13 @@ inputs.nixpkgs.follows = "nixpkgs"; inputs.rust-analyzer-src.follows = ""; }; + oscuro = { + url = "github:L-Nafaryus/oscuro"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = inputs @ { self, nixpkgs, home-manager, devenv, nixgl, nixos-mailserver, sops-nix, crane, fenix, ... }: { + outputs = inputs @ { self, nixpkgs, home-manager, nixgl, nixos-mailserver, sops-nix, crane, fenix, oscuro, ... }: { lib = import ./lib {}; @@ -60,6 +60,7 @@ modules = [ nixos-mailserver.nixosModules.mailserver sops-nix.nixosModules.sops + oscuro.nixosModules.oscuro ./nixosConfigurations/catarina ./nixosModules/bonfire.nix self.nixosModules.spoofdpi