feat(dms): dms
This commit is contained in:
@@ -21,9 +21,10 @@
|
|||||||
stylix.enable = true;
|
stylix.enable = true;
|
||||||
qemu.enable = true;
|
qemu.enable = true;
|
||||||
flatpak.enable = true;
|
flatpak.enable = true;
|
||||||
gdm.enable = true;
|
# gdm.enable = true;
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
sydpkgs.overlay.enable = true;
|
sydpkgs.overlay.enable = true;
|
||||||
|
dank-material-shell.enable = true;
|
||||||
|
|
||||||
steam = {
|
steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
25
modules/home/dank-material-shell.nix
Normal file
25
modules/home/dank-material-shell.nix
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.sydnix.dank-material-shell;
|
||||||
|
json = pkgs.formats.json {};
|
||||||
|
in {
|
||||||
|
options.sydnix.dank-material-shell = {
|
||||||
|
enable = lib.mkEnableOption "DMS";
|
||||||
|
settings = lib.mkOption {
|
||||||
|
type = json.type;
|
||||||
|
default = { };
|
||||||
|
description = ''
|
||||||
|
DankMaterialShell configuration settings as an attribute set,
|
||||||
|
to be written to ~/.config/DankMaterialShell/settings.json.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
xdg.configFile = {
|
||||||
|
"DankMaterialShell/settings.json".source =
|
||||||
|
json.generate "settings.json" cfg.settings;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -17,24 +17,32 @@ in {
|
|||||||
xwayland-satellite.enable =
|
xwayland-satellite.enable =
|
||||||
lib.mkEnableOption "xwayland-satellite starting with Niri"
|
lib.mkEnableOption "xwayland-satellite starting with Niri"
|
||||||
// { default = true; };
|
// { default = true; };
|
||||||
|
polkit.enable =
|
||||||
|
lib.mkEnableOption "Niri/Gnome Polkit" // { default = true; };
|
||||||
|
swaylock.enable =
|
||||||
|
lib.mkEnableOption "Niri Swaylock" // { default = true; };
|
||||||
|
portal.enable =
|
||||||
|
lib.mkEnableOption "Niri Portal" // { default = true; };
|
||||||
|
gammastep.enable =
|
||||||
|
lib.mkEnableOption "Niri gammastep" // { default = true; };
|
||||||
|
swaync.enable =
|
||||||
|
lib.mkEnableOption "Niri Sway Notification Center" // { default = true; };
|
||||||
|
binds = lib.mkOption {
|
||||||
|
type = lib.types.anything;
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
stylix.targets.swaylock.enable = true;
|
|
||||||
|
|
||||||
services.polkit-gnome.enable = true;
|
|
||||||
|
|
||||||
# File-picker.
|
|
||||||
home.packages = [ pkgs.nautilus ];
|
|
||||||
|
|
||||||
# Enable the XDG portal, an interface for programs to request
|
# Enable the XDG portal, an interface for programs to request
|
||||||
# permissions/resources. This is necessary to screen-cast on
|
# permissions/resources. This is necessary to screen-cast on
|
||||||
# Wayland/Pipewire.
|
# Wayland/Pipewire.
|
||||||
#
|
#
|
||||||
# See https://github.com/YaLTeR/niri/wiki/Important-Software#portals.
|
# See
|
||||||
# Niri's NixOS module automatically brings in xdg-desktop-portal-gnome and
|
# https://github.com/YaLTeR/niri/wiki/Important-Software#portals.
|
||||||
# gnome-keyring.
|
# Niri's NixOS module automatically brings in
|
||||||
xdg.portal = {
|
# xdg-desktop-portal-gnome and gnome-keyring.
|
||||||
|
xdg.portal = lib.mkIf cfg.portal.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
xdgOpenUsePortal = true;
|
xdgOpenUsePortal = true;
|
||||||
|
|
||||||
@@ -44,9 +52,10 @@ in {
|
|||||||
];
|
];
|
||||||
|
|
||||||
# Use xdg-desktop-portal-gtk by default, but fallback to
|
# Use xdg-desktop-portal-gtk by default, but fallback to
|
||||||
# xdg-desktop-portal-gnome for screenshots and screen-casts, two important
|
# xdg-desktop-portal-gnome for screenshots and screen-casts,
|
||||||
# features unsupported by the GTK implementation. See implementations and
|
# two important features unsupported by the GTK
|
||||||
# their supported interfaces at
|
# implementation. See implementations and their supported
|
||||||
|
# interfaces at
|
||||||
# https://wiki.archlinux.org/title/XDG_Desktop_Portal.
|
# https://wiki.archlinux.org/title/XDG_Desktop_Portal.
|
||||||
config.niri = {
|
config.niri = {
|
||||||
default = [ "gtk" ];
|
default = [ "gtk" ];
|
||||||
@@ -55,6 +64,13 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
stylix.targets.swaylock.enable = cfg.swaylock.enable;
|
||||||
|
|
||||||
|
services.polkit-gnome.enable = cfg.polkit.enable;
|
||||||
|
|
||||||
|
# File-picker.
|
||||||
|
home.packages = [ pkgs.nautilus ];
|
||||||
|
|
||||||
systemd.user.services.xwayland-satellite =
|
systemd.user.services.xwayland-satellite =
|
||||||
lib.mkIf cfg.xwayland-satellite.enable {
|
lib.mkIf cfg.xwayland-satellite.enable {
|
||||||
Service.ExecStart =
|
Service.ExecStart =
|
||||||
@@ -68,16 +84,26 @@ in {
|
|||||||
settings = {
|
settings = {
|
||||||
# Activates some Nixpkgs patches to help run Electron applications under
|
# Activates some Nixpkgs patches to help run Electron applications under
|
||||||
# Wayland.
|
# Wayland.
|
||||||
environment."NIXOS_OZONE_WL" = "1";
|
environment = {
|
||||||
environment."DISPLAY" = ":0";
|
NIXOS_OZONE_WL = "1";
|
||||||
|
DISPLAY = ":0";
|
||||||
|
XDG_CURRENT_DESKTOP = "niri";
|
||||||
|
QT_QPA_PLATFORM = "wayland";
|
||||||
|
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||||
|
QT_QPA_PLATFORMTHEME = "gtk3";
|
||||||
|
QT_QPA_PLATFORMTHEME_QT6 = "gtk3";
|
||||||
|
};
|
||||||
|
|
||||||
spawn-at-startup =
|
spawn-at-startup =
|
||||||
[{ command = [ "${pkgs.swaynotificationcenter}/bin/swaync" ]; }
|
lib.optional cfg.swaync.enable
|
||||||
|
{ command = [ "${pkgs.swaynotificationcenter}/bin/swaync" ]; }
|
||||||
|
++ lib.optional cfg.gammastep.enable
|
||||||
{ command = [ "${pkgs.gammastep}/bin/gammastep" "-o" "-O" "4000k"
|
{ command = [ "${pkgs.gammastep}/bin/gammastep" "-o" "-O" "4000k"
|
||||||
"-b" "0.9:0.9" "-l" "0:0"]; }]
|
"-b" "0.9:0.9" "-l" "0:0"]; }
|
||||||
++ lib.optional
|
++ lib.optional
|
||||||
(! builtins.isNull cfg.wallpaper)
|
(! builtins.isNull cfg.wallpaper)
|
||||||
{ command = [ "${pkgs.wbg}/bin/wbg" "${cfg.wallpaper}" ]; };
|
{ command = [ "${pkgs.wbg}/bin/wbg" "${cfg.wallpaper}" ]; };
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
keyboard.xkb = {
|
keyboard.xkb = {
|
||||||
layout = "us";
|
layout = "us";
|
||||||
@@ -273,11 +299,9 @@ in {
|
|||||||
"Print".action.screenshot-screen = [];
|
"Print".action.screenshot-screen = [];
|
||||||
"Mod+Print".action.screenshot-window = [];
|
"Mod+Print".action.screenshot-window = [];
|
||||||
|
|
||||||
"Mod+X".action.spawn = [
|
"Mod+X".action.spawn = ["ghostty"];
|
||||||
"emacsclient-or-emacs"
|
"Mod+E".action.spawn = ["emacsclient" "-c"];
|
||||||
"-ce"
|
"Mod+O".action.toggle-overview = [];
|
||||||
"(eshell t)"
|
|
||||||
];
|
|
||||||
|
|
||||||
"Mod+Shift+F".action.toggle-window-floating = [];
|
"Mod+Shift+F".action.toggle-window-floating = [];
|
||||||
"Mod+F".action.switch-focus-between-floating-and-tiling = [];
|
"Mod+F".action.switch-focus-between-floating-and-tiling = [];
|
||||||
@@ -326,7 +350,7 @@ in {
|
|||||||
["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05+"];
|
["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05+"];
|
||||||
"XF86AudioLowerVolume".action.spawn =
|
"XF86AudioLowerVolume".action.spawn =
|
||||||
["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05-"];
|
["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05-"];
|
||||||
};
|
} // cfg.binds;
|
||||||
|
|
||||||
layer-rules = [
|
layer-rules = [
|
||||||
# Don't move wallpaper with workspace.
|
# Don't move wallpaper with workspace.
|
||||||
|
|||||||
421
modules/home/users/msyds/dank-material-shell.nix
Normal file
421
modules/home/users/msyds/dank-material-shell.nix
Normal file
@@ -0,0 +1,421 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.users.msyds.dank-material-shell;
|
||||||
|
in {
|
||||||
|
options.sydnix.users.msyds.dank-material-shell = {
|
||||||
|
enable = lib.mkEnableOption "Dank Material Shell";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable
|
||||||
|
(let
|
||||||
|
theme = {
|
||||||
|
dark = with config.lib.stylix.colors.withHashtag; {
|
||||||
|
name = "Stylix generatated dark theme";
|
||||||
|
primary = base0D;
|
||||||
|
primaryText = base00;
|
||||||
|
primaryContainer = base0C;
|
||||||
|
secondary = base0E;
|
||||||
|
surface = base01;
|
||||||
|
surfaceText = base05;
|
||||||
|
surfaceVariant = base02;
|
||||||
|
surfaceVariantText = base04;
|
||||||
|
surfaceTint = base0D;
|
||||||
|
background = base00;
|
||||||
|
backgroundText = base05;
|
||||||
|
outline = base03;
|
||||||
|
surfaceContainer = base01;
|
||||||
|
surfaceContainerHigh = base02;
|
||||||
|
surfaceContainerHighest = base03;
|
||||||
|
error = base08;
|
||||||
|
warning = base0A;
|
||||||
|
info = base0C;
|
||||||
|
} // {
|
||||||
|
primary = base06;
|
||||||
|
surfaceContainerHigh = "#2a2a37"; # Sunk Ink 2
|
||||||
|
surfaceContainerHighest = base05;
|
||||||
|
};
|
||||||
|
light = with config.lib.stylix.colors.withHashtag; {
|
||||||
|
name = "Stylix generatated light theme";
|
||||||
|
primary = base0D;
|
||||||
|
primaryText = base07;
|
||||||
|
primaryContainer = base0C;
|
||||||
|
secondary = base0E;
|
||||||
|
surface = base06;
|
||||||
|
surfaceText = base01;
|
||||||
|
surfaceVariant = base07;
|
||||||
|
surfaceVariantText = base02;
|
||||||
|
surfaceTint = base0D;
|
||||||
|
background = base07;
|
||||||
|
backgroundText = base00;
|
||||||
|
outline = base04;
|
||||||
|
surfaceContainer = base06;
|
||||||
|
surfaceContainerHigh = base05;
|
||||||
|
surfaceContainerHighest = base04;
|
||||||
|
error = base08;
|
||||||
|
warning = base0A;
|
||||||
|
info = base0C;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
programs.niri.settings = {
|
||||||
|
# Open DMS windows as floating by default
|
||||||
|
window-rules = [
|
||||||
|
{
|
||||||
|
matches = [{app-id = "#org.quickshell$";}];
|
||||||
|
open-floating = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
# Blur wallpaper when overview is open.
|
||||||
|
layer-rules = [
|
||||||
|
{
|
||||||
|
matches = [{ namespace = "dms:blurwallpaper"; }];
|
||||||
|
place-within-backdrop = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
spawn-at-startup = [
|
||||||
|
{
|
||||||
|
command = [
|
||||||
|
(lib.getExe' pkgs.wl-clipboard "wl-paste")
|
||||||
|
"--watch" "cliphist" "store"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
sydnix.users.crumb.niri = {
|
||||||
|
polkit.enable = false;
|
||||||
|
swaylock.enable = false;
|
||||||
|
portal.enable = false;
|
||||||
|
swaync.enable = false;
|
||||||
|
gammastep.enable = false;
|
||||||
|
binds =
|
||||||
|
let dms-ipc = config.lib.niri.actions.spawn "dms" "ipc";
|
||||||
|
in {
|
||||||
|
"Mod+D" = {
|
||||||
|
action = dms-ipc "spotlight" "toggle";
|
||||||
|
hotkey-overlay.title = "Toggle Application Launcher";
|
||||||
|
};
|
||||||
|
"Mod+P" = {
|
||||||
|
action = dms-ipc "notepad" "toggle";
|
||||||
|
hotkey-overlay.title = "Toggle Notepad";
|
||||||
|
};
|
||||||
|
"Mod+Ctrl+L" = {
|
||||||
|
action = dms-ipc "lock" "lock";
|
||||||
|
hotkey-overlay.title = "Toggle Lock Screen";
|
||||||
|
};
|
||||||
|
"XF86AudioRaiseVolume" = {
|
||||||
|
allow-when-locked = true;
|
||||||
|
action = dms-ipc "audio" "increment" "3";
|
||||||
|
};
|
||||||
|
"XF86AudioLowerVolume" = {
|
||||||
|
allow-when-locked = true;
|
||||||
|
action = dms-ipc "audio" "decrement" "3";
|
||||||
|
};
|
||||||
|
"XF86AudioMute" = {
|
||||||
|
allow-when-locked = true;
|
||||||
|
action = dms-ipc "audio" "mute";
|
||||||
|
};
|
||||||
|
"XF86AudioMicMute" = {
|
||||||
|
allow-when-locked = true;
|
||||||
|
action = dms-ipc "audio" "micmute";
|
||||||
|
};
|
||||||
|
"XF86MonBrightnessUp" = {
|
||||||
|
allow-when-locked = true;
|
||||||
|
action = dms-ipc "brightness" "increment" "5" "";
|
||||||
|
};
|
||||||
|
"XF86MonBrightnessDown" = {
|
||||||
|
allow-when-locked = true;
|
||||||
|
action = dms-ipc "brightness" "decrement" "5" "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
sydnix.dank-material-shell = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
theme = "dark";
|
||||||
|
currentThemeName = "custom";
|
||||||
|
customThemeFile =
|
||||||
|
pkgs.writeText
|
||||||
|
"dankMaterialShell-stylix-theme.json"
|
||||||
|
(builtins.toJSON theme);
|
||||||
|
popupTransparency = 1;
|
||||||
|
dockTransparency = 1;
|
||||||
|
use24HourClock = true;
|
||||||
|
showSeconds = false;
|
||||||
|
useFahrenheit = false;
|
||||||
|
nightModeEnabled = true;
|
||||||
|
animationSpeed = 1;
|
||||||
|
customAnimationDuration = 500;
|
||||||
|
wallpaperFillMode = "Fill";
|
||||||
|
blurredWallpaperLayer = false;
|
||||||
|
blurWallpaperOnOverview = true;
|
||||||
|
showLauncherButton = true;
|
||||||
|
showWorkspaceSwitcher = true;
|
||||||
|
showFocusedWindow = true;
|
||||||
|
showWeather = false;
|
||||||
|
showMusic = true;
|
||||||
|
showClipboard = true;
|
||||||
|
showCpuUsage = true;
|
||||||
|
showMemUsage = true;
|
||||||
|
showCpuTemp = true;
|
||||||
|
showGpuTemp = true;
|
||||||
|
selectedGpuIndex = 0;
|
||||||
|
enabledGpuPciIds = [];
|
||||||
|
showSystemTray = true;
|
||||||
|
showClock = true;
|
||||||
|
showNotificationButton = true;
|
||||||
|
showBattery = true;
|
||||||
|
showControlCenterButton = true;
|
||||||
|
showCapsLockIndicator = true;
|
||||||
|
controlCenterShowNetworkIcon = true;
|
||||||
|
controlCenterShowBluetoothIcon = true;
|
||||||
|
controlCenterShowAudioIcon = true;
|
||||||
|
controlCenterShowVpnIcon = true;
|
||||||
|
controlCenterShowBrightnessIcon = false;
|
||||||
|
controlCenterShowMicIcon = false;
|
||||||
|
controlCenterShowBatteryIcon = false;
|
||||||
|
controlCenterShowPrinterIcon = false;
|
||||||
|
showPrivacyButton = true;
|
||||||
|
privacyShowMicIcon = false;
|
||||||
|
privacyShowCameraIcon = false;
|
||||||
|
privacyShowScreenShareIcon = false;
|
||||||
|
controlCenterWidgets = [
|
||||||
|
{
|
||||||
|
id = "volumeSlider";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "brightnessSlider";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "wifi";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "bluetooth";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "audioOutput";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "audioInput";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "nightMode";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "darkMode";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
showWorkspaceIndex = false;
|
||||||
|
showWorkspacePadding = false;
|
||||||
|
workspaceScrolling = false;
|
||||||
|
showWorkspaceApps = false;
|
||||||
|
maxWorkspaceIcons = 3;
|
||||||
|
workspacesPerMonitor = true;
|
||||||
|
showOccupiedWorkspacesOnly = false;
|
||||||
|
dwlShowAllTags = false;
|
||||||
|
workspaceNameIcons = {};
|
||||||
|
waveProgressEnabled = true;
|
||||||
|
scrollTitleEnabled = true;
|
||||||
|
clockCompactMode = false;
|
||||||
|
focusedWindowCompactMode = false;
|
||||||
|
runningAppsCompactMode = true;
|
||||||
|
keyboardLayoutNameCompactMode = false;
|
||||||
|
runningAppsCurrentWorkspace = false;
|
||||||
|
runningAppsGroupByApp = false;
|
||||||
|
centeringMode = "index";
|
||||||
|
clockDateFormat = "";
|
||||||
|
lockDateFormat = "";
|
||||||
|
mediaSize = 1;
|
||||||
|
appLauncherViewMode = "list";
|
||||||
|
spotlightModalViewMode = "list";
|
||||||
|
sortAppsAlphabetically = false;
|
||||||
|
appLauncherGridColumns = 4;
|
||||||
|
spotlightCloseNiriOverview = true;
|
||||||
|
niriOverviewOverlayEnabled = true;
|
||||||
|
weatherLocation = "Arvada, Colorado";
|
||||||
|
weatherCoordinates = "39.8005505,-105.0811573";
|
||||||
|
useAutoLocation = false;
|
||||||
|
weatherEnabled = true;
|
||||||
|
networkPreference = "auto";
|
||||||
|
vpnLastConnected = "";
|
||||||
|
iconTheme = "System Default";
|
||||||
|
launcherLogoMode = "apps";
|
||||||
|
launcherLogoCustomPath = "";
|
||||||
|
launcherLogoColorOverride = "";
|
||||||
|
launcherLogoColorInvertOnMode = false;
|
||||||
|
launcherLogoBrightness = 0.5;
|
||||||
|
launcherLogoContrast = 1;
|
||||||
|
launcherLogoSizeOffset = 0;
|
||||||
|
fontFamily = "Inter Variable";
|
||||||
|
monoFontFamily = "Fira Code";
|
||||||
|
fontWeight = 400;
|
||||||
|
fontScale = 1;
|
||||||
|
notepadUseMonospace = true;
|
||||||
|
notepadFontFamily = "";
|
||||||
|
notepadFontSize = 14;
|
||||||
|
notepadShowLineNumbers = false;
|
||||||
|
notepadTransparencyOverride = -1;
|
||||||
|
notepadLastCustomTransparency = 0.7;
|
||||||
|
soundsEnabled = true;
|
||||||
|
useSystemSoundTheme = false;
|
||||||
|
soundNewNotification = true;
|
||||||
|
soundVolumeChanged = true;
|
||||||
|
soundPluggedIn = true;
|
||||||
|
acMonitorTimeout = 0;
|
||||||
|
acLockTimeout = 0;
|
||||||
|
acSuspendTimeout = 0;
|
||||||
|
acSuspendBehavior = 0;
|
||||||
|
acProfileName = "";
|
||||||
|
batteryMonitorTimeout = 0;
|
||||||
|
batteryLockTimeout = 0;
|
||||||
|
batterySuspendTimeout = 0;
|
||||||
|
batterySuspendBehavior = 0;
|
||||||
|
batteryProfileName = "";
|
||||||
|
lockBeforeSuspend = false;
|
||||||
|
loginctlLockIntegration = true;
|
||||||
|
fadeToLockEnabled = false;
|
||||||
|
fadeToLockGracePeriod = 5;
|
||||||
|
launchPrefix = "";
|
||||||
|
brightnessDevicePins = {};
|
||||||
|
wifiNetworkPins = {};
|
||||||
|
bluetoothDevicePins = {};
|
||||||
|
audioInputDevicePins.preferredInput =
|
||||||
|
"alsa_input.usb-Generic_Blue_Microphones_2041BAB03EZ8-00.analog-stereo";
|
||||||
|
audioOutputDevicePins.preferredOutput =
|
||||||
|
"alsa_output.usb-Jieli_Technology_CA-2890_USB_Speaker_Bar_4250315A3537380E-00.analog-stereo";
|
||||||
|
gtkThemingEnabled = false;
|
||||||
|
qtThemingEnabled = false;
|
||||||
|
syncModeWithPortal = true;
|
||||||
|
terminalsAlwaysDark = false;
|
||||||
|
showDock = false;
|
||||||
|
dockAutoHide = false;
|
||||||
|
dockGroupByApp = false;
|
||||||
|
dockOpenOnOverview = false;
|
||||||
|
dockPosition = 1;
|
||||||
|
dockSpacing = 4;
|
||||||
|
dockBottomGap = 0;
|
||||||
|
dockMargin = 0;
|
||||||
|
dockIconSize = 40;
|
||||||
|
dockIndicatorStyle = "circle";
|
||||||
|
dockBorderEnabled = false;
|
||||||
|
dockBorderColor = "surfaceText";
|
||||||
|
dockBorderOpacity = 1;
|
||||||
|
dockBorderThickness = 1;
|
||||||
|
notificationOverlayEnabled = false;
|
||||||
|
modalDarkenBackground = true;
|
||||||
|
lockScreenShowPowerActions = true;
|
||||||
|
enableFprint = false;
|
||||||
|
maxFprintTries = 15;
|
||||||
|
lockScreenActiveMonitor = "all";
|
||||||
|
lockScreenInactiveColor = "#000000";
|
||||||
|
hideBrightnessSlider = false;
|
||||||
|
notificationTimeoutLow = 5000;
|
||||||
|
notificationTimeoutNormal = 5000;
|
||||||
|
notificationTimeoutCritical = 0;
|
||||||
|
notificationPopupPosition = 0;
|
||||||
|
osdAlwaysShowValue = false;
|
||||||
|
osdPosition = 5;
|
||||||
|
osdVolumeEnabled = true;
|
||||||
|
osdMediaVolumeEnabled = true;
|
||||||
|
osdBrightnessEnabled = true;
|
||||||
|
osdIdleInhibitorEnabled = true;
|
||||||
|
osdMicMuteEnabled = true;
|
||||||
|
osdCapsLockEnabled = true;
|
||||||
|
osdPowerProfileEnabled = false;
|
||||||
|
osdAudioOutputEnabled = true;
|
||||||
|
powerActionConfirm = true;
|
||||||
|
powerActionHoldDuration = 0.5;
|
||||||
|
powerMenuActions = [
|
||||||
|
"reboot"
|
||||||
|
"logout"
|
||||||
|
"poweroff"
|
||||||
|
"lock"
|
||||||
|
"suspend"
|
||||||
|
"restart"
|
||||||
|
];
|
||||||
|
powerMenuDefaultAction = "logout";
|
||||||
|
powerMenuGridLayout = false;
|
||||||
|
customPowerActionLock = "";
|
||||||
|
customPowerActionLogout = "";
|
||||||
|
customPowerActionSuspend = "";
|
||||||
|
customPowerActionHibernate = "";
|
||||||
|
customPowerActionReboot = "";
|
||||||
|
customPowerActionPowerOff = "";
|
||||||
|
updaterUseCustomCommand = false;
|
||||||
|
updaterCustomCommand = "";
|
||||||
|
updaterTerminalAdditionalParams = "";
|
||||||
|
displayNameMode = "system";
|
||||||
|
screenPreferences.wallpaper = [];
|
||||||
|
showOnLastDisplay = {};
|
||||||
|
barConfigs = [
|
||||||
|
{
|
||||||
|
id = "default";
|
||||||
|
name = "Main Bar";
|
||||||
|
enabled = true;
|
||||||
|
position = 2;
|
||||||
|
screenPreferences = [
|
||||||
|
"all"
|
||||||
|
];
|
||||||
|
showOnLastDisplay = true;
|
||||||
|
leftWidgets = [
|
||||||
|
"launcherButton"
|
||||||
|
"workspaceSwitcher"
|
||||||
|
"focusedWindow"
|
||||||
|
];
|
||||||
|
centerWidgets = [
|
||||||
|
"music"
|
||||||
|
"clock"
|
||||||
|
"weather"
|
||||||
|
];
|
||||||
|
rightWidgets = [
|
||||||
|
"systemTray"
|
||||||
|
"clipboard"
|
||||||
|
"cpuUsage"
|
||||||
|
"memUsage"
|
||||||
|
"notificationButton"
|
||||||
|
"battery"
|
||||||
|
"controlCenterButton"
|
||||||
|
];
|
||||||
|
spacing = 4;
|
||||||
|
innerPadding = 4;
|
||||||
|
bottomGap = 0;
|
||||||
|
transparency = 1;
|
||||||
|
widgetTransparency = 1;
|
||||||
|
squareCorners = false;
|
||||||
|
noBackground = false;
|
||||||
|
gothCornersEnabled = false;
|
||||||
|
gothCornerRadiusOverride = false;
|
||||||
|
gothCornerRadiusValue = 12;
|
||||||
|
borderEnabled = false;
|
||||||
|
borderColor = "surfaceText";
|
||||||
|
borderOpacity = 1;
|
||||||
|
borderThickness = 1;
|
||||||
|
fontScale = 1;
|
||||||
|
autoHide = false;
|
||||||
|
autoHideDelay = 250;
|
||||||
|
openOnOverview = false;
|
||||||
|
visible = true;
|
||||||
|
popupGapsAuto = true;
|
||||||
|
popupGapsManual = 4;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
configVersion = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -5,6 +5,7 @@
|
|||||||
(require 'syd/use-package)
|
(require 'syd/use-package)
|
||||||
(require 'syd/dash)
|
(require 'syd/dash)
|
||||||
(require 'syd/general)
|
(require 'syd/general)
|
||||||
|
(require 'syd/evil)
|
||||||
(eval-when-compile (require 'cl-lib))
|
(eval-when-compile (require 'cl-lib))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
21
modules/nixos/dank-material-shell.nix
Normal file
21
modules/nixos/dank-material-shell.nix
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.dank-material-shell;
|
||||||
|
in {
|
||||||
|
options.sydnix.dank-material-shell = {
|
||||||
|
enable = lib.mkEnableOption "Dank Material Shell";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.dms-shell = {
|
||||||
|
enable = true;
|
||||||
|
enableDynamicTheming = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.displayManager.dms-greeter = {
|
||||||
|
enable = true;
|
||||||
|
compositor.name = assert config.sydnix.niri.enable; "niri";
|
||||||
|
configHome = "/home/msyds"; # Really stupid.
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
BIN
users/msyds/avatar.jpg
Normal file
BIN
users/msyds/avatar.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 442 KiB |
@@ -3,7 +3,7 @@
|
|||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
# TODO: Don't hard-code `persist`. Use
|
# TODO: Don't hard-code `persist`. Use
|
||||||
# config.sydnix.impermanence.persistGroupName.
|
# config.sydnix.impermanence.persistGroupName.
|
||||||
extraGroups = [ "wheel" "persist" "input" "dots" ];
|
extraGroups = [ "wheel" "persist" "input" "dots" "greeter" ];
|
||||||
initialHashedPassword =
|
initialHashedPassword =
|
||||||
"$y$j9T$4pyDiPlhnN4UarQoY7Sn70$URZQKPJ3yU4WoQFHRhzm4uF3bM4U7OVYem3oPioykMC";
|
"$y$j9T$4pyDiPlhnN4UarQoY7Sn70$URZQKPJ3yU4WoQFHRhzm4uF3bM4U7OVYem3oPioykMC";
|
||||||
|
|
||||||
@@ -16,6 +16,8 @@
|
|||||||
config.lib.file.mkOutOfStoreSymlink
|
config.lib.file.mkOutOfStoreSymlink
|
||||||
"/persist/private-keys/ssh/msyds@sydpc";
|
"/persist/private-keys/ssh/msyds@sydpc";
|
||||||
|
|
||||||
|
home.file.".face".source = ./avatar.jpg;
|
||||||
|
|
||||||
home.file.".ssh/id_ed25519.pub".source =
|
home.file.".ssh/id_ed25519.pub".source =
|
||||||
../../public-keys/ssh/${"msyds@sydpc.pub"};
|
../../public-keys/ssh/${"msyds@sydpc.pub"};
|
||||||
|
|
||||||
@@ -27,6 +29,7 @@
|
|||||||
slippi.enable = true;
|
slippi.enable = true;
|
||||||
desktop-environment.enable = true;
|
desktop-environment.enable = true;
|
||||||
clojure.enable = true;
|
clojure.enable = true;
|
||||||
|
capitaine-cursors.enable = true;
|
||||||
sops = {
|
sops = {
|
||||||
enable = true;
|
enable = true;
|
||||||
keyFile = "/persist/private-keys/age/crumb";
|
keyFile = "/persist/private-keys/age/crumb";
|
||||||
@@ -41,7 +44,7 @@
|
|||||||
niri.enable = true;
|
niri.enable = true;
|
||||||
firefox.enable = true;
|
firefox.enable = true;
|
||||||
ghostty.enable = true;
|
ghostty.enable = true;
|
||||||
waybar.enable = true;
|
# waybar.enable = true;
|
||||||
tf2.enable = true;
|
tf2.enable = true;
|
||||||
fcitx5.enable = true;
|
fcitx5.enable = true;
|
||||||
anki.enable = true;
|
anki.enable = true;
|
||||||
@@ -53,6 +56,7 @@
|
|||||||
impermanence.enable = true;
|
impermanence.enable = true;
|
||||||
syncthing.enable = true;
|
syncthing.enable = true;
|
||||||
fonts.enable = true;
|
fonts.enable = true;
|
||||||
|
dank-material-shell.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user