2023-04-10 15:12:45 +02:00
|
|
|
{ lib
|
2023-05-11 17:33:14 +02:00
|
|
|
, config
|
2022-07-15 13:11:54 +02:00
|
|
|
, pkgs
|
|
|
|
, ...
|
|
|
|
}:
|
2023-05-11 17:33:14 +02:00
|
|
|
|
|
|
|
let
|
2024-06-17 09:59:39 +02:00
|
|
|
inherit (lib) mkEnableOption mkIf mkDefault;
|
2023-05-11 17:33:14 +02:00
|
|
|
cfg = config.my.profiles.desktop;
|
|
|
|
in
|
|
|
|
{
|
|
|
|
options.my.profiles.desktop.enable = mkEnableOption "desktop profile";
|
|
|
|
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
my = {
|
|
|
|
yubikey = {
|
2023-04-16 17:56:43 +02:00
|
|
|
enable = mkDefault true;
|
2023-05-11 17:33:14 +02:00
|
|
|
luksSupport = {
|
2023-12-10 17:08:27 +01:00
|
|
|
enable = mkDefault false;
|
2023-05-11 17:33:14 +02:00
|
|
|
devices = mkDefault [ "enc" ];
|
|
|
|
};
|
2023-03-14 09:52:28 +01:00
|
|
|
};
|
2023-05-11 17:33:14 +02:00
|
|
|
wallpapers.enable = mkDefault true;
|
|
|
|
theming = {
|
|
|
|
enable = mkDefault true;
|
|
|
|
scheme = mkDefault "catppuccin-macchiato";
|
|
|
|
};
|
|
|
|
virtualisation.podman.enable = mkDefault true;
|
2022-07-15 13:11:54 +02:00
|
|
|
|
2023-05-11 17:33:14 +02:00
|
|
|
programs = {
|
|
|
|
chromium.enable = mkDefault true;
|
|
|
|
firefox.enable = mkDefault true;
|
|
|
|
gpg.enable = mkDefault true;
|
|
|
|
hyprland.enable = mkDefault true;
|
2023-05-31 15:51:50 +02:00
|
|
|
nix-edit.enable = mkDefault true;
|
2023-05-11 17:33:14 +02:00
|
|
|
nvim.enable = mkDefault true;
|
|
|
|
python.versions."311".enable = mkDefault true;
|
2023-07-22 11:18:58 +02:00
|
|
|
spotify-player = {
|
|
|
|
enable = mkDefault true;
|
|
|
|
package = pkgs.spotify-player.overrideAttrs (old: {
|
|
|
|
buildFeatures = lib.lists.remove "notify" (old.buildFeatures or [ ]);
|
|
|
|
});
|
|
|
|
config = {
|
|
|
|
client_id = "3172dbeaf64949728920c58b823bc24b";
|
|
|
|
copy_command = {
|
|
|
|
command = "wl-copy";
|
|
|
|
args = [ ];
|
|
|
|
};
|
|
|
|
enable_cover_image_cache = true;
|
|
|
|
default_device = "spotify-player-daemon";
|
|
|
|
enable_streaming = false;
|
|
|
|
playback_window_position = "Bottom";
|
|
|
|
cover_img_length = 20;
|
|
|
|
cover_img_width = 10;
|
|
|
|
};
|
|
|
|
};
|
2023-05-11 17:33:14 +02:00
|
|
|
ssh.enable = mkDefault true;
|
|
|
|
thunar.enable = mkDefault true;
|
|
|
|
wallpaper.enable = mkDefault true;
|
|
|
|
zathura.enable = mkDefault true;
|
|
|
|
};
|
|
|
|
services = {
|
|
|
|
dunst.enable = mkDefault true;
|
|
|
|
gammastep.enable = true;
|
|
|
|
kdeconnect.enable = mkDefault true;
|
|
|
|
printing.enable = true;
|
2023-07-22 11:18:58 +02:00
|
|
|
spotify-player = {
|
|
|
|
enable = mkDefault true;
|
|
|
|
config = {
|
|
|
|
client_id = "3172dbeaf64949728920c58b823bc24b";
|
|
|
|
device = {
|
|
|
|
name = "spotify-player-daemon";
|
|
|
|
device_type = "computer";
|
|
|
|
volume = 70;
|
|
|
|
bitrate = 320;
|
|
|
|
audio_cache = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-08-14 08:46:19 +02:00
|
|
|
timers.enable = true;
|
2023-05-11 17:33:14 +02:00
|
|
|
wireguard.enable = true;
|
|
|
|
};
|
2022-07-15 13:11:54 +02:00
|
|
|
};
|
|
|
|
|
2023-05-11 17:33:14 +02:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
keepassxc
|
|
|
|
pavucontrol
|
2023-06-10 10:23:31 +02:00
|
|
|
stable.libreoffice # NOTE breaks often
|
|
|
|
stable.signal-desktop # NOTE breaks often
|
|
|
|
stable.texlive.combined.scheme-full # NOTE breaks often
|
2023-05-11 17:33:14 +02:00
|
|
|
thunderbird
|
|
|
|
vlc
|
2024-02-17 09:43:48 +01:00
|
|
|
(symlinkJoin {
|
|
|
|
name = "obsidian-wayland";
|
|
|
|
paths = [ obsidian ];
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
|
|
postBuild = ''
|
|
|
|
wrapProgram $out/bin/obsidian \
|
|
|
|
--add-flags "--socket=wayland --enable-features=UseOzonePlatform --ozone-platform=wayland"
|
|
|
|
'';
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
2023-05-11 17:33:14 +02:00
|
|
|
programs.nix-ld.enable = true;
|
2022-12-23 12:40:37 +01:00
|
|
|
|
2023-05-11 17:33:14 +02:00
|
|
|
home-manager.users.moritz = {
|
|
|
|
services.nextcloud-client = {
|
|
|
|
enable = true;
|
|
|
|
startInBackground = true;
|
|
|
|
};
|
2023-10-25 17:19:26 +02:00
|
|
|
systemd.user.services.nextcloud-client.Service = {
|
|
|
|
RestartSec = "500ms";
|
|
|
|
Restart = "on-failure";
|
|
|
|
};
|
2022-07-15 13:11:54 +02:00
|
|
|
};
|
2023-10-25 17:19:26 +02:00
|
|
|
|
2023-05-11 17:33:14 +02:00
|
|
|
services = {
|
2023-05-14 15:32:50 +02:00
|
|
|
illum.enable = true;
|
2023-05-11 17:33:14 +02:00
|
|
|
gnome.gnome-keyring.enable = true;
|
|
|
|
pipewire = {
|
|
|
|
enable = true;
|
|
|
|
alsa.enable = true;
|
|
|
|
pulse.enable = true;
|
|
|
|
};
|
2022-07-15 13:11:54 +02:00
|
|
|
};
|
2023-10-25 17:19:59 +02:00
|
|
|
|
|
|
|
# faster startup https://majiehong.com/post/2021-07-30_slow_nixos_startup/
|
|
|
|
networking = {
|
|
|
|
# no need to wait interfaces to have an IP to continue booting
|
|
|
|
dhcpcd.wait = "background";
|
|
|
|
# avoid checking if IP is already taken to boot a few seconds faster
|
|
|
|
dhcpcd.extraConfig = "noarp";
|
|
|
|
};
|
|
|
|
# disable network-online.target
|
|
|
|
systemd.services.NetworkManager-wait-online.enable = false;
|
2023-10-27 19:33:19 +02:00
|
|
|
boot = {
|
|
|
|
consoleLogLevel = 0;
|
|
|
|
kernelParams = [ "quiet" "udev.log_level=3" ];
|
|
|
|
};
|
2022-07-15 13:11:54 +02:00
|
|
|
};
|
|
|
|
}
|