organize packages

This commit is contained in:
4DBug
2026-03-03 12:08:01 -06:00
parent 60805bcace
commit a21805e59b
42 changed files with 320 additions and 266 deletions

View File

@@ -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 | | [nixcord](https://github.com/FlameFlag/nixcord) | Declarative Vesktop/Discord |
| [nix-flatpak](https://github.com/gmodena/nix-flatpak) | Declarative Flatpak | | [nix-flatpak](https://github.com/gmodena/nix-flatpak) | Declarative Flatpak |
| [copyparty](https://github.com/9001/copyparty) | File server | | [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

View File

@@ -1,6 +1,6 @@
{ {
den.default = { den.default = {
nixos = { pkgs, lib, ... }: { nixos = { pkgs, ... }: {
imports = [ imports = [
/etc/nixos/hardware-configuration.nix /etc/nixos/hardware-configuration.nix
]; ];
@@ -71,6 +71,7 @@
tree tree
unzip unzip
wget wget
tree
]; ];
time.timeZone = "America/Chicago"; time.timeZone = "America/Chicago";

View File

@@ -1,4 +1,3 @@
{ den, ... }: { { den, ... }: {
den.aspects.laptop = { den.aspects.laptop = {
includes = with den.aspects; [ includes = with den.aspects; [
@@ -13,19 +12,19 @@
syncthing syncthing
swap swap
cloudflare-warp cloudflare-warp
packages
development development
cad cad
mpd
virtualisation virtualisation
flatpak flatpak
fish fish
dns dns
openssh openssh
beets
catppuccin catppuccin
#librewolf music
nixcord social
gaming
compatibility
utilities
janitor janitor
]; ];

View File

@@ -14,19 +14,19 @@
syncthing syncthing
swap swap
#cloudflare-warp #cloudflare-warp
packages
development development
#cad #cad
mpd
virtualisation virtualisation
flatpak flatpak
fish fish
dns dns
openssh openssh
beets
catppuccin catppuccin
# librewolf music
nixcord social
gaming
compatibility
utilities
]; ];
nixos = { nixos = {

View File

@@ -1 +0,0 @@
{}

View File

@@ -0,0 +1,14 @@
{ ... }: {
den.aspects.appimage = {
nixos = { pkgs, ... }: {
environment.systemPackages = with pkgs; [
appimage-run
];
programs.appimage = {
enable = true;
binfmt = true;
};
};
};
}

View File

@@ -0,0 +1,5 @@
{ den, ... }: {
den.aspects.compatibility = {
includes = with den.aspects; [ wine appimage nix-ld ];
};
}

View File

@@ -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
]);
};
};
};
}

View File

@@ -0,0 +1,10 @@
{ ... }: {
den.aspects.wine = {
nixos = { pkgs, ... }: {
environment.systemPackages = with pkgs; [
wine64
wineWow64Packages.full
];
};
};
}

View File

@@ -0,0 +1,5 @@
{ den, ... }: {
den.aspects.development = {
includes = with den.aspects; [ editors ];
};
}

View File

@@ -0,0 +1,11 @@
{ ... }: {
den.aspects.editors = {
nixos = { pkgs, ... }: {
users.users.bug.packages = with pkgs; [
zed-editor
vscode
arduino-ide
];
};
};
}

View File

@@ -1,54 +1,24 @@
{ inputs, lib, ... }: { { inputs, lib, ... }: {
den.aspects.flatpak = { den.aspects.flatpak = {
nixos = { pkgs, ... }: { nixos = { ... }: {
imports = [ inputs.nix-flatpak.nixosModules.nix-flatpak ]; imports = [ inputs.nix-flatpak.nixosModules.nix-flatpak ];
services.flatpak = { services.flatpak = {
enable = true; enable = true;
remotes = lib.mkOptionDefault [{ remotes = lib.mkOptionDefault [{
name = "flathub-beta"; name = "flathub-beta";
location = "https://flathub.org/beta-repo/flathub-beta.flatpakrepo"; location = "https://flathub.org/beta-repo/flathub-beta.flatpakrepo";
}]; }];
update.auto.enable = true; update.auto.enable = true;
uninstallUnmanaged = true; uninstallUnmanaged = true;
packages = [ overrides = {
"org.vinegarhq.Sober" global = {
"org.vinegarhq.Vinegar" Context.sockets = [ "wayland" "!x11" "!fallback-x11" ];
"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"];
};
}; };
};
}; };
}; };
}; };

View File

@@ -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" ];
};
};
};
};
};
}

View File

@@ -1 +0,0 @@
{}

View File

@@ -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"
];
};
};
}

View File

@@ -0,0 +1,5 @@
{ den, ... }: {
den.aspects.gaming = {
includes = with den.aspects; [ steam roblox hytale polytoria game-tools ];
};
}

View File

@@ -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=";
}}";
}
];
};
};
}

View File

@@ -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=";
}}";
}
];
};
};
}

View File

@@ -0,0 +1,10 @@
{ ... }: {
den.aspects.roblox = {
nixos = {
services.flatpak.packages = [
"org.vinegarhq.Sober"
"org.vinegarhq.Vinegar"
];
};
};
}

View File

@@ -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"
];
};
};
};
};
}

View File

@@ -1 +0,0 @@
{}

View File

@@ -0,0 +1,5 @@
{ den, ... }: {
den.aspects.music = {
includes = with den.aspects; [ beets player nicotine mpd ];
};
}

View File

@@ -0,0 +1,9 @@
{
den.aspects.nicotine = {
nixos = { pkgs, ... }: {
users.users.bug.packages = with pkgs; [
nicotine-plus
];
};
};
}

View File

@@ -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"
];
};
};
}

View File

@@ -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
]);
};
};
};
};
}

View File

@@ -1 +0,0 @@
{}

View File

@@ -0,0 +1,9 @@
{ ... }: {
den.aspects.mail = {
nixos = { pkgs, ... }: {
users.users.bug.packages = with pkgs; [
geary
];
};
};
}

View File

@@ -0,0 +1,9 @@
{ ... }: {
den.aspects.matrix-client = {
nixos = { pkgs, ... }: {
users.users.bug.packages = with pkgs; [
fractal
];
};
};
}

View File

@@ -0,0 +1,5 @@
{ den, ... }: {
den.aspects.social = {
includes = with den.aspects; [ nixcord matrix-client mail ];
};
}

View File

@@ -1,20 +1,16 @@
{ { ... }: {
den.aspects.development = { den.aspects.desktop-utils = {
nixos = { pkgs, ... }: { nixos = { pkgs, ... }: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
file-roller file-roller
]; ];
users.users.bug.packages = with pkgs; [ users.users.bug.packages = with pkgs; [
zed-editor obsidian
impression
vscode kooha
loupe
tree authenticator
gh
scanmem
arduino-ide
]; ];
}; };
}; };

View File

@@ -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" ];
};
};
};
}

View File

@@ -0,0 +1,5 @@
{ den, ... }: {
den.aspects.utilities = {
includes = with den.aspects; [ system-utils desktop-utils fonts ];
};
}