77 lines
1.6 KiB
Nix
77 lines
1.6 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
inputs,
|
|
...
|
|
}:
|
|
let
|
|
configure-gtk = pkgs.writeTextFile {
|
|
name = "configure-gtk";
|
|
destination = "/bin/configure-gtk";
|
|
executable = true;
|
|
text =
|
|
let
|
|
schema = pkgs.gsettings-desktop-schemas;
|
|
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
|
|
in
|
|
''
|
|
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
|
|
gnome_schema=org.gnome.desktop.interface
|
|
gsettings set $gnome_schema gtk-theme 'Dracula'
|
|
'';
|
|
};
|
|
in
|
|
{
|
|
environment.systemPackages = with pkgs; [
|
|
wl-clipboard # Copy/Paste functionality.
|
|
mako # Notification utility.
|
|
];
|
|
|
|
# Enables Gnome Keyring to store secrets for applications.
|
|
services.gnome.gnome-keyring.enable = true;
|
|
|
|
xdg.portal = {
|
|
enable = true;
|
|
extraPortals = [
|
|
pkgs.xdg-desktop-portal-gtk
|
|
pkgs.xdg-desktop-portal-wlr
|
|
];
|
|
};
|
|
|
|
security.polkit.enable = true;
|
|
|
|
# Enable Sway.
|
|
programs.sway = {
|
|
enable = true;
|
|
wrapperFeatures.gtk = false;
|
|
extraPackages = [
|
|
pkgs.foot
|
|
pkgs.swayidle
|
|
pkgs.swaylock
|
|
pkgs.wmenu
|
|
pkgs.wl-clipboard
|
|
pkgs.mako
|
|
pkgs.kdePackages.kate
|
|
pkgs.kdePackages.filelight
|
|
inputs.glide.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
pkgs.swaybg
|
|
pkgs.pulseaudioFull
|
|
pkgs.waybar
|
|
pkgs.dracula-theme # gtk theme
|
|
pkgs.brightnessctl
|
|
configure-gtk
|
|
];
|
|
};
|
|
|
|
services.greetd = {
|
|
enable = true;
|
|
settings = {
|
|
default_session = {
|
|
command = "${pkgs.tuigreet}/bin/tuigreet --remember --time --cmd sway";
|
|
user = "greeter";
|
|
};
|
|
};
|
|
};
|
|
}
|