summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..6fd69cd
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,66 @@
+{
+ description = "kassouni's NixOS configs";
+
+ inputs = {
+ nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
+ home-manager.url = "github:nix-community/home-manager/release-26.05";
+ home-manager.inputs.nixpkgs.follows = "nixpkgs";
+ nixvim.url = "github:nix-community/nixvim/nixos-26.05";
+ xmonad-config.url = "path:/home/kassouni/xmonad-config";
+ };
+
+ outputs =
+ {
+ self,
+ nixpkgs,
+ home-manager,
+ nixvim,
+ xmonad-config,
+ ...
+ }@inputs:
+ let
+ systems = [
+ "x86_64-linux"
+ "aarch64-linux"
+ "x86_64-darwin"
+ "aarch64-darwin"
+ ];
+ forAllSystems = nixpkgs.lib.genAttrs systems;
+ in
+ {
+
+ nixosConfigurations = {
+ hierophant = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ modules = [
+ ./machines/hierophant/configuration.nix
+ ./machines/hierophant/hardware-configuration.nix
+ xmonad-config.nixosModules.default
+ home-manager.nixosModules.home-manager
+ {
+ home-manager.useGlobalPkgs = true;
+ home-manager.useUserPackages = true;
+ home-manager.users.kassouni = {
+ imports = [
+ ./users/kassouni/home.nix
+ nixvim.homeModules.nixvim
+ ];
+ };
+ }
+ ];
+ };
+ };
+
+ devShells = forAllSystems (system: {
+ default =
+ let
+ pkgs = nixpkgs.legacyPackages.${system};
+ in
+ pkgs.mkShell {
+ buildInputs = [ ];
+ };
+ });
+
+ formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.nixfmt-tree);
+ };
+}