diff --git a/flake.lock b/flake.lock index 8673f5e..77444b5 100644 --- a/flake.lock +++ b/flake.lock @@ -54,6 +54,21 @@ "type": "github" } }, + "crane": { + "locked": { + "lastModified": 1736898272, + "narHash": "sha256-D10wlrU/HCpSRcb3a7yk+bU3ggpMD1kGbseKtO+7teo=", + "owner": "ipetkov", + "repo": "crane", + "rev": "6a589f034202a7c6e10bce6c5d1d392d7bc0f340", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, "f1multiviewer": { "inputs": { "nixpkgs": [ @@ -74,18 +89,24 @@ "type": "github" } }, - "flake-compat": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "lix-attic", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "lastModified": 1736143030, + "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", "type": "github" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, @@ -419,9 +440,7 @@ "flake-utils": [ "flake-utils" ], - "nixpkgs-lib": [ - "nixpkgs-lib" - ] + "nixpkgs-lib": "nixpkgs-lib" }, "locked": { "lastModified": 1736684024, @@ -451,6 +470,37 @@ "url": "https://git.lix.systems/lix-project/lix/archive/2.92.0.tar.gz" } }, + "lix-attic": { + "inputs": { + "crane": "crane", + "flake-parts": "flake-parts", + "lix": [ + "lix-module", + "lix" + ], + "lix-module": [ + "lix-module" + ], + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1736969694, + "narHash": "sha256-4OKeL5HbDNDKl1JgRH97HCe/QQjhLGB4pjxxYr5PTFc=", + "ref": "refs/heads/main", + "rev": "d413a74fa132cf5f421732dc7dd5cadda96fb874", + "revCount": 361, + "type": "git", + "url": "https://git.lix.systems/nrabulinski/attic.git" + }, + "original": { + "type": "git", + "url": "https://git.lix.systems/nrabulinski/attic.git" + } + }, "lix-module": { "inputs": { "flake-utils": [ @@ -510,6 +560,27 @@ "type": "github" } }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "lix-attic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1731952509, + "narHash": "sha256-p4gB3Rhw8R6Ak4eMl8pqjCPOLCZRqaehZxdZ/mbFClM=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "7b5f051df789b6b20d259924d349a9ba3319b226", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, "nix-index-database": { "inputs": { "nixpkgs": [ @@ -532,9 +603,7 @@ }, "nixos-wsl": { "inputs": { - "flake-compat": [ - "flake-compat" - ], + "flake-compat": [], "nixpkgs": [ "nixpkgs" ] @@ -570,6 +639,21 @@ } }, "nixpkgs-lib": { + "locked": { + "lastModified": 1737248590, + "narHash": "sha256-6SWtDeYJS3bS7QyJrGKyd6FpROEN0JCMgakSX8yPbyA=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "977f49fd8cf854416f82987696784717acd6e817", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_2": { "locked": { "lastModified": 1736643958, "narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=", @@ -584,6 +668,22 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1735563628, + "narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-wayland": { "inputs": { "flake-compat": [], @@ -633,20 +733,20 @@ "inputs": { "NixVirt": "NixVirt", "f1multiviewer": "f1multiviewer", - "flake-compat": "flake-compat", "flake-utils": "flake-utils", "hyprland": "hyprland", "hyprland-contrib": "hyprland-contrib", "hyprman": "hyprman", "jj": "jj", "lib-aggregate": "lib-aggregate", + "lix-attic": "lix-attic", "lix-module": "lix-module", "my-nixpkgs": "my-nixpkgs", "nim2nix": "nim2nix", "nix-index-database": "nix-index-database", "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs", - "nixpkgs-lib": "nixpkgs-lib", + "nixpkgs-lib": "nixpkgs-lib_2", "nixpkgs-wayland": "nixpkgs-wayland", "pixi": "pixi", "sops-nix": "sops-nix", diff --git a/flake.nix b/flake.nix index e9a9db0..6deefbf 100644 --- a/flake.nix +++ b/flake.nix @@ -18,7 +18,6 @@ # inputs.lix.follows = "lix"; # }; # - # lix is failing to build only on GHA? # keep for when lix breaks :/ lix-module = { url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz"; @@ -44,15 +43,13 @@ nixos-wsl = { url = "github:nix-community/NixOS-WSL"; inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-compat.follows = "flake-compat"; }; hyprland = { url = "git+https://github.com/hyprwm/Hyprland/?submodules=1"; inputs.nixpkgs.follows = "nixpkgs"; - # inputs.systems.follows = "systems"; - inputs.pre-commit-hooks.follows = ""; }; + hyprland-contrib = { url = "github:hyprwm/contrib"; inputs.nixpkgs.follows = "nixpkgs"; @@ -60,11 +57,7 @@ nixpkgs-wayland = { url = "github:nix-community/nixpkgs-wayland"; - # breaks their cache... inputs.nixpkgs.follows = "nixpkgs"; - inputs.lib-aggregate.follows = "lib-aggregate"; - inputs.nix-eval-jobs.follows = ""; - inputs.flake-compat.follows = ""; }; f1multiviewer = { @@ -104,7 +97,6 @@ jj = { url = "github:martinvonz/jj/v0.25.0"; inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-utils.follows = "flake-utils"; }; NixVirt = { @@ -113,21 +105,14 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - # included to reduce flake.lock size - flake-utils = { - url = "github:numtide/flake-utils"; + lix-attic = { + url = "git+https://git.lix.systems/nrabulinski/attic.git"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.lix-module.follows = "lix-module"; + # make lix-module source of truth + inputs.lix.follows = "lix-module/lix"; }; - flake-compat = { - url = "github:edolstra/flake-compat"; - }; - lib-aggregate = { - url = "github:nix-community/lib-aggregate"; - inputs.flake-utils.follows = "flake-utils"; - inputs.nixpkgs-lib.follows = "nixpkgs-lib"; - }; - - nixpkgs-lib.url = "github:nix-community/nixpkgs.lib"; # roc = { # url = "github:roc-lang/roc"; # inputs.nixpkgs.follows = "nixpkgs"; @@ -138,6 +123,24 @@ # zls.url = "github:zigtools/zls"; # zls.inputs.nixpkgs.follows = "nixpkgs"; # zls.inputs.zig-overlay.follows = "zig-overlay"; + + # further flake.lock minimization shenanigans + flake-utils.url = "github:numtide/flake-utils"; + jj.inputs.flake-utils.follows = "flake-utils"; + lib-aggregate.inputs.flake-utils.follows = "flake-utils"; + + lib-aggregate.url = "github:nix-community/lib-aggregate"; + nixpkgs-wayland.inputs.lib-aggregate.follows = "lib-aggregate"; + + nixpkgs-lib.url = "github:nix-community/nixpkgs.lib"; + + # nil inputs + hyprland.inputs.pre-commit-hooks.follows = ""; + + nixpkgs-wayland.inputs.flake-compat.follows = ""; + nixos-wsl.inputs.flake-compat.follows = ""; + + nixpkgs-wayland.inputs.nix-eval-jobs.follows = ""; }; nixConfig = { diff --git a/hosts/othalan/default.nix b/hosts/othalan/default.nix index 24f6e67..eacc57a 100644 --- a/hosts/othalan/default.nix +++ b/hosts/othalan/default.nix @@ -1,6 +1,7 @@ { - enabled, config, + enabled, + flake, ... }: { @@ -26,4 +27,9 @@ group = config.users.users.daylin.group; }; }; + + environment.systemPackages =[ + (flake.pkgs "lix-attic").attic-client + ]; + } diff --git a/hosts/othalan/settings/pkgs b/hosts/othalan/settings/pkgs index 98a66ed..56ac61f 100644 --- a/hosts/othalan/settings/pkgs +++ b/hosts/othalan/settings/pkgs @@ -1,7 +1,6 @@ flake:utils ghostty sops -attic-client distrobox firefox zk diff --git a/lib/default.nix b/lib/default.nix index 522a4c1..7027101 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,6 +1,7 @@ inputs@{ nixpkgs, treefmt-nix, + lix-attic, self, ... }: @@ -59,6 +60,12 @@ let } )); + lixAtticPackages = pkgs: + { attic-client = lix-attic.packages.${pkgs.system}.attic-client; + attic-server = lix-attic.packages.${pkgs.system}.attic-server; +}; + + oizysFlake = { templates = { dev = { @@ -83,6 +90,7 @@ let "tsm" ]) // (import ../pkgs { inherit pkgs; }) + // (lixAtticPackages pkgs) ); devShells = forAllSystems (pkgs: {