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

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