2023-08-29 13:23:48 +02:00
|
|
|
{
|
2023-11-08 15:18:44 +01: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,
|
2023-11-05 22:49:25 +01:00
|
|
|
...
|
2023-11-13 04:22:42 +01:00
|
|
|
}: let
|
|
|
|
username = "leo";
|
|
|
|
in {
|
|
|
|
imports = [
|
2023-11-14 18:29:14 +01:00
|
|
|
../programs
|
2023-11-13 04:22:42 +01:00
|
|
|
(lib.mkAliasOptionModule ["hm"] ["home-manager" "users" username])
|
|
|
|
];
|
|
|
|
|
2023-11-06 13:30:32 +01:00
|
|
|
boot = {
|
2024-01-05 23:52:43 +01:00
|
|
|
extraModulePackages = with config.boot.kernelPackages; [v4l2loopback];
|
|
|
|
kernelModules = ["v4l2loopback"];
|
|
|
|
|
2023-11-06 13:30:32 +01:00
|
|
|
loader = {
|
2023-11-08 15:18:44 +01:00
|
|
|
systemd-boot.enable = lib.mkForce false;
|
2023-11-06 13:30:32 +01:00
|
|
|
efi.canTouchEfiVariables = true;
|
|
|
|
};
|
2023-11-08 15:18:44 +01:00
|
|
|
|
|
|
|
lanzaboote = {
|
|
|
|
enable = true;
|
|
|
|
pkiBundle = "/etc/secureboot";
|
|
|
|
};
|
2023-11-06 13:30:32 +01:00
|
|
|
};
|
2023-08-29 13:23:48 +02:00
|
|
|
|
2024-01-18 15:45:42 +01:00
|
|
|
environment.systemPackages = with pkgs; [sbctl];
|
2023-11-07 17:00:23 +01:00
|
|
|
|
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"];})
|
|
|
|
];
|
2023-11-07 17:00:23 +01:00
|
|
|
|
2024-01-18 15:45:42 +01:00
|
|
|
fontconfig.defaultFonts = {
|
|
|
|
emoji = ["Twitter Color Emoji"];
|
2023-11-07 17:00:23 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-01-18 15:45:42 +01:00
|
|
|
hardware = {
|
|
|
|
opengl.enable = true;
|
|
|
|
pulseaudio.enable = false;
|
2023-08-29 13:23:48 +02:00
|
|
|
|
2024-01-18 15:45:42 +01:00
|
|
|
xone.enable = true;
|
|
|
|
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; [
|
|
|
|
font-manager
|
|
|
|
gimp
|
|
|
|
gnome.gnome-calculator
|
|
|
|
jetbrains.idea-ultimate
|
|
|
|
libreoffice-fresh
|
|
|
|
mate.eom
|
|
|
|
mold
|
|
|
|
mpv
|
|
|
|
nwg-look
|
|
|
|
obs-studio
|
|
|
|
obsidian
|
|
|
|
osu-lazer-bin
|
|
|
|
pavucontrol
|
|
|
|
polkit_gnome
|
|
|
|
prismlauncher
|
|
|
|
sccache
|
|
|
|
shotcut
|
2024-01-28 11:58:06 +01:00
|
|
|
(vesktop.override {withSystemVencord = false;})
|
2024-01-20 22:55:22 +01:00
|
|
|
wine-discord-ipc-bridge
|
2024-01-18 15:45:42 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
stateVersion = "23.11";
|
|
|
|
};
|
2023-08-29 13:23:48 +02:00
|
|
|
|
2023-11-13 04:22:42 +01:00
|
|
|
services = {
|
|
|
|
gpg-agent = {
|
|
|
|
enable = true;
|
|
|
|
pinentryFlavor = "gnome3";
|
|
|
|
};
|
2023-12-24 08:13:53 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
gtk = {
|
|
|
|
enable = true;
|
|
|
|
catppuccin = {
|
|
|
|
enable = true;
|
|
|
|
flavour = "macchiato";
|
|
|
|
accent = "sky";
|
|
|
|
};
|
2023-11-07 17:00:23 +01:00
|
|
|
};
|
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;
|
|
|
|
pinentryFlavor = "gnome3";
|
|
|
|
};
|
|
|
|
|
2024-01-22 22:53:54 +01:00
|
|
|
firefox = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.librewolf;
|
|
|
|
};
|
2023-12-08 10:13:25 +01:00
|
|
|
|
2023-11-07 17:00:23 +01:00
|
|
|
seahorse.enable = true;
|
2023-12-08 10:13:25 +01:00
|
|
|
file-roller.enable = true;
|
|
|
|
|
2023-11-13 04:22:42 +01:00
|
|
|
steam.enable = true;
|
2023-08-29 13:23:48 +02:00
|
|
|
|
2023-11-07 17:00:23 +01:00
|
|
|
thunar = {
|
|
|
|
enable = true;
|
|
|
|
plugins = with pkgs.xfce; [thunar-volman thunar-archive-plugin];
|
|
|
|
};
|
2023-11-15 01:00:35 +01:00
|
|
|
|
2023-11-20 16:52:59 +01:00
|
|
|
virt-manager.enable = true;
|
2023-11-07 17:00:23 +01:00
|
|
|
};
|
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;
|
|
|
|
};
|
|
|
|
defaultSession = "hyprland";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
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
|
|
|
sound.enable = true;
|
2024-01-16 16:07:51 +01:00
|
|
|
|
2024-01-18 16:11:18 +01:00
|
|
|
users.users."${username}" = {
|
|
|
|
isNormalUser = true;
|
|
|
|
shell = pkgs.fish;
|
|
|
|
extraGroups = ["networkmanager" "wheel" "video" "libvirtd"];
|
|
|
|
hashedPasswordFile = config.age.secrets.userPassword.path;
|
2024-01-16 16:07:51 +01:00
|
|
|
};
|
2023-08-30 12:06:12 +02: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 = {
|
|
|
|
portal = {
|
|
|
|
enable = true;
|
|
|
|
extraPortals = with pkgs; [xdg-desktop-portal-gtk];
|
|
|
|
};
|
|
|
|
|
|
|
|
mime.enable = true;
|
|
|
|
icons.enable = true;
|
|
|
|
};
|
2023-08-29 13:23:48 +02:00
|
|
|
}
|