From a21805e59b2bf349774bd6dd78a9e2dc027ac656 Mon Sep 17 00:00:00 2001 From: 4DBug <4DBug@github.com> Date: Tue, 3 Mar 2026 12:08:01 -0600 Subject: [PATCH] organize packages --- README.md | 11 + modules/hosts/defaults.nix | 3 +- modules/hosts/laptop/laptop.nix | 11 +- modules/hosts/nix/nix.nix | 10 +- .../services/{ => gitea}/gitea-mirrors.nix | 0 modules/services/{ => gitea}/gitea.nix | 0 modules/software/{ => browsers}/firefox.nix | 0 modules/software/{ => browsers}/librewolf.nix | 0 modules/software/compatibility.nix | 1 - modules/software/compatibility/appimage.nix | 14 ++ .../software/compatibility/compatibility.nix | 5 + modules/software/compatibility/nix-ld.nix | 23 +++ modules/software/compatibility/wine.nix | 10 + modules/software/development/development.nix | 5 + modules/software/development/editors.nix | 11 + modules/software/flatpak.nix | 56 ++--- modules/software/fonts.nix | 25 +++ modules/software/gaming.nix | 1 - modules/software/gaming/game-tools.nix | 18 ++ modules/software/gaming/gaming.nix | 5 + modules/software/gaming/hytale.nix | 16 ++ modules/software/gaming/polytoria.nix | 16 ++ modules/software/gaming/roblox.nix | 10 + modules/software/gaming/steam.nix | 34 +++ .../{ => janitor}/janitor-backend.nix | 0 modules/software/{ => janitor}/janitor.nix | 0 modules/software/music.nix | 1 - modules/software/{ => music}/beets.nix | 0 .../{core/audio => software/music}/mpd.nix | 0 modules/software/music/music.nix | 5 + modules/software/music/nicotine.nix | 9 + modules/software/music/player.nix | 14 ++ modules/software/placeholder.nix | 195 ------------------ modules/software/social.nix | 1 - modules/software/social/mail.nix | 9 + modules/software/social/matrix.nix | 9 + modules/software/{ => social}/nixcord.nix | 0 modules/software/social/social.nix | 5 + modules/software/{ => utilities}/cad.nix | 0 .../desktop.nix} | 20 +- modules/software/utilities/system.nix | 28 +++ modules/software/utilities/utilities.nix | 5 + 42 files changed, 320 insertions(+), 266 deletions(-) rename modules/services/{ => gitea}/gitea-mirrors.nix (100%) rename modules/services/{ => gitea}/gitea.nix (100%) rename modules/software/{ => browsers}/firefox.nix (100%) rename modules/software/{ => browsers}/librewolf.nix (100%) delete mode 100644 modules/software/compatibility.nix create mode 100644 modules/software/compatibility/appimage.nix create mode 100644 modules/software/compatibility/compatibility.nix create mode 100644 modules/software/compatibility/nix-ld.nix create mode 100644 modules/software/compatibility/wine.nix create mode 100644 modules/software/development/development.nix create mode 100644 modules/software/development/editors.nix create mode 100644 modules/software/fonts.nix delete mode 100644 modules/software/gaming.nix create mode 100644 modules/software/gaming/game-tools.nix create mode 100644 modules/software/gaming/gaming.nix create mode 100644 modules/software/gaming/hytale.nix create mode 100644 modules/software/gaming/polytoria.nix create mode 100644 modules/software/gaming/roblox.nix create mode 100644 modules/software/gaming/steam.nix rename modules/software/{ => janitor}/janitor-backend.nix (100%) rename modules/software/{ => janitor}/janitor.nix (100%) delete mode 100644 modules/software/music.nix rename modules/software/{ => music}/beets.nix (100%) rename modules/{core/audio => software/music}/mpd.nix (100%) create mode 100644 modules/software/music/music.nix create mode 100644 modules/software/music/nicotine.nix create mode 100644 modules/software/music/player.nix delete mode 100644 modules/software/placeholder.nix delete mode 100644 modules/software/social.nix create mode 100644 modules/software/social/mail.nix create mode 100644 modules/software/social/matrix.nix rename modules/software/{ => social}/nixcord.nix (100%) create mode 100644 modules/software/social/social.nix rename modules/software/{ => utilities}/cad.nix (100%) rename modules/software/{development.nix => utilities/desktop.nix} (57%) create mode 100644 modules/software/utilities/system.nix create mode 100644 modules/software/utilities/utilities.nix diff --git a/README.md b/README.md index 1fd6ce2..f583a79 100644 --- a/README.md +++ b/README.md @@ -65,3 +65,14 @@ all services on `box` are proxied through cloudflared tunnels to `*.bug.tools`. | [nixcord](https://github.com/FlameFlag/nixcord) | Declarative Vesktop/Discord | | [nix-flatpak](https://github.com/gmodena/nix-flatpak) | Declarative Flatpak | | [copyparty](https://github.com/9001/copyparty) | File server | + +--- + +## TODO +fix matrix server +fix invidious instance +fix redlib instance +add fish plugins +configure librewolf +configure cosmic with home +make portmap system diff --git a/modules/hosts/defaults.nix b/modules/hosts/defaults.nix index 1a12420..0e1d02e 100644 --- a/modules/hosts/defaults.nix +++ b/modules/hosts/defaults.nix @@ -1,6 +1,6 @@ { den.default = { - nixos = { pkgs, lib, ... }: { + nixos = { pkgs, ... }: { imports = [ /etc/nixos/hardware-configuration.nix ]; @@ -71,6 +71,7 @@ tree unzip wget + tree ]; time.timeZone = "America/Chicago"; diff --git a/modules/hosts/laptop/laptop.nix b/modules/hosts/laptop/laptop.nix index 653ab16..0bdd2c3 100644 --- a/modules/hosts/laptop/laptop.nix +++ b/modules/hosts/laptop/laptop.nix @@ -1,4 +1,3 @@ - { den, ... }: { den.aspects.laptop = { includes = with den.aspects; [ @@ -13,19 +12,19 @@ syncthing swap cloudflare-warp - packages development cad - mpd virtualisation flatpak fish dns openssh - beets catppuccin - #librewolf - nixcord + music + social + gaming + compatibility + utilities janitor ]; diff --git a/modules/hosts/nix/nix.nix b/modules/hosts/nix/nix.nix index 0d9ace9..2e523bb 100644 --- a/modules/hosts/nix/nix.nix +++ b/modules/hosts/nix/nix.nix @@ -14,19 +14,19 @@ syncthing swap #cloudflare-warp - packages development #cad - mpd virtualisation flatpak fish dns openssh - beets catppuccin - # librewolf - nixcord + music + social + gaming + compatibility + utilities ]; nixos = { diff --git a/modules/services/gitea-mirrors.nix b/modules/services/gitea/gitea-mirrors.nix similarity index 100% rename from modules/services/gitea-mirrors.nix rename to modules/services/gitea/gitea-mirrors.nix diff --git a/modules/services/gitea.nix b/modules/services/gitea/gitea.nix similarity index 100% rename from modules/services/gitea.nix rename to modules/services/gitea/gitea.nix diff --git a/modules/software/firefox.nix b/modules/software/browsers/firefox.nix similarity index 100% rename from modules/software/firefox.nix rename to modules/software/browsers/firefox.nix diff --git a/modules/software/librewolf.nix b/modules/software/browsers/librewolf.nix similarity index 100% rename from modules/software/librewolf.nix rename to modules/software/browsers/librewolf.nix diff --git a/modules/software/compatibility.nix b/modules/software/compatibility.nix deleted file mode 100644 index 9e26dfe..0000000 --- a/modules/software/compatibility.nix +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/modules/software/compatibility/appimage.nix b/modules/software/compatibility/appimage.nix new file mode 100644 index 0000000..0ee76f1 --- /dev/null +++ b/modules/software/compatibility/appimage.nix @@ -0,0 +1,14 @@ +{ ... }: { + den.aspects.appimage = { + nixos = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ + appimage-run + ]; + + programs.appimage = { + enable = true; + binfmt = true; + }; + }; + }; +} \ No newline at end of file diff --git a/modules/software/compatibility/compatibility.nix b/modules/software/compatibility/compatibility.nix new file mode 100644 index 0000000..e51a191 --- /dev/null +++ b/modules/software/compatibility/compatibility.nix @@ -0,0 +1,5 @@ +{ den, ... }: { + den.aspects.compatibility = { + includes = with den.aspects; [ wine appimage nix-ld ]; + }; +} \ No newline at end of file diff --git a/modules/software/compatibility/nix-ld.nix b/modules/software/compatibility/nix-ld.nix new file mode 100644 index 0000000..b147ec3 --- /dev/null +++ b/modules/software/compatibility/nix-ld.nix @@ -0,0 +1,23 @@ +{ ... }: { + den.aspects.nix-ld = { + nixos = { pkgs, options, ... }: { + programs.nix-ld = { + enable = true; + + libraries = options.programs.nix-ld.libraries.default ++ (with pkgs; [ + libxml2 + udev + gcc + egl-wayland + mesa + libglvnd + wayland + libX11 + libXcursor + libXrandr + libXi + ]); + }; + }; + }; +} \ No newline at end of file diff --git a/modules/software/compatibility/wine.nix b/modules/software/compatibility/wine.nix new file mode 100644 index 0000000..a556dcf --- /dev/null +++ b/modules/software/compatibility/wine.nix @@ -0,0 +1,10 @@ +{ ... }: { + den.aspects.wine = { + nixos = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ + wine64 + wineWow64Packages.full + ]; + }; + }; +} \ No newline at end of file diff --git a/modules/software/development/development.nix b/modules/software/development/development.nix new file mode 100644 index 0000000..9110d56 --- /dev/null +++ b/modules/software/development/development.nix @@ -0,0 +1,5 @@ +{ den, ... }: { + den.aspects.development = { + includes = with den.aspects; [ editors ]; + }; +} diff --git a/modules/software/development/editors.nix b/modules/software/development/editors.nix new file mode 100644 index 0000000..480ecb1 --- /dev/null +++ b/modules/software/development/editors.nix @@ -0,0 +1,11 @@ +{ ... }: { + den.aspects.editors = { + nixos = { pkgs, ... }: { + users.users.bug.packages = with pkgs; [ + zed-editor + vscode + arduino-ide + ]; + }; + }; +} diff --git a/modules/software/flatpak.nix b/modules/software/flatpak.nix index 558fb4f..226f5cc 100644 --- a/modules/software/flatpak.nix +++ b/modules/software/flatpak.nix @@ -1,55 +1,25 @@ { inputs, lib, ... }: { den.aspects.flatpak = { - nixos = { pkgs, ... }: { + nixos = { ... }: { imports = [ inputs.nix-flatpak.nixosModules.nix-flatpak ]; services.flatpak = { - enable = true; + enable = true; - remotes = lib.mkOptionDefault [{ - name = "flathub-beta"; - location = "https://flathub.org/beta-repo/flathub-beta.flatpakrepo"; - }]; + remotes = lib.mkOptionDefault [{ + name = "flathub-beta"; + location = "https://flathub.org/beta-repo/flathub-beta.flatpakrepo"; + }]; - update.auto.enable = true; - uninstallUnmanaged = true; + update.auto.enable = true; + uninstallUnmanaged = true; - packages = [ - "org.vinegarhq.Sober" - "org.vinegarhq.Vinegar" - "org.gnome.Decibels" - "org.pipewire.Helvum" - "community.pathofbuilding.PathOfBuilding" - "io.github.gaheldev.Millisecond" - - { - appId = "com.hytale.Launcher"; - sha256 = "sha256-SUxfyovC2umZmsOj5bOTZ8WfGCpnWcz7svOESwNekV0="; - bundle = "${pkgs.fetchurl { - url = "https://launcher.hytale.com/builds/release/linux/amd64/hytale-launcher-latest.flatpak"; - sha256 = "sha256-SUxfyovC2umZmsOj5bOTZ8WfGCpnWcz7svOESwNekV0="; - }}"; - } - - # add Polytoria client - # https://cdn.polytoria.com/releases/installer/linux/Polytoria%20Setup%204.12.0.flatpak - - { - appId = "com.polytoria.launcher"; - sha256 = "sha256-VjhNiJfSdCtlH2SuP3Mn8jjOrx5xcOqhtDKaWYIwxYg="; - bundle = "${pkgs.fetchurl { - url = "https://github.com/4DBug/poly/releases/download/poly/poly.flatpak"; - sha256 = "sha256-VjhNiJfSdCtlH2SuP3Mn8jjOrx5xcOqhtDKaWYIwxYg="; - }}"; - } - ]; - - overrides = { - global = { - Context.sockets = ["wayland" "!x11" "!fallback-x11"]; - }; + overrides = { + global = { + Context.sockets = [ "wayland" "!x11" "!fallback-x11" ]; }; + }; }; }; }; -} +} \ No newline at end of file diff --git a/modules/software/fonts.nix b/modules/software/fonts.nix new file mode 100644 index 0000000..b404b2c --- /dev/null +++ b/modules/software/fonts.nix @@ -0,0 +1,25 @@ +{ ... }: { + den.aspects.fonts = { + nixos = { pkgs, ... }: { + fonts = { + fontDir.enable = true; + enableDefaultPackages = true; + + packages = with pkgs; [ + twitter-color-emoji + nerd-fonts.fira-code + nerd-fonts.droid-sans-mono + ]; + + fontconfig = { + enable = true; + useEmbeddedBitmaps = true; + + defaultFonts = { + emoji = [ "Twitter Color Emoji" ]; + }; + }; + }; + }; + }; +} \ No newline at end of file diff --git a/modules/software/gaming.nix b/modules/software/gaming.nix deleted file mode 100644 index 9e26dfe..0000000 --- a/modules/software/gaming.nix +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/modules/software/gaming/game-tools.nix b/modules/software/gaming/game-tools.nix new file mode 100644 index 0000000..342e6a0 --- /dev/null +++ b/modules/software/gaming/game-tools.nix @@ -0,0 +1,18 @@ +{ ... }: { + den.aspects.game-tools = { + nixos = { pkgs, ... }: { + users.users.bug.packages = with pkgs; [ + steamtinkerlaunch + scanmem + samrewritten + lug-helper + gamemode + steam-run + ]; + + services.flatpak.packages = [ + "community.pathofbuilding.PathOfBuilding" + ]; + }; + }; +} \ No newline at end of file diff --git a/modules/software/gaming/gaming.nix b/modules/software/gaming/gaming.nix new file mode 100644 index 0000000..c8ed239 --- /dev/null +++ b/modules/software/gaming/gaming.nix @@ -0,0 +1,5 @@ +{ den, ... }: { + den.aspects.gaming = { + includes = with den.aspects; [ steam roblox hytale polytoria game-tools ]; + }; +} diff --git a/modules/software/gaming/hytale.nix b/modules/software/gaming/hytale.nix new file mode 100644 index 0000000..0040b38 --- /dev/null +++ b/modules/software/gaming/hytale.nix @@ -0,0 +1,16 @@ +{ ... }: { + den.aspects.hytale = { + nixos = { pkgs, ... }: { + services.flatpak.packages = [ + { + appId = "com.hytale.Launcher"; + sha256 = "sha256-SUxfyovC2umZmsOj5bOTZ8WfGCpnWcz7svOESwNekV0="; + bundle = "${pkgs.fetchurl { + url = "https://launcher.hytale.com/builds/release/linux/amd64/hytale-launcher-latest.flatpak"; + sha256 = "sha256-SUxfyovC2umZmsOj5bOTZ8WfGCpnWcz7svOESwNekV0="; + }}"; + } + ]; + }; + }; +} diff --git a/modules/software/gaming/polytoria.nix b/modules/software/gaming/polytoria.nix new file mode 100644 index 0000000..b291bdc --- /dev/null +++ b/modules/software/gaming/polytoria.nix @@ -0,0 +1,16 @@ +{ ... }: { + den.aspects.polytoria = { + nixos = { pkgs, ... }: { + services.flatpak.packages = [ + { + appId = "com.polytoria.launcher"; + sha256 = "sha256-VjhNiJfSdCtlH2SuP3Mn8jjOrx5xcOqhtDKaWYIwxYg="; + bundle = "${pkgs.fetchurl { + url = "https://github.com/4DBug/poly/releases/download/poly/poly.flatpak"; + sha256 = "sha256-VjhNiJfSdCtlH2SuP3Mn8jjOrx5xcOqhtDKaWYIwxYg="; + }}"; + } + ]; + }; + }; +} diff --git a/modules/software/gaming/roblox.nix b/modules/software/gaming/roblox.nix new file mode 100644 index 0000000..52a46bd --- /dev/null +++ b/modules/software/gaming/roblox.nix @@ -0,0 +1,10 @@ +{ ... }: { + den.aspects.roblox = { + nixos = { + services.flatpak.packages = [ + "org.vinegarhq.Sober" + "org.vinegarhq.Vinegar" + ]; + }; + }; +} \ No newline at end of file diff --git a/modules/software/gaming/steam.nix b/modules/software/gaming/steam.nix new file mode 100644 index 0000000..588f784 --- /dev/null +++ b/modules/software/gaming/steam.nix @@ -0,0 +1,34 @@ +{ ... }: { + den.aspects.steam = { + nixos = { pkgs, ... }: { + programs = { + steam = { + enable = true; + + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = false; + + localNetworkGameTransfers.openFirewall = true; + + gamescopeSession.enable = true; + + extraCompatPackages = with pkgs; [ + proton-ge-bin + ]; + + #platformOptimizations.enable = true; + }; + + gamescope = { + enable = true; + capSysNice = true; + + args = [ + "--rt" + "--expose-wayland" + ]; + }; + }; + }; + }; +} \ No newline at end of file diff --git a/modules/software/janitor-backend.nix b/modules/software/janitor/janitor-backend.nix similarity index 100% rename from modules/software/janitor-backend.nix rename to modules/software/janitor/janitor-backend.nix diff --git a/modules/software/janitor.nix b/modules/software/janitor/janitor.nix similarity index 100% rename from modules/software/janitor.nix rename to modules/software/janitor/janitor.nix diff --git a/modules/software/music.nix b/modules/software/music.nix deleted file mode 100644 index 0967ef4..0000000 --- a/modules/software/music.nix +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/modules/software/beets.nix b/modules/software/music/beets.nix similarity index 100% rename from modules/software/beets.nix rename to modules/software/music/beets.nix diff --git a/modules/core/audio/mpd.nix b/modules/software/music/mpd.nix similarity index 100% rename from modules/core/audio/mpd.nix rename to modules/software/music/mpd.nix diff --git a/modules/software/music/music.nix b/modules/software/music/music.nix new file mode 100644 index 0000000..609f835 --- /dev/null +++ b/modules/software/music/music.nix @@ -0,0 +1,5 @@ +{ den, ... }: { + den.aspects.music = { + includes = with den.aspects; [ beets player nicotine mpd ]; + }; +} diff --git a/modules/software/music/nicotine.nix b/modules/software/music/nicotine.nix new file mode 100644 index 0000000..6f7cbc1 --- /dev/null +++ b/modules/software/music/nicotine.nix @@ -0,0 +1,9 @@ +{ + den.aspects.nicotine = { + nixos = { pkgs, ... }: { + users.users.bug.packages = with pkgs; [ + nicotine-plus + ]; + }; + }; +} \ No newline at end of file diff --git a/modules/software/music/player.nix b/modules/software/music/player.nix new file mode 100644 index 0000000..2ddc360 --- /dev/null +++ b/modules/software/music/player.nix @@ -0,0 +1,14 @@ +{ ... }: { + den.aspects.player = { + nixos = { pkgs, ... }: { + users.users.bug.packages = with pkgs; [ + euphonica + ]; + + services.flatpak.packages = [ + "org.gnome.Decibels" + "org.pipewire.Helvum" + ]; + }; + }; +} diff --git a/modules/software/placeholder.nix b/modules/software/placeholder.nix deleted file mode 100644 index ed3bde6..0000000 --- a/modules/software/placeholder.nix +++ /dev/null @@ -1,195 +0,0 @@ -{ - den.aspects.packages = { - nixos = { pkgs, options, ... }: { - environment.systemPackages = with pkgs; [ - gnome-boxes - - wine64 - wineWow64Packages.full - - appimage-run - - pulseaudioFull - - lug-helper - gamemode - steam-run - - firmware-updater - - file-roller - - baobab - - firefox-bin - ]; - - users.users.bug.packages = with pkgs; [ - obsidian - # vesktop - nicotine-plus - fastfetch - gh - scanmem - samrewritten - impression - - mission-center - - authenticator - - steamtinkerlaunch - - #prismlauncher - - euphonica - - kooha - - loupe - - arduino-ide - - geary - - fractal - - gnome-calendar - ]; - - - services = { - /* - flatpak = { - enable = true; - - remotes = lib.mkOptionDefault [{ - name = "flathub-beta"; - location = "https://flathub.org/beta-repo/flathub-beta.flatpakrepo"; - }]; - - update.auto.enable = true; - uninstallUnmanaged = true; - - packages = [ - "org.vinegarhq.Sober" - "org.vinegarhq.Vinegar" - "org.gnome.Decibels" - "org.pipewire.Helvum" - "community.pathofbuilding.PathOfBuilding" - "io.github.gaheldev.Millisecond" - - { - appId = "com.hytale.Launcher"; - sha256 = "sha256-SUxfyovC2umZmsOj5bOTZ8WfGCpnWcz7svOESwNekV0="; - bundle = "${pkgs.fetchurl { - url = "https://launcher.hytale.com/builds/release/linux/amd64/hytale-launcher-latest.flatpak"; - sha256 = "sha256-SUxfyovC2umZmsOj5bOTZ8WfGCpnWcz7svOESwNekV0="; - }}"; - } - - # add Polytoria client - # https://cdn.polytoria.com/releases/installer/linux/Polytoria%20Setup%204.12.0.flatpak - - { - appId = "com.polytoria.launcher"; - sha256 = "sha256-VjhNiJfSdCtlH2SuP3Mn8jjOrx5xcOqhtDKaWYIwxYg="; - bundle = "${pkgs.fetchurl { - url = "https://github.com/4DBug/poly/releases/download/poly/poly.flatpak"; - sha256 = "sha256-VjhNiJfSdCtlH2SuP3Mn8jjOrx5xcOqhtDKaWYIwxYg="; - }}"; - } - ]; - - overrides = { - global = { - Context.sockets = ["wayland" "!x11" "!fallback-x11"]; - }; - }; - }; - */ - - ollama = { - enable = false; - - loadModels = [ "llama3.2:3b" "deepseek-r1:1.5b" "deepseek-r1:8b"]; - }; - }; - - fonts = { - fontDir.enable = true; - enableDefaultPackages = true; - - packages = with pkgs; [ - twitter-color-emoji - nerd-fonts.fira-code - nerd-fonts.droid-sans-mono - ]; - - fontconfig = { - enable = true; - useEmbeddedBitmaps = true; - - defaultFonts = { - emoji = [ "Twitter Color Emoji" ]; - }; - }; - }; - - programs = { - appimage = { - enable = true; - binfmt = true; - }; - - steam = { - enable = true; - - remotePlay.openFirewall = true; - dedicatedServer.openFirewall = false; - - localNetworkGameTransfers.openFirewall = true; - - gamescopeSession.enable = true; - - extraCompatPackages = with pkgs; [ - proton-ge-bin - ]; - - #platformOptimizations.enable = true; - }; - - ydotool.enable = true; - - gamescope = { - enable = true; - capSysNice = true; - args = [ - "--rt" - "--expose-wayland" - ]; - }; - - virt-manager.enable = true; - - nix-ld = { - enable = true; - - libraries = options.programs.nix-ld.libraries.default ++ (with pkgs; [ - libxml2 - udev - gcc - egl-wayland - mesa - libglvnd - wayland - libX11 - libXcursor - libXrandr - libXi - ]); - }; - }; - }; - }; -} diff --git a/modules/software/social.nix b/modules/software/social.nix deleted file mode 100644 index 9e26dfe..0000000 --- a/modules/software/social.nix +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/modules/software/social/mail.nix b/modules/software/social/mail.nix new file mode 100644 index 0000000..507d468 --- /dev/null +++ b/modules/software/social/mail.nix @@ -0,0 +1,9 @@ +{ ... }: { + den.aspects.mail = { + nixos = { pkgs, ... }: { + users.users.bug.packages = with pkgs; [ + geary + ]; + }; + }; +} diff --git a/modules/software/social/matrix.nix b/modules/software/social/matrix.nix new file mode 100644 index 0000000..7983ade --- /dev/null +++ b/modules/software/social/matrix.nix @@ -0,0 +1,9 @@ +{ ... }: { + den.aspects.matrix-client = { + nixos = { pkgs, ... }: { + users.users.bug.packages = with pkgs; [ + fractal + ]; + }; + }; +} diff --git a/modules/software/nixcord.nix b/modules/software/social/nixcord.nix similarity index 100% rename from modules/software/nixcord.nix rename to modules/software/social/nixcord.nix diff --git a/modules/software/social/social.nix b/modules/software/social/social.nix new file mode 100644 index 0000000..21cadbc --- /dev/null +++ b/modules/software/social/social.nix @@ -0,0 +1,5 @@ +{ den, ... }: { + den.aspects.social = { + includes = with den.aspects; [ nixcord matrix-client mail ]; + }; +} diff --git a/modules/software/cad.nix b/modules/software/utilities/cad.nix similarity index 100% rename from modules/software/cad.nix rename to modules/software/utilities/cad.nix diff --git a/modules/software/development.nix b/modules/software/utilities/desktop.nix similarity index 57% rename from modules/software/development.nix rename to modules/software/utilities/desktop.nix index 4aacad4..d3beb14 100644 --- a/modules/software/development.nix +++ b/modules/software/utilities/desktop.nix @@ -1,21 +1,17 @@ -{ - den.aspects.development = { +{ ... }: { + den.aspects.desktop-utils = { nixos = { pkgs, ... }: { environment.systemPackages = with pkgs; [ file-roller ]; users.users.bug.packages = with pkgs; [ - zed-editor - - vscode - - tree - gh - scanmem - - arduino-ide + obsidian + impression + kooha + loupe + authenticator ]; }; }; -} +} \ No newline at end of file diff --git a/modules/software/utilities/system.nix b/modules/software/utilities/system.nix new file mode 100644 index 0000000..31b8172 --- /dev/null +++ b/modules/software/utilities/system.nix @@ -0,0 +1,28 @@ +{ ... }: { + den.aspects.system-utils = { + nixos = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ + gnome-boxes + pulseaudioFull + firmware-updater + ]; + + users.users.bug.packages = with pkgs; [ + mission-center + baobab + fastfetch + ]; + + programs = { + ydotool.enable = true; + + virt-manager.enable = true; + }; + + services.ollama = { + enable = false; + loadModels = [ "llama3.2:3b" "deepseek-r1:1.5b" "deepseek-r1:8b" ]; + }; + }; + }; +} diff --git a/modules/software/utilities/utilities.nix b/modules/software/utilities/utilities.nix new file mode 100644 index 0000000..db680a5 --- /dev/null +++ b/modules/software/utilities/utilities.nix @@ -0,0 +1,5 @@ +{ den, ... }: { + den.aspects.utilities = { + includes = with den.aspects; [ system-utils desktop-utils fonts ]; + }; +} \ No newline at end of file