1
0
Fork 0
forked from UniverseBow/flake

init (cerulean template)

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

41
hosts/MACBOOKI9/default.nix Executable file
View file

@ -0,0 +1,41 @@
{
pkgs,
upkgs,
lib,
...
}: {
imports = [
./hardware.nix
];
networking.hostName = "MACBOOKI9";
boot.loader = {
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
};
grub = {
efiSupport = true;
device = "nodev";
# detect other bootable systems at build-time
useOSProber = false;
};
};
# ----- SERVICES -----
services = {
# Touchpad support
libinput.enable = true;
};
# ---- SYSTEM PACKAGES -----
environment.systemPackages = with pkgs; [];
# XXX: WARNING: DO NOT MODIFY
# XXX: WARNING: DO NOT MODIFY
# XXX: WARNING: IM DEAD SERIOUS DO NOT CHANGE THIS VALUE
# XXX: WARNING: IM DEAD SERIOUS DO NOT CHANGE THIS VALUE
system.stateVersion = "25.11"; # Did you read the comment?
}

View file

@ -0,0 +1,33 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/c959876c-805c-4433-bb36-67eb13924c62";
fsType = "btrfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/8CC6-6102";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/091b5706-ba96-44b9-89b7-9aa7e85b8221"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

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;
};
}