147 lines
4.5 KiB
Nix
147 lines
4.5 KiB
Nix
{
|
|
den,
|
|
__findFile,
|
|
modules,
|
|
inputs,
|
|
...
|
|
}:
|
|
{
|
|
den.aspects.doloro-desktop = {
|
|
includes = [
|
|
<den/primary-user>
|
|
den.aspects.doloro-shared
|
|
modules.sops
|
|
modules.flatpaks
|
|
modules.gamemode
|
|
modules.hyprland
|
|
modules.fish
|
|
modules.tuigreet
|
|
modules.kitty
|
|
modules.nikpkgs
|
|
modules.fonts
|
|
modules.unity
|
|
<modules/hyprland/doloro-settings>
|
|
(modules.obs {
|
|
audio = true;
|
|
autostart = true;
|
|
})
|
|
<modules/common/gaming>
|
|
modules.hytale-launcher
|
|
# modules.helium
|
|
(<modules/helium> {
|
|
default = true;
|
|
})
|
|
# modules.niri # Testing
|
|
modules.stylix
|
|
modules.quickshell
|
|
modules.nix-ld
|
|
modules.spotify
|
|
# modules.easyeffects
|
|
# modules.lavd
|
|
modules.ai
|
|
modules.pi-coding
|
|
# modules.omp
|
|
modules.podman
|
|
# <modules/ai/ollama-cuda>
|
|
];
|
|
nixos =
|
|
{
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
users.users.doloro = {
|
|
shell = pkgs.fish;
|
|
hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
|
|
extraGroups = [
|
|
"libvirtd"
|
|
"gamemode"
|
|
];
|
|
};
|
|
# Register GSettings schemas so GTK/GLib apps (orca-slicer) can find
|
|
# them; without this GLib aborts with "No GSettings schemas are
|
|
# installed on the system" on non-GNOME desktops.
|
|
programs.dconf.enable = true;
|
|
virtualisation.libvirtd.enable = false;
|
|
# virtualisation.waydroid.enable = true;
|
|
# # Newer kernel versions may need
|
|
# virtualisation.waydroid.package = pkgs.waydroid-nftables;
|
|
programs.virt-manager.enable = false;
|
|
};
|
|
homeManager =
|
|
{
|
|
home,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
xdg.configFile."hypr/hyprland-local.lua" = {
|
|
text = ''
|
|
exec-once = hyprctl dispatch workspace 2 # shit solution to get quickshell on the right monitor
|
|
workspace = name:2, monitor:DP-2
|
|
input {
|
|
kb_layout = "gb"
|
|
follow_mouse = 2
|
|
sensitivity = -0.5
|
|
}
|
|
'';
|
|
};
|
|
home.packages = with pkgs; [
|
|
equibop
|
|
telegram-desktop
|
|
obsidian
|
|
# pear-desktop
|
|
prismlauncher
|
|
# deadlock-mod-manager
|
|
inputs.nik-pkgs.packages.x86_64-linux.grimoire
|
|
# gamescope
|
|
android-studio
|
|
blender
|
|
qbittorrent
|
|
mpv
|
|
krita
|
|
# (tetrio-desktop.override { withTetrioPlus = true; })
|
|
# bottles
|
|
# pi-coding-agent
|
|
# orca-slicer's wrapGAppsHook does not actually wrap the installed
|
|
# binary, so neither the GSettings schema path nor the NVIDIA/zink
|
|
# workaround env from `withNvidiaGLWorkaround` reach the process.
|
|
# Wrap it ourselves: prepend the gtk3 + gsettings-desktop schema dirs
|
|
# to XDG_DATA_DIRS (fixes "No GSettings schemas are installed on the
|
|
# system") and set the zink GL workaround explicitly.
|
|
(pkgs.symlinkJoin {
|
|
name = "orca-slicer";
|
|
paths = [ (pkgs.orca-slicer.override { withNvidiaGLWorkaround = true; }) ];
|
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
|
postBuild = ''
|
|
wrapProgram $out/bin/orca-slicer \
|
|
--prefix XDG_DATA_DIRS : "${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}:${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}" \
|
|
--set __GLX_VENDOR_LIBRARY_NAME mesa \
|
|
--set __EGL_VENDOR_LIBRARY_FILENAMES /run/opengl-driver/share/glvnd/egl_vendor.d/50_mesa.json \
|
|
--set MESA_LOADER_DRIVER_OVERRIDE zink \
|
|
--set GALLIUM_DRIVER zink \
|
|
--set WEBKIT_DISABLE_DMABUF_RENDERER 1
|
|
'';
|
|
})
|
|
# prusa-slicer
|
|
];
|
|
programs.lutris.enable = true;
|
|
nixpkgs.overlays = [
|
|
# Skipping tests while upstream sorts it out, revert once
|
|
# Hydra consistently builds openldap green.
|
|
(final: prev: {
|
|
openldap = prev.openldap.overrideAttrs (_: {
|
|
doCheck = false;
|
|
});
|
|
})
|
|
];
|
|
nixpkgs.config.allowUnfree = true;
|
|
nixpkgs.config.problems.handlers = {
|
|
tetrio-plus.broken = "warn";
|
|
};
|
|
programs.home-manager.enable = true;
|
|
};
|
|
};
|
|
}
|