Initial commit

This commit is contained in:
kirbara 2025-12-01 13:23:24 +07:00
commit cfcc57a8bd
Signed by: exp
GPG key ID: D7E63AD0019E75D9
353 changed files with 18756 additions and 0 deletions

27
module/aspect/audio.nix Normal file
View file

@ -0,0 +1,27 @@
{
den.aspects = {
audio = {
nixos =
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.pavucontrol
pkgs.faudio
pkgs.alsa-utils
pkgs.alsa-lib
];
services = {
pulseaudio.enable = false;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
wireplumber.enable = true;
};
};
};
};
};
}

View file

@ -0,0 +1,10 @@
{
den.aspects = {
base = {
nixos = {
services.orca.enable = false;
services.speechd.enable = false;
};
};
};
}

View file

@ -0,0 +1,15 @@
{
den.aspects = {
base = {
nixos = {
boot = {
initrd.systemd.enable = true;
tmp = {
useTmpfs = true;
cleanOnBoot = true;
};
};
};
};
};
}

View file

@ -0,0 +1,7 @@
{
den.aspects = {
base = {
programs.command-not-found.enable = false;
};
};
}

View file

@ -0,0 +1,11 @@
{
den.aspects = {
base = {
nixos =
{ pkgs, lib, ... }:
{
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
};
};
};
}

View file

@ -0,0 +1,14 @@
{
den.aspects = {
base = {
nixos = {
documentation = {
enable = false;
doc.enable = false;
info.enable = false;
};
};
};
};
}
# https://mastodon.online/@nomeata/109915786344697931

View file

@ -0,0 +1,26 @@
_:
{
den.aspects = {
base = {
homeManager =
{ config, ... }:
{
programs = {
gpg = {
enable = true;
settings = {
default-key = _.config.meta.${config.home.username}.key;
};
};
};
services = {
gpg-agent = {
enable = true;
enableSshSupport = true;
sshKeys = _.config.meta.${config.home.username}.keygrip;
};
};
};
};
};
}

View file

@ -0,0 +1,17 @@
{
den.aspects = {
base = {
homeManager =
{ config, ... }:
{
home.homeDirectory = "/home/${config.home.username}";
programs.home-manager.enable = true;
systemd.user.startServices = "sd-switch";
};
};
};
}
/*
https://ohai.social/@rycee/112502545466617762
https://github.com/nix-community/home-manager/issues/5452
*/

View file

@ -0,0 +1,20 @@
{
den.aspects = {
base = {
nixos = {
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
};
};
};
}

View file

@ -0,0 +1,24 @@
{
den.aspects = {
base = {
homeManager = {
programs = {
micro = {
enable = true;
settings = {
diffgutter = true;
keymenu = true;
mkparents = true;
tabsize = 2;
tabstospaces = true;
};
};
};
home.sessionVariables = {
EDITOR = "micro";
VISUAL = "micro";
};
};
};
};
}

View file

@ -0,0 +1,22 @@
{
den.aspects = {
base = {
nixos =
{ pkgs, ... }:
{
networking = {
useDHCP = false;
};
systemd = {
network.wait-online.enable = false;
};
services.resolved = {
enable = true;
};
programs = {
mtr.enable = true;
};
};
};
};
}

View file

@ -0,0 +1,23 @@
{
den.aspects = {
base = {
nixos =
{ pkgs, ... }:
{
programs = {
nh = {
enable = true;
clean = {
enable = true;
extraArgs = "--keep 2";
};
};
};
environment.systemPackages = [
pkgs.nix-output-monitor
pkgs.nvd
];
};
};
};
}

View file

@ -0,0 +1,73 @@
{
flake-file = {
nixConfig = {
abort-on-warn = true;
extra-experimental-features = [
"flakes"
"nix-command"
"pipe-operators"
];
extra-substituters = [
"https://numtide.cachix.org"
#"https://nix-gaming.cachix.org"
#"https://nixpkgs-wayland.cachix.org"
];
extra-trusted-public-keys = [
"numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE="
#"nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="
#"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
];
};
};
den.aspects = {
base = {
nixos =
{ pkgs, config, ... }:
{
nix = {
# See https://hachyderm.io/@leftpaddotpy/112539055867932912
channel.enable = false;
# From https://jackson.dev/post/nix-reasonable-defaults/
extraOptions = ''
connect-timeout = 5
log-lines = 50
min-free = 128000000
max-free = 1000000000
fallback = true
'';
optimise.automatic = true;
settings = {
auto-optimise-store = true;
# See https://discourse.nixos.org/t/24-05-add-flake-to-nix-path/46310/9
nix-path = [ "nixpkgs=${pkgs.path}" ];
trusted-users = [
"root"
"kirbara"
];
experimental-features = [
"flakes"
"nix-command"
"pipe-operators"
];
# ----
substituters = [
"https://nix-community.cachix.org"
#"https://cache.garnix.io"
];
trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
#"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
];
builders-use-substitutes = true;
# ----
warn-dirty = false;
tarball-ttl = 60 * 60 * 24; # 1 day tarball cache
};
};
};
};
};
}

View file

@ -0,0 +1,14 @@
{
den.aspects = {
base = {
nixos =
{ lib, ... }:
{
powerManagement = {
enable = false;
cpuFreqGovernor = lib.mkDefault "powersave";
};
};
};
};
}

View file

@ -0,0 +1,14 @@
{
den.aspects = {
base = {
nixos =
{ pkgs, ... }:
{
security = {
sudo-rs.enable = true;
sudo-rs.wheelNeedsPassword = false;
};
};
};
};
}

View file

@ -0,0 +1,16 @@
{
den.aspects = {
base = {
nixos = {
services = {
fstrim.enable = true;
journald.extraConfig = ''
SystemMaxUse=100M
MaxFileSec=3day
'';
nscd.enableNsncd = true;
};
};
};
};
}

View file

@ -0,0 +1,11 @@
{
den.aspects = {
base = {
nixos = {
system.autoUpgrade = {
enable = false;
};
};
};
};
}

View file

@ -0,0 +1,22 @@
{
den.aspects = {
base =
let
stateVersion = "25.05";
in
{
nixos = {
system = {
inherit stateVersion;
# See https://github.com/NixOS/nixpkgs/pull/415640
rebuild.enableNg = true;
};
};
homeManager = {
home = {
inherit stateVersion;
};
};
};
};
}

View file

@ -0,0 +1,9 @@
{
den.aspects = {
base = {
nixos = {
time.timeZone = "Asia/Jakarta";
};
};
};
}

View file

@ -0,0 +1,29 @@
{
den.aspects = {
base = {
homeManager =
{ config, ... }:
{
xdg = {
enable = true;
mime.enable = true;
userDirs = {
enable = true;
createDirectories = false;
desktop = "${config.home.homeDirectory}/resource/xdg-directory/desktop";
documents = "${config.home.homeDirectory}/resource/xdg-directory/document";
download = "${config.home.homeDirectory}/resource/download";
pictures = "${config.home.homeDirectory}/resource/xdg-directory/picture";
videos = "${config.home.homeDirectory}/resource/xdg-directory/video";
publicShare = null;
templates = null;
music = null;
};
autostart = {
enable = true;
};
};
};
};
};
}

View file

@ -0,0 +1,10 @@
{
den.aspects = {
bluetooth = {
nixos = {
hardware.bluetooth.enable = true;
services.blueman.enable = true;
};
};
};
}

View file

@ -0,0 +1,9 @@
{
den.aspects = {
desktop = {
nixos = {
console.useXkbConfig = true;
};
};
};
}

View file

@ -0,0 +1,57 @@
{
den.aspects = {
desktop = {
nixos =
{ pkgs, ... }:
{
programs = {
dconf.enable = true; # desktop-config gnome
adb.enable = true; # android-debug
};
environment.systemPackages = [
# ----- gtk
pkgs.gtk3
pkgs.zenity
# ----- screenshot (wayland)
pkgs.grim
pkgs.slurp
pkgs.satty
# ----- screenshot (x11)
pkgs.flameshot
# ----- output monitor (wayland)
pkgs.kanshi
pkgs.wlr-randr
pkgs.way-displays
# ----- output monitor (x11)
pkgs.autorandr
# ----- wallpaper (x11 + wayland)
pkgs.waypaper
# ----- wallpaper (wayland)
pkgs.swww
# ----- wallpaper (x11)
pkgs.feh
# ----- clipboard-tool (wayland)
pkgs.wl-clipboard-rs
# ----- notification-lib
pkgs.libnotify
pkgs.dunst
];
programs.xwayland.enable = true;
# ----- force electron-app to wayland-compatible
environment.variables = {
NIXOS_OZONE_WL = "1";
};
# ----- x11 services
services = {
xserver = {
enable = true;
xkb = {
layout = "us";
variant = "";
};
};
};
};
};
};
}

View file

@ -0,0 +1,24 @@
{
den.aspects = {
desktop = {
nixos =
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.xorg.xcursorthemes
# ----- gtk theme
pkgs.fluent-gtk-theme
pkgs.fluent-icon-theme
# ----- qt6 theme
pkgs.kdePackages.qt6ct
pkgs.adwaita-qt6
pkgs.darkly
];
environment.variables = {
QT_QPA_PLATFORMTHEME = "qt6ct";
GTK_USE_PORTAL = "1";
};
};
};
};
}

View file

@ -0,0 +1,28 @@
{
den.aspects = {
desktop = {
nixos =
{ pkgs, ... }:
{
environment.systemPackages = [
# ----- xfce tool
pkgs.xfce.xfce4-appfinder
pkgs.xfce.xfce4-panel
pkgs.xfce.xfce4-panel-profiles
pkgs.xfce.xfce4-genmon-plugin
pkgs.xfce.xfce4-pulseaudio-plugin
pkgs.xfce.xfce4-docklike-plugin
pkgs.xfce.xfce4-xkb-plugin
# ----- labwc tool (wayland)
pkgs.labwc-menu-generator
# ----- openbox tool (x11)
pkgs.obconf
# ----- utility
pkgs.menulibre
pkgs.xorg.xev
pkgs.xdg-utils
];
};
};
};
}

View file

@ -0,0 +1,56 @@
{
den.aspects = {
font = {
nixos =
{ pkgs, ... }:
{
fonts.packages = with pkgs; [
dina-font
aporetic
monaspace
nerd-fonts.jetbrains-mono
nerd-fonts.im-writing
nerd-fonts.blex-mono
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-emoji
noto-fonts-monochrome-emoji
ibm-plex
liberation_ttf
material-icons
fira-code
fira-code-symbols
mplus-outline-fonts.githubRelease
dina-font
proggyfonts
roboto
roboto-mono
];
fonts.fontconfig = {
defaultFonts = {
monospace = [
"nerd-fonts.jetbrains-mono"
];
sansSerif = [ "nerd-fonts.jetbrains-mono" ];
serif = [ "nerd-fonts.jetbrains-mono" ];
};
};
};
homeManager =
{ pkgs, ... }:
{
fonts = {
fontconfig = {
enable = true;
};
};
home.packages = [
# ----- font-icon
pkgs.material-design-icons
pkgs.linearicons-free
];
};
};
};
}

View file

@ -0,0 +1,16 @@
{
den.aspects = {
desktop = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.rofi
pkgs.rofimoji
pkgs.rofi-obsidian
pkgs.rofi-calc
];
};
};
};
}

View file

@ -0,0 +1,32 @@
{
den.aspects = {
desktop = {
nixos =
{ pkgs, ... }:
{
environment.systemPackages = [
(pkgs.where-is-my-sddm-theme.override {
themeConfig.General = {
usersFontSize = "12";
passwordFontSize = "16";
sessionsFontSize = "12";
hideCursor = "true";
passwordCursorColor="#ffffff";
};
})
];
services.displayManager.sddm = {
enable = true;
theme = "where_is_my_sddm_theme";
package = pkgs.kdePackages.sddm;
extraPackages = [
pkgs.kdePackages.qt5compat
];
};
environment.variables = {
XD_RUNTIME_DIR = "/run/user/$UID";
};
};
};
};
}

View file

@ -0,0 +1,21 @@
{
den.aspects = {
desktop = {
nixos =
{ pkgs, ... }:
{
networking = {
networkmanager = {
enable = true;
};
};
systemd = {
services.NetworkManager-wait-online.enable = false;
};
environment.systemPackages = [
pkgs.networkmanagerapplet
];
};
};
};
}

View file

@ -0,0 +1,25 @@
{
den.aspects = {
desktop = {
nixos =
{ pkgs, ... }:
{
security = {
rtkit.enable = true;
polkit.enable = true;
};
services.gnome.gnome-keyring.enable = true;
programs.seahorse.enable = true;
programs.fuse.userAllowOther = true;
};
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.keepassxc
pkgs.keepassxc-go
];
};
};
};
}

View file

@ -0,0 +1,12 @@
{
den.aspects = {
desktop = {
nixos = {
services = {
libinput.enable = true;
gvfs.enable = true;
};
};
};
};
}

View file

@ -0,0 +1,122 @@
{
den.aspects = {
desktop-session-enlightenment = {
nixos =
{
config,
pkgs,
lib,
...
}:
with lib;
let
e = pkgs.enlightenment;
xcfg = config.services.xserver;
GST_PLUGIN_PATH = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [
pkgs.gst_all_1.gst-plugins-base
pkgs.gst_all_1.gst-plugins-good
pkgs.gst_all_1.gst-plugins-bad
pkgs.gst_all_1.gst-libav
];
econnmanFixOverlay = final: prev: {
fix-econnman = prev // {
enlightenment = prev.enlightenment // {
econnman = prev.enlightenment.econnman.override (_oldArgs: {
python3Packages = final.python311Packages;
});
};
};
};
in
{
services.displayManager.sessionPackages = [ pkgs.enlightenment.enlightenment ];
nixpkgs.overlays = [
econnmanFixOverlay
];
environment.systemPackages = [
pkgs.enlightenment.enlightenment
#pkgs.fix-econnman.enlightenment.econnman # fixed overlay to python311
pkgs.enlightenment.efl
];
environment.pathsToLink = [
"/etc/enlightenment"
"/share/enlightenment"
"/share/elementary"
"/share/locale"
];
services.xserver.displayManager.sessionCommands = ''
if test "$XDG_CURRENT_DESKTOP" = "Enlightenment"; then
export GST_PLUGIN_PATH="${GST_PLUGIN_PATH}"
# make available for D-BUS user services
#export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}:${config.system.path}/share:${e.efl}/share
# Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update
fi
'';
# wrappers for programs installed by enlightenment that should be setuid
security.wrappers = {
enlightenment_ckpasswd = {
setuid = true;
owner = "root";
group = "root";
source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_ckpasswd";
};
enlightenment_sys = {
setuid = true;
owner = "root";
group = "root";
source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_sys";
};
enlightenment_system = {
setuid = true;
owner = "root";
group = "root";
source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_system";
};
};
environment.etc."X11/xkb".source = xcfg.xkb.dir;
fonts.packages = [ pkgs.dejavu_fonts ];
services.udisks2.enable = true;
services.upower.enable = config.powerManagement.enable;
services.libinput.enable = mkDefault true;
services.dbus.packages = [ e.efl ];
systemd.user.services.efreet = {
enable = true;
description = "org.enlightenment.Efreet";
serviceConfig = {
ExecStart = "${e.efl}/bin/efreetd";
StandardOutput = "null";
};
};
systemd.user.services.ethumb = {
enable = true;
description = "org.enlightenment.Ethumb";
serviceConfig = {
ExecStart = "${e.efl}/bin/ethumbd";
StandardOutput = "null";
};
};
# ----- e16 / retro-enlightenment
# services.xserver.windowManager.e16.enable = true;
};
};
};
}

View file

@ -0,0 +1,48 @@
{
den.aspects = {
desktop-session-modular = {
nixos =
{ lib, pkgs, ... }:
{
# ----- xfce (x11 + wayland)
services.xserver.desktopManager.xfce = {
enable = true;
noDesktop = true;
enableXfwm = false;
};
services.xserver.desktopManager.xfce.enableWaylandSession = true;
environment.variables = {
XDG_CURRENT_DESKTOP = "XFCE";
};
programs.xfconf.enable = true;
programs.thunar = {
enable = true;
plugins = [
pkgs.xfce.thunar-volman
pkgs.xfce.thunar-vcs-plugin
pkgs.xfce.thunar-archive-plugin
];
};
environment.xfce.excludePackages = [
pkgs.xfce.xfce4-terminal
pkgs.xfce.parole
];
environment.systemPackages = [
pkgs.xfce.exo
];
# ----- openbox (x11)
services.xserver.windowManager.openbox.enable = true;
# ----- labwc (wayland)
programs.labwc.enable = true;
# ----- picom (X11 compositor)
services.picom = {
enable = true;
vSync = true;
settings = {
backend = "egl";
};
};
};
};
};
}

View file

View file

@ -0,0 +1,22 @@
{
den.aspects = {
desktop = {
nixos =
{ pkgs, ... }:
{
xdg = {
portal = {
enable = true;
config.common.default = "kde";
extraPortals = with pkgs; [
kdePackages.xdg-desktop-portal-kde
xdg-desktop-portal-gtk
xdg-desktop-portal-xapp
];
wlr.enable = true;
};
};
};
};
};
}

View file

View file

@ -0,0 +1,27 @@
{
flake-file.inputs = {
antigravity-nix = {
url = "github:jacopone/antigravity-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
den.aspects = {
antigravity = {
nixos =
{ pkgs, inputs, ... }:
{
environment.systemPackages = [
inputs.antigravity-nix.packages.${pkgs.system}.default
];
};
homeManager =
{ pkgs, inputs, ... }:
{
home.packages = [
inputs.antigravity-nix.packages.${pkgs.system}.default
];
};
};
};
}

View file

@ -0,0 +1,46 @@
{
flake-file.inputs = {
claude-code.url = "github:sadjow/claude-code-nix";
};
den.aspects = {
claude-code = {
nixos =
{ pkgs, inputs, ... }:
{
nix.settings = {
substituters = [
"https://claude-code.cachix.org"
];
trusted-public-keys = [
"claude-code.cachix.org-1:YeXf2aNu7UTX8Vwrze0za1WEDS+4DuI2kVeWEE4fsRk="
];
};
nixpkgs.overlays = [
inputs.claude-code.overlays.default
];
environment.systemPackages = [
pkgs.claude-code
];
};
homeManager =
{ pkgs, inputs, ... }:
{
nix.settings = {
substituters = [
"https://claude-code.cachix.org"
];
trusted-public-keys = [
"claude-code.cachix.org-1:YeXf2aNu7UTX8Vwrze0za1WEDS+4DuI2kVeWEE4fsRk="
];
};
nixpkgs.overlays = [
inputs.claude-code.overlays.default
];
home.packages = [
pkgs.claude-code
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
gemini-cli = {
nixos =
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.local.gemini-cli
];
};
};
};
}

View file

@ -0,0 +1,14 @@
{
den.aspects = {
ollama = {
nixos =
{ pkgs, ... }:
{
services.ollama = {
enable = true;
package = pkgs.latest.ollama;
};
};
};
};
}

View file

@ -0,0 +1,17 @@
{
flake-file.inputs = {
opencode-flake.url = "github:aodhanhayter/opencode-flake";
};
den.aspects = {
opencode = {
nixos =
{ pkgs, inputs, ... }:
{
environment.systemPackages = [
inputs.opencode-flake.packages.${pkgs.system}.default
];
};
};
};
}

View file

@ -0,0 +1,52 @@
{
flake-file.inputs = {
nix-alien.url = "github:thiagokokada/nix-alien";
};
den.aspects = {
fhs-compatible = {
nixos =
{ inputs, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
steam-run
appimage-run
inputs.nix-alien.packages.${pkgs.system}.nix-alien
# FHS environtment
(
let
base = pkgs.appimageTools.defaultFhsEnvArgs;
in
pkgs.buildFHSEnv (
base
// {
name = "fhs";
targetPkgs =
pkgs:
(base.targetPkgs pkgs)
++ (with pkgs; [
pkg-config
ncurses
# feel free to add more packages here if needed
]);
profile = "export FHS=1";
runScript = "bash";
extraOutputsToInstall = [ "dev" ];
}
)
)
];
# autoload appimage
boot.binfmt.registrations.appimage = {
wrapInterpreterInShell = false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
recognitionType = "magic";
offset = 0;
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
magicOrExtension = ''\x7fELF....AI\x02'';
};
};
};
};
}

View file

@ -0,0 +1,16 @@
{
flake-file.inputs = {
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
};
den.aspects = {
cachy-kernel = {
nixos =
{ inputs, pkgs, lib, ... }:
{
imports = [ inputs.chaotic.nixosModules.default ];
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_cachyos;
};
};
};
}

View file

@ -0,0 +1,31 @@
{ inputs, ... }:
{
flake-file.inputs = {
nix-gaming.url = "github:fufexan/nix-gaming";
};
den.aspects = {
gaming = {
nixos =
{ pkgs, inputs, ... }:
{
imports = [
inputs.nix-gaming.nixosModules.pipewireLowLatency
inputs.nix-gaming.nixosModules.platformOptimizations
];
programs.gamemode.enable = true;
services.pipewire.lowLatency.enable = true;
environment.systemPackages = [
pkgs.lutris
];
};
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.mangohud
];
};
};
};
}

View file

@ -0,0 +1,15 @@
{
den.aspects = {
gaming = {
nixos = {
programs.steam = {
enable = true;
platformOptimizations.enable = true;
gamescopeSession.enable = false;
protontricks.enable = true;
extest.enable = true;
};
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
home-manager-standalone = {
nixos =
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.latest.home-manager
];
};
};
};
}

12
module/aspect/nfs.nix Normal file
View file

@ -0,0 +1,12 @@
{
den.aspects = {
nfs = {
nixos = {
services = {
rpcbind.enable = true;
nfs.server.enable = true;
};
};
};
};
}

View file

@ -0,0 +1,36 @@
{
flake-file.inputs = {
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
};
den.aspects = {
nix-flatpak = {
nixos =
{ inputs, ... }:
{
imports = [
inputs.nix-flatpak.nixosModules.nix-flatpak
];
services = {
flatpak = {
enable = true;
update.onActivation = false; # update when rebuild
};
};
};
homeManager =
{ inputs, ... }:
{
imports = [
inputs.nix-flatpak.homeManagerModules.nix-flatpak
];
services = {
flatpak = {
enable = true;
update.onActivation = false;
};
};
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
brave = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.latest.brave
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
librewolf = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.latest.librewolf
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
code-editor-gui = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.latest.vscodium
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
code-editor-gui = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.latest.zed-editor
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
code-editor-tty = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.helix
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
code-editor-tty = {
homeManager = {
programs = {
neovim = {
enable = true;
};
};
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
code-editor-tty = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.vim
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
uv = {
nixos =
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.uv
];
};
};
};
}

View file

@ -0,0 +1,14 @@
{
den.aspects = {
nodejs = {
nixos =
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.nodejs_24
pkgs.fnm
];
};
};
};
}

View file

@ -0,0 +1,15 @@
{
den.aspects = {
python = {
nixos =
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.python311
pkgs.python313
pkgs.python313Packages.pygobject3
];
};
};
};
}

View file

@ -0,0 +1,283 @@
_:
{
den.aspects = {
version-control = {
homeManager =
{ config, ... }:
{
programs = {
git = {
enable = true;
settings.user.name = _.config.meta.${config.home.username}.username;
settings.user.email = _.config.meta.${config.home.username}.email;
ignores = [
".direnv/"
"result"
];
settings.alias = {
ll = "log --stat --abbrev-commit";
co = "checkout";
patch = "format-patch --stdout HEAD~1";
rpatch = "reset --hard HEAD~1";
lgg = "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative";
lol = "log --graph --decorate --pretty=oneline --abbrev-commit";
lola = "log --graph --decorate --pretty=oneline --abbrev-commit --all";
clb = "!/home/user/bin/git-clean-local-branches";
pf = "push --force-with-lease";
rewrite = "rebase - x 'git commit - -amend - C HEAD - -date=\"$(date -R)\" && sleep 1.05'";
# From https://gist.github.com/pksunkara/988716
a = "add --all";
ai = "add -i";
# -----
ap = "apply";
as = "apply --stat";
ac = "apply --check";
# -----
ama = "am --abort";
amr = "am --resolved";
ams = "am --skip";
# -----
b = "branch";
ba = "branch -a";
bd = "branch -d";
bdd = "branch -D";
br = "branch -r";
bc = "rev-parse --abbrev-ref HEAD";
bu = ''!git rev-parse --abbrev-ref --symbolic-full-name "@{u}"'';
recent-branches = "branch --sort=-committerdate";
# -----
c = "commit";
ca = "commit -a";
cm = "commit -m";
cam = "commit -am";
cem = "commit --allow-empty -m";
cd = "commit --amend";
cad = "commit -a --amend";
ced = "commit --allow-empty --amend";
# -----
cl = "clone";
cld = "clone --depth 1";
clg = "!sh -c 'git clone git://github.com/$1 $(basename $1)' -";
clgp = "!sh -c 'git clone git@github.com:$(git config --get user.username)/$1 $1' -";
# -----
co-pr = "!sh -c 'git fetch origin refs/pull/$1/head:pull/$1 && git checkout pull/$1' -";
cp = "cherry-pick";
cpa = "cherry-pick --abort";
cpc = "cherry-pick --continue";
# -----
d = "diff";
dp = "diff --patience";
dc = "diff --cached";
dk = "diff --check";
dck = "diff --cached --check";
dt = "difftool";
dct = "difftool --cached";
# -----
f = "fetch";
fo = "fetch origin";
fu = "fetch upstream";
# -----
fp = "format-patch";
# -----
fk = "fsck";
# -----
g = "grep -p";
# -----
l = "log --oneline";
lg = "log --oneline --graph --decorate";
# -----
ls = "ls-files";
lsf = "!git ls-files | grep -i";
# -----
m = "merge";
ma = "merge --abort";
mc = "merge --continue";
ms = "merge --skip";
# -----
o = "checkout";
ob = "checkout -b";
# -----
pr = "prune -v";
# -----
ps = "push";
psf = "push -f";
psu = "push -u";
pst = "push --tags";
# -----
pso = "push origin";
psao = "push --all origin";
psfo = "push -f origin";
psuo = "push -u origin";
# -----
psom = "push origin master";
psaom = "push --all origin master";
psfom = "push -f origin master";
psuom = "push -u origin master";
psoc = "!git push origin $(git bc)";
psaoc = "!git push --all origin $(git bc)";
psfoc = "!git push -f origin $(git bc)";
psuoc = "!git push -u origin $(git bc)";
psdc = "!git push origin :$(git bc)";
# -----
pl = "pull";
pb = "pull --rebase";
# -----
plo = "pull origin";
pbo = "pull --rebase origin";
plom = "pull origin master";
ploc = "!git pull origin $(git bc)";
pbom = "pull --rebase origin master";
pboc = "!git pull --rebase origin $(git bc)";
# -----
plu = "pull upstream";
plum = "pull upstream master";
pluc = "!git pull upstream $(git bc)";
pbum = "pull --rebase upstream master";
pbuc = "!git pull --rebase upstream $(git bc)";
# -----
rb = "rebase";
rba = "rebase --abort";
rbc = "rebase --continue";
rbi = "rebase --interactive";
rbs = "rebase --skip";
# -----
re = "reset";
rh = "reset HEAD";
reh = "reset --hard";
rem = "reset --mixed";
res = "reset --soft";
rehh = "reset --hard HEAD";
remh = "reset --mixed HEAD";
resh = "reset --soft HEAD";
# -----
r = "remote";
ra = "remote add";
rr = "remote rm";
rv = "remote -v";
rn = "remote rename";
rp = "remote prune";
rs = "remote show";
rao = "remote add origin";
rau = "remote add upstream";
rro = "remote remove origin";
rru = "remote remove upstream";
rso = "remote show origin";
rsu = "remote show upstream";
rpo = "remote prune origin";
rpu = "remote prune upstream";
# -----
rmf = "rm -f";
rmrf = "rm -r -f";
# -----
s = "status";
sb = "status -s -b";
# -----
sa = "stash apply";
sc = "stash clear";
sd = "stash drop";
sl = "stash list";
sp = "stash pop";
ss = "stash save";
ssk = "stash save -k";
sw = "stash show";
st = "!git stash list | wc -l 2>/dev/null | grep -oEi '[0-9][0-9]*'";
# -----
t = "tag";
td = "tag -d";
# -----
w = "show";
wp = "show -p";
wr = "show -p --no-color";
# -----
subadd = "!sh -c 'git submodule add git://github.com/$1 $2/$(basename $1)' -";
subup = "submodule update --init --recursive";
subpull = "!git submodule foreach git pull --tags origin master";
# -----
assume = "update-index --assume-unchanged";
unassume = "update-index --no-assume-unchanged";
assumed = "!git ls -v | grep ^h | cut -c 3-";
unassumeall = "!git assumed | xargs git unassume";
assumeall = "!git status -s | awk {'print $2'} | xargs git assume";
# -----
bump = ''!sh -c 'git commit -am "Version bump v$1" && git psuoc && git release $1' -'';
release = "!sh -c 'git tag v$1 && git pst' -";
unrelease = "!sh -c 'git tag -d v$1 && git pso :v$1' -";
merged = "!sh -c 'git o master && git plom && git bd $1 && git rpo' -";
aliases = "!git config -l | grep alias | cut -c 7-";
snap = "!git stash save 'snapshot = $(date)' && git stash apply 'stash@{0}'";
bare = "!sh -c 'git symbolic-ref HEAD refs/heads/$1 && git rm --cached -r . && git clean -xfd' -";
whois = ''!sh -c 'git log -i -1 --author="$1" --pretty="format:%an <%ae>"' -'';
serve = "daemon --reuseaddr --verbose --base-path=. --export-all ./.git";
# -----
behind = "!git rev-list --left-only --count $(git bu)...HEAD";
ahead = "!git rev-list --right-only --count $(git bu)...HEAD";
# -----
ours = "!f() { git checkout --ours $@ && git add $@; }; f";
theirs = "!f() { git checkout --theirs $@ && git add $@; }; f";
subrepo = "!sh -c 'git filter-branch --prune-empty --subdirectory-filter $1 master' -";
human = "name-rev --name-only --refs=refs/heads/*";
};
settings = {
branch = {
autosetuprebase = "always";
};
color = {
ui = "auto";
};
core = {
autocrlf = "input";
editor = "micro";
safecrlf = "warn";
excludesfile = "~/.gitignore_global";
};
diff = {
mnemonicprefix = true;
};
include = {
path = "~/.gitconfig.local";
};
init = {
defaultBranch = "main";
};
merge = {
conflictstyle = "diff3";
commit = "no";
ff = "no";
tool = "splice";
};
push = {
autoSetupRemote = true;
default = "current";
};
pull = {
default = "matching";
autoSetupRemote = true;
rebase = true;
useForceIfIncludes = true;
};
rebase = {
autostash = true;
autosquash = true;
instructionFormat = "(%an <%ae>) %s";
updateRefs = true;
};
rerere = {
enabled = true;
};
sequence = {
editor = "code --wait";
};
signing = {
signByDefault = true;
inherit (_.config.meta.${config.home.username}.key);
};
commit = {
gpgsign = true;
};
};
};
};
};
};
};
}

View file

@ -0,0 +1,18 @@
{
den.aspects = {
version-control = {
homeManager =
{ pkgs, ... }:
{
programs = {
gh = {
enable = true;
extensions = [
pkgs.gh-copilot
];
};
};
};
};
};
}

View file

@ -0,0 +1,274 @@
_:
{
den.aspects = {
version-control = {
homeManager =
{ pkgs, config, ... }:
{
home.packages = [
pkgs.watchman
];
programs = {
jujutsu = {
enable = true;
settings = {
fsmonitor = {
backend = "watchman";
watchman.register-snapshot-trigger = true;
};
snapshot.max-new-file-size = "15M";
user = {
inherit (_.config.meta.${config.home.username}.fullname);
inherit (_.config.meta.${config.home.username}.email);
};
ui = {
default-command = "l";
diff-editor = ":builtin";
graph.style = "square";
pager = ":builtin";
show-cryptographic-signatures = true;
};
git = {
private-commits = "description(glob:'wip:*') | description(glob:'private:*')";
auto-local-bookmark = true;
fetch = [
"origin"
];
write-change-id-header = true;
};
revset-aliases = {
"immutable_heads()" = "trunk() | tags() | remote_bookmarks(remote=origin)";
"closest_bookmark(to)" = "heads(::to & bookmarks())";
"closest_pushable(to)" =
"heads(::to & mutable() & ~description(exact:\"\") & (~empty() | merges()))";
# Source: https://github.com/bryceberger/config/blob/38c6caf0823517b5423b2ca2a25f7fd79d445e0e/home/jj/config.toml
"mine()" = "author(exact:'@name@') | author(exact:'@email@')";
"wip()" = "description(glob:'wip:*')";
"private()" = "description(glob:'private:*')";
"stack()" = "ancestors(mutable() & (..@ | @::), 2)";
"stack(x)" = "ancestors(mutable() & (..x | x::), 2)";
"stack(x, n)" = "ancestors(mutable() & (..x | x::), n)";
"streams()" = "heads(::@ & bookmarks())";
"streams(x)" = "heads(::x & bookmarks())";
"base_point(x)" = "heads(immutable_heads() & ::x)";
"open()" = "stack(trunk().. & mine(), 2)";
"open(n)" = "stack(trunk().. & mine(), n)";
"why_immutable(r)" = "(r & immutable()) | roots(r:: & immutable_heads())";
};
revsets = {
log = ''
none()
| base_point(@)
| ancestors(@, 10) & trunk()..@
| trunk()
| bookmarks()
| mutable() & visible_heads()
| fork_point(mutable() & visible_heads())
| (mutable() & merges())-
'';
short-prefixes = "stack(@)";
};
template-aliases = {
"link(target, text)" =
''raw_escape_sequence("\x1b]8;;" ++ target ++ "\x1b\\") ++ label("text link", text) ++ raw_escape_sequence("\x1b]8;;\x1b\\")'';
"italic(text)" = ''raw_escape_sequence("\x1b[3m") ++ text ++ raw_escape_sequence("\x1b[23m")'';
"dim(text)" = ''raw_escape_sequence("\x1b[2m") ++ text ++ raw_escape_sequence("\x1b[22m")'';
"commit_description_verbose(commit)" = ''
concat(
commit_description(commit),
"JJ: ignore-rest\n",
diff.git(),
)
'';
"commit_description(commit)" = ''
concat(
commit.description(), "\n",
"JJ: This commit contains the following changes:\n",
indent("JJ: ", diff.stat(72)),
)
'';
annotate_header = ''
if(first_line_in_hunk, surround("\n", "\n", separate("\n",
separate(" ",
format_short_change_id_with_hidden_and_divergent_info(commit),
format_short_id(commit.commit_id()),
format_short_cryptographic_signature(commit.signature()),
commit.description().first_line(),
),
commit_timestamp(commit).local().format('%Y-%m-%d %H:%M:%S')
++ " "
++ commit.author(),
))) ++ pad_start(4, line_number) ++ ": " ++ content
'';
# 00000000 ........ yyyy-mm-dd HH:MM:SS 1:
annotate = ''
if(first_line_in_hunk,
separate(" ",
format_short_id(commit.change_id()),
pad_end(8, truncate_end(8, commit.author().email().local())),
commit_timestamp(commit).local().format('%Y-%m-%d %H:%M:%S'),
),
pad_end(37, ""),
) ++ pad_start(4, line_number) ++ ": " ++ content
'';
"format_commit_info(commit)" = ''
separate(" ",
format_short_change_id_with_hidden_and_divergent_info(commit),
format_short_id(commit.commit_id()),
format_short_cryptographic_signature(commit.signature()),
)'';
"format_commit_bookmarks(commit)" = ''
separate(" ",
commit.working_copies(),
commit.tags(),
commit.bookmarks(),
)'';
"format_description(commit)" = ''
separate(" ",
if(empty, label("empty", "(empty)")),
coalesce(
if(commit.description(),
truncate_end(48, commit.description().first_line(), " [...]"),
if(!empty, label("description placeholder", "(no description)")),
)
)
)'';
"format_author(commit)" = ''
separate(" ",
commit.author().email(),
commit.author().name(),
)
'';
"format_commit_date(commit)" = ''
separate(" ",
commit_timestamp(commit).local().format('%Y-%m-%d %H:%M:%S'),
)
'';
default_log = ''
separate(" ",
format_commit_info(self),
format_commit_bookmarks(self),
format_description(self),
format_author(self),
format_commit_date(self),
)'';
};
templates = {
draft_commit_description = "commit_description(self)";
file_annotate = "annotate_header";
log = "default_log";
log_node = ''
label("node", coalesce(
if(!self, label("elided", "~")),
label(
separate(" ",
if(current_working_copy, "working_copy"),
if(conflict, "conflict"),
if(immutable, "immutable"),
if(description.starts_with("wip:"), "wip"),
if(description.starts_with("private:"), "wip"),
),
coalesce(
if(current_working_copy, "@"),
if(conflict, "x"),
if(immutable, ""),
if(description.starts_with("wip:"), "!"),
if(description.starts_with("private:"), ""),
"",
)
)
))
'';
};
aliases = {
tug = [
"bookmark"
"move"
"--from"
"closest_bookmark(@)"
"--to"
"closest_pushable(@)"
];
ds = [
"diff"
"--stat"
];
dv = [
"--config=templates.draft_commit_description=commit_description_verbose(self)"
"describe"
];
# Too slow - TODO investigate why
# l = ["log" "-T" "builtin_log_compact"];
# ll = ["log" "-T" "builtin_log_detailed"];
l = [
"log"
"-r"
"all()"
];
ll = [
"log"
"-r"
"all()"
"-T"
"builtin_log_detailed"
];
xl = [
"log"
"-T"
"builtin_log_detailed"
];
evolve = [
"rebase"
"--skip-empty"
"-d"
"main"
];
streams = [
"log"
"--no-graph"
"-r"
"streams()"
"-T"
"bookmarks.map(|b| b ++ ' ')"
];
open = [
"log"
"-r"
"open()"
];
stack = [
"log"
"-r"
"stack()"
];
s = [ "stack" ];
yank = [
"rebase"
"--skip-emptied"
"-s"
"all:roots(mutable() & mine())"
"-d"
"trunk()"
];
};
};
};
};
};
};
};
}

View file

@ -0,0 +1,16 @@
{
den.aspects = {
version-control = {
homeManager = {
programs = {
lazygit = {
enable = true;
settings = {
git.overrideGpg = true;
};
};
};
};
};
};
}

View file

@ -0,0 +1,11 @@
{
den.aspects = {
version-control = {
homeManager = {
programs.mergiraf = {
enable = true;
};
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
version-control = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.nixpkgs-review
];
};
};
};
}

View file

@ -0,0 +1,14 @@
{
den.aspects = {
syncthing = {
nixos =
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.syncthing
pkgs.syncthingtray
];
};
};
};
}

View file

@ -0,0 +1,11 @@
{
den.aspects = {
unison = {
homeManager =
{ config, pkgs, ... }:
{
home.packages = [ pkgs.unison ];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
ark-archiver = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.latest.kdePackages.ark
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
dolphin = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.latest.kdePackages.dolphin
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
krusader = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.krusader
];
};
};
};
}

View file

@ -0,0 +1,31 @@
{
den.aspects = {
nemo = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.latest.nemo-with-extensions
pkgs.latest.nemo-preview
pkgs.latest.nemo-seahorse
pkgs.latest.nemo-fileroller
];
gtk.gtk3.extraConfig = {
GtkFileChooserBackend = "nemo";
};
gtk.gtk4.extraConfig = {
GtkFileChooserBackend = "nemo";
};
xdg.desktopEntries = {
"nemo" = {
name = "Nemo";
exec = "nemo %U";
terminal = false;
categories = [ "System" "FileManager" ];
mimeType = [ "inode/directory" ];
};
};
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
spacedrive = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.latest.spacedrive
];
};
};
};
}

View file

@ -0,0 +1,14 @@
{
den.aspects = {
yazi = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.latest.yazi
pkgs.latest.yaziPlugins.sudo
];
};
};
};
}

View file

@ -0,0 +1,17 @@
{
flake-file.inputs = {
affinity-nix.url = "github:mrshmllow/affinity-nix";
};
den.aspects = {
affinity = {
homeManager =
{ inputs, pkgs, ... }:
{
home.packages = [
inputs.affinity-nix.packages.x86_64-linux.v3
];
};
};
};
}

View file

@ -0,0 +1,18 @@
{
den.aspects = {
antimicrox = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.antimicrox
];
};
nixos = {
services.udev.extraRules = ''
SUBSYSTEM=="misc", KERNEL=="uinput", OPTIONS+="static_node=uinput", TAG+="uaccess"
'';
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
audacity = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.audacity
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
blender-hip-latest = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.blender-hip
];
};
};
};
}

View file

@ -0,0 +1,18 @@
{
flake input
persystem overlay
den.aspects = {
blender-hip-v45 = {
nixos =
{ blender-hip-v45, ... }:
{
systemPackages = [
blender-hip-v45.blender-hip
];
};
};
};
}

View file

@ -0,0 +1,14 @@
{
den.aspects = {
bottles = {
flatpak = {
services.flatpak.packages = [
{
appId = "com.usebottles.bottles";
origin = "flathub";
}
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
discord = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.local.chromium-discord
];
};
};
};
}

View file

@ -0,0 +1,14 @@
{
den.aspects = {
gimp = {
flatpak = {
services.flatpak.packages = [
{
appId = "org.gimp.GIMP";
origin = "flathub";
}
];
};
};
};
}

View file

@ -0,0 +1,14 @@
{
den.aspects = {
inkscape = {
flatpak = {
services.flatpak.packages = [
{
appId = "org.inkscape.Inkscape";
origin = "flathub";
}
];
};
};
};
}

View file

@ -0,0 +1,14 @@
{
den.aspects = {
jdownloader = {
flatpak = {
services.flatpak.packages = [
{
appId = "org.jdownloader.JDownloader";
origin = "flathub";
}
];
};
};
};
}

View file

@ -0,0 +1,14 @@
{
den.aspects = {
kdenlive = {
flatpak = {
services.flatpak.packages = [
{
appId = "org.kde.kdenlive";
origin = "flathub";
}
];
};
};
};
}

View file

@ -0,0 +1,14 @@
{
den.aspects = {
krita = {
flatpak = {
services.flatpak.packages = [
{
appId = "org.kde.krita";
origin = "flathub";
}
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
haruna = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.latest.haruna
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
netbird = {
nixos = {
services.netbird = {
enable = true;
ui.enable = true;
useRoutingFeatures = "both";
};
};
};
};
}

View file

@ -0,0 +1,22 @@
{
den.aspects = {
obs-studio = {
homeManager =
{ pkgs, ... }:
{
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-pipewire-audio-capture
obs-vkcapture
obs-source-clone
obs-move-transition
obs-composite-blur
obs-backgroundremoval
];
};
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
obsidian = {
homeManager =
{ pkgs, inputs, ... }:
{
home.packages = [
pkgs.latest.obsidian
];
};
};
};
}

View file

@ -0,0 +1,16 @@
{
den.aspects = {
open-tablet = {
nixos = {
hardware.opentabletdriver = {
enable = true;
daemon.enable = true;
blacklistedKernelModules = [
"hid-uclogic"
"wacom"
];
};
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
qbittorrent = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.qbittorrent
];
};
};
};
}

View file

@ -0,0 +1,21 @@
{
den.aspects = {
shotcut = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
(pkgs.symlinkJoin {
name = "shotcut";
buildInputs = [ pkgs.makeWrapper ];
paths = [ pkgs.shotcut ];
postBuild = ''
wrapProgram $out/bin/shotcut \
--unset QT_QPA_PLATFORMTHEME
'';
})
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
tool-gui = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.bleachbit
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
tool-gui = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.copyq
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
tool-gui = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.cpu-x
];
};
};
};
}

View file

@ -0,0 +1,13 @@
{
den.aspects = {
tool-gui = {
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.fsearch
];
};
};
};
}

Some files were not shown because too many files have changed in this diff Show more