{ lib, pkgs, config, inputs, self-overlay, ha-now-playing-overlay, pamedia-overlay, ... }: with lib; let cfg = config.eboskma.desktop; in { imports = [ ../../users/erwin.nix ../../users/root.nix ]; options.eboskma.desktop = { enable = mkEnableOption "Enable default desktop configuration"; home-manager = mkOption { type = types.bool; default = false; description = '' Enable home-manager for this desktop ''; }; }; config = mkIf cfg.enable { home-manager.users.erwin = mkIf cfg.home-manager { _module.args.flake-inputs = inputs; programs.home-manager.enable = true; programs.command-not-found.enable = true; home.username = "erwin"; home.homeDirectory = "/home/erwin"; home.sessionVariables = { EDITOR = "${pkgs.neovim}/bin/nvim"; }; nixpkgs.config = { allowUnfree = true; }; home.stateVersion = "21.11"; eboskma = { programs = { alacritty.enable = true; bat.enable = true; firefox = { enable = true; work = config.eboskma.base.work; }; fish.enable = true; git = { enable = true; name = "Erwin Boskma"; email = "erwin@datarift.nl"; signingKey = "EE7ADEFE1D943C7B"; }; gpg.enable = true; rofi.enable = true; vscode.enable = true; sway.enable = true; tmux.enable = true; waybar.enable = true; }; }; home.packages = with pkgs; [ bitwarden fd git gnome.nautilus jetbrains.clion neovim ripgrep signal-desktop steam tdesktop unzip wl-clipboard ]; xdg = { enable = true; }; gtk = { enable = true; theme = { name = "Arc-Dark"; package = pkgs.arc-theme; }; iconTheme = { name = "Paper"; package = pkgs.paper-icon-theme; }; gtk3.extraConfig = { gtk-application-prefer-dark-theme = true; }; }; imports = [ { nixpkgs.overlays = [ self-overlay ha-now-playing-overlay pamedia-overlay ]; } ../../home-manager/modules/alacritty ../../home-manager/modules/bat ../../home-manager/modules/firefox ../../home-manager/modules/fish ../../home-manager/modules/git ../../home-manager/modules/gpg ../../home-manager/modules/rofi ../../home-manager/modules/vscode ../../home-manager/modules/sway ../../home-manager/modules/tmux ../../home-manager/modules/waybar ]; }; programs = { dconf.enable = true; sway = { enable = true; wrapperFeatures = { gtk = true; base = true; }; extraPackages = with pkgs; [ swaylock-effects swayidle ]; }; }; xdg = { mime.enable = true; menus.enable = true; icons.enable = true; sounds.enable = true; autostart.enable = true; portal = { enable = true; wlr.enable = true; gtkUsePortal = true; }; }; services = { dbus.packages = [ pkgs.gcr ]; }; security.pam.services.swaylock = { text = '' auth include login ''; }; }; }