99 lines
2.7 KiB
Nix
99 lines
2.7 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
{
|
|
options = {
|
|
myModules.enableKDE = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Enable KDE Plasma Desktop Environment with my favorite packages";
|
|
};
|
|
};
|
|
|
|
config = lib.mkMerge [
|
|
(lib.mkIf config.myModules.enableKDE {
|
|
# Enable the X11 windowing system.
|
|
# You can disable this if you're only using the Wayland session.
|
|
services.xserver.enable = true;
|
|
|
|
# Enable the KDE Plasma Desktop Environment.
|
|
services.displayManager.sddm = {
|
|
enable = true;
|
|
# theme = "sugar-dark"; # looks ugly i give up
|
|
# wayland.enable = true;
|
|
};
|
|
services.desktopManager.plasma6.enable = true;
|
|
|
|
environment.plasma6.excludePackages = [
|
|
pkgs.kdePackages.kate
|
|
pkgs.kdePackages.konsole
|
|
];
|
|
|
|
# Enable CUPS to print documents.
|
|
services.printing.enable = true;
|
|
|
|
hardware.bluetooth.enable = true; # enables support for Bluetooth
|
|
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
|
environment.systemPackages = with pkgs; [
|
|
blender
|
|
inkscape
|
|
sddm-sugar-dark
|
|
screenkey
|
|
vscode
|
|
alacritty
|
|
ghostty
|
|
obsidian
|
|
mpv
|
|
pomodoro-gtk
|
|
libreoffice
|
|
gimp
|
|
kitty
|
|
obs-studio
|
|
qbittorrent
|
|
ani-cli
|
|
prismlauncher
|
|
element-desktop
|
|
qbittorrent
|
|
discord
|
|
(pkgs.writeShellApplication {
|
|
name = "sync-terraria";
|
|
runtimeInputs = [
|
|
pkgs.python3Packages.huggingface-hub
|
|
pkgs.zip
|
|
];
|
|
text = ''
|
|
# check if logged in to huggingface
|
|
if [ "$(huggingface-cli whoami)" == "Not logged in" ]; then
|
|
echo "Please log in to huggingface"
|
|
exit 1
|
|
fi
|
|
|
|
cd ~/.local/share
|
|
timestamp=$(date +%Y-%m-%d_%H-%M)
|
|
echo "$timestamp"
|
|
zip -r "Terraria_$timestamp.zip" Terraria/
|
|
huggingface-cli upload --repo-type dataset osbm/terraria-backups "Terraria_$timestamp.zip" "Terraria_$timestamp.zip"
|
|
'';
|
|
})
|
|
code-cursor
|
|
ungoogled-chromium
|
|
];
|
|
|
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
|
|
programs.steam = {
|
|
enable = true;
|
|
# Open ports in the firewall for Steam Remote Play
|
|
remotePlay.openFirewall = true;
|
|
# Open ports in the firewall for Source Dedicated Server
|
|
dedicatedServer.openFirewall = true;
|
|
# Open ports in the firewall for Steam Local Network Game Transfers
|
|
localNetworkGameTransfers.openFirewall = true;
|
|
};
|
|
networking.firewall.allowedTCPPorts = [ 51513 ];
|
|
})
|
|
];
|
|
}
|