nixos/home/desktop/default.nix
Evie Litherland-Smith 94c6d717b0 Use libsecret for mbsync and git-credential-helper
Add gnome-keyring as libsecret backend, swap git-credential-helper and
mbsync to using libsecret/secret-tool. Add helper script to check for
and request mbsync passwords if missing. Add GNOME Seahorse for
viewing passwords graphically.

Remove email/work.nix and merge back into default.nix

Don't auto start protonmail-bridge, use the GUI instead so it doesn't
need to unlock all my keychains immediately

Move 3D modelling software to Vanguard only, instead of all personal
devices.

Move waybar back to top of screen and adjust all corner radii to 5px
from 10px

Re-enable swayfx blur_ignore_transparent now that it's added to
nixpkgs, re-enable shadows
2024-07-08 08:58:32 +01:00

155 lines
3.7 KiB
Nix

{
config,
lib,
pkgs,
...
}: {
imports = [
./sway/default.nix
./alacritty/default.nix
./avizo/default.nix
./fuzzel/default.nix
./swaylock/default.nix
./swayidle/default.nix
./swaync/default.nix
./waybar/default.nix
./wlogout/default.nix
];
home = {
pointerCursor = let
name =
if config.scheme.variant == "light"
then "volantes_cursors"
else "volantes_light_cursors";
in {
inherit name;
package = pkgs.volantes-cursors;
size = 32;
gtk.enable = true;
x11 = {
enable = true;
defaultCursor = name;
};
};
packages = with pkgs; [
pinentry-gnome3
gnome.seahorse
ffmpeg
evince
libreoffice-fresh
inkscape
webcord
teams-for-linux
grim
slurp
swayimg
swaybg
(writeShellScriptBin "protonmail-setup-bridge" ''
pkill -9 -f protonmail-bridge
${protonmail-bridge}/bin/protonmail-bridge -c
swaymsg exec "${protonmail-bridge}/bin/protonmail-bridge -n"
'')
(writeShellScriptBin "davmail-setup" ''
systemctl --user restart davmail # Ensure config file is present
systemctl --user stop davmail
${davmail}/bin/davmail -n ~/.davmail.properties
systemctl --user restart davmail
'')
];
};
services = {
avizo.enable = true;
gpg-agent.pinentryPackage = pkgs.pinentry-gnome3;
syncthing.enable = true;
kdeconnect = {
enable = true;
indicator = true;
};
udiskie = {
enable = true;
notify = true;
automount = true;
tray = "never";
};
};
programs.mpv.enable = true;
gtk = {
enable = true;
iconTheme = {
package = pkgs.papirus-icon-theme.override {color = "violet";};
name =
if config.scheme.variant == "light"
then "Papirus-Light"
else "Papirus-Dark";
};
theme = {
package = pkgs.gnome.gnome-themes-extra;
name =
if config.scheme.variant == "light"
then "Adwaita"
else "Adwaita-dark";
};
};
qt = {
enable = true;
style = {
package = pkgs.adwaita-qt;
name =
if config.scheme.variant == "light"
then "adwaita"
else "adwaita-dark";
};
};
xdg = {
mime.enable = true;
mimeApps = let
defaultApplications = import ./mimeapps.nix;
in {
enable = true;
inherit defaultApplications;
associations = {
added = defaultApplications;
removed = {
"x-scheme-handler/zoomus" = config.xdg.mimeApps.defaultApplications."x-scheme-handler/http";
};
};
};
userDirs = {
enable = true;
createDirectories = true;
extraConfig = {
XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects";
};
};
configFile."teams-for-linux/config.json".text = builtins.toJSON {
awayOnSystemIdle = true;
closeAppOnCross = true;
followSystemTheme = true;
electronCLIFlags = lib.mkIf config.wayland.windowManager.sway.enable [["ozone-platform" "wayland"]];
notificationMethod = "electron";
optInTeamsV2 = true;
spellCheckerLanguages = ["en_GB"];
};
};
xresources.properties = with config.scheme.withHashtag; {
"*background" = base00;
"*foreground" = base05;
"*color0" = base00;
"*color1" = red;
"*color2" = green;
"*color3" = yellow;
"*color4" = blue;
"*color5" = magenta;
"*color6" = cyan;
"*color7" = base04;
"*color8" = base01;
"*color9" = red;
"*color10" = green;
"*color11" = yellow;
"*color12" = blue;
"*color13" = magenta;
"*color14" = cyan;
"*color15" = base05;
};
}