refactor(flake): split root output wiring #77
@@ -76,10 +76,10 @@
|
|||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
{ self, nixpkgs, ... }@inputs:
|
{ self, nixpkgs, ... }@inputs:
|
||||||
import ./src/dotfiles {
|
import ./src/flake {
|
||||||
inherit inputs self;
|
inherit inputs self;
|
||||||
inherit (nixpkgs) lib;
|
inherit (nixpkgs) lib;
|
||||||
root = ./configs/nixos;
|
root = ./.;
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
lib,
|
|
||||||
formatter,
|
|
||||||
system,
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
fix = {
|
|
||||||
type = "app";
|
|
||||||
program = lib.getExe (
|
|
||||||
pkgs.writeShellApplication {
|
|
||||||
name = "fix";
|
|
||||||
runtimeInputs = [
|
|
||||||
formatter
|
|
||||||
pkgs.statix
|
|
||||||
pkgs.deadnix
|
|
||||||
];
|
|
||||||
text = ''
|
|
||||||
treefmt
|
|
||||||
statix fix .
|
|
||||||
deadnix --edit --exclude configs/nixos/hosts/*/hardware-configuration.nix -- .
|
|
||||||
treefmt
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
inputs,
|
inputs,
|
||||||
self,
|
self,
|
||||||
root,
|
root,
|
||||||
system,
|
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
util = import ./util.nix { inherit lib; };
|
util = import ./util.nix { inherit lib; };
|
||||||
@@ -41,20 +40,6 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
formatter.${system} =
|
|
||||||
(import ./formatter.nix {
|
|
||||||
inherit inputs system;
|
|
||||||
}).config.build.wrapper;
|
|
||||||
|
|
||||||
apps.${system} = import ./apps.nix {
|
|
||||||
inherit
|
|
||||||
inputs
|
|
||||||
lib
|
|
||||||
system
|
|
||||||
;
|
|
||||||
formatter = self.formatter.${system};
|
|
||||||
};
|
|
||||||
|
|
||||||
nixosConfigurations = import ./hosts.nix {
|
nixosConfigurations = import ./hosts.nix {
|
||||||
inherit
|
inherit
|
||||||
inputs
|
inputs
|
||||||
|
|||||||
41
src/flake/apps.nix
Normal file
41
src/flake/apps.nix
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
formatter,
|
||||||
|
system,
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
fix = {
|
||||||
|
type = "app";
|
||||||
|
program = lib.getExe (
|
||||||
|
pkgs.writeShellApplication {
|
||||||
|
name = "fix";
|
||||||
|
runtimeInputs = [
|
||||||
|
formatter
|
||||||
|
pkgs.statix
|
||||||
|
pkgs.deadnix
|
||||||
|
];
|
||||||
|
text = ''
|
||||||
|
treefmt
|
||||||
|
statix fix \
|
||||||
|
--ignore 'configs/nixos/hosts/*/hardware-configuration.nix' \
|
||||||
|
--ignore 'src/xatu/testdata/**' \
|
||||||
|
--ignore third_party \
|
||||||
|
.
|
||||||
|
deadnix --edit \
|
||||||
|
--exclude \
|
||||||
|
configs/nixos/hosts/neogaia/hardware-configuration.nix \
|
||||||
|
configs/nixos/hosts/pikachu/hardware-configuration.nix \
|
||||||
|
configs/nixos/hosts/zeus/hardware-configuration.nix \
|
||||||
|
src/xatu/testdata \
|
||||||
|
third_party \
|
||||||
|
-- .
|
||||||
|
treefmt
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}
|
||||||
34
src/flake/default.nix
Normal file
34
src/flake/default.nix
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
self,
|
||||||
|
root,
|
||||||
|
system,
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
dotfiles = import ../dotfiles {
|
||||||
|
inherit
|
||||||
|
inputs
|
||||||
|
lib
|
||||||
|
self
|
||||||
|
;
|
||||||
|
root = root + "/configs/nixos";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
formatter.${system} =
|
||||||
|
(import ./formatter.nix {
|
||||||
|
inherit inputs system;
|
||||||
|
}).config.build.wrapper;
|
||||||
|
|
||||||
|
apps.${system} = import ./apps.nix {
|
||||||
|
inherit
|
||||||
|
inputs
|
||||||
|
lib
|
||||||
|
system
|
||||||
|
;
|
||||||
|
formatter = self.formatter.${system};
|
||||||
|
};
|
||||||
|
|
||||||
|
inherit (dotfiles) nixosConfigurations;
|
||||||
|
}
|
||||||
@@ -6,5 +6,7 @@ inputs.treefmt-nix.lib.evalModule inputs.nixpkgs.legacyPackages.${system} {
|
|||||||
|
|
||||||
settings.formatter.nixfmt.excludes = [
|
settings.formatter.nixfmt.excludes = [
|
||||||
"configs/nixos/hosts/*/hardware-configuration.nix"
|
"configs/nixos/hosts/*/hardware-configuration.nix"
|
||||||
|
"src/xatu/testdata/*.nix"
|
||||||
|
"third_party/**"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
### Rule
|
### Rule
|
||||||
|
|
||||||
Add flake inputs in `flake.nix`.
|
Add flake inputs in `flake.nix`.
|
||||||
Put new flake output implementation in `src/dotfiles/default.nix`.
|
Put new flake output implementation in `src/flake/default.nix`.
|
||||||
Use `flake.nix` to pass inputs into that implementation.
|
Use `flake.nix` to pass inputs into that implementation.
|
||||||
|
|
||||||
### Rationale
|
### Rationale
|
||||||
|
|||||||
Reference in New Issue
Block a user