diff options
| -rw-r--r-- | flake.lock | 73 | ||||
| -rw-r--r-- | flake.nix | 52 | ||||
| -rw-r--r-- | modules/devenv/default.nix | 3 | ||||
| -rw-r--r-- | modules/devenv/languages/default.nix | 3 | ||||
| -rw-r--r-- | modules/devenv/languages/nix.nix | 29 |
5 files changed, 69 insertions, 91 deletions
diff --git a/flake.lock b/flake.lock deleted file mode 100644 index 050948a..0000000 --- a/flake.lock +++ /dev/null @@ -1,73 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1685518550, - "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", - "type": "github" - }, - "original": { - "id": "flake-utils", - "type": "indirect" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1685677062, - "narHash": "sha256-zoHF7+HNwNwne2XEomphbdc4Y8tdWT16EUxUTXpOKpQ=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "95be94370d09f97f6af6a1df1eb9649b5260724e", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nur": { - "locked": { - "lastModified": 1685792665, - "narHash": "sha256-cAicgkTAX9EVNOmJwt+SRRfvYzb47uEt7pRV57w6/yo=", - "owner": "nix-community", - "repo": "NUR", - "rev": "b489b530f22ef9fc761eb9800df702b1cc438b55", - "type": "github" - }, - "original": { - "id": "nur", - "type": "indirect" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "nur": "nur" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} @@ -1,24 +1,40 @@ { - outputs = { self, flake-utils, nur, nixpkgs, ... }: - { + inputs.devenv = { + url = "github:cachix/devenv"; + inputs.nixpkgs.url = "nixpkgs"; + }; + + outputs = { self, nur, nixpkgs, flake-parts, devenv, ... }@inputs: 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" ]; + + flake = { + devenvModules.personal = import ./modules/devenv; nixosModules.personal = import ./modules/nixos; homeModules.personal = import ./modules/home-manager; - overlays = { - default = self.overlays.personal; - personal = self: super: - let personalPackages = import ./pkgs (super.extend nur.overlay); - in { - personal = (super.personal or { }) // personalPackages; - lib = (super.lib or { }) // { - personal = (super.lib.personal or { }) // personalPackages.lib; - }; - }; + # overlays.personal = self.overlays.default; + }; + + perSystem = { config, system, pkgs, lib, ... }: { + _module.args.pkgs = import nixpkgs { + inherit system; + overlays = [ nur.overlay ]; + config = {}; }; - } // flake-utils.lib.eachDefaultSystem (system: - let - pkgs = import nixpkgs { - inherit system; - overlays = [ nur.overlay ]; + + overlayAttrs = { + inherit (lib.recursiveUpdate pkgs { personal = config.packages; lib.personal = config.packages.lib; }) personal lib; }; - in { packages = import ./pkgs pkgs; }); + packages = import ./pkgs pkgs; + + devenv.shells.default = { + name = "my-nixpkgs"; + + imports = [ self.devenvModules.personal ]; + + languages.nix.enable = true; + }; + }; + }; +>>>>>>> Stashed changes } diff --git a/modules/devenv/default.nix b/modules/devenv/default.nix new file mode 100644 index 0000000..273b94f --- /dev/null +++ b/modules/devenv/default.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./languages ]; +} diff --git a/modules/devenv/languages/default.nix b/modules/devenv/languages/default.nix new file mode 100644 index 0000000..2f4fc86 --- /dev/null +++ b/modules/devenv/languages/default.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./nix.nix ]; +} diff --git a/modules/devenv/languages/nix.nix b/modules/devenv/languages/nix.nix new file mode 100644 index 0000000..6db3af4 --- /dev/null +++ b/modules/devenv/languages/nix.nix @@ -0,0 +1,29 @@ +{ + config, + options, + lib, + pkgs, + devenv, + ... +}: let + cfg = config.languages.nix; +in { + disabledModules = ["${devenv}/src/modules/languages/nix.nix"]; + + options.languages.nix = { + enable = lib.mkEnableOption "tools for nix development"; + formatter = lib.mkPackageOption pkgs "nix formatter" { + default = ["alejandra"]; + }; + packaging.enable = lib.mkEnableOption "tools for writing nix derivations"; + }; + + config = { + packages = lib.mkIf cfg.enable (with pkgs; [cfg.formatter deadnix] ++ lib.optionals cfg.packaging.enable [nix-prefetch-scripts nix-prefetch-github]); + + pre-commit.hooks = { + deadnix.enable = lib.mkDefault true; + "${cfg.formatter.pname}".enable = lib.mkDefault true; + }; + }; +} |
