summaryrefslogtreecommitdiff
path: root/home-modules
diff options
context:
space:
mode:
Diffstat (limited to 'home-modules')
-rw-r--r--home-modules/apps/default.nix2
-rw-r--r--home-modules/apps/desktop/default.nix12
-rw-r--r--home-modules/apps/nvim/default.nix2
-rw-r--r--home-modules/desktop/hyprland.nix95
-rw-r--r--home-modules/desktop/wayland/default.nix11
-rw-r--r--home-modules/desktop/wayland/mako.nix47
-rw-r--r--home-modules/services/vdirsyncer.nix6
-rw-r--r--home-modules/theming.nix8
8 files changed, 142 insertions, 41 deletions
diff --git a/home-modules/apps/default.nix b/home-modules/apps/default.nix
index ece0543..31766ab 100644
--- a/home-modules/apps/default.nix
+++ b/home-modules/apps/default.nix
@@ -103,7 +103,7 @@ in
})
(lib.mkIf cfg.work.enable {
home.packages = with pkgs; [
- inputs.tatuin.packages.${pkgs.system}.default
+ inputs.tatuin.packages.${pkgs.stdenv.hostPlatform.system}.default
todoman
];
})
diff --git a/home-modules/apps/desktop/default.nix b/home-modules/apps/desktop/default.nix
index 9a6f0e4..5472dad 100644
--- a/home-modules/apps/desktop/default.nix
+++ b/home-modules/apps/desktop/default.nix
@@ -67,7 +67,17 @@ in
];
})
(lib.mkIf cfg.note-taking.enable {
- home.packages = with pkgs; [ obsidian ];
+ home.packages =
+ with pkgs;
+ [
+ obsidian
+ kdePackages.kdepim-runtime
+ ]
+ ++ (with pkgs.kdePackages; [
+ zanshin
+ kdepim-runtime
+ akonadi-calendar
+ ]);
# Todo force synthing to be on here
})
(lib.mkIf cfg.art.enable {
diff --git a/home-modules/apps/nvim/default.nix b/home-modules/apps/nvim/default.nix
index c99a343..fc73d2d 100644
--- a/home-modules/apps/nvim/default.nix
+++ b/home-modules/apps/nvim/default.nix
@@ -52,7 +52,7 @@ in
rustup
nil
statix
- nixfmt-rfc-style
+ nixfmt
# phpactor
pyright
nodePackages.intelephense
diff --git a/home-modules/desktop/hyprland.nix b/home-modules/desktop/hyprland.nix
index 1fdc801..164282e 100644
--- a/home-modules/desktop/hyprland.nix
+++ b/home-modules/desktop/hyprland.nix
@@ -15,12 +15,14 @@ with lib;
networkmanagerapplet
wl-clipboard
brightnessctl
+ hyprsunset
];
services.hyprpolkitagent.enable = true;
homeprogs.waybar.enable = true;
homeprogs.mako.enable = true;
+ homeprogs.mako.systemdWantedBy = [ "hyprland-session.target" ];
# Environment variables for hyprland.
# This can be used to configure wayland/hyprland-specific things
home.file.".config/uwsm/env-hyprland".text = ''
@@ -33,12 +35,11 @@ with lib;
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
export QT_AUTO_SCREEN_SCALE_FACTOR=1
export MOZ_ENABLE_WAYLAND=1
- export -n GTK_IM_MODULE
'';
# Hyprland
wayland.windowManager.hyprland = {
- systemd.enable = false;
+ systemd.enable = true;
enable = true;
xwayland.enable = true;
settings = {
@@ -252,15 +253,32 @@ with lib;
};
};
+ systemd.user.services.hyprpaper = {
+ Install.WantedBy = lib.mkForce [ "hyprland-session.target" ];
+ };
+
+ # TODO: Put the default wallpaper somewhere else.
+ home.file.defaultWallpaper = {
+ source = ./wallpaper.png;
+ target = "Pictures/Wallpapers/wallpaper.png";
+ enable = true;
+ };
+
services.hyprpaper = {
enable = true;
settings = {
ipc = "on";
splash = false;
- splash_offset = 2.0;
+ splash_offset = 2;
- preload = [ "${./wallpaper.png}" ];
- wallpaper = [ ",${./wallpaper.png}" ];
+ # preload = [ "${./wallpaper.png}" ];
+ wallpaper = [
+ {
+ monitor = "";
+ path = "${config.home.homeDirectory}/${config.home.file.defaultWallpaper.target}";
+ fit_mode = "cover";
+ }
+ ];
};
};
@@ -299,26 +317,57 @@ with lib;
];
};
};
+ services.hyprsunset = {
+ enable = true;
+ systemdTarget = "hyprland-session.target";
+ settings = {
+ max-gamma = 140;
+ profile = [
+ {
+ # Morning
+ time = "07:00";
+ identity = true;
+ # temperature = 6500;
+ gamme = 1;
+ }
+ {
+ # Evening
+ time = "19:00";
+ temperature = 4000;
+ gamma = 0.6;
+ }
+ {
+ # Night
+ time = "22:00";
+ temperature = 3000;
+ gamma = 0.4;
+ }
+ ];
+ };
+ };
- services.hypridle.enable = true;
- services.hypridle.settings = {
- general = {
- lock_cmd = "pidof hyprlock || hyprlock";
- before_sleep_cmd = "loginctl lock-session";
- ignore_dbus_inhibit = false;
- after_sleep_cmd = "hyprctl_dispatch dpms on";
+ services.hypridle = {
+ enable = true;
+ systemdTarget = "hyprland-session.target";
+ settings = {
+ general = {
+ lock_cmd = "pidof hyprlock || hyprlock";
+ before_sleep_cmd = "loginctl lock-session";
+ ignore_dbus_inhibit = false;
+ after_sleep_cmd = "hyprctl_dispatch dpms on";
+ };
+ listener = [
+ {
+ timeout = 120;
+ on-timeout = "hyprlock";
+ }
+ {
+ timeout = 300;
+ on-timeout = "hyprctl dispatch dpms off";
+ on-resume = "hyprctl dispatch dpms on";
+ }
+ ];
};
- listener = [
- {
- timeout = 120;
- on-timeout = "hyprlock";
- }
- {
- timeout = 300;
- on-timeout = "hyprctl dispatch dpms off";
- on-resume = "hyprctl dispatch dpms on";
- }
- ];
};
};
}
diff --git a/home-modules/desktop/wayland/default.nix b/home-modules/desktop/wayland/default.nix
index 27b1176..97f5fef 100644
--- a/home-modules/desktop/wayland/default.nix
+++ b/home-modules/desktop/wayland/default.nix
@@ -1,12 +1,17 @@
-{ pkgs, ... }:
+{
+ pkgs,
+ lib,
+ hostconfig,
+ ...
+}:
{
imports = [
./waybar.nix
./mako.nix
];
- xdg.portal = {
+ xdg.portal = lib.mkIf hostconfig.addons.desktop.wayland.enable {
enable = true;
- config.common.default = "*";
+
extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
diff --git a/home-modules/desktop/wayland/mako.nix b/home-modules/desktop/wayland/mako.nix
index ddf0a91..99987db 100644
--- a/home-modules/desktop/wayland/mako.nix
+++ b/home-modules/desktop/wayland/mako.nix
@@ -1,16 +1,49 @@
{
+ pkgs,
config,
lib,
...
}:
+let
+ cfg = config.homeprogs.mako;
+in
{
- options.homeprogs.mako.enable = lib.mkEnableOption "Enable Mako notification manager";
- config = lib.mkIf config.homeprogs.mako.enable {
- services.mako = {
- enable = true;
+ options.homeprogs.mako = {
+ enable = lib.mkEnableOption "Enable Mako notification manager";
+ systemdWantedBy = lib.mkOption {
+ description = "SystemD targets where mako should start for.";
+ # TODO: Put a null here, so that we can add a non-persistent default
+ default = [ ];
+ example = [ "hyprland-session.target" ];
+ type = lib.types.listOf lib.types.str;
+ };
+ package = lib.mkOption {
+ description = "mako package to use";
+ default = pkgs.mako;
+ example = pkgs.mako;
+ type = lib.types.package;
};
- xdg.configFile."mako/config".source = ./mako.ini;
-
};
-
+ config = lib.mkIf config.homeprogs.mako.enable ({
+ home.packages = [ pkgs.mako ];
+ xdg.configFile."mako/config" = {
+ onChange = "${pkgs.mako}/bin/makoctl reload || true";
+ source = ./mako.ini;
+ };
+ systemd.user.services.mako = {
+ Install.WantedBy = config.homeprogs.mako.systemdWantedBy;
+ Unit = {
+ Description = "Lightweight Wayland notification daemon";
+ Documentation = "man:mako(1)";
+ After = "graphical-session.target";
+ };
+ Service = {
+ Type = "dbus";
+ BusName = "org.freedesktop.Notifications";
+ ExecCondition = "/bin/sh -c '[ -n \"$WAYLAND_DISPLAY\" ]'";
+ ExecStart = "${cfg.package}/bin/mako";
+ ExecReload = "${cfg.package}/bin/makoctl reload";
+ };
+ };
+ });
}
diff --git a/home-modules/services/vdirsyncer.nix b/home-modules/services/vdirsyncer.nix
index df76bc8..8afe2c8 100644
--- a/home-modules/services/vdirsyncer.nix
+++ b/home-modules/services/vdirsyncer.nix
@@ -10,7 +10,7 @@ in
options.homesv.vdirsyncer = {
enable = lib.mkEnableOption "Enable syncing via vdirsyncer";
user = lib.mkOption { default = config.home.username; };
- server = lib.mkOption { default = "https://webdav.wilkuu.xyz/dav.php"; };
+ server = lib.mkOption { default = "https://mail.wilkuu.xyz/dav/"; };
};
config = lib.mkIf cfg.enable {
sops.secrets.webdav_uname = {
@@ -45,7 +45,7 @@ in
[storage contacts_remote]
type = "carddav"
- auth = "digest"
+ auth = "basic"
url = "${cfg.server}"
username = "${config.sops.placeholder.webdav_uname}"
password = "${config.sops.placeholder.webdav_pass}"
@@ -64,7 +64,7 @@ in
[storage calendar_remote]
type = "caldav"
- auth = "digest"
+ auth = "basic"
url = "${cfg.server}"
username = "${config.sops.placeholder.webdav_uname}"
password = "${config.sops.placeholder.webdav_pass}"
diff --git a/home-modules/theming.nix b/home-modules/theming.nix
index ee6b13b..15b596b 100644
--- a/home-modules/theming.nix
+++ b/home-modules/theming.nix
@@ -36,8 +36,12 @@ in
qt = {
enable = true;
- platformTheme.name = "qtct";
- style.name = "kvantum";
+ kde.settings = {
+
+ };
+ style.package = pkgs.catppuccin-qt5ct;
+
+ # style.name = "kvantum";
};
xdg.configFile."Kvantum/kvantum.kvconfig".source =