From 105f613c6b80abca28cc088685940f73c2bc3f7e Mon Sep 17 00:00:00 2001 From: Lander Van den Bulcke Date: Wed, 17 Sep 2025 00:16:25 +0200 Subject: [PATCH] chore: refactor flake layout Signed-off-by: Lander Van den Bulcke --- flake.lock | 17 +++++++++++++++++ flake.nix | 21 ++++++++++++++++++++- modules/home-manager/default.nix | 3 +++ modules/nixos/default.nix | 3 +++ overlays/default.nix | 20 ++++++++++++++++++++ pkgs/default.nix | 3 +++ 6 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 modules/home-manager/default.nix create mode 100644 modules/nixos/default.nix create mode 100644 overlays/default.nix create mode 100644 pkgs/default.nix diff --git a/flake.lock b/flake.lock index 94d92be..c157077 100644 --- a/flake.lock +++ b/flake.lock @@ -414,6 +414,22 @@ "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1757745802, + "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1757810152, @@ -587,6 +603,7 @@ "home-manager": "home-manager", "nixos-mailserver": "nixos-mailserver", "nixpkgs": "nixpkgs_2", + "nixpkgs-unstable": "nixpkgs-unstable", "nixvim": "nixvim", "sops-nix": "sops-nix", "tidalcycles": "tidalcycles" diff --git a/flake.nix b/flake.nix index 7522da9..276d2f6 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,10 @@ { - description = "Your new nix config"; + description = "EscapeAngle's Nix config"; inputs = { # Nixpkgs nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; # Secrets sops-nix = { @@ -54,8 +55,26 @@ }@inputs: let inherit (self) outputs; + + # I only care about linux builds + systems = [ + "aarch64-linux" + "x86_64-linux" + ]; + + forAllSystems = nixpkgs.lib.genAttrs systems; in { + # custom pkgs + packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); + + formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); + + overlays = import ./overlays { inherit inputs; }; + + nixosModules = import ./modules/nixos; + homeManagerModules = import ./modules/home-manager; + nixosConfigurations = { # Workstations wodan = nixpkgs.lib.nixosSystem { diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix new file mode 100644 index 0000000..d1e01d6 --- /dev/null +++ b/modules/home-manager/default.nix @@ -0,0 +1,3 @@ +{ + # my-module = import ./my-module.nix; +} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix new file mode 100644 index 0000000..a0e873d --- /dev/null +++ b/modules/nixos/default.nix @@ -0,0 +1,3 @@ +{ + # my-module = import ./my-module.nix +} diff --git a/overlays/default.nix b/overlays/default.nix new file mode 100644 index 0000000..888f545 --- /dev/null +++ b/overlays/default.nix @@ -0,0 +1,20 @@ +{ inputs, ... }: +{ + # Import custom packages + additions = final: _prev: import ../pkgs final.pkgs; + + # Add modifications here: + modifications = final: prev: { + # example = prev.example.overrideAttrs (oldAttrs: rec { + # ... + # }); + }; + + # add nixpkgs unstable (accessible through pkgs.unstable) + unstable-packages = final: _prev: { + unstable = import inputs.nixpkgs-unstable { + system = final.system; + config.allowUnfree = true; + }; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix new file mode 100644 index 0000000..ff4e7fb --- /dev/null +++ b/pkgs/default.nix @@ -0,0 +1,3 @@ +pkgs: { + # example = pkgs.callPackage ./example { }; +}