chore: organise modules

Organise modules in a significantly better way with categories.
This commit is contained in:
Nico 2025-05-03 16:16:03 +10:00
parent 7444260d7d
commit 3660ef23f1
33 changed files with 77 additions and 76 deletions

View file

@ -0,0 +1,92 @@
{ config, lib, pkgs, ... }:
{
# appearance
system.defaults.NSGlobalDomain.AppleInterfaceStyle = "Dark";
system.defaults.NSGlobalDomain.AppleShowScrollBars = "WhenScrolling";
system.defaults.WindowManager.EnableStandardClickToShowDesktop = false;
system.startup.chime = true;
system.defaults.NSGlobalDomain.NSDisableAutomaticTermination = true;
system.defaults.NSGlobalDomain.NSDocumentSaveNewDocumentsToCloud = false;
# hot corners
system.defaults.dock = {
wvous-bl-corner = 1;
wvous-br-corner = 1;
wvous-tl-corner = 1;
wvous-tr-corner = 1;
};
# login
system.defaults.loginwindow.GuestEnabled = false;
system.defaults.screensaver.askForPassword = true;
system.defaults.loginwindow.SHOWFULLNAME = true; # user needs to enter username and password to login
# control center
system.defaults.controlcenter = {
Display = false;
FocusModes = false;
NowPlaying = false;
Sound = false;
Bluetooth = false;
AirDrop = false;
BatteryShowPercentage = true;
};
# clock
system.defaults.menuExtraClock = {
Show24Hour = false;
ShowAMPM = true;
ShowDayOfMonth = true;
ShowDayOfWeek = true;
};
# mission control
system.defaults.dock.expose-animation-duration = 0.2;
# spaces
system.defaults.dock.mru-spaces = false; # dont rearange spaces based on usage
system.defaults.spaces.spans-displays = true; # displays have different spaces
system.defaults.NSGlobalDomain.AppleSpacesSwitchOnActivate = true;
# dock
system.defaults.dock.autohide = true;
system.defaults.dock.autohide-delay = 0.01;
system.defaults.dock.autohide-time-modifier = 0.2;
system.defaults.dock.mineffect = "scale";
system.defaults.dock.orientation = "right";
system.defaults.dock.show-recents = false;
system.defaults.dock.tilesize = 48;
# finder
system.defaults.finder = {
AppleShowAllExtensions = true;
AppleShowAllFiles = true;
FXEnableExtensionChangeWarning = false;
FXPreferredViewStyle = "clmv";
FXRemoveOldTrashItems = true;
NewWindowTarget = "Home";
ShowStatusBar = true;
_FXShowPosixPathInTitle = true;
_FXSortFoldersFirst = true;
CreateDesktop = true; # desktop icons
ShowHardDrivesOnDesktop = true;
ShowExternalHardDrivesOnDesktop = true;
ShowMountedServersOnDesktop = true;
ShowRemovableMediaOnDesktop = true;
};
# activity monitor
system.defaults.ActivityMonitor = {
IconType = 0;
OpenMainWindow = true;
ShowCategory = 100;
SortColumn = "CPUUsage";
SortDirection = 0;
};
}

View file

@ -0,0 +1,29 @@
{ config, lib, pkgs, ... }:
{
services.desktopManager.plasma6.enable = true;
environment.plasma6.excludePackages = with pkgs.kdePackages; [
plasma-browser-integration
konsole
(lib.getBin qttools) # Expose qdbus in PATH
ark
elisa
gwenview
okular
kate
khelpcenter
#dolphin
baloo-widgets # baloo information in Dolphin
dolphin-plugins
spectacle
ffmpegthumbs
krdp
gwenview
#xwaylandvideobridge
];
}

View file

@ -0,0 +1,52 @@
{ config, lib, pkgs, self, ... }:
{
programs.hyprland.enable = true;
# Optional, hint electron apps to use wayland:
environment.sessionVariables.NIXOS_OZONE_WL = "1";
# have portals
xdg.portal.enable = true;
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
programs.hyprlock.enable = true;
environment.systemPackages = with pkgs; [
ghostty
waybar
swww
grim
slurp
wl-clipboard
brightnessctl
helvum
walker
playerctl
swaynotificationcenter
hyprshot
matugen
pywalfox-native
hyprshade
];
programs.ssh.startAgent = true;
# enable polkit
security.polkit.enable = true;
systemd = {
user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
}

View file

@ -0,0 +1,29 @@
{ config, lib, pkgs, ... }:
{
services.desktopManager.plasma6.enable = true;
environment.plasma6.excludePackages = with pkgs.kdePackages; [
plasma-browser-integration
konsole
(lib.getBin qttools) # Expose qdbus in PATH
ark
elisa
gwenview
okular
kate
khelpcenter
#dolphin
baloo-widgets # baloo information in Dolphin
dolphin-plugins
spectacle
ffmpegthumbs
krdp
gwenview
#xwaylandvideobridge
];
}

View file

@ -0,0 +1,26 @@
{ config, lib, pkgs, ... }:
{
programs.niri.enable = true;
# Optional, hint electron apps to use wayland:
environment.sessionVariables.NIXOS_OZONE_WL = "1";
programs.xwayland.enable = false;
environment.systemPackages = with pkgs; [
waybar
swww
wl-clipboard
brightnessctl
helvum
walker
playerctl
swaynotificationcenter
hyprshot
matugen
pywalfox-native
hyprshade
xwayland-satellite
];
}

View file

@ -0,0 +1,33 @@
{ config, lib, pkgs, ... }:
{
jovian.steam = {
enable = true;
autoStart = true;
user = "nico";
desktopSession = "hyprland";
updater.splash = "bgrt";
};
boot = {
consoleLogLevel = 0;
initrd.verbose = false;
loader.timeout = 0;
kernelParams = [
"quiet"
"splash"
"vga=current"
"rd.systemd.show_status=false"
];
};
environment.systemPackages = with pkgs; [
(writeShellScriptBin "hyprexit" ''
CHOICE=$(echo -e "Yes\nNo" | walker -d -p "Are you sure you want to return to gaming mode?")
if [ "$CHOICE" = "Yes" ]; then
hyprctl dispatch exit & loginctl terminate-user $USER &
fi
'')
];
}