flake/configs/desktop.nix

165 lines
3.1 KiB
Nix
Raw Normal View History

2023-08-29 13:23:48 +02:00
{
2024-05-21 15:00:01 +02:00
lib,
2023-11-05 22:49:25 +01:00
pkgs,
2023-11-14 19:47:42 +01:00
config,
2023-12-24 08:13:53 +01:00
catppuccin,
2024-06-26 19:30:41 +02:00
lanzaboote,
2023-11-05 22:49:25 +01:00
...
2024-02-15 19:28:02 +01:00
}: {
2024-06-06 11:51:03 +02:00
imports = [
2024-06-26 19:30:41 +02:00
catppuccin.nixosModules.catppuccin
lanzaboote.nixosModules.lanzaboote
./client.nix
../programs/ghostty.nix
2024-06-06 11:51:03 +02:00
../programs/gnome.nix
../programs/vscode.nix
# the world if hyprland
# ../programs/hyprland.nix
];
2023-11-13 04:22:42 +01:00
boot = {
2024-01-05 23:52:43 +01:00
extraModulePackages = with config.boot.kernelPackages; [v4l2loopback];
kernelModules = ["v4l2loopback"];
2024-05-21 15:00:01 +02:00
loader = {
systemd-boot.enable = lib.mkForce false;
efi.canTouchEfiVariables = true;
};
lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
};
};
2023-08-29 13:23:48 +02:00
2024-05-21 15:00:01 +02:00
environment.systemPackages = with pkgs; [sbctl];
2024-01-18 15:45:42 +01:00
fonts = {
packages = with pkgs; [
iosevka
jetbrains-mono
cantarell-fonts
twitter-color-emoji
(nerdfonts.override {fonts = ["Iosevka" "JetBrainsMono"];})
];
2024-01-18 15:45:42 +01:00
fontconfig.defaultFonts = {
emoji = ["Twitter Color Emoji"];
};
};
2024-01-18 15:45:42 +01:00
hardware = {
graphics = {
enable = true;
enable32Bit = true;
};
2024-01-18 15:45:42 +01:00
pulseaudio.enable = false;
2023-08-29 13:23:48 +02:00
2024-06-12 01:04:41 +02:00
xone.enable = true;
2024-01-18 15:45:42 +01:00
xpadneo.enable = true;
2023-08-29 13:23:48 +02:00
};
2023-11-13 04:22:42 +01:00
hm = {
2023-12-24 08:13:53 +01:00
imports = [
catppuccin.homeManagerModules.catppuccin
];
2024-01-18 15:45:42 +01:00
home = {
packages = with pkgs; [
gimp
2024-04-13 12:47:07 +02:00
gparted
2024-01-18 15:45:42 +01:00
jetbrains.idea-ultimate
libreoffice-fresh
mpv
obs-studio
obsidian
polkit_gnome
2024-06-26 19:45:32 +02:00
shotcut
(vesktop.override {withSystemVencord = false;})
2024-04-22 13:30:14 +02:00
(prismlauncher.override {
jdks = [temurin-bin-21 temurin-bin-17 temurin-bin-8];
})
2024-01-18 15:45:42 +01:00
];
};
2023-08-29 13:23:48 +02:00
2023-11-13 04:22:42 +01:00
services = {
gpg-agent = {
enable = true;
2024-03-19 14:45:44 +01:00
pinentryPackage = pkgs.pinentry-gnome3;
2023-11-13 04:22:42 +01:00
};
2023-12-24 08:13:53 +01:00
};
2024-04-21 10:22:47 +02:00
xdg.enable = true;
2024-06-13 01:09:13 +02:00
gtk.enable = true;
2023-11-13 04:22:42 +01:00
};
2023-11-09 17:09:35 +01:00
2024-01-18 15:45:42 +01:00
i18n.extraLocaleSettings = {
LC_ADDRESS = "fr_FR.UTF-8";
LC_IDENTIFICATION = "fr_FR.UTF-8";
LC_MEASUREMENT = "fr_FR.UTF-8";
LC_MONETARY = "fr_FR.UTF-8";
LC_NAME = "fr_FR.UTF-8";
LC_NUMERIC = "fr_FR.UTF-8";
LC_PAPER = "fr_FR.UTF-8";
LC_TELEPHONE = "fr_FR.UTF-8";
LC_TIME = "fr_FR.UTF-8";
};
2023-11-13 04:22:42 +01:00
programs = {
2023-11-13 16:16:18 +01:00
gnupg.agent = {
enable = true;
2024-03-19 14:45:44 +01:00
pinentryPackage = pkgs.pinentry-gnome3;
2023-11-13 16:16:18 +01:00
};
2024-04-18 18:44:35 +02:00
firefox.enable = true;
2023-11-13 04:22:42 +01:00
steam.enable = true;
2023-11-20 16:52:59 +01:00
virt-manager.enable = true;
};
2023-08-29 13:23:48 +02:00
2024-01-18 15:45:42 +01:00
security.pam.services.login.enableGnomeKeyring = true;
2023-11-15 01:00:35 +01:00
2024-01-18 15:45:42 +01:00
services = {
# apparently needed for mesa
xserver = {
enable = true;
xkb.layout = "fr";
displayManager = {
lightdm.enable = false;
gdm = {
enable = true;
wayland = true;
};
};
};
printing.enable = true;
2023-11-13 04:22:42 +01:00
2024-01-18 15:45:42 +01:00
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
wireplumber.enable = true;
};
ratbagd.enable = true;
udisks2.enable = true;
gvfs.enable = true;
tumbler.enable = true;
gnome.gnome-keyring.enable = true;
2024-01-18 15:36:37 +01:00
};
2023-11-20 02:01:09 +01:00
2024-01-18 15:45:42 +01:00
virtualisation.libvirtd.enable = true;
2023-11-05 22:49:25 +01:00
2024-01-18 15:45:42 +01:00
xdg = {
2024-06-06 11:51:03 +02:00
portal.enable = true;
2024-01-18 15:45:42 +01:00
mime.enable = true;
icons.enable = true;
};
2023-08-29 13:23:48 +02:00
}