2024-08-18 07:06:00 +02:00
|
|
|
{inputs, pkgs, theme, ...}: {
|
2023-08-14 15:02:45 +02:00
|
|
|
|
2024-03-18 14:24:16 +01:00
|
|
|
imports = [
|
|
|
|
inputs.stylix.nixosModules.stylix
|
2024-03-18 14:25:18 +01:00
|
|
|
../../../../stylix/themes/${theme}
|
2024-03-18 14:24:16 +01:00
|
|
|
];
|
|
|
|
|
2024-01-05 03:12:52 +01:00
|
|
|
stylix = {
|
2024-08-18 07:06:00 +02:00
|
|
|
enable = true;
|
|
|
|
autoEnable = true;
|
2024-01-07 07:50:30 +01:00
|
|
|
opacity = {
|
|
|
|
desktop = 0.7;
|
|
|
|
popups = 0.7;
|
|
|
|
applications = 1.0;
|
|
|
|
terminal = 1.0;
|
|
|
|
};
|
2024-01-05 03:12:52 +01:00
|
|
|
targets = {
|
|
|
|
plymouth.enable = false;
|
|
|
|
};
|
2024-08-18 07:06:00 +02:00
|
|
|
cursor = {
|
|
|
|
size = 24;
|
|
|
|
};
|
2024-01-05 03:12:52 +01:00
|
|
|
fonts = {
|
2024-08-18 07:06:00 +02:00
|
|
|
sizes = {
|
|
|
|
desktop = 12;
|
|
|
|
popups = 12;
|
|
|
|
terminal = 12;
|
|
|
|
applications = 12;
|
|
|
|
};
|
2024-01-05 03:12:52 +01:00
|
|
|
serif = {
|
2024-08-18 07:06:00 +02:00
|
|
|
package = pkgs.hack-font;
|
|
|
|
name = "Hack Nerd Font Regular";
|
2024-01-04 06:39:52 +01:00
|
|
|
};
|
2024-01-05 03:12:52 +01:00
|
|
|
sansSerif = {
|
2024-08-18 07:06:00 +02:00
|
|
|
package = pkgs.hack-font;
|
|
|
|
name = "Hack Nerd Font Regular";
|
2024-01-05 03:12:52 +01:00
|
|
|
};
|
|
|
|
monospace = {
|
2024-08-18 07:06:00 +02:00
|
|
|
package = pkgs.hack-font;
|
|
|
|
name = "Hack Nerd Font Mono Regular";
|
2024-01-05 03:12:52 +01:00
|
|
|
};
|
|
|
|
emoji = {
|
|
|
|
package = pkgs.noto-fonts-emoji;
|
|
|
|
name = "Noto Color Emoji";
|
2024-01-04 06:39:52 +01:00
|
|
|
};
|
|
|
|
};
|
2024-01-05 03:12:52 +01:00
|
|
|
};
|
2023-08-27 12:35:58 +02:00
|
|
|
|
2023-08-17 08:40:32 +02:00
|
|
|
# tuigreet
|
2023-08-17 08:40:02 +02:00
|
|
|
services.greetd = {
|
2023-08-15 12:41:49 +02:00
|
|
|
enable = true;
|
2023-08-17 08:40:02 +02:00
|
|
|
settings = {
|
|
|
|
default_session = {
|
2024-05-05 11:59:32 +02:00
|
|
|
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland";
|
2023-08-17 08:40:02 +02:00
|
|
|
user = "greeter";
|
2023-08-15 15:09:48 +02:00
|
|
|
};
|
2023-08-15 13:49:57 +02:00
|
|
|
};
|
2023-08-15 12:41:49 +02:00
|
|
|
};
|
|
|
|
|
2023-08-15 12:21:32 +02:00
|
|
|
# Brightness and volume control
|
2023-08-16 05:57:53 +02:00
|
|
|
# https://haikarainen.github.io/light/
|
2024-08-18 07:06:00 +02:00
|
|
|
# programs.light.enable = true;
|
2023-08-17 09:19:29 +02:00
|
|
|
# PolKit for the fingerprint reader
|
|
|
|
security.polkit.enable = true;
|
2023-08-17 12:26:20 +02:00
|
|
|
# https://github.com/NixOS/nixpkgs/issues/143365
|
|
|
|
security.pam.services.swaylock = {};
|
2023-08-15 12:21:32 +02:00
|
|
|
|
2023-08-14 07:55:14 +02:00
|
|
|
# Enabling hyprlnd on NixOS
|
|
|
|
programs.hyprland = {
|
|
|
|
enable = true;
|
2023-09-27 13:19:02 +02:00
|
|
|
# enableNvidiaPatches = true;
|
2023-08-14 07:55:14 +02:00
|
|
|
xwayland.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
environment.sessionVariables = {
|
2023-08-29 05:08:37 +02:00
|
|
|
# If your cursor becomes invisible, set this to 1
|
2023-08-27 12:35:58 +02:00
|
|
|
WLR_NO_HARDWARE_CURSORS = "0";
|
2023-08-14 07:55:14 +02:00
|
|
|
# Hint electron apps to use wayland
|
|
|
|
NIXOS_OZONE_WL = "1";
|
|
|
|
};
|
|
|
|
|
2023-08-30 01:28:18 +02:00
|
|
|
# https://www.freedesktop.org/software/systemd/man/logind.conf.html
|
2023-08-26 14:31:14 +02:00
|
|
|
services.logind.extraConfig = ''
|
|
|
|
IdleActionSec=900
|
|
|
|
IdleAction=suspend-then-hibernate
|
2023-08-30 01:28:18 +02:00
|
|
|
HandleLidSwitch=suspend-then-hibernate
|
|
|
|
HandleLidSwitchDocked=ignore
|
|
|
|
HandleLidSwitchExternalPower=suspend
|
2023-08-26 14:31:14 +02:00
|
|
|
'';
|
|
|
|
|
2023-08-30 01:28:18 +02:00
|
|
|
# https://www.systutorials.com/docs/linux/man/5-systemd-sleep.conf/
|
|
|
|
# HibernateDelaySec is the amount of time the
|
|
|
|
# system sleeps before entering hibernate when
|
|
|
|
# using suspend-then-hibernate
|
2024-02-01 05:02:04 +01:00
|
|
|
systemd.sleep.extraConfig = ''
|
|
|
|
AllowSuspend=yes
|
|
|
|
AllowHibernation=yes
|
|
|
|
AllowSuspendThenHibernate=yes
|
|
|
|
HibernateDelaySec=600
|
|
|
|
'';
|
2023-08-27 08:21:27 +02:00
|
|
|
|
2023-08-14 13:01:44 +02:00
|
|
|
# XDG portal
|
|
|
|
xdg.portal.enable = true;
|
|
|
|
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
|
|
|
2023-08-14 07:55:14 +02:00
|
|
|
# system packages
|
2023-08-27 13:07:09 +02:00
|
|
|
environment.systemPackages = [
|
2024-01-07 10:19:12 +01:00
|
|
|
pkgs.waybar # taskbar
|
2023-08-27 13:07:09 +02:00
|
|
|
pkgs.libnotify # Notification libraries
|
|
|
|
pkgs.mako # Notification daemon
|
|
|
|
pkgs.swww # Wallpaper daemon
|
|
|
|
pkgs.kitty # Terminal emulator
|
|
|
|
pkgs.grim # Screenshots
|
|
|
|
pkgs.slurp # Screenshots
|
|
|
|
pkgs.wl-clipboard # Clipboard
|
|
|
|
pkgs.font-awesome # Fonts
|
|
|
|
pkgs.libinput-gestures # Gesture Control
|
|
|
|
pkgs.playerctl # Control sublime-music from waybar?
|
|
|
|
pkgs.pavucontrol # Pulse Audio Volume CONTROL
|
|
|
|
pkgs.glib # Set GTK theme settings
|
|
|
|
pkgs.greetd.tuigreet # Greeter
|
|
|
|
pkgs.swayidle # Idle management daemon - Automatic lock screen
|
|
|
|
pkgs.swayosd # used for on-screen notifications for things like adjusting backlight, volume, etc
|
2023-08-29 05:08:37 +02:00
|
|
|
pkgs.wlogout # Logout/shutdown/hibernate/lock screen modal UI
|
2023-08-27 13:07:09 +02:00
|
|
|
pkgs.ranger # TUI file manager
|
|
|
|
pkgs.xdg-utils # Utilities for better X/Wayland integration
|
2023-08-27 14:21:24 +02:00
|
|
|
pkgs.bitwarden-cli # Bitwarden for rofi
|
|
|
|
pkgs.bitwarden-menu # Bitwarden for rofi
|
2023-08-27 15:17:56 +02:00
|
|
|
pkgs.pulsemixer # TUI Pipewire / volume management
|
2023-08-28 11:13:36 +02:00
|
|
|
pkgs.calcurse # TUI Calendar app
|
2023-08-29 05:08:37 +02:00
|
|
|
pkgs.udiskie # Automatic device mounting
|
2024-01-07 07:21:41 +01:00
|
|
|
pkgs.cava # Audio visualiser
|
2024-04-13 03:32:05 +02:00
|
|
|
pkgs.gomuks # CLI Matrix client
|
|
|
|
pkgs.pyradio # Internet radio TUI
|
2023-08-27 13:12:19 +02:00
|
|
|
|
|
|
|
# Themes
|
2024-05-05 11:20:05 +02:00
|
|
|
# pkgs.gruvbox-gtk-theme # Gruvbox Theme
|
|
|
|
# pkgs.papirus-icon-theme # Papirus Icons
|
2023-08-28 04:47:56 +02:00
|
|
|
|
2024-03-10 01:34:45 +01:00
|
|
|
pkgs.rofi-wayland # App Launcher
|
2024-04-16 15:08:55 +02:00
|
|
|
pkgs.rofi-rbw-wayland # Front-end for Bitwarden with Rofi
|
2023-08-27 12:38:34 +02:00
|
|
|
];
|
2023-08-27 12:35:58 +02:00
|
|
|
|
2023-08-14 07:55:14 +02:00
|
|
|
# Enable sound with pipewire.
|
|
|
|
sound.enable = true;
|
|
|
|
security.rtkit.enable = true;
|
|
|
|
services.pipewire = {
|
|
|
|
enable = true;
|
|
|
|
alsa.enable = true;
|
|
|
|
alsa.support32Bit = true;
|
|
|
|
pulse.enable = true;
|
2024-08-18 07:06:00 +02:00
|
|
|
jack.enable = false;
|
2023-08-14 07:55:14 +02:00
|
|
|
};
|
2023-08-24 02:56:55 +02:00
|
|
|
}
|