nixos/modules/profiles/desktop/default.nix

149 lines
4.4 KiB
Nix
Raw Normal View History

2023-05-31 21:33:31 +02:00
{ config, lib, pkgs, ... }:
let
cfg = config.profiles.az-desktop;
in
2021-11-22 15:12:19 +01:00
{
2023-05-31 21:33:31 +02:00
options = {
profiles.az-desktop.enable = lib.mkEnableOption "Enable desktop";
2021-11-23 20:51:25 +01:00
};
2023-05-31 21:33:31 +02:00
config = lib.mkIf cfg.enable {
networking = {
networkmanager.enable = true;
};
2023-05-31 21:33:31 +02:00
services = {
az-docker.enable = true;
az-pipewire.enable = true;
2023-06-09 21:04:07 +02:00
az-qtile.enable = true;
2023-05-31 21:33:31 +02:00
flatpak.enable = true;
fwupd.enable = true;
2023-06-12 09:02:17 +02:00
gnome = {
gnome-keyring.enable = true;
tracker.enable = true;
};
2023-05-31 21:33:31 +02:00
gvfs.enable = true;
picom = {
enable = true;
vSync = true;
};
printing.enable = true;
2023-06-12 09:02:37 +02:00
redshift.enable = true;
2023-06-12 09:02:26 +02:00
udisks2.enable = true;
2023-05-31 21:33:31 +02:00
# Enable the X11 windowing system.
xserver = {
enable = true;
displayManager.lightdm.enable = true;
layout = "us";
xkbOptions = "compose:ralt";
libinput.enable = true;
};
2023-05-31 20:50:32 +02:00
};
2021-11-22 15:12:19 +01:00
2023-06-04 14:34:54 +02:00
# taken from here: https://github.com/NixOS/nixpkgs/blob/nixos-22.11/nixos/modules/hardware/video/hidpi.nix
# {
# Needed when typing in passwords for full disk encryption
console.earlySetup = true;
boot.loader.systemd-boot.consoleMode = "1";
fonts.fontconfig = {
antialias = true;
subpixel = {
rgba = "none";
lcdfilter = "none";
};
};
# }
2023-05-31 21:33:31 +02:00
fonts.fonts = with pkgs; [
source-code-pro
];
2021-11-22 16:30:00 +01:00
2023-05-31 21:33:31 +02:00
# Enable keyring
security.pam.services.lightdm.enableGnomeKeyring = true;
2023-05-31 21:33:31 +02:00
# Enable sound.
sound.enable = true;
2021-11-22 15:12:19 +01:00
2023-05-31 21:33:31 +02:00
programs = {
2023-06-12 09:02:37 +02:00
dconf.enable = true; # Enable dconf to be able to save Nautilus settings
2023-05-31 21:33:31 +02:00
az-email.enable = true;
2023-06-12 09:02:37 +02:00
az-eog.enable = true; # Gnome Image Viewer
az-hunspell.enable = true; # Enable dictionaries
2023-05-31 21:33:31 +02:00
az-idevices.enable = true;
az-nix-direnv.enable = true;
az-scripts.enable = true;
};
2023-05-31 21:33:31 +02:00
xdg = {
portal = {
enable = true;
2023-06-19 09:30:41 +02:00
xdgOpenUsePortal = true;
2023-05-31 21:33:31 +02:00
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
2023-01-28 14:17:35 +01:00
};
2023-05-31 21:33:31 +02:00
mime = {
addedAssociations = {
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/about" = "firefox.desktop";
"x-scheme-handler/unknown" = "firefox.desktop";
"x-scheme-handler/chrome" = "firefox.desktop";
"text/html" = "firefox.desktop";
"application/x-extension-htm" = "firefox.desktop";
"application/x-extension-html" = "firefox.desktop";
"application/x-extension-shtml" = "firefox.desktop";
"application/xhtml+xml" = "firefox.desktop";
"application/x-extension-xhtml" = "firefox.desktop";
"application/x-extension-xht" = "firefox.desktop";
"application/x-www-browser" = "firefox.desktop";
"x-www-browser" = "firefox.desktop";
"x-scheme-handler/webcal" = "firefox.desktop";
};
defaultApplications = {
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/about" = "firefox.desktop";
"x-scheme-handler/unknown" = "firefox.desktop";
"x-scheme-handler/chrome" = "firefox.desktop";
"text/html" = "firefox.desktop";
"application/x-extension-htm" = "firefox.desktop";
"application/x-extension-html" = "firefox.desktop";
"application/x-extension-shtml" = "firefox.desktop";
"application/xhtml+xml" = "firefox.desktop";
"application/x-extension-xhtml" = "firefox.desktop";
"application/x-extension-xht" = "firefox.desktop";
"application/x-www-browser" = "firefox.desktop";
"x-www-browser" = "firefox.desktop";
"x-scheme-handler/webcal" = "firefox.desktop";
};
2023-01-28 14:17:35 +01:00
};
};
2023-05-31 21:33:31 +02:00
environment = {
systemPackages = with pkgs; [
# what I consider to be system packages
alacritty
appimage-run
brightnessctl
firefox
lm_sensors
lxappearance
gnome.file-roller
gnome.gnome-screenshot
gnome.nautilus
networkmanager-openvpn
p7zip
pavucontrol
quickemu
rofi
source-code-pro
unrar
];
variables = {
WINIT_X11_SCALE_FACTOR = "1";
};
sessionVariables = {
DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
};
2023-01-15 14:04:31 +01:00
};
2022-01-31 11:28:16 +01:00
};
2021-11-22 15:12:19 +01:00
}