From 92e16d0032308324b768803b09f696e7b4320a59 Mon Sep 17 00:00:00 2001 From: William Date: Fri, 6 Feb 2026 22:36:30 -0300 Subject: [PATCH] add aspects/programs/ home-manager modules Program categories: graphics, media, office, utilities, web Co-Authored-By: Claude Opus 4.5 --- aspects/programs/graphics.nix | 27 ++++++++++++++ aspects/programs/media.nix | 29 +++++++++++++++ aspects/programs/office.nix | 25 +++++++++++++ aspects/programs/utilities.nix | 65 ++++++++++++++++++++++++++++++++++ aspects/programs/web.nix | 18 ++++++++++ 5 files changed, 164 insertions(+) create mode 100644 aspects/programs/graphics.nix create mode 100644 aspects/programs/media.nix create mode 100644 aspects/programs/office.nix create mode 100644 aspects/programs/utilities.nix create mode 100644 aspects/programs/web.nix diff --git a/aspects/programs/graphics.nix b/aspects/programs/graphics.nix new file mode 100644 index 0000000..1488125 --- /dev/null +++ b/aspects/programs/graphics.nix @@ -0,0 +1,27 @@ +{ ... }: + +{ + flake.modules.nixos.programs-graphics = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ + # Image Editing + gimp + inkscape + # CAD & 3D Modeling + plasticity + ]; + + services.flatpak.packages = [ + # Vector Graphics + "com.boxy_svg.BoxySVG" + # 3D Printing / Slicing + rec { + appId = "io.github.softfever.OrcaSlicer"; + sha256 = "0hdx5sg6fknj1pfnfxvlfwb5h6y1vjr6fyajbsnjph5gkp97c6p1"; + bundle = "${pkgs.fetchurl { + url = "https://github.com/SoftFever/OrcaSlicer/releases/download/v2.3.0/OrcaSlicer-Linux-flatpak_V2.3.0_x86_64.flatpak"; + inherit sha256; + }}"; + } + ]; + }; +} diff --git a/aspects/programs/media.nix b/aspects/programs/media.nix new file mode 100644 index 0000000..8b50b2e --- /dev/null +++ b/aspects/programs/media.nix @@ -0,0 +1,29 @@ +{ ... }: + +{ + flake.modules = { + nixos.programs-media = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ + # Audio + decibels + # Video + showtime + # Image Viewer + loupe + # Recording & Streaming + obs-studio + ]; + }; + + homeManager.programs-media = { pkgs, ... }: { + programs.obs-studio = { + enable = true; + plugins = with pkgs.obs-studio-plugins; [ + obs-vkcapture + obs-backgroundremoval + obs-pipewire-audio-capture + ]; + }; + }; + }; +} diff --git a/aspects/programs/office.nix b/aspects/programs/office.nix new file mode 100644 index 0000000..1fc6817 --- /dev/null +++ b/aspects/programs/office.nix @@ -0,0 +1,25 @@ +{ ... }: + +{ + flake.modules.nixos.programs-office = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ + # Spelling + aspell + aspellDicts.de + aspellDicts.en + aspellDicts.en-computers + aspellDicts.pt_BR + # Document Viewing + papers + # Presentations + presenterm + # Note Taking & Drawing + rnote + ]; + + services.flatpak.packages = [ + # Office Suite + "com.collabora.Office" + ]; + }; +} diff --git a/aspects/programs/utilities.nix b/aspects/programs/utilities.nix new file mode 100644 index 0000000..15b267f --- /dev/null +++ b/aspects/programs/utilities.nix @@ -0,0 +1,65 @@ +{ ... }: + +{ + flake.modules = { + nixos.programs-utilities = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ + # Terminal + ghostty + # File Management + nautilus + gnome-disk-utility + # Archive Tools + p7zip + unrar + # Cloud & Remote + rclone + # System Monitoring + mission-center + # Desktop Integration + adwaita-icon-theme + junction + libfido2 + toggleaudiosink + # Xwayland Support + xwayland-satellite + ]; + + services.flatpak.packages = [ + # Flatpak Management + "com.github.tchx84.Flatseal" + # Remote Desktop + "com.rustdesk.RustDesk" + ]; + }; + + homeManager.programs-utilities = { pkgs, ... }: { + programs = { + ghostty = { + enable = true; + settings = { + cursor-style = "block"; + shell-integration-features = "no-cursor"; + cursor-style-blink = false; + custom-shader = "${builtins.fetchurl { + url = "https://raw.githubusercontent.com/hackr-sh/ghostty-shaders/cb6eb4b0d1a3101c869c62e458b25a826f9dcde3/cursor_blaze.glsl"; + sha256 = "sha256:0g2lgqjdrn3c51glry7x2z30y7ml0y61arl5ykmf4yj0p85s5f41"; + }}"; + bell-features = ""; + gtk-titlebar-style = "tabs"; + keybind = [ "shift+enter=text:\\x1b\\r" ]; + }; + }; + + password-store = { + enable = true; + package = pkgs.pass-wayland; + }; + }; + + home.sessionVariables = { + TERMINAL = "ghostty"; + }; + }; + }; +} diff --git a/aspects/programs/web.nix b/aspects/programs/web.nix new file mode 100644 index 0000000..cc3753b --- /dev/null +++ b/aspects/programs/web.nix @@ -0,0 +1,18 @@ +{ ... }: + +{ + flake.modules.nixos.programs-web = { inputs, pkgs, system, ... }: { + environment.systemPackages = with pkgs; [ + # Browsers + inputs.zen-browser.packages."${system}".default + tor-browser + # Communication + vesktop + # Cloud & Sync + bitwarden-desktop + nextcloud-client + # Downloads + fragments + ]; + }; +}