init(release): desktop template -> desktop wip

This commit is contained in:
Rasyidan Akbar F. 2025-10-24 11:09:00 +07:00
commit 1ae2855bb1
18 changed files with 63 additions and 92 deletions

View file

@ -1,7 +1,7 @@
{ pkgs, ... }: { pkgs, ... }: {
{
# Browser configurations # Browser configurations
home.packages = with pkgs; [ home.packages = with pkgs;
[
firefox firefox
# chromium # chromium
# brave # brave

View file

@ -1,5 +1,4 @@
{ pkgs, lib, ... }: { pkgs, lib, ... }: {
{
# Terminal emulators # Terminal emulators
# Kitty - GPU-accelerated terminal # Kitty - GPU-accelerated terminal

View file

@ -1,5 +1,4 @@
{ lib, pkgs, config, ... }: { lib, pkgs, config, ... }: {
{
# Base desktop user configuration # Base desktop user configuration
# GTK theming # GTK theming
@ -28,7 +27,8 @@
}; };
# Basic GUI packages # Basic GUI packages
home.packages = with pkgs; [ home.packages = with pkgs;
[
# Add common desktop apps here # Add common desktop apps here
# firefox # firefox
# vscodium # vscodium

View file

@ -1,5 +1,4 @@
{ ... }: { ... }: {
{
# Wayland compositor configurations # Wayland compositor configurations
# Import the compositor you want to use # Import the compositor you want to use

View file

@ -1,5 +1,4 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }: {
{
# Hyprland user configuration # Hyprland user configuration
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = lib.mkDefault true; enable = lib.mkDefault true;
@ -31,14 +30,13 @@
border_size = 2; border_size = 2;
}; };
decoration = { decoration = { rounding = 8; };
rounding = 8;
};
}; };
}; };
# Hyprland utilities # Hyprland utilities
home.packages = with pkgs; [ home.packages = with pkgs;
[
# wofi # Launcher # wofi # Launcher
# waybar # Status bar # waybar # Status bar
# dunst # Notifications # dunst # Notifications

View file

@ -1,14 +1,9 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }: {
{
# Niri user configuration # Niri user configuration
programs.niri = { programs.niri = {
settings = { settings = {
# Minimal config - expand as needed # Minimal config - expand as needed
input = { input = { keyboard.xkb = { layout = "us"; }; };
keyboard.xkb = {
layout = "us";
};
};
# Example keybinds # Example keybinds
binds = { binds = {
@ -31,7 +26,8 @@
}; };
# Niri utilities # Niri utilities
home.packages = with pkgs; [ home.packages = with pkgs;
[
# fuzzel # Launcher (recommended for niri) # fuzzel # Launcher (recommended for niri)
# waybar # Status bar # waybar # Status bar
# dunst # Notifications # dunst # Notifications

View file

@ -1,5 +1,4 @@
{ lib, ... }: { lib, ... }: {
{
# Modern audio stack - PipeWire replaces PulseAudio + JACK + ALSA # Modern audio stack - PipeWire replaces PulseAudio + JACK + ALSA
services.pipewire = { services.pipewire = {
enable = lib.mkDefault true; enable = lib.mkDefault true;

View file

@ -1,5 +1,4 @@
{ lib, ... }: { lib, ... }: {
{
hardware.bluetooth = { hardware.bluetooth = {
enable = lib.mkDefault false; # Enable when needed enable = lib.mkDefault false; # Enable when needed
powerOnBoot = lib.mkDefault true; powerOnBoot = lib.mkDefault true;

View file

@ -1,5 +1,4 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }: {
{
# Shared desktop settings (imported by all DEs) # Shared desktop settings (imported by all DEs)
# XDG portals for desktop integration # XDG portals for desktop integration

View file

@ -1,5 +1,4 @@
{ pkgs, lib, ... }: { pkgs, lib, ... }: {
{
imports = [ ./base.nix ]; imports = [ ./base.nix ];
# Hyprland - Dynamic tiling Wayland compositor # Hyprland - Dynamic tiling Wayland compositor

View file

@ -1,11 +1,8 @@
{ pkgs, lib, ... }: { pkgs, lib, ... }: {
{
imports = [ ./base.nix ]; imports = [ ./base.nix ];
# Niri - Scrollable-tiling Wayland compositor # Niri - Scrollable-tiling Wayland compositor
programs.niri = { programs.niri = { enable = lib.mkDefault true; };
enable = lib.mkDefault true;
};
# Wayland-specific portal # Wayland-specific portal
xdg.portal.wlr.enable = lib.mkDefault true; xdg.portal.wlr.enable = lib.mkDefault true;

View file

@ -1,5 +1,4 @@
{ lib, ... }: { lib, ... }: {
{
imports = [ ./base.nix ]; imports = [ ./base.nix ];
# KDE Plasma 6 # KDE Plasma 6

View file

@ -1,17 +1,10 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }: {
{
fonts = { fonts = {
enableDefaultPackages = lib.mkDefault true; enableDefaultPackages = lib.mkDefault true;
packages = with pkgs; [ packages = with pkgs; [
# Nerd Fonts for terminal icons # Nerd Fonts for terminal icons
(nerdfonts.override { (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" "Iosevka" ]; })
fonts = [
"FiraCode"
"JetBrainsMono"
"Iosevka"
];
})
# Core fonts # Core fonts
noto-fonts noto-fonts
@ -27,10 +20,7 @@
fontconfig = { fontconfig = {
enable = lib.mkDefault true; enable = lib.mkDefault true;
defaultFonts = { defaultFonts = {
monospace = [ monospace = [ "JetBrains Mono" "FiraCode Nerd Font" ];
"JetBrains Mono"
"FiraCode Nerd Font"
];
sansSerif = [ "Noto Sans" ]; sansSerif = [ "Noto Sans" ];
serif = [ "Noto Serif" ]; serif = [ "Noto Serif" ];
emoji = [ "Noto Color Emoji" ]; emoji = [ "Noto Color Emoji" ];

View file

@ -1,5 +1,4 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }: {
{
# Hardware acceleration (OpenGL/Vulkan) # Hardware acceleration (OpenGL/Vulkan)
hardware.graphics = { hardware.graphics = {
enable = lib.mkDefault true; enable = lib.mkDefault true;

View file

@ -1,5 +1,4 @@
{ ... }: { ... }: {
{
# Desktop user configuration (for Hyprland/Niri setups) # Desktop user configuration (for Hyprland/Niri setups)
imports = [ imports = [

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: { pkgs, ... }: {
{
# Gaming user configuration (for KDE Plasma) # Gaming user configuration (for KDE Plasma)
imports = [ imports = [
@ -12,7 +11,8 @@
]; ];
# Gaming-specific user packages # Gaming-specific user packages
home.packages = with pkgs; [ home.packages = with pkgs;
[
# Communication # Communication
# discord # discord
# teamspeak_client # teamspeak_client

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: { pkgs, ... }: {
{
# Example desktop development workstation configuration # Example desktop development workstation configuration
# Copy and modify for your actual hardware # Copy and modify for your actual hardware
@ -31,7 +30,8 @@
# hardware.bluetooth.enable = true; # hardware.bluetooth.enable = true;
# Development-specific packages # Development-specific packages
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs;
[
# Add desktop dev tools here # Add desktop dev tools here
# docker-compose # docker-compose
# k9s # k9s

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: { pkgs, ... }: {
{
# Example gaming desktop configuration # Example gaming desktop configuration
# Copy and modify for your actual hardware # Copy and modify for your actual hardware