1
0
Fork 0
mirror of https://git.sr.ht/~roxwize/.dotfiles synced 2025-05-02 19:53:07 +00:00
This commit is contained in:
Rae 5e 2025-03-09 15:19:18 -04:00
parent f4ce86af2a
commit e30250fd23
Signed by: rae
GPG key ID: 5B1A0FAB9BAB81EE
8 changed files with 125 additions and 196 deletions

View file

@ -1,130 +0,0 @@
{ config, pkgs, inputs, ... }: {
imports = [
inputs.nix-flatpak.nixosModules.nix-flatpak
./base.nix
../packages.nix
];
boot = {
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
supportedFilesystems = [ "ntfs" ];
};
security.polkit.enable = true;
networking.networkmanager.enable = true;
programs = {
dconf.enable = true;
firefox.enable = true;
fish.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
nix-ld.enable = true;
steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
thunderbird = {
enable = true;
policies.DisableTelemetry = true;
};
};
services = {
# Xorg
xserver = {
enable = true;
xkb.layout = "us";
windowManager = {
cwm.enable = true;
openbox.enable = true;
twm.enable = true;
};
};
displayManager = {
sddm = {
enable = true;
settings = {
Autologin = {
User = "rae";
Session = "none+openbox";
};
};
theme = "catppuccin-mocha";
};
};
# Touchpad support
libinput.enable = true;
# Sound
pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
jack.enable = true;
};
# CUPS printing
# Can be configured at http://127.0.0.1:631/
# Local printers are host-specific (see `hardware.printers`)
# Avahi enables IPP Everywhere
printing.enable = true;
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
# misc
blueman.enable = true;
flatpak.enable = true;
};
hardware = {
bluetooth = {
enable = true;
powerOnBoot = true;
};
opentabletdriver.enable = true;
};
xdg.portal = {
enable = true;
config = {
common = {
default = [ "gtk" ];
};
};
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
};
fonts = {
enableDefaultPackages = true;
fontconfig = {
enable = true;
defaultFonts = {
emoji = [ "Twitter Color Emoji" "Noto Color Emoji" ];
monospace = [ "Fira Code Light" ];
};
};
packages = with pkgs; [
fira-code
gohufont
nasin-nanpa
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
twemoji-color-font
];
};
users.users.rae.shell = pkgs.fish;
virtualisation.docker.enable = true;
}

View file

@ -1,12 +1,17 @@
{ config, lib, pkgs, ... }:
{ inputs, config, lib, pkgs, ... }:
{
imports = [
inputs.nix-flatpak.nixosModules.nix-flatpak
./hardware-configuration.nix
../desktop.nix
./packages.nix
];
boot = {
binfmt.emulatedSystems = [ "aarch64-linux" ];
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
loader = {
efi = {
canTouchEfiVariables = false;
@ -19,6 +24,7 @@
devices = [ "nodev" ];
};
};
supportedFilesystems = [ "ntfs" ];
};
# Music pendrive
@ -39,12 +45,14 @@
hosts = {
"10.0.0.2" = [ "near" "near.local" ];
};
networkmanager.enable = true;
};
services = {
xserver.videoDrivers = [ "nvidia" ];
};
hardware = {
bluetooth = {
enable = true;
powerOnBoot = true;
};
graphics = {
enable = true;
extraPackages = with pkgs; [
@ -61,11 +69,117 @@
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
opentabletdriver.enable = true;
};
fonts.fontconfig.subpixel.rgba = "rgb";
fonts = {
enableDefaultPackages = true;
fontconfig = {
enable = true;
defaultFonts = {
emoji = [ "Twitter Color Emoji" "Noto Color Emoji" ];
monospace = [ "Fira Code Light" ];
};
subpixel.rgba = "rgb";
};
packages = with pkgs; [
fira-code
gohufont
nasin-nanpa
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
twemoji-color-font
];
};
programs = {
dconf.enable = true;
firefox.enable = true;
fish.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
nix-ld.enable = true;
steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
thunderbird = {
enable = true;
policies.DisableTelemetry = true;
};
};
services = {
# Xorg
xserver = {
enable = true;
xkb.layout = "us";
videoDrivers = [ "nvidia" ];
windowManager = {
cwm.enable = true;
openbox.enable = true;
twm.enable = true;
};
};
displayManager = {
sddm = {
enable = true;
settings = {
Autologin = {
User = "rae";
Session = "none+openbox";
};
};
theme = "catppuccin-mocha";
};
};
# Touchpad support
libinput.enable = true;
# Sound
pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
jack.enable = true;
};
# CUPS printing
# Can be configured at http://127.0.0.1:631/
# Local printers are host-specific (see `hardware.printers`)
# Avahi enables IPP Everywhere
printing.enable = true;
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
# misc
blueman.enable = true;
flatpak.enable = true;
};
security.polkit.enable = true;
xdg.portal = {
enable = true;
config = {
common = {
default = [ "gtk" ];
};
};
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
};
users.users.rae.shell = pkgs.fish;
virtualisation.docker.enable = true;
time.timeZone = "America/New_York";
system.stateVersion = "24.11";
}

View file

@ -0,0 +1,141 @@
{ pkgs, ... }: {
environment.systemPackages = with pkgs; [
# development
bun # Incredibly fast JavaScript runtime, bundler, transpiler and package manager all in one
cc65 # C compiler for processors of 6502 family
chibicc-uxn # A small C compiler... for uxn
llvmPackages_19.clang-tools # Standalone command line tools for C++ development
fasm # x86(-64) macro assembler to binary, MZ, PE, COFF, and ELF
(fenix.default.withComponents [ "cargo" "rustc" ])
gcc # GNU Compiler Collection, version 13.3.0 (wrapper script)
git # Distributed version control system
gnumake # Tool to control the generation of non-source files from sources
godot_4 # Free and Open Source 2D and 3D game engine
gtk4 # Multi-platform toolkit for creating graphical user interfaces
jdk23 # Open-source Java Development Kit
just # Handy way to save and run project-specific commands
meson # Open source, fast and friendly build system made in Python
nodejs_23 # Event-driven I/O framework for the V8 JavaScript engine
pnpm # Fast, disk space efficient package manager for JavaScript
python313 # High-level dynamically-typed programming language
vala # Compiler for GObject type system
wxwabbitemu #!Cross-platform TI-8x emulator based on Wabbitemu
## language servers
mesonlsp # Meson
nil # Nix
rust-analyzer # Rust
vala-language-server # Vala
# games
alvr # Stream VR games from your PC to your headset via Wi-Fi
easyrpg-player # RPG Maker 2000/2003 and EasyRPG games interpreter
unstable.luanti # An open source voxel game engine (formerly Minetest)
prismlauncher # Free, open source launcher for Minecraft
(retroarch.override { # Multi-platform emulator frontend for libretro cores
cores = with libretro; [
blastem # Sega Genesis
dosbox # MS-DOS
easyrpg # RPG Maker 2000/2003
mame # Arcade
melonds # Nintendo DS
mesen # Nintendo Entertainment System
mgba # Game Boy Advance
pcsx2 # PlayStation 2
ppsspp # PlayStation Portable
snes9x # Super Nintendo Entertainment System
yabause # Sega Saturn
];
})
steam-run # Run commands in the same FHS environment that is used for Steam
uxn # Assembler and emulator for the Uxn stack machine
x16 # Official emulator of CommanderX16 8-bit computer
x16-rom # ROM file for CommanderX16 8-bit computer
ynodesktop # A desktop client for Yume Nikki Online with Discord Rich Presence
# graphics
flameshot # Powerful yet simple to use screenshot software
gimp # GNU Image Manipulation Program
imagemagick # Software suite to create, edit, compose, or convert bitmap images
krita # Free and open source painting application
maim # Command-line screenshot utility
# gtk
posy-cursors # Posy's Improved Cursors for Linux
pantheon.elementary-gtk-theme # GTK theme designed to be smooth, attractive, fast, and usable
# network
cachix # Command-line client for Nix binary cache hosting
ngrok # Allows you to expose a web server running on your local machine to the internet
nicotine-plus # Graphical client for the SoulSeek peer-to-peer system
playit-agent # The playit program
qbittorrent # Featureful free software BitTorrent client
slack # Desktop client for Slack
vesktop # Alternate client for Discord with Vencord built-in
yt-dlp # Command-line tool to download videos from YouTube.com and other sites (youtube-dl fork)
# system tools
android-tools # Android SDK platform tools
bat # Cat(1) clone with syntax highlighting and Git integration
btop # Monitor of resources
compose2nix # Generate a NixOS config from a Docker Compose project
dconf-editor # GSettings editor for GNOME
kdePackages.dolphin # File manager by KDE
ffmpeg # Complete, cross-platform solution to record, convert and stream audio and video
kdePackages.filelight # Quickly visualize your disk space usage
gparted # Graphical disk partitioning tool
home-manager # Nix-based user environment configurator
hyfetch # neofetch with pride flags <3
kitty # Modern, hackable, featureful, OpenGL based terminal emulator
monitor # Manage processes and monitor system resources
timeshift # System restore tool for Linux
unzip # Extraction utility for archives compressed in .zip format
usbutils # Tools for working with USB devices, such as lsusb
wineWowPackages.stable # Open Source implementation of the Windows API on top of X, OpenGL, and Unix
xclip # Tool to access the X clipboard from a console application
zellij # Terminal workspace with batteries included
# text editors
neovim # Vim text editor fork focused on extensibility and agility
vscodium # Open source source code editor developed by Microsoft for Windows, Linux and macOS (VS Code without MS branding/telemetry/licensing)
# audio
alsa-utils # ALSA, the Advanced Linux Sound Architecture utils
audacity # Sound editor with graphical UI
# TODO: consider getting rid of this (no mpd support makes me sad......)
fooyin # Customisable music player
mpc # Minimalist command line interface to MPD
pavucontrol # PulseAudio Volume Control
playerctl # Command-line utility and library for controlling media players that implement MPRIS
reaper # Digital audio workstation
unstable.rmpc # TUI music player client for MPD with album art support via kitty image protocol
sunvox # Small, fast and powerful modular synthesizer with pattern-based sequencer
# vcv-rack # Open-source virtual modular synthesizer
# X11
hsetroot # Allows you to compose wallpapers ('root pixmaps') for X
nitrogen # Wallpaper browser and setter for X11
polybarFull # Fast and easy-to-use tool for creating status bars
rofi # Window switcher, run dialog and dmenu replacement
xcompmgr #
xdotool # Fake keyboard/mouse input, window management, and more
xorg.xev #
xorg.xwininfo #
yambar # Modular status panel for X11 and Wayland
# misc
anki # Spaced repetition flashcard program
catppuccin-sddm # Soothing pastel theme for SDDM
flips # Patcher for IPS and BPS files
unstable.kdePackages.kdenlive # Free and open source video editor, based on MLT Framework and KDE Frameworks
kicad-small # Open Source Electronics Design Automation suite, without 3D models
mlt #! Open source multimedia framework, designed for television broadcasting (This is fucking stupid)
nmap # Free and open source utility for network discovery and security auditing
obs-studio # Free and open source software for video recording and live streaming
qemu_kvm # Generic and open source machine emulator and virtualizer
soteria # Polkit authentication agent written in GTK designed to be used with any desktop environment
temurin-jre-bin-23 # Eclipse Temurin, prebuilt OpenJDK binary
temurin-jre-bin-8 # Eclipse Temurin, prebuilt OpenJDK binary
vlc # Cross-platform media player and streaming server
];
services.flatpak.packages = [
"com.github._0negal.Viper" # Launcher and updater for the Titanfall|2 mod Northstar
"com.github.tchx84.Flatseal" # Manage Flatpak permissions
"net.davidotek.pupgui2" # Install Wine- and Proton-based compatibility tools
"net.mancubus.SLADE" # It's a DOOM editor
# Glorified roblox android wrapper ;w;
{ flatpakref = "https://sober.vinegarhq.org/sober.flatpakref"; sha256 = "1pj8y1xhiwgbnhrr3yr3ybpfis9slrl73i0b1lc9q89vhip6ym2l"; }
];
}

View file

@ -1,20 +0,0 @@
{ ... }:
{
imports = [
./hardware-configuration.nix
../desktop.nix
];
boot.loader = {
grub = {
enable = true;
device = "/dev/sda";
};
};
networking.hostName = "qemu";
time.timeZone = "America/New_York";
system.stateVersion = "24.11";
}

View file

@ -1,33 +0,0 @@
# 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 + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ata_piix" "floppy" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/2812e740-47e5-4246-b9ef-9cf9900665fa";
fsType = "ext4";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/efc2c587-0227-4c85-a49d-0e508f1b75a6"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens3.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}