2024-03-30 07:27:21 +01:00
|
|
|
{ pkgs, ... }: {
|
2023-12-31 16:25:53 +01:00
|
|
|
# Enable sound with pipewire.
|
|
|
|
sound.enable = true;
|
2024-06-21 03:58:53 +02:00
|
|
|
hardware.pulseaudio.enable = false;
|
2023-12-31 16:25:53 +01:00
|
|
|
security.rtkit.enable = true;
|
|
|
|
services.pipewire = {
|
2024-06-21 03:58:53 +02:00
|
|
|
enable = true;
|
2023-12-31 16:25:53 +01:00
|
|
|
alsa.enable = true;
|
|
|
|
alsa.support32Bit = true;
|
|
|
|
pulse.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
# Configure keymap in X11
|
|
|
|
services.xserver = {
|
|
|
|
enable = true;
|
2024-04-25 13:20:08 +02:00
|
|
|
xkb.layout = "us";
|
|
|
|
xkb.variant = "";
|
2023-12-31 16:25:53 +01:00
|
|
|
autorun = true;
|
|
|
|
};
|
2024-04-24 04:23:26 +02:00
|
|
|
services.desktopManager.plasma6.enable = true;
|
2024-01-01 06:42:36 +01:00
|
|
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
arc-kde-theme
|
2024-06-25 13:45:37 +02:00
|
|
|
arc-theme
|
2024-01-01 08:31:11 +01:00
|
|
|
];
|
2024-01-02 13:33:57 +01:00
|
|
|
|
2024-03-22 03:37:18 +01:00
|
|
|
services.xrdp.defaultWindowManager = "startplasma-x11";
|
2024-04-25 13:20:08 +02:00
|
|
|
services.displayManager.sddm.settings.General.DisplayServer = "x11-user";
|
2024-03-22 03:37:18 +01:00
|
|
|
|
2024-01-02 14:05:33 +01:00
|
|
|
systemd.user.services = {
|
2024-01-02 14:02:53 +01:00
|
|
|
"get-theme-times" = {
|
|
|
|
enable = true;
|
2024-06-14 03:38:55 +02:00
|
|
|
path = [ pkgs.curl pkgs.fx ];
|
2024-01-03 06:24:21 +01:00
|
|
|
script = ''
|
2024-01-05 12:38:54 +01:00
|
|
|
echo "Activating get-theme-times systemd service"
|
2024-06-14 03:45:22 +02:00
|
|
|
curl -s "https://api.sunrise-sunset.org/json?lat=35.680&lng=135.03&tzid=Asia/Tokyo" | fx .results.sunrise > /tmp/wttr.sunrise
|
|
|
|
curl -s "https://api.sunrise-sunset.org/json?lat=35.680&lng=135.03&tzid=Asia/Tokyo" | fx .results.sunset > /tmp/wttr.sunset
|
2024-06-18 05:46:01 +02:00
|
|
|
chmod ogu+rw /tmp/wttr.sunset /tmp/wttr.sunrise
|
2024-01-05 12:38:54 +01:00
|
|
|
echo "get-theme-times - complete"
|
2024-01-03 06:24:21 +01:00
|
|
|
'';
|
2024-01-02 14:02:53 +01:00
|
|
|
after = [ "networking-online.target" ];
|
2024-01-02 15:20:11 +01:00
|
|
|
serviceConfig.Type = "oneshot";
|
2024-01-03 10:03:56 +01:00
|
|
|
onSuccess = [ "set-theme.service" ];
|
2024-01-02 14:02:53 +01:00
|
|
|
};
|
2024-01-03 10:03:56 +01:00
|
|
|
set-theme = {
|
2024-01-02 14:02:53 +01:00
|
|
|
enable = true;
|
2024-01-02 14:45:26 +01:00
|
|
|
script = ''
|
2024-06-18 05:46:01 +02:00
|
|
|
#!/bin/env bash
|
2024-01-05 12:38:54 +01:00
|
|
|
echo "set-theme.service - Checking for theme settings"
|
2024-01-03 10:03:56 +01:00
|
|
|
if [ ! -f /tmp/wttr.sunrise ] ; then
|
|
|
|
systemctl --user start get-theme-times.service
|
2024-06-18 05:46:01 +02:00
|
|
|
fi
|
2024-06-13 12:59:35 +02:00
|
|
|
echo "Getting dates:"
|
2024-06-18 06:22:46 +02:00
|
|
|
SUNRISE=`date --date="$(cat /tmp/wttr.sunrise)" +%s`
|
2024-06-13 12:59:35 +02:00
|
|
|
echo "Sunrise: $SUNRISE"
|
2024-06-18 06:05:03 +02:00
|
|
|
SUNSET=`date --date="$(cat /tmp/wttr.sunset)" +%s`
|
2024-06-13 12:59:35 +02:00
|
|
|
echo "Sunset: $SUNSET"
|
2024-01-03 06:24:21 +01:00
|
|
|
CURRENT=`date +%s`
|
2024-06-13 12:59:35 +02:00
|
|
|
echo "Current: $CURRENT"
|
2024-01-03 06:24:21 +01:00
|
|
|
if [ $CURRENT -gt $SUNRISE -a $CURRENT -lt $SUNSET ] ; then
|
2024-06-13 07:27:02 +02:00
|
|
|
# /run/current-system/sw/bin/plasma-apply-colorscheme -system offscreen Arc
|
|
|
|
/run/current-system/sw/bin/plasma-apply-colorscheme Arc
|
2024-01-03 10:03:56 +01:00
|
|
|
else
|
2024-06-13 07:27:02 +02:00
|
|
|
# /run/current-system/sw/bin/plasma-apply-colorscheme -system offscreen ArcDark
|
|
|
|
/run/current-system/sw/bin/plasma-apply-colorscheme ArcDark
|
2024-01-03 01:08:23 +01:00
|
|
|
fi
|
2024-01-05 12:38:54 +01:00
|
|
|
echo "set-theme.service - Complete"
|
2024-01-02 14:45:26 +01:00
|
|
|
'';
|
2024-01-02 15:20:11 +01:00
|
|
|
serviceConfig.Type = "oneshot";
|
2024-01-02 14:02:53 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-01-02 14:05:33 +01:00
|
|
|
systemd.user.timers = {
|
2024-01-03 06:27:00 +01:00
|
|
|
"get-theme-times" = {
|
|
|
|
enable = true;
|
2024-01-05 12:48:33 +01:00
|
|
|
wantedBy = [ "default.target" ];
|
|
|
|
timerConfig = {
|
|
|
|
Unit = "get-theme-times.service";
|
|
|
|
OnCalendar = [ "*:00" ];
|
2024-06-26 06:55:48 +02:00
|
|
|
OnBootSec = [ "1min" ];
|
2024-01-05 12:48:33 +01:00
|
|
|
};
|
2024-01-03 06:27:00 +01:00
|
|
|
};
|
2024-01-03 10:03:56 +01:00
|
|
|
"set-theme" = {
|
2024-01-03 06:27:00 +01:00
|
|
|
enable = true;
|
2024-01-05 12:48:33 +01:00
|
|
|
wantedBy = [ "default.target" ];
|
|
|
|
timerConfig = {
|
|
|
|
Unit = "set-theme.service";
|
|
|
|
OnCalendar = [ "*:0..59" ];
|
2024-06-26 06:55:48 +02:00
|
|
|
OnBootSec = [ "2min" ];
|
2024-01-05 12:48:33 +01:00
|
|
|
};
|
2024-01-02 14:02:53 +01:00
|
|
|
};
|
2024-01-02 13:26:44 +01:00
|
|
|
};
|
2024-03-15 14:08:53 +01:00
|
|
|
}
|