165 lines
4.8 KiB
Nix
Executable file
165 lines
4.8 KiB
Nix
Executable file
{ config, pkgs, ... }:
|
|
|
|
{
|
|
home.packages = with pkgs; [
|
|
vesktop
|
|
fish
|
|
gh
|
|
adwsteamgtk
|
|
prismlauncher
|
|
tmux
|
|
fastfetch
|
|
btop
|
|
neovim
|
|
killall
|
|
wget
|
|
ripgrep
|
|
kitty
|
|
ncdu
|
|
fzf
|
|
wl-clipboard
|
|
openmw
|
|
nixfmt-rfc-style
|
|
|
|
kde-rounded-corners
|
|
kdePackages.partitionmanager
|
|
|
|
colloid-icon-theme
|
|
(catppuccin-kde.override {
|
|
flavour = [
|
|
"latte"
|
|
"mocha"
|
|
];
|
|
accents = [
|
|
"peach"
|
|
"blue"
|
|
];
|
|
})
|
|
];
|
|
|
|
catppuccin = {
|
|
enable = true;
|
|
cursors = {
|
|
enable = true;
|
|
accent = "dark";
|
|
};
|
|
firefox = {
|
|
force = true;
|
|
};
|
|
};
|
|
|
|
programs.plasma = {
|
|
enable = true;
|
|
overrideConfig = true;
|
|
|
|
session = {
|
|
sessionRestore.restoreOpenApplicationsOnLogin = "startWithEmptySession";
|
|
};
|
|
|
|
workspace = {
|
|
iconTheme = "Colloid-Dark";
|
|
windowDecorations = {
|
|
library = "org.kde.breeze";
|
|
theme = "Breeze";
|
|
};
|
|
cursor.size = 24;
|
|
};
|
|
|
|
configFile = {
|
|
kwinrc.Desktops.Number = 3;
|
|
# kdeglobals.KDE.AutomaticLookAndFeel = true;
|
|
kwinrc.Round-Corners.ActiveOutlinePalette = 3;
|
|
kwinrc.Round-Corners.ActiveOutlineUseCustom = false;
|
|
kwinrc.Round-Corners.ActiveOutlineUsePalette = true;
|
|
kwinrc.Round-Corners.ActiveSecondOutlinePalette = 3;
|
|
kwinrc.Round-Corners.ActiveSecondOutlineUseCustom = false;
|
|
kwinrc.Round-Corners.ActiveSecondOutlineUsePalette = true;
|
|
kwinrc.Round-Corners.InactiveOutlinePalette = 2;
|
|
kwinrc.Round-Corners.InactiveOutlineUseCustom = false;
|
|
kwinrc.Round-Corners.InactiveOutlineUsePalette = true;
|
|
kwinrc.Round-Corners.InactiveSecondOutlinePalette = 2;
|
|
kwinrc.Round-Corners.InactiveSecondOutlineUseCustom = false;
|
|
kwinrc.Round-Corners.InactiveSecondOutlineUsePalette = true;
|
|
};
|
|
|
|
panels = [
|
|
# Windows-like panel at the bottom
|
|
{
|
|
location = "bottom";
|
|
height = 40;
|
|
hiding = "dodgewindows";
|
|
lengthMode = "fit";
|
|
floating = true;
|
|
alignment = "left";
|
|
widgets = [
|
|
# Or you can configure the widgets by adding the widget-specific options for it.
|
|
# See modules/widgets for supported widgets and options for these widgets.
|
|
# For example:
|
|
{
|
|
kickoff = {
|
|
sortAlphabetically = true;
|
|
# icon = "nix-snowflake-white";
|
|
};
|
|
}
|
|
# Adding configuration to the widgets can also for example be used to
|
|
# pin apps to the task-manager, which this example illustrates by
|
|
# pinning dolphin and konsole to the task-manager by default with widget-specific options.
|
|
{
|
|
iconTasks = {
|
|
launchers = [
|
|
"applications:firefox.desktop"
|
|
"applications:org.kde.dolphin.desktop"
|
|
"applications:org.kde.konsole.desktop"
|
|
];
|
|
};
|
|
}
|
|
# If no configuration is needed, specifying only the name of the
|
|
# widget will add them with the default configuration.
|
|
"org.kde.plasma.activitypager"
|
|
"org.kde.plasma.marginsseparator"
|
|
# If you need configuration for your widget, instead of specifying the
|
|
# the keys and values directly using the config attribute as shown
|
|
# above, plasma-manager also provides some higher-level interfaces for
|
|
# configuring the widgets. See modules/widgets for supported widgets
|
|
# and options for these widgets. The widgets below shows two examples
|
|
# of usage, one where we add a digital clock, setting 12h time and
|
|
# first day of the week to Sunday and another adding a systray with
|
|
# some modifications in which entries to show.
|
|
{
|
|
systemTray.items = {
|
|
# We explicitly show bluetooth and battery
|
|
shown = [
|
|
"org.kde.plasma.battery"
|
|
"org.kde.plasma.bluetooth"
|
|
];
|
|
# And explicitly hide networkmanagement and volume
|
|
hidden = [
|
|
"org.kde.plasma.networkmanagement"
|
|
"org.kde.plasma.volume"
|
|
];
|
|
};
|
|
}
|
|
{
|
|
digitalClock = {
|
|
calendar.firstDayOfWeek = "sunday";
|
|
time.format = "12h";
|
|
};
|
|
}
|
|
];
|
|
}
|
|
];
|
|
};
|
|
|
|
# This value determines the Home Manager release that your
|
|
# configuration is compatible with. This helps avoid breakage
|
|
# when a new Home Manager release introduces backwards
|
|
# incompatible changes.
|
|
#
|
|
# You can update Home Manager without changing this value. See
|
|
# the Home Manager release notes for a list of state version
|
|
# changes in each release.
|
|
home.stateVersion = "25.05";
|
|
|
|
# Let Home Manager install and manage itself.
|
|
programs.home-manager.enable = true;
|
|
}
|