158 lines
3.5 KiB
Nix
158 lines
3.5 KiB
Nix
{ lib, pkgs, config, inputs, self-overlay, ha-now-playing-overlay, pamedia-overlay, ... }:
|
|
with lib;
|
|
let
|
|
cfg = config.eboskma.desktop;
|
|
bt = config.eboskma.bluetooth;
|
|
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;
|
|
|
|
services.blueman-applet.enable = bt.enable;
|
|
|
|
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
|
|
'';
|
|
};
|
|
};
|
|
}
|