Initial commit
This commit is contained in:
commit
cfcc57a8bd
353 changed files with 18756 additions and 0 deletions
9
module/aspect/desktop/console.nix
Normal file
9
module/aspect/desktop/console.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
den.aspects = {
|
||||
desktop = {
|
||||
nixos = {
|
||||
console.useXkbConfig = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
57
module/aspect/desktop/desktop-config.nix
Normal file
57
module/aspect/desktop/desktop-config.nix
Normal 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 = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
24
module/aspect/desktop/desktop-theme.nix
Normal file
24
module/aspect/desktop/desktop-theme.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
28
module/aspect/desktop/desktop-tool.nix
Normal file
28
module/aspect/desktop/desktop-tool.nix
Normal 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
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
56
module/aspect/desktop/font.nix
Normal file
56
module/aspect/desktop/font.nix
Normal 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
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
16
module/aspect/desktop/launcher.nix
Normal file
16
module/aspect/desktop/launcher.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
den.aspects = {
|
||||
desktop = {
|
||||
homeManager =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.rofi
|
||||
pkgs.rofimoji
|
||||
pkgs.rofi-obsidian
|
||||
pkgs.rofi-calc
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
32
module/aspect/desktop/login-manager.nix
Normal file
32
module/aspect/desktop/login-manager.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
21
module/aspect/desktop/networking.nix
Normal file
21
module/aspect/desktop/networking.nix
Normal 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
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
25
module/aspect/desktop/security.nix
Normal file
25
module/aspect/desktop/security.nix
Normal 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
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
12
module/aspect/desktop/services.nix
Normal file
12
module/aspect/desktop/services.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
den.aspects = {
|
||||
desktop = {
|
||||
nixos = {
|
||||
services = {
|
||||
libinput.enable = true;
|
||||
gvfs.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
122
module/aspect/desktop/session/enlightenment.nix
Normal file
122
module/aspect/desktop/session/enlightenment.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
48
module/aspect/desktop/session/modular.nix
Normal file
48
module/aspect/desktop/session/modular.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
0
module/aspect/desktop/session/plasma.wip
Normal file
0
module/aspect/desktop/session/plasma.wip
Normal file
22
module/aspect/desktop/xdg-portal.nix
Normal file
22
module/aspect/desktop/xdg-portal.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
0
module/aspect/desktop/xlibre.wip
Normal file
0
module/aspect/desktop/xlibre.wip
Normal file
Loading…
Add table
Add a link
Reference in a new issue