diff --git a/modules/default.nix b/modules/default.nix index 4d9af70..ac793fe 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -1,4 +1,5 @@ { + config, inputs, ... }: @@ -7,7 +8,6 @@ let in { imports = [ - ./system flakeModule ]; @@ -20,4 +20,20 @@ in settei = flakeModule; default = settei; }; + + flake.nixosModules = rec { + settei = import ./system { + inherit (config) perInput; + isLinux = true; + }; + default = settei; + }; + + flake.darwinModules = rec { + settei = import ./system { + inherit (config) perInput; + isLinux = false; + }; + default = settei; + }; } diff --git a/modules/system/settei/containers.nix b/modules/system/containers.nix similarity index 100% rename from modules/system/settei/containers.nix rename to modules/system/containers.nix diff --git a/modules/system/default.nix b/modules/system/default.nix index bca0a95..a352333 100644 --- a/modules/system/default.nix +++ b/modules/system/default.nix @@ -1,21 +1,50 @@ -{ config, lib, ... }: { - flake = - lib.genAttrs - [ - "nixosModules" - "darwinModules" - ] - ( - attr: - let - isLinux = lib.hasPrefix "nixos" attr; - in - { - settei = import ./settei { - inherit (config) perInput; - inherit isLinux; - }; - } - ); + perInput, + # TODO: Figure out a nicer way of doing this without infrec? + isLinux, +}: +{ + config, + configurationName, + lib, + pkgs, + inputs, + inputs', + username, + ... +}: +{ + _file = ./default.nix; + + imports = [ + (import ./sane-defaults.nix { inherit isLinux; }) + (import ./flake-qol.nix { inherit perInput; }) + ./user.nix + (import ./programs { inherit isLinux; }) + (import ./tailscale.nix { inherit isLinux; }) + (import ./containers.nix { inherit isLinux; }) + ./unfree.nix + (import ./hercules.nix { inherit isLinux; }) + (import ./github-runner.nix { inherit isLinux; }) + (import ./incus.nix { inherit isLinux; }) + (import ./monitoring.nix { inherit isLinux; }) + ]; + + options.settei = with lib; { + username = mkOption { + type = types.str; + default = "niko"; + }; + }; + + config = { + programs.fish.enable = true; + users.users.${username}.shell = pkgs.fish; + + time.timeZone = lib.mkDefault "Europe/Warsaw"; + + # NixOS' fish module doesn't allow setting what package to use for fish, + # so I need to override the fish package. + nixpkgs.overlays = [ (_: _: { inherit (inputs'.settei.packages) fish; }) ]; + }; } diff --git a/modules/system/settei/flake-qol.nix b/modules/system/flake-qol.nix similarity index 100% rename from modules/system/settei/flake-qol.nix rename to modules/system/flake-qol.nix diff --git a/modules/system/settei/github-runner.nix b/modules/system/github-runner.nix similarity index 100% rename from modules/system/settei/github-runner.nix rename to modules/system/github-runner.nix diff --git a/modules/system/settei/hercules.nix b/modules/system/hercules.nix similarity index 100% rename from modules/system/settei/hercules.nix rename to modules/system/hercules.nix diff --git a/modules/system/settei/incus.nix b/modules/system/incus.nix similarity index 100% rename from modules/system/settei/incus.nix rename to modules/system/incus.nix diff --git a/modules/system/settei/monitoring.nix b/modules/system/monitoring.nix similarity index 100% rename from modules/system/settei/monitoring.nix rename to modules/system/monitoring.nix diff --git a/modules/system/settei/programs/default.nix b/modules/system/programs/default.nix similarity index 100% rename from modules/system/settei/programs/default.nix rename to modules/system/programs/default.nix diff --git a/modules/system/settei/sane-defaults.nix b/modules/system/sane-defaults.nix similarity index 100% rename from modules/system/settei/sane-defaults.nix rename to modules/system/sane-defaults.nix diff --git a/modules/system/settei/default.nix b/modules/system/settei/default.nix deleted file mode 100644 index a352333..0000000 --- a/modules/system/settei/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - perInput, - # TODO: Figure out a nicer way of doing this without infrec? - isLinux, -}: -{ - config, - configurationName, - lib, - pkgs, - inputs, - inputs', - username, - ... -}: -{ - _file = ./default.nix; - - imports = [ - (import ./sane-defaults.nix { inherit isLinux; }) - (import ./flake-qol.nix { inherit perInput; }) - ./user.nix - (import ./programs { inherit isLinux; }) - (import ./tailscale.nix { inherit isLinux; }) - (import ./containers.nix { inherit isLinux; }) - ./unfree.nix - (import ./hercules.nix { inherit isLinux; }) - (import ./github-runner.nix { inherit isLinux; }) - (import ./incus.nix { inherit isLinux; }) - (import ./monitoring.nix { inherit isLinux; }) - ]; - - options.settei = with lib; { - username = mkOption { - type = types.str; - default = "niko"; - }; - }; - - config = { - programs.fish.enable = true; - users.users.${username}.shell = pkgs.fish; - - time.timeZone = lib.mkDefault "Europe/Warsaw"; - - # NixOS' fish module doesn't allow setting what package to use for fish, - # so I need to override the fish package. - nixpkgs.overlays = [ (_: _: { inherit (inputs'.settei.packages) fish; }) ]; - }; -} diff --git a/modules/system/settei/tailscale.nix b/modules/system/tailscale.nix similarity index 100% rename from modules/system/settei/tailscale.nix rename to modules/system/tailscale.nix diff --git a/modules/system/settei/unfree.nix b/modules/system/unfree.nix similarity index 100% rename from modules/system/settei/unfree.nix rename to modules/system/unfree.nix diff --git a/modules/system/settei/user.nix b/modules/system/user.nix similarity index 100% rename from modules/system/settei/user.nix rename to modules/system/user.nix