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

89
groups/all/default.nix Normal file
View file

@ -0,0 +1,89 @@
{
pkgs,
lib,
...
}: {
imports = [
../../hosts/modules/core/garbage-collector.nix
];
networking = {
networkmanager.enable = true;
nftables.enable = true;
firewall = {
enable = lib.mkDefault true;
allowPing = lib.mkDefault true;
};
# Use CloudFlare's WARP+ 1.1.1.1 DNS service
nameservers = [
"1.1.1.1"
"1.0.0.1"
];
};
programs.nh = {
enable = true;
clean.enable = true;
clean.extraArgs = "--keep-since 7d --keep 3";
flake = "/etc/nixos"; # sets NH_OS_FLAKE variable for you
};
nix.settings = {
# making wheel group trusted allows your user
# to import packages not signed by a trusted key
trusted-users = ["root" "@wheel"];
experimental-features = [
"nix-command"
"flakes"
"pipe-operators"
];
download-buffer-size = 524288000; # 500 MiB
};
time.timeZone = lib.mkDefault "America/Los_Angeles";
i18n.defaultLocale = lib.mkDefault "en_US.UTF-8";
# Enable initrd hook for virtual console customisation
# aka cool colours when bootting yay!!
console = {
enable = true;
earlySetup = true; # initrd pre hook
keyMap = "us";
font = "Lat2-Terminus16";
# ANSI 24-bit color definitions (theme: dracula)
colors = [
"21222c"
"ff5555"
"50fa7b"
"f1fa8c"
"bd93f9"
"ff79c6"
"8be9fd"
"f8f8f2"
"6272a4"
"ff6e6e"
"69ff94"
"ffffa5"
"d6acff"
"ff92df"
"a4ffff"
"ffffff"
];
};
users.defaultUserShell = pkgs.bash;
security.sudo-rs = {
enable = true;
wheelNeedsPassword = lib.mkOverride 200 true;
};
environment.systemPackages = with pkgs; [
git
vim
wget
tree
];
}

View file

@ -0,0 +1,85 @@
{
pkgs,
lib,
config,
...
}: {
imports = [
./system.nix
./programs.nix
../../hosts/modules/bashistrans.nix
../../hosts/modules/wm/hyprland.nix
];
boot.loader.grub2-theme = {
enable = true;
# GitHub: vinceliuice/grub2-themes
theme = "whitesur"; # stylish, vimix, or whitesur
footer = true;
customResolution = "1920x1080";
};
# Set display manager (login screen)
services.displayManager = {
# sddm relies on pkgs.libsForQt5.qt5.qtgraphicaleffects
sddm = {
enable = true;
wayland.enable = ! config.services.xserver.enable; # experimental
theme = "corners";
};
defaultSession =
if config.programs.hyprland.withUWSM == true
then "hyprland-uwsm"
else "hyprland";
};
programs.fish.enable = true;
# ----- FONTS -----
fonts = {
enableDefaultPackages = true; # no clue what this line does tbh
packages = with pkgs;
[
geist-font # for my hyprlock theme
# texlive maintains a noto-emoji flake
texlivePackages.noto-emoji
]
++ builtins.filter lib.attrsets.isDerivation (
builtins.attrValues pkgs.nerd-fonts
);
# TODO: change your default fonts
fontconfig = {
defaultFonts = {
serif = ["Geist"];
sansSerif = ["Geist"];
monospace = ["Cousine"];
emoji = ["Noto Emoji"];
};
};
};
# ---- ENVIRONMENT VARIABLES ----
environment = {
sessionVariables = {
# Hint Electrons apps to use Wayland
NIXOS_OZONE_WL = "1";
XDG_DOWNLOAD_DIR = "$HOME/Downloads";
XDG_CONFIG_HOME = "$HOME/.config";
};
systemPackages = with pkgs; [
sddm-theme-corners
];
};
# ------- USERS -------
users.users.lorkan = {
isNormalUser = true;
extraGroups = ["wheel" "netdev" "docker"];
shell = pkgs.fish;
};
}

View file

@ -0,0 +1,76 @@
{pkgs, ...}: {
imports = [
../../hosts/modules/apps/sober.nix
../../hosts/modules/apps/steam.nix
];
environment.systemPackages = with pkgs; [
# Shell
bash
fish
grc # colorise command outputs
# Nix
nix-prefetch-git
nix-index
nix-unit
ns # nix-search-tv overlay
# Modern Unix Commands
tlrc
btop
eza
yazi
exiftool # for yazi
ripgrep
viddy # modern `watch` command
timg # terminal image (sixel) viewer
wormhole-rs
# Pretty necessary
git
git-filter-repo
brightnessctl
acpi
vim
powertop
usbutils
nmap
# "Standard" Unix Commands
file
wget
tree
pstree
zip
unzip
unrar-free
lz4
moreutils
man-pages
man-pages-posix
# Desktop Services
awww
bluetui
hyprpicker # color picker
hyprshot # screenshot utility
wl-clipboard # clipboard for wayland
wl-screenrec # screen recording utility
# Userland Applications
helvum
easyeffects
pavucontrol
qbittorrent # torrenting
];
services.pcscd.enable = true;
# GNUPG-Agent stores your GPG+SSH keys securely
programs = {
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
};
}

View file

@ -0,0 +1,80 @@
{...}: {
hardware = {
graphics = {
enable = true;
enable32Bit = true;
};
bluetooth = {
enable = true;
powerOnBoot = true;
};
};
virtualisation.docker.enable = true;
services = {
# systemd-resolved provides network name resolution
# to local processes via a D-Bus interface.
resolved = {
enable = true;
dnssec = "true";
domains = ["~."];
# Use CloudFlare's WARP+ 1.1.1.1 DNS service
fallbackDns = [
"1.1.1.1#one.one.one.one"
"1.0.0.1#one.one.one.one"
];
dnsovertls = "true";
};
# Multimedia Framework
# With backwards compatability for alsa/pulseaudio/jack
pipewire = {
enable = true;
audio.enable = true;
wireplumber.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
# pulse.enable = true;
# jack.enable = true;
# disable X11 bell module, which plays a sound on urgency hint
extraConfig = {
pipewire."99-silent-bell.conf" = {
"context.properties" = {
"module.x11.bell" = false;
};
};
};
};
};
# allows pipewire to use the realtime scheduler for increased performance
security.rtkit.enable = true;
# ---- ENVIRONMENT VARIABLES ----
environment = {
# always install "dev" derivation outputs
extraOutputsToInstall = ["dev"];
};
documentation = {
enable = true;
doc.enable = false; # install /share/doc packages
man = {
enable = true; # install manpages
# https://discourse.nixos.org/t/slow-build-at-building-man-cache/52365/4
generateCaches = false;
};
info.enable = false; # install GNU info
dev.enable = true; # install docs intended for developers
nixos = {
enable = true; # install NixOS documentation (ie man -k nix, & nixos-help)
options.splitBuild = true;
includeAllModules = false;
};
};
}