init(release): desktop template -> desktop wip

This commit is contained in:
Rasyidan Akbar F. 2025-10-24 11:08:12 +07:00
commit 5bc78a031f
22 changed files with 716 additions and 11 deletions

View file

@ -0,0 +1,19 @@
{ pkgs, ... }:
{
# Browser configurations
home.packages = with pkgs; [
firefox
# chromium
# brave
];
# Firefox config (expand as needed)
# programs.firefox = {
# enable = true;
# profiles.default = {
# settings = {
# "browser.startup.homepage" = "about:home";
# };
# };
# };
}

View file

@ -0,0 +1,28 @@
{ pkgs, lib, ... }:
{
# Terminal emulators
# Kitty - GPU-accelerated terminal
programs.kitty = {
enable = lib.mkDefault false;
# theme = "Dracula";
# settings = {
# font_family = "JetBrains Mono";
# font_size = 12;
# };
};
# Alacritty - GPU-accelerated terminal
programs.alacritty = {
enable = lib.mkDefault false;
# settings = {
# font.normal.family = "JetBrains Mono";
# font.size = 12;
# };
};
# WezTerm - GPU-accelerated terminal
# programs.wezterm = {
# enable = false;
# };
}

View file

@ -0,0 +1,36 @@
{ lib, pkgs, config, ... }:
{
# Base desktop user configuration
# GTK theming
gtk = {
enable = lib.mkDefault true;
theme = lib.mkDefault {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
};
# Qt theming
qt = {
enable = lib.mkDefault true;
platformTheme.name = lib.mkDefault "gtk";
style.name = lib.mkDefault "adwaita-dark";
};
# XDG user directories
xdg = {
enable = true;
userDirs = {
enable = true;
createDirectories = true;
};
};
# Basic GUI packages
home.packages = with pkgs; [
# Add common desktop apps here
# firefox
# vscodium
];
}

View file

@ -0,0 +1,21 @@
# Themes
Add your theme configurations here. Each theme should set:
- GTK theme
- Qt theme
- Terminal colors
- Compositor colors (if applicable)
- Wallpapers
Example structure:
```nix
# catppuccin.nix
{ pkgs, ... }: {
gtk.theme = {
name = "Catppuccin-Mocha";
package = pkgs.catppuccin-gtk;
};
# ... more theme settings
}
```

View file

@ -0,0 +1,11 @@
{ ... }:
{
# Wayland compositor configurations
# Import the compositor you want to use
imports = [
# Uncomment the one you want:
# ./hyprland
# ./niri
];
}

View file

@ -0,0 +1,46 @@
{ lib, pkgs, ... }:
{
# Hyprland user configuration
wayland.windowManager.hyprland = {
enable = lib.mkDefault true;
xwayland.enable = lib.mkDefault true;
settings = {
# Minimal config - expand as needed
"$mod" = "SUPER";
# Example keybinds
bind = [
"$mod, Return, exec, kitty" # Terminal
"$mod, Q, killactive"
"$mod, M, exit"
"$mod, F, fullscreen"
"$mod, Space, togglefloating"
# Move focus
"$mod, h, movefocus, l"
"$mod, l, movefocus, r"
"$mod, k, movefocus, u"
"$mod, j, movefocus, d"
];
# Example settings
general = {
gaps_in = 5;
gaps_out = 10;
border_size = 2;
};
decoration = {
rounding = 8;
};
};
};
# Hyprland utilities
home.packages = with pkgs; [
# wofi # Launcher
# waybar # Status bar
# dunst # Notifications
];
}

View file

@ -0,0 +1,39 @@
{ lib, pkgs, ... }:
{
# Niri user configuration
programs.niri = {
settings = {
# Minimal config - expand as needed
input = {
keyboard.xkb = {
layout = "us";
};
};
# Example keybinds
binds = {
"Mod+Return".action.spawn = [ "kitty" ];
"Mod+Q".action.close-window = { };
"Mod+F".action.fullscreen-window = { };
# Focus movement
"Mod+H".action.focus-column-left = { };
"Mod+L".action.focus-column-right = { };
"Mod+J".action.focus-window-down = { };
"Mod+K".action.focus-window-up = { };
};
layout = {
gaps = 8;
center-focused-column = "never";
};
};
};
# Niri utilities
home.packages = with pkgs; [
# fuzzel # Launcher (recommended for niri)
# waybar # Status bar
# dunst # Notifications
];
}