summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/nixos/archetypes/collections/desktop.nix80
-rw-r--r--modules/nixos/archetypes/collections/desktop/cad.nix15
-rw-r--r--modules/nixos/archetypes/collections/desktop/chromium.nix18
-rw-r--r--modules/nixos/archetypes/collections/desktop/crypto.nix13
-rw-r--r--modules/nixos/archetypes/collections/desktop/default.nix13
-rw-r--r--modules/nixos/archetypes/collections/desktop/extra.nix16
-rw-r--r--modules/nixos/archetypes/collections/desktop/firefox.nix12
-rw-r--r--modules/nixos/archetypes/collections/desktop/graphics.nix16
-rw-r--r--modules/nixos/archetypes/collections/desktop/office.nix18
-rw-r--r--modules/nixos/archetypes/collections/desktop/utilities.nix29
-rw-r--r--modules/nixos/archetypes/collections/desktop/xserver.nix (renamed from modules/nixos/archetypes/collections/xserver.nix)0
-rw-r--r--modules/nixos/archetypes/collections/development/default.nix (renamed from modules/nixos/archetypes/collections/development.nix)4
-rw-r--r--modules/nixos/archetypes/collections/development/docker.nix (renamed from modules/nixos/archetypes/collections/docker.nix)0
-rw-r--r--modules/nixos/default.nix6
14 files changed, 156 insertions, 84 deletions
diff --git a/modules/nixos/archetypes/collections/desktop.nix b/modules/nixos/archetypes/collections/desktop.nix
deleted file mode 100644
index fff8682..0000000
--- a/modules/nixos/archetypes/collections/desktop.nix
+++ /dev/null
@@ -1,80 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.desktop;
-in {
- options._archetypes.collections.desktop = {
- utilities.enable = lib.mkEnableOption "install basic desktop utilities";
- extraUtilities.enable = lib.mkEnableOption "install extra desktop utilities";
- chromium = {
- enable = lib.mkEnableOption "install chromium browser";
- package = lib.mkOption {
- type = lib.types.package;
- default = pkgs.ungoogled-chromium;
- description = "chromium package to install";
- };
- };
- cad.enable = lib.mkEnableOption "install cad and 3d printing software";
- crypto.enable = lib.mkEnableOption "install crypto wallets";
- firefox.enable = lib.mkEnableOption "install firefox";
- graphics.enable = lib.mkEnableOption "install graphic design software";
- office.enable = lib.mkEnableOption "install office software";
- };
-
- config = {
- environment.systemPackages = with pkgs; [
- ] ++ lib.optionals cfg.utilities.enable [
- # Utilities
- arandr
- dmenu
- libnotify
- lowbat
- mpv
- pavolctld
- pavucontrol
- pcmanfm
- redshift
- scrot
- st
- sxiv
- wpa_supplicant_gui
- zathura
- ] ++ lib.optionals cfg.chromium.enable [
- # Chrome
- cfg.chromium.package
- ] ++ lib.optionals cfg.cad.enable [
- # CAD
- blender
- freecad
- prusa-slicer
- ] ++ lib.optionals cfg.crypto.enable [
- # Crypto Wallets
- sparrow
- ] ++ lib.optionals cfg.graphics.enable [
- # Graphics
- blender
- geeqie
- gimp3
- inkscape
- ] ++ lib.optionals cfg.office.enable [
- # Office
- hunspell # Spell checking in libreoffice
- hunspellDicts.en_US
- kdePackages.okular
- libreoffice
- pdfchain
- thunderbird
- ] ++ lib.optionals cfg.extraUtilities.enable [
- # Extra Utilities
- jellyfin-mpv-shim
- qbittorrent
- qdirstat
- remmina
- ];
-
- # Utilities
- programs.localsend.enable = cfg.utilities.enable; # Installs & opens firewall
- services.gvfs.enable = cfg.utilities.enable; # GVfs allows for mounting drives in a graphical file manager
-
- # Firefox
- programs.firefox.enable = cfg.firefox.enable;
- };
-}
diff --git a/modules/nixos/archetypes/collections/desktop/cad.nix b/modules/nixos/archetypes/collections/desktop/cad.nix
new file mode 100644
index 0000000..33edcd5
--- /dev/null
+++ b/modules/nixos/archetypes/collections/desktop/cad.nix
@@ -0,0 +1,15 @@
+{ pkgs, lib, config, ... }: let
+ cfg = config._archetypes.collections.desktop.cad;
+in {
+ options._archetypes.collections.desktop.cad = {
+ enable = lib.mkEnableOption "install cad and 3d printing software";
+ };
+
+ config = lib.mkIf cfg.enable {
+ environment.systemPackages = with pkgs; [
+ blender
+ freecad
+ prusa-slicer
+ ];
+ };
+}
diff --git a/modules/nixos/archetypes/collections/desktop/chromium.nix b/modules/nixos/archetypes/collections/desktop/chromium.nix
new file mode 100644
index 0000000..b4638f0
--- /dev/null
+++ b/modules/nixos/archetypes/collections/desktop/chromium.nix
@@ -0,0 +1,18 @@
+{ pkgs, lib, config, ... }: let
+ cfg = config._archetypes.collections.desktop.chromium;
+in {
+ options._archetypes.collections.desktop.chromium = {
+ enable = lib.mkEnableOption "install chromium browser";
+ package = lib.mkOption {
+ type = lib.types.package;
+ default = pkgs.ungoogled-chromium;
+ description = "chromium package to install";
+ };
+ };
+
+ config = lib.mkIf cfg.enable {
+ environment.systemPackages = [
+ cfg.package
+ ];
+ };
+}
diff --git a/modules/nixos/archetypes/collections/desktop/crypto.nix b/modules/nixos/archetypes/collections/desktop/crypto.nix
new file mode 100644
index 0000000..f90919e
--- /dev/null
+++ b/modules/nixos/archetypes/collections/desktop/crypto.nix
@@ -0,0 +1,13 @@
+{ pkgs, lib, config, ... }: let
+ cfg = config._archetypes.collections.desktop.crypto;
+in {
+ options._archetypes.collections.desktop.crypto = {
+ enable = lib.mkEnableOption "install crypto wallets";
+ };
+
+ config = lib.mkIf cfg.enable {
+ environment.systemPackages = with pkgs; [
+ sparrow
+ ];
+ };
+}
diff --git a/modules/nixos/archetypes/collections/desktop/default.nix b/modules/nixos/archetypes/collections/desktop/default.nix
new file mode 100644
index 0000000..bbca8df
--- /dev/null
+++ b/modules/nixos/archetypes/collections/desktop/default.nix
@@ -0,0 +1,13 @@
+{
+ imports = [
+ ./cad.nix
+ ./chromium.nix
+ ./crypto.nix
+ ./extra.nix
+ ./firefox.nix
+ ./graphics.nix
+ ./office.nix
+ ./utilities.nix
+ ./xserver.nix
+ ];
+}
diff --git a/modules/nixos/archetypes/collections/desktop/extra.nix b/modules/nixos/archetypes/collections/desktop/extra.nix
new file mode 100644
index 0000000..699b20f
--- /dev/null
+++ b/modules/nixos/archetypes/collections/desktop/extra.nix
@@ -0,0 +1,16 @@
+{ pkgs, lib, config, ... }: let
+ cfg = config._archetypes.collections.desktop.extraUtilities;
+in {
+ options._archetypes.collections.desktop.extraUtilities = {
+ enable = lib.mkEnableOption "install extra desktop utilities";
+ };
+
+ config = lib.mkIf cfg.enable {
+ environment.systemPackages = with pkgs; [
+ jellyfin-mpv-shim
+ qbittorrent
+ qdirstat
+ remmina
+ ];
+ };
+}
diff --git a/modules/nixos/archetypes/collections/desktop/firefox.nix b/modules/nixos/archetypes/collections/desktop/firefox.nix
new file mode 100644
index 0000000..02656f6
--- /dev/null
+++ b/modules/nixos/archetypes/collections/desktop/firefox.nix
@@ -0,0 +1,12 @@
+{ pkgs, lib, config, ... }: let
+ cfg = config._archetypes.collections.desktop.firefox;
+in {
+ options._archetypes.collections.desktop.firefox = {
+ enable = lib.mkEnableOption "install firefox";
+ };
+
+ config = lib.mkIf cfg.enable {
+ programs.firefox.enable = true;
+ };
+}
+
diff --git a/modules/nixos/archetypes/collections/desktop/graphics.nix b/modules/nixos/archetypes/collections/desktop/graphics.nix
new file mode 100644
index 0000000..f4242d1
--- /dev/null
+++ b/modules/nixos/archetypes/collections/desktop/graphics.nix
@@ -0,0 +1,16 @@
+{ pkgs, lib, config, ... }: let
+ cfg = config._archetypes.collections.desktop.graphics;
+in {
+ options._archetypes.collections.desktop.graphics = {
+ enable = lib.mkEnableOption "install graphic design software";
+ };
+
+ config = lib.mkIf cfg.enable {
+ environment.systemPackages = with pkgs; [
+ blender
+ geeqie
+ gimp3
+ inkscape
+ ];
+ };
+}
diff --git a/modules/nixos/archetypes/collections/desktop/office.nix b/modules/nixos/archetypes/collections/desktop/office.nix
new file mode 100644
index 0000000..23e6862
--- /dev/null
+++ b/modules/nixos/archetypes/collections/desktop/office.nix
@@ -0,0 +1,18 @@
+{ pkgs, lib, config, ... }: let
+ cfg = config._archetypes.collections.desktop.office;
+in {
+ options._archetypes.collections.desktop.office = {
+ enable = lib.mkEnableOption "install office software";
+ };
+
+ config = lib.mkIf cfg.enable {
+ environment.systemPackages = with pkgs; [
+ hunspell # Spell checking in libreoffice
+ hunspellDicts.en_US
+ kdePackages.okular
+ libreoffice
+ pdfchain
+ thunderbird
+ ];
+ };
+}
diff --git a/modules/nixos/archetypes/collections/desktop/utilities.nix b/modules/nixos/archetypes/collections/desktop/utilities.nix
new file mode 100644
index 0000000..43d4973
--- /dev/null
+++ b/modules/nixos/archetypes/collections/desktop/utilities.nix
@@ -0,0 +1,29 @@
+{ pkgs, lib, config, ... }: let
+ cfg = config._archetypes.collections.desktop.utilities;
+in {
+ options._archetypes.collections.desktop.utilities = {
+ enable = lib.mkEnableOption "install basic desktop utilities";
+ };
+
+ config = lib.mkIf cfg.enable {
+ environment.systemPackages = with pkgs; [
+ arandr
+ dmenu
+ libnotify
+ lowbat
+ mpv
+ pavolctld
+ pavucontrol
+ pcmanfm
+ redshift
+ scrot
+ st
+ sxiv
+ wpa_supplicant_gui
+ zathura
+ ];
+
+ programs.localsend.enable = true; # Installs & opens firewall
+ services.gvfs.enable = true; # GVfs allows for mounting drives in a graphical file manager
+ };
+}
diff --git a/modules/nixos/archetypes/collections/xserver.nix b/modules/nixos/archetypes/collections/desktop/xserver.nix
index 4cbdae8..4cbdae8 100644
--- a/modules/nixos/archetypes/collections/xserver.nix
+++ b/modules/nixos/archetypes/collections/desktop/xserver.nix
diff --git a/modules/nixos/archetypes/collections/development.nix b/modules/nixos/archetypes/collections/development/default.nix
index d0c979f..87fe2d2 100644
--- a/modules/nixos/archetypes/collections/development.nix
+++ b/modules/nixos/archetypes/collections/development/default.nix
@@ -2,6 +2,10 @@
cfg = config._archetypes.collections.development;
hugoFirewallPort = 1313;
in {
+ imports = [
+ ./docker.nix
+ ];
+
options._archetypes.collections.development = {
utilities.enable = lib.mkEnableOption "install basic dev utilities";
android.enable = lib.mkEnableOption "install android dev tools";
diff --git a/modules/nixos/archetypes/collections/docker.nix b/modules/nixos/archetypes/collections/development/docker.nix
index 629dff3..629dff3 100644
--- a/modules/nixos/archetypes/collections/docker.nix
+++ b/modules/nixos/archetypes/collections/development/docker.nix
diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix
index ed21fdc..59364f7 100644
--- a/modules/nixos/default.nix
+++ b/modules/nixos/default.nix
@@ -1,13 +1,11 @@
{
imports = [
./archetypes/collections/bluetooth.nix
- ./archetypes/collections/desktop.nix
- ./archetypes/collections/development.nix
- ./archetypes/collections/docker.nix
+ ./archetypes/collections/desktop
+ ./archetypes/collections/development
./archetypes/collections/fonts.nix
./archetypes/collections/utilities.nix
./archetypes/collections/virtualization.nix
- ./archetypes/collections/xserver.nix
./archetypes/profiles/desktop
./archetypes/profiles/headless