nixos/system/home/desktop/default.nix

95 lines
2.4 KiB
Nix
Raw Normal View History

{
config,
pkgs,
osConfig,
...
}:
{
imports = [
./hyprland.nix
./email/default.nix
./calendar/default.nix
./terminal/default.nix
./emacs/default.nix
./browser/default.nix
];
home = {
packages = with pkgs; [
wl-clipboard
libreoffice-fresh
2024-10-28 10:08:19 +00:00
evince
image-roll
clapper
g4music
ffmpeg
remmina
2024-10-27 05:46:46 +00:00
fractal
webcord
signal-desktop
whatsapp-for-linux
teams-for-linux
twinkle
];
file.${config.gtk.gtk2.configLocation}.force = true;
};
2024-10-28 05:57:57 +00:00
services = {
syncthing.enable = true;
gammastep = {
inherit (osConfig.location) latitude longitude provider;
2024-10-28 05:57:57 +00:00
enable = true;
tray = true;
};
};
gtk = {
enable = true;
gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
iconTheme = {
2024-10-11 07:48:42 +01:00
package = (pkgs.papirus-icon-theme.override { color = "magenta"; });
name = "Papirus-Light";
};
};
stylix.targets.gtk.extraCss = with config.lib.stylix.scheme.withHashtag; ''
@define-color accent_color ${base0E-hex};
@define-color accent_bg_color ${base0E-hex};
'';
xdg = {
mime.enable = true;
2024-07-30 15:06:34 +01:00
mimeApps =
let
2024-10-25 15:35:48 +01:00
defaultApplications = import ./mimeapps.nix;
2024-07-30 15:06:34 +01:00
in
{
enable = true;
inherit defaultApplications;
associations.added = defaultApplications;
};
userDirs = {
enable = true;
createDirectories = true;
extraConfig = {
XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects";
};
};
configFile = {
2024-10-25 15:35:48 +01:00
# Stop programs from overriding mimeapps
"mimeapps.list".force = true;
# Ensure GTK config is set
"gtk-3.0/gtk.css".force = true;
"gtk-3.0/settings.ini".force = true;
"gtk-4.0/gtk.css".force = true;
"gtk-4.0/settings.ini".force = true;
# Autostart some programs
"autostart/signal-desktop.desktop".source = "${pkgs.signal-desktop}/share/applications/signal-desktop.desktop";
2024-09-22 10:12:34 +01:00
"autostart/com.github.eneshecan.WhatsAppForLinux.desktop".source = "${pkgs.whatsapp-for-linux}/share/applications/com.github.eneshecan.WhatsAppForLinux.desktop";
"teams-for-linux/config.json".text = builtins.toJSON {
awayOnSystemIdle = true;
closeAppOnCross = false;
followSystemTheme = true;
notificationMethod = "electron";
optInTeamsV2 = true;
spellCheckerLanguages = [ "en_GB" ];
};
};
};
}