aboutsummaryrefslogtreecommitdiffstats
path: root/flake/nixosConfigurations
diff options
context:
space:
mode:
Diffstat (limited to 'flake/nixosConfigurations')
-rw-r--r--flake/nixosConfigurations/default.nix78
1 files changed, 78 insertions, 0 deletions
diff --git a/flake/nixosConfigurations/default.nix b/flake/nixosConfigurations/default.nix
new file mode 100644
index 00000000..e5aa8020
--- /dev/null
+++ b/flake/nixosConfigurations/default.nix
@@ -0,0 +1,78 @@
+# vim: ts=2
+{
+ system,
+ inputs,
+ ...
+}: let
+ sysLib = import ../../lib {
+ inherit pkgs;
+ inherit (inputs) shell-library;
+ };
+ lib = inputs.nixpkgs.lib.extend (_: _: {
+ inherit (sysLib) makeShellScriptWithLibrary;
+ });
+
+ inherit (inputs.nixpkgs.lib) nixosSystem;
+
+ pkgs = import inputs.nixpkgs {
+ inherit system;
+ config = {
+ allowUnfreePredicate = pkg:
+ builtins.elem (lib.getName pkg) [
+ "steam"
+ "steam-original"
+ ];
+ };
+ };
+ homeManagerConfig = {
+ home-manager = {
+ useGlobalPkgs = true;
+ useUserPackages = true;
+ users.soispha = import ./home-manager;
+ extraSpecialArgs = {
+ inherit pkgs;
+ inherit
+ (inputs)
+ user_js
+ system
+ neovim_config
+ impermanence
+ snap-sync
+ ;
+ };
+ };
+ };
+ defaultModules = [
+ inputs.agenix.nixosModules.default
+
+ inputs.home-manager.nixosModules.home-manager
+ homeManagerConfig
+ ];
+in {
+ # full systems
+ tiamat = nixosSystem {
+ inherit system;
+ specialArgs = {inherit inputs pkgs;};
+ modules =
+ [
+ ./hosts/tiamat/configuration.nix
+ ]
+ ++ defaultModules;
+ };
+ mammun = nixosSystem {
+ inherit system;
+ specialArgs = {inherit inputs pkgs;};
+ modules =
+ [
+ ./hosts/mammun/configuration.nix
+ ]
+ ++ defaultModules;
+ };
+
+ # minimal ones
+ spawn = nixosSystem {
+ inherit system;
+ specialArgs = inputs;
+ modules = [./hosts/spawn/configuration.nix];
+ };
+}