diff --git a/hosts/algiz/default.nix b/hosts/algiz/default.nix index c98298d..9c6577a 100644 --- a/hosts/algiz/default.nix +++ b/hosts/algiz/default.nix @@ -8,10 +8,10 @@ restic ]; - languages = { - nim = true; - python = true; - }; + oizys.languages = [ + "nim" + "python" + ]; environment.systemPackages = with pkgs; [ rclone diff --git a/hosts/algiz/system.nix b/hosts/algiz/system.nix index 304deb2..14bc6ad 100644 --- a/hosts/algiz/system.nix +++ b/hosts/algiz/system.nix @@ -1,5 +1,5 @@ -{mkRune, ...}: { - users.motd = mkRune { +{lib, ...}: { + users.motd = lib.mkRune { number = "6"; rune = "algiz"; }; diff --git a/hosts/mannaz/default.nix b/hosts/mannaz/default.nix index e8e0114..fb91413 100644 --- a/hosts/mannaz/default.nix +++ b/hosts/mannaz/default.nix @@ -4,7 +4,7 @@ ]; oizys.desktop.enable = true; - cli.enable = true; + # Enable the X11 windowing system. services.xserver = { enable = true; diff --git a/hosts/mannaz/system.nix b/hosts/mannaz/system.nix index efb0942..540fd5a 100644 --- a/hosts/mannaz/system.nix +++ b/hosts/mannaz/system.nix @@ -1,10 +1,10 @@ { config, pkgs, - mkRune, + lib, ... }: { - users.motd = mkRune { + users.motd = lib.mkRune { number = "2"; rune = "mannaz"; }; diff --git a/hosts/othalan/default.nix b/hosts/othalan/default.nix index 53556b2..aff37ed 100644 --- a/hosts/othalan/default.nix +++ b/hosts/othalan/default.nix @@ -14,17 +14,15 @@ desktop.enable = true; vpn.enable = true; languages = [ - "misc" - "python" - "nim" - "tex" - "node" - ]; + "misc" + "python" + "nim" + "tex" + "node" + ]; }; vivaldi.enable = true; - - environment.systemPackages = with pkgs; [ zk rclone diff --git a/hosts/othalan/system.nix b/hosts/othalan/system.nix index cb02732..2a7874c 100644 --- a/hosts/othalan/system.nix +++ b/hosts/othalan/system.nix @@ -1,6 +1,6 @@ { pkgs, - mkRune, + lib, ... }: { networking.networkmanager.enable = true; @@ -27,7 +27,7 @@ pamixer ]; - services.getty.greetingLine = mkRune { + services.getty.greetingLine = lib.mkRune { rune = "othalan"; runeKind = "ascii"; }; diff --git a/lib/default.nix b/lib/default.nix index dc042d4..02bbb6c 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -7,11 +7,9 @@ inherit (nixpkgs.lib) hasSuffix nixosSystem genAttrs; inherit (nixpkgs.lib.filesystem) listFilesRecursive; - #supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"]; - supportedSystems = ["x86_64-linux" ]; runes = import ../modules/runes; -in rec { - forAllSystems = f: genAttrs supportedSystems (system: f nixpkgs.legacyPackages.${system}); + lib = nixpkgs.lib.extend (final: prev: { + mkIfIn = name: list: prev.mkIf (builtins.elem name list); mkRune = { rune, number ? "6", @@ -19,6 +17,20 @@ in rec { }: "[1;3${number}m\n" + runes.${rune}.${runeKind} + "\n"; + + }); + + #supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"]; + supportedSystems = ["x86_64-linux"]; +in rec { + forAllSystems = f: genAttrs supportedSystems (system: f nixpkgs.legacyPackages.${system}); + # mkRune = { + # rune, + # number ? "6", + # runeKind ? "braille", + # }: + # "[1;3${number}m\n" + runes.${rune}.${runeKind} + "\n"; + isNixFile = path: hasSuffix ".nix" path; buildOizys = _: forAllSystems ( @@ -42,7 +54,7 @@ in rec { isNixFile (listFilesRecursive (../. + "/hosts/${hostname}")); - specialArgs = {inherit inputs mkRune self;}; + specialArgs = {inherit inputs lib self;}; }; mapHosts = dir: mapAttrs (name: _: mkSystem name) (readDir dir); buildHosts = _: mapHosts ../hosts; diff --git a/modules/languages/misc.nix b/modules/languages/misc.nix index 3472f93..e2cf5d4 100644 --- a/modules/languages/misc.nix +++ b/modules/languages/misc.nix @@ -4,10 +4,10 @@ pkgs, ... }: let - inherit (lib) mkIf; + inherit (lib) mkIfIn; cfg = config.oizys.languages; in { - config = mkIf (builtins.elem "misc" cfg) { + config = mkIfIn "misc" cfg { environment.systemPackages = with pkgs; [ go rustup diff --git a/modules/languages/nim.nix b/modules/languages/nim.nix index f4844d6..2aaebd1 100644 --- a/modules/languages/nim.nix +++ b/modules/languages/nim.nix @@ -4,10 +4,10 @@ pkgs, ... }: let - inherit (lib) mkIf; + inherit (lib) mkIfIn; cfg = config.oizys.languages; in { - config = mkIf (builtins.elem "nim" cfg) { + config = mkIfIn "nim" cfg { environment.systemPackages = with pkgs; [ nim diff --git a/modules/languages/node.nix b/modules/languages/node.nix index d1c2f1b..ac7ea30 100644 --- a/modules/languages/node.nix +++ b/modules/languages/node.nix @@ -4,10 +4,10 @@ pkgs, ... }: let - inherit (lib) mkIf; + inherit (lib) mkIfIn; cfg = config.oizys.languages; in { - config = mkIf (builtins.elem "node" cfg) { + config = mkIfIn "node" cfg { environment.systemPackages = with pkgs; [ nodejs nodePackages.pnpm diff --git a/modules/languages/python.nix b/modules/languages/python.nix index d15a626..9f53115 100644 --- a/modules/languages/python.nix +++ b/modules/languages/python.nix @@ -4,10 +4,11 @@ pkgs, ... }: let - inherit (lib) mkIf; + + inherit (lib) mkIfIn; cfg = config.oizys.languages; in { - config = mkIf (builtins.elem "python" cfg) { + config = mkIfIn "python" cfg { environment.systemPackages = let python = pkgs.python3.withPackages (ps: with ps; [pip]); in diff --git a/modules/languages/tex.nix b/modules/languages/tex.nix index 3bf95a5..a05d87a 100644 --- a/modules/languages/tex.nix +++ b/modules/languages/tex.nix @@ -4,11 +4,10 @@ pkgs, ... }: let - inherit (lib) mkIf; - # cfg = config.oizys.languages; - langEnabled = name: builtins.elem name config.oizys.languages; + inherit (lib) mkIf mkIfIn; + cfg = config.oizys.languages; in { - config = mkIf (langEnabled "tex") { + config = mkIfIn "tex" cfg { environment.systemPackages = with pkgs; [ texlive.combined.scheme-full ];