{ inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; nextcloud = { url = "github:onny/nixos-nextcloud-testumgebung"; inputs.nixpkgs.follows = "nixpkgs"; }; gtrackmap = { url = "github:gtrackmap/gtrackmap"; inputs.nixpkgs.follows = "nixpkgs"; }; lanzaboote.url = "github:nix-community/lanzaboote"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; auto-cpufreq = { url = "github:AdnanHodzic/auto-cpufreq"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager/release-24.11"; inputs = { nixpkgs.follows = "nixpkgs"; }; }; commander-nvim = { url = "github:FeiyouG/commander.nvim"; flake = false; }; vimpeccable = { url = "github:svermeulen/vimpeccable"; flake = false; }; windline-nvim = { url = "github:windwp/windline.nvim"; flake = false; }; gen-nvim = { url = "github:David-Kunz/gen.nvim"; flake = false; }; ketchup = { url = "github:repomaa/ketchup"; inputs.nixpkgs.follows = "nixpkgs"; }; workout-sync = { url = "sourcehut:~repomaa/workout-sync"; inputs.nixpkgs.follows = "nixpkgs"; }; hastebin = { url = "sourcehut:~repomaa/hastebin"; inputs.nixpkgs.follows = "nixpkgs"; }; ksoloti-pr.url = "github:repomaa/nixpkgs/pkg/ksoloti"; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; dnote = { url = "github:dnote/dnote"; flake = false; }; colmena = { url = "github:zhaofengli/colmena"; inputs.nixpkgs.follows = "nixpkgs"; }; syntax-renderer = { url = "sourcehut:~repomaa/syntax-renderer"; flake = false; }; }; outputs = { flake-parts, agenix, nixpkgs, self, colmena, ... }@inputs: flake-parts.lib.mkFlake { inherit inputs; } ( let ssh.publicKeys.yubikey = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLIUkESu5NnBi1M0+ZjYrkp6/rIFuwc3aguspf98jmOydNce6l65cnS3GRzc9oWx4lu11ahi87ZuE+pYV+gaHm4="; specialArgs = { inherit inputs ssh self; }; inherit (nixpkgs) lib; in { systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; perSystem = { pkgs, system, ... }: { devShells.default = pkgs.mkShell { packages = with pkgs; [ agenix.packages.${system}.default colmena.packages.${system}.colmena colmena.packages.${system}.manual (pkgs.writeShellScriptBin "build" '' colmena --experimental-flake-eval build --keep-result "$@" '') (pkgs.writeShellScriptBin "apply" '' colmena --experimental-flake-eval apply --keep-result "$@" '') (pkgs.writeShellScriptBin "apply-local" '' colmena --experimental-flake-eval apply-local --sudo "$@" '') ]; }; }; flake = { colmenaHive = colmena.lib.makeHive self.outputs.colmena; colmena = { meta = { inherit specialArgs; nixpkgs = import nixpkgs { system = "x86_64-linux"; overlays = [ ]; }; }; defaults = { name, ... }: { imports = [ ./modules ./hosts/${name} ]; }; radish = { ... }: { deployment = { allowLocalDeployment = true; targetHost = null; }; }; freun-dev = { ... }: { }; apu = { ... }: { }; }; }; } ); }