forked from nico/dots
chore: organise modules
Organise modules in a significantly better way with categories.
This commit is contained in:
parent
7444260d7d
commit
3660ef23f1
33 changed files with 77 additions and 76 deletions
92
modules/desktop/de/darwin.nix
Normal file
92
modules/desktop/de/darwin.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
29
modules/desktop/de/gnome.nix
Normal file
29
modules/desktop/de/gnome.nix
Normal 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
|
||||
];
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
52
modules/desktop/de/hyprland.nix
Normal file
52
modules/desktop/de/hyprland.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
29
modules/desktop/de/kde.nix
Normal file
29
modules/desktop/de/kde.nix
Normal 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
|
||||
];
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
26
modules/desktop/de/niri.nix
Normal file
26
modules/desktop/de/niri.nix
Normal 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
|
||||
];
|
||||
}
|
||||
33
modules/desktop/de/steamui.nix
Normal file
33
modules/desktop/de/steamui.nix
Normal 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
|
||||
'')
|
||||
];
|
||||
}
|
||||
12
modules/desktop/default.nix
Normal file
12
modules/desktop/default.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./pipewire.nix
|
||||
./flatpak.nix
|
||||
./fonts.nix
|
||||
];
|
||||
|
||||
# Enable font dir for compatability
|
||||
fonts.fontDir.enable = true;
|
||||
}
|
||||
5
modules/desktop/flatpak.nix
Normal file
5
modules/desktop/flatpak.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
services.flatpak.enable = true;
|
||||
}
|
||||
13
modules/desktop/fonts.nix
Normal file
13
modules/desktop/fonts.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
# install basic fonts
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
noto-fonts # most langs and emojis
|
||||
noto-fonts-cjk-sans # gets japanese and chinese langs
|
||||
nerd-fonts.comic-shanns-mono # programming fonts
|
||||
corefonts # basic web fonts
|
||||
];
|
||||
};
|
||||
}
|
||||
17
modules/desktop/login/autologin.nix
Normal file
17
modules/desktop/login/autologin.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Enable display manager w/autologin
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
initial_session = {
|
||||
command = if (config.programs.niri.enable == true) then "${pkgs.niri}/bin/niri-session" else if (config.programs.hyprland.enable == true) then "${pkgs.hyprland}/bin/Hyprland" else "${pkgs.zsh}/bin/zsh";
|
||||
user = "nico";
|
||||
};
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --asterisks --time --greeting 'nyaaa~~'";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
13
modules/desktop/pipewire.nix
Normal file
13
modules/desktop/pipewire.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
# Enable sound.
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
}
|
||||
7
modules/desktop/programs/sketchybar.nix
Normal file
7
modules/desktop/programs/sketchybar.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.skhd.enable = true;
|
||||
services.sketchybar.enable = true;
|
||||
system.defaults.NSGlobalDomain._HIHideMenuBar = true;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue