Evie Litherland-Smith
105a35c024
Swap Qt to use gtk2, should pick up from GTK theme then. Remove additional packages bundled with sway, installed my own versions.
169 lines
4.2 KiB
Nix
169 lines
4.2 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
accentColourName,
|
|
...
|
|
}: {
|
|
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 = let
|
|
extraCss = import ./base16/gtk.nix {
|
|
inherit (config) scheme;
|
|
inherit accentColourName;
|
|
};
|
|
toCapital = string:
|
|
with lib; let
|
|
chars = let
|
|
lc = strings.splitString "" string;
|
|
in (lists.sublist 1 (lists.length lc - 2) lc);
|
|
in (
|
|
strings.concatStringsSep "" (
|
|
(lists.singleton (strings.toUpper (lists.elemAt chars 0)))
|
|
++ (lists.sublist 1 (lists.length chars) chars)
|
|
)
|
|
);
|
|
in {
|
|
enable = true;
|
|
gtk3 = {inherit extraCss;};
|
|
gtk4 = {inherit extraCss;};
|
|
theme = let
|
|
color = "purple";
|
|
in {
|
|
package = pkgs.colloid-gtk-theme.override {
|
|
themeVariants = [color];
|
|
colorVariants = [config.scheme.variant];
|
|
};
|
|
name = "Colloid-${toCapital color}-${toCapital config.scheme.variant}";
|
|
};
|
|
iconTheme = let
|
|
color = "violet";
|
|
in {
|
|
package = pkgs.papirus-icon-theme.override {inherit color;};
|
|
name = "Papirus-${toCapital config.scheme.variant}";
|
|
};
|
|
};
|
|
qt = {
|
|
enable = true;
|
|
style.name = "gtk2";
|
|
};
|
|
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;
|
|
};
|
|
}
|