diff options
| author | seth <[email protected]> | 2023-10-07 10:10:55 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2023-10-07 10:18:46 -0400 |
| commit | 519191cd9f31d1fe1c205535ddc4efe5f2e63793 (patch) | |
| tree | 441a3b0cbf33a15ac052a1fd6a6894cf169f493b | |
| parent | 62a26a94a11774b7c14ea10cde0ca2294990fb9b (diff) | |
treewide!: remove flake-parts
while i love flake parts, i want to keep dependencies for this project as small as possible
| -rw-r--r-- | flake.lock | 23 | ||||
| -rw-r--r-- | flake.nix | 76 | ||||
| -rw-r--r-- | modules/default.nix | 10 | ||||
| -rw-r--r-- | modules/flake/default.nix | 7 | ||||
| -rw-r--r-- | modules/flake/homeConfigurations.nix | 30 | ||||
| -rw-r--r-- | modules/flake/homeManagerModules.nix | 20 | ||||
| -rw-r--r-- | modules/flake/hydraJobs.nix | 25 | ||||
| -rw-r--r-- | pkgs/all-packages.nix | 34 | ||||
| -rw-r--r-- | pkgs/cfspeedtest/default.nix (renamed from pkgs/cfspeedtest.nix) | 0 | ||||
| -rw-r--r-- | pkgs/check-pr/default.nix (renamed from pkgs/check-pr.nix) | 0 | ||||
| -rw-r--r-- | pkgs/clippy-sarif/default.nix (renamed from pkgs/clippy-sarif.nix) | 0 | ||||
| -rw-r--r-- | pkgs/default.nix | 40 | ||||
| -rw-r--r-- | pkgs/huion/default.nix (renamed from pkgs/huion.nix) | 0 | ||||
| -rw-r--r-- | pkgs/klassy/default.nix (renamed from pkgs/klassy.nix) | 0 | ||||
| -rw-r--r-- | pkgs/mommy/default.nix (renamed from pkgs/mommy.nix) | 0 | ||||
| -rw-r--r-- | pkgs/nixgc/default.nix (renamed from pkgs/nixgc.nix) | 0 | ||||
| -rw-r--r-- | pkgs/treefetch/default.nix (renamed from pkgs/treefetch.nix) | 0 | ||||
| -rw-r--r-- | pkgs/vim-just/default.nix (renamed from pkgs/vim-just.nix) | 0 | ||||
| -rw-r--r-- | pkgs/xwaylandvideobridge/default.nix (renamed from pkgs/xwaylandvideobridge.nix) | 0 | ||||
| -rw-r--r-- | templates/default.nix | 15 |
20 files changed, 71 insertions, 209 deletions
@@ -15,30 +15,9 @@ "type": "indirect" } }, - "parts": { - "inputs": { - "nixpkgs-lib": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "root": { "inputs": { - "nixpkgs": "nixpkgs", - "parts": "parts" + "nixpkgs": "nixpkgs" } } }, @@ -6,30 +6,58 @@ extra-trusted-public-keys = ["cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="]; }; - inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable"; + inputs.nixpkgs.url = "nixpkgs/nixos-unstable"; - parts = { - url = "github:hercules-ci/flake-parts"; - inputs.nixpkgs-lib.follows = "nixpkgs"; - }; - }; + outputs = { + nixpkgs, + self, + ... + }: let + inherit (nixpkgs) lib; + + systems = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + + forAllSystems = fn: lib.genAttrs systems (sys: fn nixpkgs.legacyPackages.${sys}); + in { + packages = forAllSystems ( + pkgs: let + overlay = lib.fix (final: self.overlays.default final pkgs); + + /* + this filters out packages that may be broken or not supported + on the current system. packages that have no `version` or `platforms` + meta attribute are assumed to be valid + */ + isValid = _: v: + lib.elem pkgs.system (v.meta.platforms or [pkgs.system]) && !(v.meta.broken or false); - outputs = {parts, ...} @ inputs: - parts.lib.mkFlake {inherit inputs;} { - imports = [ - ./pkgs - ./modules - ./templates - ]; - - systems = [ - "x86_64-linux" - "aarch64-linux" - "x86_64-darwin" - "aarch64-darwin" - ]; - - perSystem = {pkgs, ...}: {formatter = pkgs.alejandra;}; - }; + pkgs' = lib.filterAttrs isValid overlay; + in + pkgs' // {default = pkgs'.treefetch;} + ); + + overlays.default = final: prev: (import ./pkgs final prev); + + templates = let + # string -> string -> {} + mkTemplate = name: description: { + path = builtins.path { + path = ./templates/${name}; + name = "${name}-template"; + }; + + inherit description; + }; + in + lib.mapAttrs mkTemplate { + basic = "minimal boilerplate for my flakes"; + full = "big template for complex flakes (using flake-parts)"; + nixos = "minimal boilerplate for flake-based nixos configuration"; + }; + }; } diff --git a/modules/default.nix b/modules/default.nix deleted file mode 100644 index e869905..0000000 --- a/modules/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - flake = { - flakeModules = { - default = import ./flake; - homeConfigurations = import ./flake/homeConfigurations.nix; - homeManagerModules = import ./flake/homeManagerModules.nix; - hydraJobs = import ./flake/hydraJobs.nix; - }; - }; -} diff --git a/modules/flake/default.nix b/modules/flake/default.nix deleted file mode 100644 index 3c193cb..0000000 --- a/modules/flake/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -_: { - imports = [ - ./homeConfigurations.nix - ./homeManagerModules.nix - ./hydraJobs.nix - ]; -} diff --git a/modules/flake/homeConfigurations.nix b/modules/flake/homeConfigurations.nix deleted file mode 100644 index 1c54b0c..0000000 --- a/modules/flake/homeConfigurations.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - lib, - flake-parts-lib, - ... -}: let - inherit (lib) mkOption types literalExpression; - inherit (flake-parts-lib) mkTransposedPerSystemModule; -in - mkTransposedPerSystemModule { - name = "homeConfigurations"; - option = mkOption { - type = types.lazyAttrsOf types.raw; - default = {}; - description = '' - Instantiated home-manager configurations. Used by `home-manager` - ''; - example = literalExpression '' - { - user = inputs.home-manager.homeManagerConfiguration { - pkgs = import inputs.nixpkgs {inherit system;}; - modules = [ - ./my-users/home.nix - ]; - }; - } - ''; - }; - - file = ./homeConfigurations.nix; - } diff --git a/modules/flake/homeManagerModules.nix b/modules/flake/homeManagerModules.nix deleted file mode 100644 index d24ebd9..0000000 --- a/modules/flake/homeManagerModules.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - lib, - flake-parts-lib, - ... -}: let - inherit (lib) mkOption types; - inherit (flake-parts-lib) mkSubmoduleOptions; -in { - options = { - flake = mkSubmoduleOptions { - homeManagerModules = mkOption { - type = types.lazyAttrsOf types.unspecified; - default = {}; - description = '' - Home Manager modules - ''; - }; - }; - }; -} diff --git a/modules/flake/hydraJobs.nix b/modules/flake/hydraJobs.nix deleted file mode 100644 index cfe9ca7..0000000 --- a/modules/flake/hydraJobs.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - lib, - flake-parts-lib, - ... -}: let - inherit (lib) mkOption types; - inherit (flake-parts-lib) mkSubmoduleOptions; -in { - options = { - flake = mkSubmoduleOptions { - hydraJobs = mkOption { - type = types.lazyAttrsOf types.raw; - default = {}; - description = '' - A collection of jobsets for Hydra. See https://nixos.wiki/wiki/Hydra#Flake_jobset - ''; - example = '' - { - inherit (self) packages; - } - ''; - }; - }; - }; -} diff --git a/pkgs/all-packages.nix b/pkgs/all-packages.nix deleted file mode 100644 index 3dddad5..0000000 --- a/pkgs/all-packages.nix +++ /dev/null @@ -1,34 +0,0 @@ -final: prev: let - inherit (prev) callPackage; -in { - cfspeedtest = callPackage ./cfspeedtest.nix {}; - - check-pr = callPackage ./check-pr.nix {}; - - clippy-sarif = callPackage ./clippy-sarif.nix {}; - - huion = callPackage ./huion.nix {}; - - klassy = prev.libsForQt5.callPackage ./klassy.nix {}; - - mommy = callPackage ./mommy.nix {}; - - nixgc = callPackage ./nixgc.nix {}; - - modrinth-app-unwrapped = callPackage ./modrinth-app { - inherit (final.nodePackages or prev.nodePackages) pnpm; - inherit ((final.darwin or prev.darwin).apple_sdk.frameworks) CoreServices Security WebKit; - }; - - modrinth-app = callPackage ./modrinth-app/wrapper.nix { - inherit (final) modrinth-app-unwrapped; - }; - - treefetch = callPackage ./treefetch.nix {}; - - swhkd = callPackage ./swhkd {}; - - vim-just = callPackage ./vim-just.nix {}; - - xwaylandvideobridge = callPackage ./xwaylandvideobridge.nix {}; -} diff --git a/pkgs/cfspeedtest.nix b/pkgs/cfspeedtest/default.nix index be357c5..be357c5 100644 --- a/pkgs/cfspeedtest.nix +++ b/pkgs/cfspeedtest/default.nix diff --git a/pkgs/check-pr.nix b/pkgs/check-pr/default.nix index b199669..b199669 100644 --- a/pkgs/check-pr.nix +++ b/pkgs/check-pr/default.nix diff --git a/pkgs/clippy-sarif.nix b/pkgs/clippy-sarif/default.nix index 11a611c..11a611c 100644 --- a/pkgs/clippy-sarif.nix +++ b/pkgs/clippy-sarif/default.nix diff --git a/pkgs/default.nix b/pkgs/default.nix index b54c0fa..dc2f208 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,24 +1,20 @@ -{self, ...}: { - perSystem = { - lib, - pkgs, - system, - ... - }: { - packages = let - inherit (builtins) elem; - inherit (lib) filterAttrs fix; +final: prev: +with prev; let + # directories are mapped to packages here for convenience sake + shouldUse = name: type: !(lib.hasPrefix "_" name) && type == "directory"; + dir = lib.filterAttrs shouldUse (builtins.readDir ./.); + imported = lib.mapAttrs (name: _: callPackage ./${name} {}) dir; +in + imported + // { + klassy = libsForQt5.callPackage ./klassy {}; - unfiltered = fix (final: self.overlays.default final pkgs); + modrinth-app-unwrapped = callPackage ./modrinth-app { + inherit (final.nodePackages or prev.nodePackages) pnpm; + inherit ((final.darwin or prev.darwin).apple_sdk.frameworks) CoreServices Security WebKit; + }; - p = filterAttrs (_: v: - elem system (v.meta.platforms or []) && !(v.meta.broken or false)) - unfiltered; - in - p // {default = p.treefetch;}; - }; - - flake = { - overlays.default = final: prev: (import ./all-packages.nix final prev); - }; -} + modrinth-app = callPackage ./modrinth-app/wrapper.nix { + inherit (final) modrinth-app-unwrapped; + }; + } diff --git a/pkgs/huion.nix b/pkgs/huion/default.nix index 5e22340..5e22340 100644 --- a/pkgs/huion.nix +++ b/pkgs/huion/default.nix diff --git a/pkgs/klassy.nix b/pkgs/klassy/default.nix index b5a5c0f..b5a5c0f 100644 --- a/pkgs/klassy.nix +++ b/pkgs/klassy/default.nix diff --git a/pkgs/mommy.nix b/pkgs/mommy/default.nix index c8938e9..c8938e9 100644 --- a/pkgs/mommy.nix +++ b/pkgs/mommy/default.nix diff --git a/pkgs/nixgc.nix b/pkgs/nixgc/default.nix index d13614a..d13614a 100644 --- a/pkgs/nixgc.nix +++ b/pkgs/nixgc/default.nix diff --git a/pkgs/treefetch.nix b/pkgs/treefetch/default.nix index dd8283a..dd8283a 100644 --- a/pkgs/treefetch.nix +++ b/pkgs/treefetch/default.nix diff --git a/pkgs/vim-just.nix b/pkgs/vim-just/default.nix index eafa434..eafa434 100644 --- a/pkgs/vim-just.nix +++ b/pkgs/vim-just/default.nix diff --git a/pkgs/xwaylandvideobridge.nix b/pkgs/xwaylandvideobridge/default.nix index 3c1fef9..3c1fef9 100644 --- a/pkgs/xwaylandvideobridge.nix +++ b/pkgs/xwaylandvideobridge/default.nix diff --git a/templates/default.nix b/templates/default.nix deleted file mode 100644 index 6ea1be4..0000000 --- a/templates/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ - flake = { - templates = let - # string -> string -> {} - mkTemplate = name: description: { - path = ./${name}; - inherit description; - }; - in { - basic = mkTemplate "basic" "minimal boilerplate for my flakes"; - full = mkTemplate "full" "big template for complex flakes (using flake-parts)"; - nixos = mkTemplate "nixos" "minimal boilerplate for flake-based nixos configuration"; - }; - }; -} |
