diff --git a/nix/configuration/configuration.nix b/nix/configuration/configuration.nix index 86c9597..314ea8f 100644 --- a/nix/configuration/configuration.nix +++ b/nix/configuration/configuration.nix @@ -60,6 +60,7 @@ ./roles/ansible ./roles/bluetooth ./roles/sm64ex + ./roles/shipwright ]; nix.settings.experimental-features = [ diff --git a/nix/configuration/hosts/odo/default.nix b/nix/configuration/hosts/odo/default.nix index e102bcd..1bbb043 100644 --- a/nix/configuration/hosts/odo/default.nix +++ b/nix/configuration/hosts/odo/default.nix @@ -67,4 +67,5 @@ me.zsh.enable = true; me.sm64ex.enable = true; + me.shipwright.enable = true; } diff --git a/nix/configuration/roles/shipwright/default.nix b/nix/configuration/roles/shipwright/default.nix new file mode 100644 index 0000000..c8a9baf --- /dev/null +++ b/nix/configuration/roles/shipwright/default.nix @@ -0,0 +1,32 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + imports = [ ]; + + options.me = { + shipwright.enable = lib.mkOption { + type = lib.types.bool; + default = false; + example = true; + description = "Whether we want to install shipwright."; + }; + }; + + config = lib.mkIf config.me.shipwright.enable ( + lib.mkMerge [ + { + allowedUnfree = [ "shipwright" ]; + } + (lib.mkIf config.me.graphical { + environment.systemPackages = with pkgs; [ + shipwright + ]; + }) + ] + ); +}