From 349dad753c7f15d7abedc8194bd4d4247bbd1b8b Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sun, 27 Sep 2026 20:46:26 -0400 Subject: [PATCH] Add install of instawow. --- nix/configuration/configuration.nix | 1 + nix/configuration/hosts/odo/default.nix | 1 + nix/configuration/hosts/quark/default.nix | 1 + nix/configuration/roles/instawow/default.nix | 53 ++++++++++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 nix/configuration/roles/instawow/default.nix diff --git a/nix/configuration/configuration.nix b/nix/configuration/configuration.nix index 4f08f77..9ec6a6c 100644 --- a/nix/configuration/configuration.nix +++ b/nix/configuration/configuration.nix @@ -51,6 +51,7 @@ in ./roles/graphviz ./roles/hydra ./roles/image_based_appliance + ./roles/instawow ./roles/iso ./roles/iso_mount ./roles/jujutsu diff --git a/nix/configuration/hosts/odo/default.nix b/nix/configuration/hosts/odo/default.nix index 6789136..8181bc0 100644 --- a/nix/configuration/hosts/odo/default.nix +++ b/nix/configuration/hosts/odo/default.nix @@ -107,6 +107,7 @@ me.graphical = true; me.graphics_card_type = "amd"; me.graphviz.enable = true; + me.instawow.enable = true; me.iso_mount.enable = true; me.jujutsu.config = ../../roles/jujutsu/files/jujutsu_config_home.toml; me.jujutsu.enable = true; diff --git a/nix/configuration/hosts/quark/default.nix b/nix/configuration/hosts/quark/default.nix index 2c6a694..817a180 100644 --- a/nix/configuration/hosts/quark/default.nix +++ b/nix/configuration/hosts/quark/default.nix @@ -100,6 +100,7 @@ me.graphical = true; me.graphics_card_type = "amd"; me.graphviz.enable = true; + me.instawow.enable = true; me.iso_mount.enable = true; me.jujutsu.config = ../../roles/jujutsu/files/jujutsu_config_home.toml; me.jujutsu.enable = true; diff --git a/nix/configuration/roles/instawow/default.nix b/nix/configuration/roles/instawow/default.nix new file mode 100644 index 0000000..fa24bcf --- /dev/null +++ b/nix/configuration/roles/instawow/default.nix @@ -0,0 +1,53 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + imports = [ ]; + + options.me = { + instawow.enable = lib.mkOption { + type = lib.types.bool; + default = false; + example = true; + description = "Whether we want to install instawow."; + }; + }; + + config = lib.mkIf config.me.instawow.enable { + environment.systemPackages = with pkgs; [ + instawow + ]; + + environment.persistence."/persist" = lib.mkIf (config.me.mountPersistence) { + hideMounts = true; + users.talexander = { + directories = [ + { + directory = ".config/instawow"; + user = "talexander"; + group = "talexander"; + mode = "0755"; + } + ]; + }; + }; + + environment.persistence."/state" = lib.mkIf (config.me.mountPersistence) { + hideMounts = true; + users.talexander = { + directories = [ + { + directory = ".cache/instawow"; + user = "talexander"; + group = "talexander"; + mode = "0755"; + } + ]; + }; + }; + }; +}