init (cerulean template)

This commit is contained in:
do butterflies cry? 2026-03-25 22:55:15 -07:00
commit 1b7b1e66f0
Signed by untrusted user: cry
GPG key ID: F68745A836CA0412
65 changed files with 5597 additions and 0 deletions

View file

@ -0,0 +1,12 @@
{...}: {
services.flatpak = {
enable = true;
packages = [
{
# Linux Runtime for Roblox
appId = "org.vinegarhq.Sober";
origin = "flathub";
}
];
};
}

View file

@ -0,0 +1,50 @@
{
pkgs,
upkgs,
...
}: {
nixpkgs.overlays = [
(self: super: {
lutris = super.lutris.overrideAttrs (final: prev: {
# WARNING: pkgs.mbedtls_2 is marked insecure!
# Replace pkgs.mbedtls_2 (v2.28.10) with pkgs.mbedtls (v3.6.4)
targetPkgs = pkgs: (
(builtins.filter (p: p != pkgs.mbedtls_2) (prev.targetPkgs pkgs))
++ [pkgs.mbedtls]
);
});
})
];
programs = {
steam = {
enable = true;
package = upkgs.millennium-steam;
gamescopeSession.enable = false; # .desktop entry for gamescope
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
extraCompatPackages = with pkgs; [
proton-ge-bin
];
};
gamemode.enable = true;
};
environment.systemPackages = with pkgs; [
steamcmd
mangohud
protonup-qt
# XXX: DEBUG: disable lutris
# XXX: NOTE: pkgs.lutris depends on pkgs.mbedtls_2 which is marked insecure!
# XXX: NOTE: Use the provided overlay to patch pkgs.mbedtls_2 -> pkgs.mbedtls
# lutris
bottles
];
}

View file

@ -0,0 +1,27 @@
{pkgs, ...}: {
# I want to use fish as my login shell but it always goes terrible
# cause it isn't POSIX compliant, so instead Bash is my login and
# will just exec fish (^-^)
programs = {
fish.enable = true;
bash = {
blesh.enable = false; # ble.sh replacement for GNU readline
completion.enable = true;
interactiveShellInit = ''
# help bash transition into a beautiful fish!
if [[ -z $BASH_IS_TRANS ]]
then
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
fi
fi
# bash is trans now! (no more transitioning required)
export BASH_IS_TRANS=true
'';
};
};
}

View file

@ -0,0 +1,14 @@
{...}: {
# Optimize storage and automatic scheduled GC running
# If you want to run GC manually, use commands:
# `nix-store --optimize` for finding and eliminating redundant copies of identical store paths
# `nix-store --gc` for optimizing the nix store and removing unreferenced and obsolete store paths
# `nix-collect-garbage -d` for deleting old generations of user profiles
nix.settings.auto-optimise-store = true;
nix.optimise.automatic = true;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 14d";
};
}

View file

@ -0,0 +1,33 @@
{
inputs,
pkgs,
lib,
system,
...
}: let
hyprpkgs = inputs.hyprland.inputs.nixpkgs.legacyPackages.${system};
in {
environment.defaultPackages = with pkgs; [
hyprsunset
];
xdg.portal = {
enable = true;
wlr.enable = true;
};
programs = {
hyprland = {
enable = true;
package = inputs.hyprland.packages.${system}.hyprland;
portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland;
xwayland.enable = true;
};
};
hardware.graphics = {
package = lib.mkForce hyprpkgs.mesa;
package32 = lib.mkForce hyprpkgs.pkgsi686Linux.mesa;
};
}