summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
l---------.pre-commit-config.yaml2
-rw-r--r--flake.lock36
-rw-r--r--flake.nix21
-rw-r--r--lib/default.nix16
-rw-r--r--lib/mkDevenv.nix14
-rw-r--r--modules/flake-parts/devenv.nix23
-rw-r--r--modules/flake-parts/personal.nix3
-rw-r--r--templates/devenv/flake-parts/flake.nix8
8 files changed, 70 insertions, 53 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 1421db4..94baf07 120000
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1 +1 @@
-/nix/store/d0as9x7kqxfc78y4m6yq9ac2ynwxyx7a-pre-commit-config.json \ No newline at end of file
+/nix/store/6a38q8v1crycvhr612l219p8mpiki74v-pre-commit-config.json \ No newline at end of file
diff --git a/flake.lock b/flake.lock
index 6b3fd41..c9f918e 100644
--- a/flake.lock
+++ b/flake.lock
@@ -8,11 +8,11 @@
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": {
- "lastModified": 1693552385,
- "narHash": "sha256-bh25FKSx1QYBUSOeddveKABbHQstopc2NrihSRXFq9g=",
+ "lastModified": 1694422554,
+ "narHash": "sha256-s5NTPzT66yIMmau+ZGP7q9z4NjgceDETL4xZ6HJ/TBg=",
"owner": "cachix",
"repo": "devenv",
- "rev": "918b068ce5a7a6352328c11a49b3845b9828aa72",
+ "rev": "63d20fe09aa09060ea9ec9bb6d582c025402ba15",
"type": "github"
},
"original": {
@@ -42,11 +42,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
- "lastModified": 1690933134,
- "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=",
+ "lastModified": 1693611461,
+ "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb",
+ "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
"type": "github"
},
"original": {
@@ -136,11 +136,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1693355128,
- "narHash": "sha256-+ZoAny3ZxLcfMaUoLVgL9Ywb/57wP+EtsdNGuXUJrwg=",
+ "lastModified": 1694760568,
+ "narHash": "sha256-3G07BiXrp2YQKxdcdms22MUx6spc6A++MSePtatCYuI=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "a63a64b593dcf2fe05f7c5d666eb395950f36bc9",
+ "rev": "46688f8eb5cd6f1298d873d4d2b9cf245e09e88e",
"type": "github"
},
"original": {
@@ -153,11 +153,11 @@
"nixpkgs-lib": {
"locked": {
"dir": "lib",
- "lastModified": 1690881714,
- "narHash": "sha256-h/nXluEqdiQHs1oSgkOOWF+j8gcJMWhwnZ9PFabN6q0=",
+ "lastModified": 1693471703,
+ "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "9e1960bc196baf6881340d53dccb203a951745a2",
+ "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
"type": "github"
},
"original": {
@@ -202,11 +202,11 @@
},
"nixpkgs_2": {
"locked": {
- "lastModified": 1693355128,
- "narHash": "sha256-+ZoAny3ZxLcfMaUoLVgL9Ywb/57wP+EtsdNGuXUJrwg=",
+ "lastModified": 1694760568,
+ "narHash": "sha256-3G07BiXrp2YQKxdcdms22MUx6spc6A++MSePtatCYuI=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "a63a64b593dcf2fe05f7c5d666eb395950f36bc9",
+ "rev": "46688f8eb5cd6f1298d873d4d2b9cf245e09e88e",
"type": "github"
},
"original": {
@@ -216,11 +216,11 @@
},
"nur": {
"locked": {
- "lastModified": 1693555295,
- "narHash": "sha256-wmMYa7Wki1V53nkH50bUD9mmg5OMjgXG18BVadS1sgQ=",
+ "lastModified": 1694866994,
+ "narHash": "sha256-uo50mKCooOkNvJRBl/O4AOKa2QztMvda0aFppp2QrBE=",
"owner": "nix-community",
"repo": "NUR",
- "rev": "92cc0ab078f0d82002caefbb9a8f38d198d03763",
+ "rev": "5f8282ce5ce11225ae6cd5fff355685fef0c132e",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
index 9143de7..8bb0d4d 100644
--- a/flake.nix
+++ b/flake.nix
@@ -16,19 +16,17 @@
flake-parts,
devenv,
...
- } @ inputs:
+ } @ inputs: let
+ devenvModules.personal = import ./modules/devenv;
+ flakeModules = {
+ personal = import ./modules/flake-parts/personal.nix;
+ devenv = import ./modules/flake-parts/devenv.nix devenvModules;
+ };
+ in
flake-parts.lib.mkFlake {inherit inputs;} {
- imports = [flake-parts.flakeModules.easyOverlay devenv.flakeModule];
- systems = [
- "x86_64-linux"
- "i686-linux"
- "x86_64-darwin"
- "aarch64-linux"
- "aarch64-darwin"
- ];
-
+ imports = builtins.attrValues flakeModules;
flake = {
- devenvModules.personal = import ./modules/devenv;
+ inherit devenvModules flakeModules;
nixosModules.personal = import ./modules/nixos;
homeModules.personal = import ./modules/home-manager;
overlays.personal = _: super: let
@@ -96,7 +94,6 @@
packages = flatten pkgs.personal;
devenv.shells.default = {
- imports = [self.devenvModules.personal];
languages.nix = {
enable = true;
packaging.enable = true;
diff --git a/lib/default.nix b/lib/default.nix
index d65830b..254d336 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -1,17 +1,3 @@
{
- mkDevenv = {
- devenv,
- flake-parts,
- my-nixpkgs,
- ...
- } @ inputs: config:
- flake-parts.lib.mkFlake {inherit inputs;} {
- imports = [devenv.flakeModule];
- systems = ["x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
- perSystem = _: {
- devenv.shells.default = {
- imports = [my-nixpkgs.devenvModules.personal config];
- };
- };
- };
+ mkDevenv = import ./mkDevenv.nix;
}
diff --git a/lib/mkDevenv.nix b/lib/mkDevenv.nix
new file mode 100644
index 0000000..3a86b14
--- /dev/null
+++ b/lib/mkDevenv.nix
@@ -0,0 +1,14 @@
+{
+ devenv,
+ flake-parts,
+ my-nixpkgs,
+ ...
+} @ inputs: config:
+flake-parts.lib.mkFlake {inherit inputs;} {
+ imports = builtins.attrValues {inherit (my-nixpkgs.flakeModules) personal devenv;};
+ perSystem = _: {
+ devenv.shells.default = {
+ imports = [config];
+ };
+ };
+}
diff --git a/modules/flake-parts/devenv.nix b/modules/flake-parts/devenv.nix
new file mode 100644
index 0000000..bdc40b1
--- /dev/null
+++ b/modules/flake-parts/devenv.nix
@@ -0,0 +1,23 @@
+devenvModules: {
+ flake-parts-lib,
+ lib,
+ inputs,
+ ...
+}: {
+ imports = [inputs.devenv.flakeModule];
+
+ options.perSystem = flake-parts-lib.mkPerSystemOption {
+ options.devenv.shells = lib.mkOption {
+ type = with lib.types;
+ lazyAttrsOf (submoduleWith {
+ modules = builtins.attrValues devenvModules;
+ shorthandOnlyDefinesConfig = null;
+ });
+ };
+ };
+
+ # the extra parameter before the module make this module behave like an
+ # anonymous module, so we need to manually identify the file, for better
+ # error messages, docs, and deduplication.
+ _file = __curPos.file;
+}
diff --git a/modules/flake-parts/personal.nix b/modules/flake-parts/personal.nix
new file mode 100644
index 0000000..370e176
--- /dev/null
+++ b/modules/flake-parts/personal.nix
@@ -0,0 +1,3 @@
+{
+ systems = ["x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
+}
diff --git a/templates/devenv/flake-parts/flake.nix b/templates/devenv/flake-parts/flake.nix
index 8708556..deca3e5 100644
--- a/templates/devenv/flake-parts/flake.nix
+++ b/templates/devenv/flake-parts/flake.nix
@@ -16,16 +16,10 @@
...
} @ inputs:
flake-parts.lib.mkFlake {inherit inputs;} {
- imports = [
- inputs.devenv.flakeModule
- ];
- systems = ["x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
+ imports = with my-nixpkgs.flakeModules; [personal devenv];
perSystem = {...}: {
devenv.shells.default = {
- imports = [my-nixpkgs.devenvModules.personal];
-
######################## PUT YOUR CONFIG HERE ########################
- # for this flake
languages.nix.enable = true;
};
};