2025-01-25 00:39:16 -05:00
|
|
|
{ config, pkgs, inputs, ... }:
|
2024-12-17 15:50:18 -05:00
|
|
|
{
|
|
|
|
imports = [
|
2024-12-20 14:01:15 -05:00
|
|
|
../packages.nix
|
2024-12-17 15:50:18 -05:00
|
|
|
];
|
|
|
|
|
2025-01-25 00:39:16 -05:00
|
|
|
boot = {
|
|
|
|
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
|
|
|
extraModprobeConfig = ''
|
|
|
|
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
|
|
|
|
'';
|
2025-02-09 13:18:32 -05:00
|
|
|
supportedFilesystems = [ "ntfs" ];
|
2025-01-25 00:39:16 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
security.polkit.enable = true;
|
|
|
|
|
2025-01-19 23:48:45 -05:00
|
|
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
2025-01-01 15:52:39 -05:00
|
|
|
nixpkgs = {
|
|
|
|
config.allowUnfree = true;
|
2025-01-01 17:36:49 -05:00
|
|
|
overlays = import ../overlays.nix inputs;
|
2025-01-01 15:52:39 -05:00
|
|
|
};
|
2024-12-17 15:50:18 -05:00
|
|
|
|
|
|
|
networking.networkmanager.enable = true;
|
|
|
|
|
2025-01-19 23:48:45 -05:00
|
|
|
users.users.rae = {
|
|
|
|
isNormalUser = true;
|
|
|
|
extraGroups = [ "wheel" "docker" ];
|
|
|
|
hashedPassword = "$y$j9T$YPq.Kl8rss1JmJ5Vg6cHE/$2kdfzCkkhaO.I4u714EQnS/ZFert5byisiRVxtC.9G2";
|
|
|
|
shell = pkgs.fish;
|
|
|
|
};
|
|
|
|
|
2024-12-17 15:50:18 -05:00
|
|
|
programs = {
|
|
|
|
dconf.enable = true;
|
|
|
|
firefox.enable = true;
|
|
|
|
fish.enable = true;
|
|
|
|
gnupg.agent = {
|
|
|
|
enable = true;
|
|
|
|
enableSSHSupport = true;
|
|
|
|
};
|
2025-01-14 18:14:29 -05:00
|
|
|
nix-ld.enable = true;
|
2024-12-30 18:46:51 -05:00
|
|
|
steam = {
|
|
|
|
enable = true;
|
|
|
|
remotePlay.openFirewall = true;
|
|
|
|
dedicatedServer.openFirewall = true;
|
|
|
|
localNetworkGameTransfers.openFirewall = true;
|
|
|
|
};
|
2024-12-17 15:50:18 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
services = {
|
2024-12-30 16:43:58 -05:00
|
|
|
# Xorg
|
2024-12-17 15:50:18 -05:00
|
|
|
xserver = {
|
|
|
|
enable = true;
|
|
|
|
xkb.layout = "us";
|
|
|
|
windowManager = {
|
2024-12-30 01:01:33 -05:00
|
|
|
cwm.enable = true;
|
2024-12-17 15:50:18 -05:00
|
|
|
openbox.enable = true;
|
|
|
|
twm.enable = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
displayManager = {
|
|
|
|
sddm = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
Autologin = {
|
|
|
|
User = "rae";
|
|
|
|
Session = "none+openbox";
|
|
|
|
};
|
|
|
|
};
|
2024-12-30 00:03:52 -05:00
|
|
|
theme = "catppuccin-mocha";
|
2024-12-17 15:50:18 -05:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
# Touchpad support
|
|
|
|
libinput.enable = true;
|
2024-12-30 18:07:45 -05:00
|
|
|
# Sound
|
|
|
|
pipewire = {
|
|
|
|
enable = true;
|
|
|
|
alsa.enable = true;
|
|
|
|
pulse.enable = true;
|
|
|
|
};
|
|
|
|
# CUPS printing
|
2025-01-21 17:01:57 -05:00
|
|
|
# Can be configured at http://127.0.0.1:631/
|
|
|
|
# Local printers are host-specific (see `hardware.printers`)
|
|
|
|
# Avahi enables IPP Everywhere
|
2024-12-30 18:07:45 -05:00
|
|
|
printing.enable = true;
|
2025-01-21 17:01:57 -05:00
|
|
|
avahi = {
|
|
|
|
enable = true;
|
|
|
|
nssmdns4 = true;
|
|
|
|
openFirewall = true;
|
|
|
|
};
|
2024-12-30 18:07:45 -05:00
|
|
|
# misc
|
2025-01-18 15:01:56 -05:00
|
|
|
flatpak = {
|
|
|
|
enable = true;
|
|
|
|
packages = [
|
|
|
|
"com.github.tchx84.Flatseal"
|
|
|
|
{ flatpakref = "https://sober.vinegarhq.org/sober.flatpakref"; sha256 = "1pj8y1xhiwgbnhrr3yr3ybpfis9slrl73i0b1lc9q89vhip6ym2l"; }
|
|
|
|
];
|
|
|
|
};
|
2024-12-30 18:07:45 -05:00
|
|
|
blueman.enable = true;
|
2024-12-23 15:20:48 -05:00
|
|
|
openssh = {
|
|
|
|
enable = true;
|
2025-01-27 20:04:34 -05:00
|
|
|
knownHosts =
|
|
|
|
let
|
|
|
|
host = name: key: {
|
|
|
|
name = name;
|
|
|
|
value = {
|
|
|
|
hostNames = [ name ];
|
|
|
|
publicKey = key;
|
|
|
|
};
|
2025-01-23 21:39:00 -05:00
|
|
|
};
|
2025-01-27 20:04:34 -05:00
|
|
|
in {
|
|
|
|
|
|
|
|
} // builtins.listToAttrs [
|
|
|
|
(host "git.sr.ht" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvRd4EtM7R+IHVMWmDkVU3VLQTSwQDSAvW0t2Tkj60")
|
|
|
|
(host "github.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl")
|
|
|
|
(host "hackclub.app" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ3pezDUZG+4bPRZg2znAuuMp42AL+rc1HGUltnNf8cA")
|
|
|
|
(host "verygay.world" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICMql669TiEneexyQsUWfCo9ouEJwk3f21d9chpBqFge")
|
|
|
|
];
|
2024-12-23 15:20:48 -05:00
|
|
|
};
|
2024-12-30 16:43:58 -05:00
|
|
|
};
|
|
|
|
|
2025-02-08 20:56:26 -05:00
|
|
|
hardware = {
|
|
|
|
bluetooth = {
|
|
|
|
enable = true;
|
|
|
|
powerOnBoot = true;
|
|
|
|
};
|
|
|
|
opentabletdriver.enable = true;
|
2024-12-17 15:50:18 -05:00
|
|
|
};
|
|
|
|
|
2024-12-30 01:16:04 -05:00
|
|
|
xdg.portal = {
|
|
|
|
enable = true;
|
|
|
|
config = {
|
|
|
|
common = {
|
2025-01-19 23:48:45 -05:00
|
|
|
default = [ "gtk" ];
|
2024-12-30 01:16:04 -05:00
|
|
|
};
|
|
|
|
};
|
|
|
|
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
|
|
|
|
};
|
2024-12-30 01:10:11 -05:00
|
|
|
|
2024-12-17 15:50:18 -05:00
|
|
|
fonts = {
|
|
|
|
enableDefaultPackages = true;
|
2024-12-29 23:25:46 -05:00
|
|
|
fontconfig = {
|
|
|
|
enable = true;
|
|
|
|
defaultFonts = {
|
2024-12-29 23:30:49 -05:00
|
|
|
emoji = [ "Twitter Color Emoji" "Noto Color Emoji" ];
|
2024-12-29 23:25:46 -05:00
|
|
|
monospace = [ "Fira Code Light" ];
|
|
|
|
};
|
|
|
|
};
|
2024-12-17 15:50:18 -05:00
|
|
|
packages = with pkgs; [
|
2024-12-29 23:25:46 -05:00
|
|
|
fira-code
|
|
|
|
gohufont
|
2024-12-17 15:50:18 -05:00
|
|
|
noto-fonts
|
|
|
|
noto-fonts-cjk-sans
|
|
|
|
noto-fonts-emoji
|
2024-12-29 23:25:46 -05:00
|
|
|
twemoji-color-font
|
2024-12-17 15:50:18 -05:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2025-01-19 23:45:00 -05:00
|
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
|
|
console = {
|
2025-01-19 23:45:41 -05:00
|
|
|
font = "gr928-8x16-thin"; # https://adeverteuil.github.io/linux-console-fonts-screenshots/
|
2025-01-19 23:45:00 -05:00
|
|
|
keyMap = "us";
|
|
|
|
};
|
|
|
|
|
2025-01-18 10:19:07 -05:00
|
|
|
virtualisation.docker.enable = true;
|
2024-12-17 15:50:18 -05:00
|
|
|
}
|