First Commit
This commit is contained in:
17
modules/desktop/catppuccin.nix
Normal file
17
modules/desktop/catppuccin.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config = lib.mkIf config.my.desktop.enable {
|
||||
catppuccin = {
|
||||
enable = true;
|
||||
accent = "mauve";
|
||||
flavor = "mocha";
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
libsForQt5.qtstyleplugin-kvantum
|
||||
libsForQt5.qt5ct
|
||||
catppuccin-kvantum
|
||||
magnetic-catppuccin-gtk
|
||||
];
|
||||
};
|
||||
}
|
||||
19
modules/desktop/default.nix
Normal file
19
modules/desktop/default.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ lib, ... }:
|
||||
let
|
||||
b = builtins;
|
||||
|
||||
module_files =
|
||||
b.readDir ./. |>
|
||||
lib.filterAttrs (name: type:
|
||||
( (lib.strings.hasSuffix ".nix" name
|
||||
&& name != "default.nix"
|
||||
&& type == "regular" )
|
||||
|| ( type == "directory"
|
||||
&& b.pathExists ./${name}/default.nix))
|
||||
) |>
|
||||
b.attrNames |>
|
||||
b.map (f: ./${f});
|
||||
in
|
||||
{
|
||||
imports = module_files;
|
||||
}
|
||||
26
modules/desktop/dms.nix
Normal file
26
modules/desktop/dms.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{ lib, config, inputs, ... }:
|
||||
let
|
||||
cfg = config.my.desktop;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
inputs.dms.nixosModules.dankMaterialShell
|
||||
];
|
||||
|
||||
programs.dankMaterialShell = lib.mkIf (cfg.enable && cfg.hyprland.enable) {
|
||||
enable = true;
|
||||
|
||||
systemd = {
|
||||
enable = false; # Systemd service for auto-start
|
||||
restartIfChanged = false; # Auto-restart dms.service when dankMaterialShell changes
|
||||
};
|
||||
|
||||
# Core features
|
||||
enableSystemMonitoring = true; # System monitoring widgets (dgop)
|
||||
enableClipboard = true; # Clipboard history manager
|
||||
enableVPN = true; # VPN management widget
|
||||
enableDynamicTheming = true; # Wallpaper-based theming (matugen)
|
||||
enableAudioWavelength = true; # Audio visualizer (cava)
|
||||
enableCalendarEvents = true; # Calendar integration (khal)
|
||||
};
|
||||
}
|
||||
3
modules/desktop/environment.nix
Normal file
3
modules/desktop/environment.nix
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
}
|
||||
14
modules/desktop/flatpak.nix
Normal file
14
modules/desktop/flatpak.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{ config, lib, ... }:
|
||||
{
|
||||
services = {
|
||||
flatpak = lib.mkIf config.my.desktop.flatpak.enable {
|
||||
enable = true;
|
||||
packages = [
|
||||
"com.github.tchx84.Flatseal"
|
||||
"org.jellyfin.JellyfinDesktop"
|
||||
];
|
||||
|
||||
update.onActivation = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
12
modules/desktop/glib-schemas-fix.nix
Normal file
12
modules/desktop/glib-schemas-fix.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
# Glib Schemas Fix
|
||||
# https://github.com/thomX75/nixos-modules
|
||||
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [ gsettings-desktop-schemas ];
|
||||
|
||||
environment.variables = {
|
||||
GSETTINGS_SCHEMA_DIR="${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas";
|
||||
};
|
||||
}
|
||||
11
modules/desktop/hyprland.nix
Normal file
11
modules/desktop/hyprland.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ inputs, pkgs, ...}:
|
||||
{
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
# set the flake package
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
# make sure to also set the portal package, so that they are in sync
|
||||
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
withUWSM = true;
|
||||
};
|
||||
}
|
||||
13
modules/desktop/obs-studio.nix
Normal file
13
modules/desktop/obs-studio.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
enableVirtualCamera = true;
|
||||
plugins = [
|
||||
pkgs.obs-studio-plugins.obs-vkcapture
|
||||
pkgs.obs-studio-plugins.obs-tuna
|
||||
pkgs.obs-studio-plugins.obs-pipewire-audio-capture
|
||||
pkgs.obs-studio-plugins.droidcam-obs
|
||||
];
|
||||
};
|
||||
}
|
||||
50
modules/desktop/packages.nix
Normal file
50
modules/desktop/packages.nix
Normal file
@@ -0,0 +1,50 @@
|
||||
{ pkgs, ...}:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
kitty
|
||||
thunderbird
|
||||
bitwarden-desktop
|
||||
pwvucontrol
|
||||
firefox
|
||||
gedit
|
||||
wl-clipboard
|
||||
tuigreet
|
||||
brightnessctl
|
||||
spotify
|
||||
hyprshot
|
||||
mpv
|
||||
#jellyfin-media-player
|
||||
gedit
|
||||
nixfmt
|
||||
nixd
|
||||
xfce.thunar
|
||||
xfce.thunar-archive-plugin
|
||||
xfce.thunar-media-tags-plugin
|
||||
droidcam
|
||||
rustdesk
|
||||
mailspring
|
||||
rquickshare
|
||||
btrfs-assistant
|
||||
ungoogled-chromium
|
||||
gparted
|
||||
veracrypt
|
||||
lshw
|
||||
syncplay
|
||||
tigervnc
|
||||
solaar
|
||||
logitech-udev-rules
|
||||
yubioath-flutter
|
||||
kdePackages.gwenview
|
||||
gsettings-desktop-schemas
|
||||
gnome-tweaks
|
||||
appimage-run
|
||||
];
|
||||
programs.seahorse.enable = true;
|
||||
programs.streamcontroller.enable = true;
|
||||
programs.appimage = {
|
||||
enable = true;
|
||||
binfmt = true;
|
||||
};
|
||||
programs.yubikey-manager.enable = true;
|
||||
}
|
||||
14
modules/desktop/rgb.nix
Normal file
14
modules/desktop/rgb.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{ lib, config, inputs, pkgs, ... }:
|
||||
let
|
||||
cfg = config.my.rgb;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.hardware.openrgb = {
|
||||
enable = true;
|
||||
};
|
||||
environment.systemPackages = [
|
||||
inputs.artemisrgb.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
];
|
||||
};
|
||||
}
|
||||
BIN
modules/desktop/sddm-background/wallpaper.png
Normal file
BIN
modules/desktop/sddm-background/wallpaper.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 MiB |
30
modules/desktop/sddm.nix
Normal file
30
modules/desktop/sddm.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{ pkgs, lib, username, config, ... }:
|
||||
let
|
||||
cfg = config.my.desktop;
|
||||
in
|
||||
{
|
||||
services.displayManager.sddm = {
|
||||
enable = cfg.sddm.enable;
|
||||
theme = "catppuccin-mocha-mauve";
|
||||
package = pkgs.kdePackages.sddm;
|
||||
wayland.enable = true;
|
||||
settings = {
|
||||
Autologin = lib.optionalAttrs cfg.sddm.autoLogin.enable {
|
||||
User = "${username}";
|
||||
Session = cfg.sddm.autoLogin.session;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages =
|
||||
lib.optionals cfg.sddm.enable [(
|
||||
pkgs.catppuccin-sddm.override {
|
||||
flavor = "mocha";
|
||||
accent = "mauve";
|
||||
font = "Noto Sans";
|
||||
fontSize = "9";
|
||||
background = "${./sddm-background/wallpaper.png}";
|
||||
loginBackground = true;
|
||||
}
|
||||
)];
|
||||
}
|
||||
16
modules/desktop/xdg.nix
Normal file
16
modules/desktop/xdg.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{ pkgs, inputs, ...}:
|
||||
|
||||
{
|
||||
xdg = {
|
||||
mime.enable = true;
|
||||
menus.enable = true;
|
||||
portal = {
|
||||
enable = true;
|
||||
extraPortals = [
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
];
|
||||
configPackages = [inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland];
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user