Using nix-auto-follow, we can also speed up evaluation and (possibly)
builds by reducing duplicates in flake.lock.
UXKPHE3UG2HUJ7SQUCMU7VU2V75634ZJQDH4RJOGX2JHOW2PPBBAC 2AECR2C745CPVEW77Q7XAT5UW6B25YOQGG4VAN2ZHNOULJBODVJQC DEDLAAWWX2GNYW5AG53E4HYVIZ7VY47UQJDI632A77T3B4WTL4QQC OPVLEXF5H3CHSU43PIQ4M75UAE3UIKQ5WTVYUOD4M7MPUHLP26LQC LP6F55WKDQWW6KU6ZZIEC3VE5VUBKPCYEHWWMVIQUZ7DVPWWN4AAC SIFY36UY4ACM6J6YNBGNRUFMC6ELNKP6EKED64DO62FCTZXWZ6KQC AJYLRFKGKF4KNS5XMM4RDENFJMTXSC7OTAN3W47ULDA3DEH7HAUAC EOAV3J3R7X5GJGKGGBBRIU3GPHRAV6ZOYFPLIY4VSUWCPETWLJUQC EO6NBSIWQZ4MWHKHWLYLLRW3PIUWV33LSW5573EEAYSWONGELY3QC 5G7WRBMWKG6DMCOHE6WQHTYZACUHO2UPBZRWN72CFH7P45NN5E7QC MQT74AV47PUYNCX27OMFK6BFN7PP4DX46JAACN2EPRYXUXV7EL3AC UBB7TTAXVPQQCOVHACKWXSPV2NPARSHREYJB6J3RSEDZZIXPFGOAC 6KKLYLEP3IUF3NWXB6OO5C2X75S4U5OK7E2L7HIWWC3P7FG62EZAC RTBMBSBABSGTRICJ4AWBKWO3JJHBRKV6FGOMYPDD7X6SS6X35ZIQC HQGTEK3V64DVWXIUR47TDILPOVGAIZTJZDWGDHWNTL7NU66EE2DQC SGJH7PZ7C5RUQPYVFVZJB7GMEBYN5QPVPERNATULVIGTZAYRII3QC CJ6YEPDZUZKKC45KY5CRWZ7ZQKP46STSPOPHRAWFR3NAUNWLBTSQC IWFDDZQDLBZCSPQP3O2AWL5IHHM7KG5KL5JF7QG5AFLXSPLQQUTAC 5YZRDAU4ABMFJIJEBGDRMLQKNHIOC22OK2ZJ4MOI4NELAGVVK5ZQC AHAA7UNL2RRXP7KERGVCC42GB564WS5BYSSFEOXW3EKVMB2UVEOAC LNEFSFVU4YSTF7V36E24OWJN7ZLB4H2ZQS7K3NYIZ2D6H32CWCTAC BDDKGGL7QNTFAX3ARMV4VK2XQCLOVJNFLXFCZB7IFCGEATCMVBIAC AZMQDPPOPX35A4XNS37MH5A4PUOTOWIHTYRMKW55NEZW4Q7L7F2AC ISHODWH2IX2SKGTQMTNKCWLUNJGD2YKWE22D7CMD7FSJNBNUWXBQC LLRYXY25L67F5SIWZCZ3MXBC67T6LMQ3JBBJJR2ESKALWHXT4YGAC 536UGGBYLNT7PYVG6DMOFVED73SFIEKTGX47PP5LGF56UCES5MNAC 6CN27KP7L546BBPTWWVFSXF5Z6ZIC7U2XTXJJJRUYQEFMP76YMVAC VTPA57TTA3C4RUCTOAO6HYOKGBKGBDSWMJMWA7CWSCFAAV7GMEJQC YKOPXUNRLG6IIZVLDLOBIOEXZWLQCTZ7G2BTSDL2BJUYVTD6UPKAC VYTCMSMP4GIZALMBRUA7FATGPITKJHW2PHNQVXOVHHAI4O5TW6BAC 5M7GNHVVRCANWW2SVVG3CI32MI5HKNJCPF34M2HPZC2J6FVESF3AC HYBPXVO2BD6SK7IVFLS6YZFEN2HMSZDALXIUCJGSKVB3LYMLCWJAC KOXYNEPMHOWPUOUDAIDAVC2ZPUCLFGN23BM6QJ4UIDGVN73SUO7AC 4NYCEHYAWPTFWSQ53SDQFC2NQ6C3CY2PUZPYIXRPLWK77LW55XTAC L6SN5PMKPZ2VPVJAH2G64EU3T6L5XOWVDH7DP7RU4EC2TU377RPAC Q2XLHBS67AEUCGEJPDR7HCWTVIYKBDNW7XBK4WN2NK4BHUNCRAOQC CBGXBY2CSVY6SK5KLBIHTWKDVUKXZIB5EXJKULHP75QGOMH6G2WAC B25Y6ZESZM3UB3G7F2QCANOQN6FH5O4A5G7SFUJ5LLWWR7DZNHDQC UAQOJNN4U555IQMOHWGZRQT6YAJDXEH2KT62D6P7SA4BV7YZSXSQC KXYLAJ5WZIXV5FQ4TU3IPHCO2YRKQBAZBW27LOA5EVWI2OLVPIIAC RXJH46XLP6AFSIZZD4WEQA5A5YZLKHZ54ZUGCRH7TRAOH2Z4Q2VQC IFEH4NAUCGIQLQJMVRWQFM4QX2WF4NA2MXGPPMLW6ALJFDRMB5MAC AA4SKOCEGK4EIT5WQ3JHENYTVXUQCPAY47P6JE4MRHFWEM5UNC3AC TWHOWFCDEEUW4XSDTNGHDMZR3IZ2QIPRT262AJ3IGPSAIU27VZDQC inputs:inputs.parts.lib.mkFlake { inherit inputs; } {imports = [./modules/flake-inputs.nix(inputs.import-tree ./modules)];}
config.flake-file.inputs = {age = {url = "github:ryantm/agenix";inputs.nixpkgs.follows = "os";inputs.darwin.follows = "os-darwin";inputs.home-manager.follows = "";inputs.systems.follows = "";};age-rekey = {url = "github:oddlama/agenix-rekey";inputs.nixpkgs.follows = "os";inputs.flake-parts.follows = "parts";inputs.treefmt-nix.follows = "treefmt";};};
flake-file.inputs = {os = {url = "github:NixOS/nixpkgs/nixos-unstable-small";};os-wsl = {url = "github:nix-community/NixOS-WSL/main";inputs.nixpkgs.follows = "os";inputs.flake-compat.follows = "";};os-darwin = {url = "github:nix-darwin/nix-darwin/master";inputs.nixpkgs.follows = "os";};};
{ inputs, ... }:{imports = [inputs.flake-file.flakeModules.defaultinputs.flake-file.flakeModules.nix-auto-follow];flake-file = {description = "PlumJam's NixOS Configuration Collection";inputs = {flake-file = {url = "github:vic/flake-file";};import-tree = {url = "github:vic/import-tree";};# Fix for `nix-auto-follow.inputs.nixpkgs` trying to follow "nixpkgs".nix-auto-follow = {url = "github:fzakaria/nix-auto-follow";inputs.nixpkgs.follows = "os";};# Fixes for `nix-auto-follow` warnings:# Removes duplicates between `hjem.inputs.smfh` and `helix`.rust-overlay = {url = "github:oxalica/rust-overlay";inputs.nixpkgs.follows = "os";};# Removes duplicate between `hjem-rum` and `age-rekey`.treefmt = {url = "github:numtide/treefmt-nix";};};};}
in{config.flake.modules.nixos.disable-nano = {programs.nano.enable = false;};config.flake.modules.hjem.editor = commonModule;config.flake.modules.hjem.editor-extra = editorExtra;
inputs.os-wsl = {url = "github:nix-community/NixOS-WSL/main";inputs.nixpkgs.follows = "os";inputs.flake-compat.follows = "";};inputs.os-darwin = {url = "github:nix-darwin/nix-darwin/master";inputs.nixpkgs.follows = "os";};inputs.parts = {url = "github:hercules-ci/flake-parts";inputs.nixpkgs-lib.follows = "os";};inputs.import-tree = {url = "github:vic/import-tree";};inputs.hjem = {follows = "hjem-rum/hjem";inputs.nixpkgs.follows = "os";inputs.nix-darwin.follows = "os-darwin";};inputs.hjem-rum = {url = "github:snugnug/hjem-rum";inputs.nixpkgs.follows = "os";inputs.treefmt-nix.follows = "";inputs.ndg.follows = "";
inputs = {age = {inputs = {darwin.follows = "os-darwin";home-manager.follows = "";nixpkgs.follows = "os";systems.follows = "";};url = "github:ryantm/agenix";};age-rekey = {inputs = {flake-parts.follows = "parts";nixpkgs.follows = "os";treefmt-nix.follows = "treefmt";};url = "github:oddlama/agenix-rekey";};claude-code = {inputs.nixpkgs.follows = "os";url = "github:sadjow/claude-code-nix";};disko = {inputs.nixpkgs.follows = "os";url = "github:nix-community/disko";};fenix = {inputs.nixpkgs.follows = "os";url = "github:nix-community/fenix";};flake-file.url = "github:vic/flake-file";helix = {inputs.nixpkgs.follows = "os";url = "github:helix-editor/helix";};hjem = {follows = "hjem-rum/hjem";inputs = {nix-darwin.follows = "os-darwin";nixpkgs.follows = "os";};};hjem-rum = {inputs = {ndg.follows = "";nixpkgs.follows = "os";treefmt-nix.follows = "";};url = "github:snugnug/hjem-rum";};import-tree.url = "github:vic/import-tree";niri = {inputs = {niri-stable.follows = "";nixpkgs.follows = "os";nixpkgs-stable.follows = "";xwayland-satellite-stable.follows = "";xwayland-satellite-unstable.follows = "";};url = "github:sodiboo/niri-flake";};nix-auto-follow = {inputs.nixpkgs.follows = "os";url = "github:fzakaria/nix-auto-follow";};opencode = {inputs.nixpkgs.follows = "os";url = "github:anomalyco/opencode";};os.url = "github:NixOS/nixpkgs/nixos-unstable-small";os-darwin = {inputs.nixpkgs.follows = "os";url = "github:nix-darwin/nix-darwin/master";};os-wsl = {inputs = {flake-compat.follows = "";nixpkgs.follows = "os";};url = "github:nix-community/NixOS-WSL/main";};parts = {inputs.nixpkgs-lib.follows = "os";url = "github:hercules-ci/flake-parts";};qml-niri = {inputs = {nixpkgs.follows = "os";quickshell.follows = "quickshell";};url = "github:imiric/qml-niri/main";};quickshell = {inputs.nixpkgs.follows = "os";url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";};rio = {inputs = {flake-parts.follows = "parts";nixpkgs.follows = "os";rust-overlay.follows = "";systems.follows = "";};url = "github:raphamorim/rio/main";};rust-overlay = {inputs.nixpkgs.follows = "os";url = "github:oxalica/rust-overlay";};treefmt.url = "github:numtide/treefmt-nix";
inputs.fenix = {url = "github:nix-community/fenix";inputs.nixpkgs.follows = "os";};inputs.disko = {url = "github:nix-community/disko";inputs.nixpkgs.follows = "os";};inputs.age = {url = "github:ryantm/agenix";inputs.nixpkgs.follows = "os";inputs.darwin.follows = "os-darwin";inputs.home-manager.follows = "";inputs.systems.follows = "";};inputs.age-rekey = {url = "github:oddlama/agenix-rekey";inputs.nixpkgs.follows = "os";inputs.flake-parts.follows = "parts";};inputs.helix = {url = "github:helix-editor/helix";inputs.nixpkgs.follows = "os";};inputs.niri = {url = "github:sodiboo/niri-flake";inputs.nixpkgs.follows = "os";inputs.nixpkgs-stable.follows = "";inputs.niri-stable.follows = "";inputs.xwayland-satellite-stable.follows = "";inputs.xwayland-satellite-unstable.follows = "";};inputs.quickshell = {url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";inputs.nixpkgs.follows = "os";};inputs.qml-niri = {url = "github:imiric/qml-niri/main";inputs.nixpkgs.follows = "os";inputs.quickshell.follows = "quickshell";};inputs.opencode = {url = "github:anomalyco/opencode";inputs.nixpkgs.follows = "os";};inputs.claude-code = {url = "github:sadjow/claude-code-nix";inputs.nixpkgs.follows = "os";};inputs.rio = {url = "github:raphamorim/rio/main";inputs.nixpkgs.follows = "os";inputs.flake-parts.follows = "parts";inputs.rust-overlay.follows = "";inputs.systems.follows = "";};outputs = inputs: inputs.parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules);
"flake-file": {"locked": {"lastModified": 1763763269,"narHash": "sha256-i49Qkjy5TD5IPOp7lcqD5Bh47+FCFnJHNfn/Di/ysYU=","owner": "vic","repo": "flake-file","rev": "af92ed37624496a435da68e5597f9a6593cdf0c4","type": "github"},"original": {"owner": "vic","repo": "flake-file","type": "github"}},
"nix-auto-follow": {"inputs": {"nixpkgs": ["os"]},"locked": {"lastModified": 1754073254,"narHash": "sha256-CQp/v2HQ7AtGJQqFGRZLHt4MZAK3NF94I6GDaRyhbsc=","owner": "fzakaria","repo": "nix-auto-follow","rev": "5baa00b79d4cc46523da0b8b3532c5163d151be4","type": "github"},"original": {"owner": "fzakaria","repo": "nix-auto-follow","type": "github"}},
"type": "github"}},"nixpkgs_2": {"locked": {"lastModified": 1767364772,"narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=","owner": "nixos","repo": "nixpkgs","rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa","type": "github"},"original": {"owner": "nixos","ref": "nixpkgs-unstable","repo": "nixpkgs",
"hjem-rum","hjem","smfh","nixpkgs"
"os"]},"locked": {"lastModified": 1768617670,"narHash": "sha256-Z3+6dxoWZn+QFwjxAt5ZGXkiuCvCLgQP6pTS5eSWXqk=","owner": "oxalica","repo": "rust-overlay","rev": "56d0fbdd732f3686e8414b857cf885038fc17d57","type": "github"},"original": {"owner": "oxalica","repo": "rust-overlay","type": "github"}},"rust-overlay_3": {"inputs": {"nixpkgs": ["os"