diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index e80861b0..8fdf8d1c 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -26,3 +26,4 @@ jobs: - run: nix -Lv flake check - run: nix -Lv build ".#nixosConfigurations.NixOS.config.system.build.toplevel" - run: nix -Lv develop -c echo OK + - run: nix -Lv develop --command bud --help diff --git a/bud/get.bash b/bud/get.bash index 770c002e..b88081b4 100644 --- a/bud/get.bash +++ b/bud/get.bash @@ -1 +1 @@ -nix flake new -t "github:divnix/devos/master" "${2:-devos}" +nix flake new -t "github:divnix/devos/main" "${2:-devos}" diff --git a/doc/CONTRIBUTING.md b/doc/CONTRIBUTING.md index 2b5241a3..86f5dd70 100644 --- a/doc/CONTRIBUTING.md +++ b/doc/CONTRIBUTING.md @@ -1,7 +1,7 @@ # Pull Requests ## TL;DR; -- **Target Branch**: `master` +- **Target Branch**: `main` - **Merge Policy**: [`bors`][bors] is always right (→ `bors try`) - **Docs**: every changeset is expected to contain doc updates - **Commit Msg**: be a poet! Comprehensive and explanatory commit messages diff --git a/doc/concepts/profiles.md b/doc/concepts/profiles.md index 36e423f3..7e592cc1 100644 --- a/doc/concepts/profiles.md +++ b/doc/concepts/profiles.md @@ -63,5 +63,5 @@ specific belongs in your [host](hosts.md) files instead. [definition]: https://nixos.org/manual/nixos/stable/index.html#sec-option-definitions [declaration]: https://nixos.org/manual/nixos/stable/index.html#sec-option-declarations [options]: https://nixos.org/manual/nixos/stable/index.html#sec-writing-modules -[spec]: https://github.com/divnix/devos/tree/master/lib/devos/mkProfileAttrs.nix +[spec]: https://github.com/divnix/devos/tree/main/lib/devos/mkProfileAttrs.nix [config]: https://nixos.wiki/wiki/Module#structure diff --git a/doc/concepts/suites.md b/doc/concepts/suites.md index 42a3db82..e9eef34c 100644 --- a/doc/concepts/suites.md +++ b/doc/concepts/suites.md @@ -1,9 +1,9 @@ # Suites -Suites provide a mechanism for users to easily combine and name collecitons of +Suites provide a mechanism for users to easily combine and name collections of profiles. `suites` are defined in the `importables` argument in either the `home` or `nixos` -namespace. They are a special case of an `importable` which get passed as a special +namespace. They are a special case of an `importable` which is passed as a special argument (one that can be use in an `imports` line) to your hosts. All lists defined in `suites` are flattened and type-checked as paths. diff --git a/doc/concepts/users.md b/doc/concepts/users.md index d18d51d3..3ab7c39c 100644 --- a/doc/concepts/users.md +++ b/doc/concepts/users.md @@ -73,5 +73,5 @@ nix build "github:divnix/devos#homeConfigurations.nixos@NixOS.home.activationPac ``` [home-manager]: https://nix-community.github.io/home-manager -[modules-list]: https://github.com/divnix/devos/tree/master/users/modules/module-list.nix +[modules-list]: https://github.com/divnix/devos/tree/main/users/modules/module-list.nix [portableuser]: https://digga.divnix.com/api-reference-home.html#homeusers diff --git a/doc/integrations/nvfetcher.md b/doc/integrations/nvfetcher.md index 107a1695..c26c5fbe 100644 --- a/doc/integrations/nvfetcher.md +++ b/doc/integrations/nvfetcher.md @@ -40,4 +40,4 @@ fetch.git = "https://github.com/mlvzk/manix.git" # responsible for fetching [nvf]: https://github.com/berberman/nvfetcher [nvf-readme]: https://github.com/berberman/nvfetcher#readme -[sources.toml]: https://github.com/divnix/devos/tree/master/pkgs/sources.toml +[sources.toml]: https://github.com/divnix/devos/tree/main/pkgs/sources.toml diff --git a/doc/start/index.md b/doc/start/index.md index ed1a114a..2cd14d9a 100644 --- a/doc/start/index.md +++ b/doc/start/index.md @@ -6,8 +6,8 @@ Here is a snippet that will get you the template without the git history: ```sh nix-shell -p cachix --run "cachix use nrdxp" -nix-shell https://github.com/divnix/devos/archive/master.tar.gz -A shell \ - --run "bud get master" +nix-shell https://github.com/divnix/devos/archive/main.tar.gz -A shell \ + --run "bud get main" cd devos diff --git a/doc/tests.md b/doc/tests.md index 6a62c726..4844912d 100644 --- a/doc/tests.md +++ b/doc/tests.md @@ -26,7 +26,7 @@ and the examples in [nixpkgs][nixos-tests]. [test-doc]: https://nixos.org/manual/nixos/stable/index.html#sec-nixos-tests [test-blog]: https://www.haskellforall.com/2020/11/how-to-use-nixos-for-lightweight.html -[default]: https://github.com/divnix/devos/tree/master/tests/default.nix +[default]: https://github.com/divnix/devos/tree/main/tests/default.nix [run-test]: https://github.com/NixOS/nixpkgs/blob/6571462647d7316aff8b8597ecdf5922547bf365/lib/debug.nix#L154-L166 [nixos-tests]: https://github.com/NixOS/nixpkgs/tree/master/nixos/tests [testing-python]: https://github.com/NixOS/nixpkgs/tree/master/nixos/lib/testing-python.nix diff --git a/flake.lock b/flake.lock index 169c0844..c9cfb536 100644 --- a/flake.lock +++ b/flake.lock @@ -20,6 +20,29 @@ "type": "github" } }, + "beautysh": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "bud", + "nixpkgs" + ], + "poetry2nix": "poetry2nix" + }, + "locked": { + "lastModified": 1630693543, + "narHash": "sha256-7Sly3ReaJZw60Qo0rpfN4jF6zy94nwQz6ENgUUFzJfg=", + "owner": "lovesegfault", + "repo": "beautysh", + "rev": "5609593961b70428f58d5c1b4b25cdda43b0d0bd", + "type": "github" + }, + "original": { + "owner": "lovesegfault", + "repo": "beautysh", + "type": "github" + } + }, "blank": { "locked": { "lastModified": 1625557891, @@ -37,6 +60,7 @@ }, "bud": { "inputs": { + "beautysh": "beautysh", "devshell": [ "digga", "devshell" @@ -46,11 +70,11 @@ ] }, "locked": { - "lastModified": 1627855680, - "narHash": "sha256-snDOrUp8nth2Vs3GeEXr7Xji+HaHy25htZLNvid/U3I=", + "lastModified": 1633373878, + "narHash": "sha256-9+ziZ8l6rq3yXyY6B0wYXrVdfxr6cdpEbPEGRHywBKc=", "owner": "divnix", "repo": "bud", - "rev": "612228a68d404d559405225427a5d8b3cef9d27c", + "rev": "4e709a2fcf19df500ba87d9c3b1b1481401cd53b", "type": "github" }, "original": { @@ -82,10 +106,9 @@ "deploy": { "inputs": { "flake-compat": "flake-compat", - "naersk": "naersk", "nixpkgs": [ "digga", - "nixpkgs" + "latest" ], "utils": [ "digga", @@ -93,11 +116,11 @@ ] }, "locked": { - "lastModified": 1628068208, - "narHash": "sha256-akJBkj6os4bjO1drhketJvXNC21yPuy4ufL2pyius4M=", + "lastModified": 1632822684, + "narHash": "sha256-lt7eayYmgsD5OQwpb1XYfHpxttn43bWo7G7hIJs+zJw=", "owner": "serokell", "repo": "deploy-rs", - "rev": "d72174307d5b88ec24cc2e69e875228fe3d642ed", + "rev": "9a02de4373e0ec272d08a417b269a28ac8b961b4", "type": "github" }, "original": { @@ -108,11 +131,11 @@ }, "devshell": { "locked": { - "lastModified": 1625086391, - "narHash": "sha256-IpNPv1v8s4L3CoxhwcgZIitGpcrnNgnj09X7TA0QV3k=", + "lastModified": 1632436039, + "narHash": "sha256-OtITeVWcKXn1SpVEnImpTGH91FycCskGBPqmlxiykv4=", "owner": "numtide", "repo": "devshell", - "rev": "4b5ac7cf7d9a1cc60b965bb51b59922f2210cbc7", + "rev": "7a7a7aa0adebe5488e5abaec688fd9ae0f8ea9c6", "type": "github" }, "original": { @@ -126,11 +149,13 @@ "blank": "blank", "deploy": "deploy", "devshell": "devshell", - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "flake-utils-plus": "flake-utils-plus", "home-manager": [ "home" ], + "latest": "latest", + "nix": "nix", "nixlib": [ "nixos" ], @@ -140,11 +165,11 @@ ] }, "locked": { - "lastModified": 1628211944, - "narHash": "sha256-2q1dNUzitVd0JNRHYTubbyb8ks3fL9hPJOvQgofxELE=", + "lastModified": 1632959483, + "narHash": "sha256-jXogai6e+QRtiZFBOrMmYdeLXejzVT91kuDKu2RuJ10=", "owner": "divnix", "repo": "digga", - "rev": "760bb9c29063258ba547145de0ab96acd7eba4c0", + "rev": "6549cf4c87d1a77138cbecbc6bb9483c20572cd7", "type": "github" }, "original": { @@ -156,11 +181,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1606424373, - "narHash": "sha256-oq8d4//CJOrVj+EcOaSXvMebvuTkmBJuT5tzlfewUnQ=", + "lastModified": 1627913399, + "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", "owner": "edolstra", "repo": "flake-compat", - "rev": "99f1c2157fba4bfe6211a321fd0ee43199025dbf", + "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", "type": "github" }, "original": { @@ -192,16 +217,15 @@ ] }, "locked": { - "lastModified": 1627071952, - "narHash": "sha256-FhE0KOuI9Kl4eyGJXu4bh9fBP2hbxjnD1DlKHljCcYs=", - "owner": "gytis-ivaskevicius", + "lastModified": 1630859749, + "narHash": "sha256-qkoU2rIbbP2+T0dfcqXW35GCWNsi0Y1IgN9BELmt4Zo=", + "owner": "divnix", "repo": "flake-utils-plus", - "rev": "51a82925db31073bc4822c9b538a0a3ebf1134b2", + "rev": "a4e267e3fc87e60c5029c6c3855935ff1ff3018e", "type": "github" }, "original": { - "owner": "gytis-ivaskevicius", - "ref": "staging", + "owner": "divnix", "repo": "flake-utils-plus", "type": "github" } @@ -243,6 +267,22 @@ } }, "latest": { + "locked": { + "lastModified": 1632660378, + "narHash": "sha256-sjA8eQlnyDjDLyAyq3XlJmN0nqW0ftl/pb7VnMg86L0=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "31ffc50c571e6683e9ecc9dbcbd4a8e9914b4497", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "latest_2": { "locked": { "lastModified": 1627942574, "narHash": "sha256-guUcGRWvY2mfiVSet2x/zeHIyflm2wgglj0ldg0mMio=", @@ -258,28 +298,24 @@ "type": "github" } }, - "naersk": { - "inputs": { - "nixpkgs": [ - "latest" - ] - }, + "lowdown-src": { + "flake": false, "locked": { - "lastModified": 1622810282, - "narHash": "sha256-4wmvM3/xfD0hCdNDIXVzRMfL4yB1J+DjH6Zte2xbAxk=", - "owner": "nmattia", - "repo": "naersk", - "rev": "e8061169e1495871b56be97c5c51d310fae01374", + "lastModified": 1617481909, + "narHash": "sha256-SqnfOFuLuVRRNeVJr1yeEPJue/qWoCp5N6o5Kr///p4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "148f9b2f586c41b7e36e73009db43ea68c7a1a4d", "type": "github" }, "original": { - "owner": "nmattia", - "ref": "master", - "repo": "naersk", + "owner": "kristapsdz", + "ref": "VERSION_0_8_4", + "repo": "lowdown", "type": "github" } }, - "naersk_2": { + "naersk": { "inputs": { "nixpkgs": [ "latest" @@ -299,6 +335,28 @@ "type": "github" } }, + "nix": { + "inputs": { + "lowdown-src": "lowdown-src", + "nixpkgs": [ + "digga", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1630335771, + "narHash": "sha256-eljjEPJdLK3aDskF7qX4YM/6KCq+w9nr+IKhrKW/AIQ=", + "owner": "nixos", + "repo": "nix", + "rev": "50a35860ee9237d341948437c5f70a7f0987d393", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nix", + "type": "github" + } + }, "nix-dram": { "inputs": { "flake-utils": "flake-utils_2", @@ -421,11 +479,11 @@ ] }, "locked": { - "lastModified": 1627523399, - "narHash": "sha256-j9CgnUQpWcb8OB4LRzPW8BdxvmoROJptgptDlPA8Heo=", + "lastModified": 1632700276, + "narHash": "sha256-XABvQUq2qv+YcQxW93DnU8mgtVsGJWyhcznny/Lbp0Q=", "owner": "berberman", "repo": "nvfetcher", - "rev": "fb8f2cc770ad3dd3e29d7ba3004692d4d53fba9b", + "rev": "248fe98ed1bc352ce164d08a9e76fdc5f301ba2d", "type": "github" }, "original": { @@ -434,6 +492,33 @@ "type": "github" } }, + "poetry2nix": { + "inputs": { + "flake-utils": [ + "bud", + "beautysh", + "flake-utils" + ], + "nixpkgs": [ + "bud", + "beautysh", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1625240517, + "narHash": "sha256-2E1gaOP+bCplhf3kliVQWK5N1NV2h06mkJk2KTiRTJQ=", + "owner": "nix-community", + "repo": "poetry2nix", + "rev": "e40e8ed0e8c11e709e4c8c7c20174facd265a021", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "poetry2nix", + "type": "github" + } + }, "root": { "inputs": { "agenix": "agenix", @@ -457,8 +542,8 @@ "flake-utils-plus" ], "home": "home", - "latest": "latest", - "naersk": "naersk_2", + "latest": "latest_2", + "naersk": "naersk", "nix-dram": "nix-dram", "nixlib": [ "digga", diff --git a/flake.nix b/flake.nix index 4684fc56..030ff244 100644 --- a/flake.nix +++ b/flake.nix @@ -81,12 +81,15 @@ nur.overlay agenix.overlay nvfetcher.overlay - deploy.overlay nix-dram.overlay ./pkgs/default.nix ]; }; - latest = { }; + latest = { + overlays = [ + deploy.overlay + ]; + }; }; lib = import ./lib { lib = digga.lib // nixos.lib; }; @@ -104,8 +107,8 @@ hostDefaults = { system = "x86_64-linux"; channelName = "nixos"; - imports = [ (digga.lib.importModules ./modules) ]; - externalModules = [ + imports = [ (digga.lib.importExportableModules ./modules) ]; + modules = [ { lib.our = self.lib; } digga.nixosModules.bootstrapIso digga.nixosModules.nixConfig @@ -133,8 +136,8 @@ }; home = { - imports = [ (digga.lib.importModules ./users/modules) ]; - externalModules = [ ]; + imports = [ (digga.lib.importExportableModules ./users/modules) ]; + modules = [ ]; importables = rec { profiles = digga.lib.rakeLeaves ./users/profiles; suites = with profiles; rec { diff --git a/overlays/overrides.nix b/overlays/overrides.nix index 74188089..1c5070db 100644 --- a/overlays/overrides.nix +++ b/overlays/overrides.nix @@ -12,7 +12,9 @@ channels: final: prev: { nixpkgs-fmt qutebrowser signal-desktop - starship; + starship + deploy-rs + ; haskellPackages = prev.haskellPackages.override diff --git a/shell/default.nix b/shell/default.nix index aef90a55..d22b3af4 100644 --- a/shell/default.nix +++ b/shell/default.nix @@ -1,9 +1,9 @@ { self, inputs, ... }: { - externalModules = with inputs; [ + modules = with inputs; [ bud.devshellModules.bud ]; - modules = [ + exportedModules = [ ./devos.nix ]; } diff --git a/shell/devos.nix b/shell/devos.nix index 128b45c3..90901435 100644 --- a/shell/devos.nix +++ b/shell/devos.nix @@ -41,7 +41,7 @@ in category = "devos"; name = pkgs.nvfetcher-bin.pname; help = pkgs.nvfetcher-bin.meta.description; - command = "cd $DEVSHELL_ROOT/pkgs; ${pkgs.nvfetcher-bin}/bin/nvfetcher -c ./sources.toml --no-output $@"; + command = "cd $PRJ_ROOT/pkgs; ${pkgs.nvfetcher-bin}/bin/nvfetcher -c ./sources.toml $@"; } (linter nixpkgs-fmt) (linter editorconfig-checker)