1
0
Fork 0
mirror of https://git.sr.ht/~roxwize/.dotfiles synced 2025-07-22 14:19:04 +00:00
This commit is contained in:
Rae 5e 2025-07-20 15:49:58 -04:00
parent 2ad36426a2
commit c6813d052f
Signed by: rae
GPG key ID: 5B1A0FAB9BAB81EE
8 changed files with 49 additions and 64 deletions

View file

@ -1,11 +1,5 @@
![image](https://github.com/user-attachments/assets/2ab0e4f6-6a94-437b-9598-4396500d1f5b)
this is rae's nixOS config meow
- **display manager**: SDDM (BUT YUO NEVER SEE IT BLEHHHH)
- **window manager**: openbox
- **status bar**: yambar
# installation
theoretically:
@ -19,7 +13,15 @@ nixos-install --flake './nixos#[hostname]'
from my experience the process is more involved, but it ultimately boils down to those three commands above (the first command is only for bootstrapping). youll need to make a configuration for your host which involves creating default configurations with `nixos-generate-config`, copying it to your host's folder in `nixos/hosts/[host]/`, editing it, and then adding it to `flake.nix`. after that you should clone the repo inside of `/home/rae/` on your filesystem
## raspberry PI devices
# default applications
- **compositor** xcompmgr
- **DM** SDDM
- **launcher** rofi
- **statusbar** yambar
- **WM** openbox
<!--## raspberry PI devices
[raspberry-pi-nix](https://github.com/nix-community/raspberry-pi-nix) is used to build PI sd card images. have yur lil sd card on hand (paw) and run in the root of the repository:
@ -39,13 +41,9 @@ the system will automatically resize the root partition to match the size of the
nixos-rebuild switch --flake './nixos#[hostname]' --target-host root@[hostname]
```
ssh isnt automatically setup in a way that lets you do this from the start, you should define it in your host configuration beforehand. near has a decent example of this that you can look over if yu want...
ssh isnt automatically setup in a way that lets you do this from the start, you should define it in your host configuration beforehand. near has a decent example of this that you can look over if yu want...-->
# usage
the system should boot into openbox and from there you'll have your statusbar and a lot of keybinds to learn x3
## openbox hotkeys
# openbox hotkeys
```
Menus
@ -99,29 +97,6 @@ Miscellaneous
Restart
```
or:
**Alt+Left click** and drag over a window to move it<br>
**Alt+Right click** and drag over a window to resize it<br>
**Ctrl+Right click** on titlebar to open its window's menu<br>
**Alt+C** over a window to do the same thing
**Double click titlebar** to maximize its window completely<br>
**Left click maximize button** to maximize completely<br>
**Middle click maximize button** to maximize vertically<br>
**Right click maximize button** to maximize horizontally
**Right click** on desktop to open menu<br>
**Alt+Right click** over a window to do the same thing<br>
**Alt+D** to open the application launcher
**Alt+Left arrow** to go to the previous desktop<br>
**Alt+Right arrow** to go to the next desktop<br>
**Alt+[1-6]** to go to a specific desktop<br>
**Alt+Shift+Left arrow** to go to the previous desktop window<br>
**Alt+Shift+Right arrow** to go to the next desktop window<br>
**Alt+Tab** to cycle windows in all desktops
# (history)
here is the very first finalized version of this config that was originally tested on a qemu vm. it took 14 hours to set up. after running it on the machine itself and switching over to the configuration in its entirety i realized that it was complete and utter HORSESHIT. making things look nice again took another like four hours.

View file

Before

Width:  |  Height:  |  Size: 859 KiB

After

Width:  |  Height:  |  Size: 859 KiB

Before After
Before After

View file

@ -27,7 +27,7 @@
isDefault = true;
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
canvasblocker
catppuccin-gh-file-explorer
catppuccin-web-file-icons
indie-wiki-buddy
privacy-badger
simple-tab-groups
@ -39,6 +39,8 @@
];
settings = {
"browser.aboutConfig.showWarning" = false;
"browser.ml.chat.enabled" = false;
"browser.ml.enable" = false;
"browser.newtabpage.activity-stream.default.sites" = "https://en.wikipedia.org/";
"browser.newtabpage.activity-stream.discoverystream.enabled" = false;
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
@ -61,6 +63,7 @@
"browser.startup.page" = 3;
"browser.tabs.closeWindowWithLastTab" = false;
"browser.tabs.insertAfterCurrent" = true;
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
"devtools.editor.tabsize" = 4;
"datareporting.healthreport.uploadEnabled" = false;
"extensions.pocket.enabled" = false;
@ -69,6 +72,7 @@
"font.name.monospace.x-western" = "Fira Code";
"general.autoScroll" = true;
"layout.css.prefers-color-scheme.content-override" = 0;
"sidebar.visibility" = "hide-sidebar";
"svg.context-properties.content.enabled" = true;
};
bookmarks = [

View file

@ -51,7 +51,7 @@
# "editor.fontLigatures" = true;
"editor.formatOnSave" = false;
"editor.indentSize" = 4;
"editor.inlayHints.enabled" = false;
"editor.inlayHints.enabled" = "off";
"editor.insertSpaces" = false;
"editor.tabSize" = 4;
"explorer.confirmDelete" = false;
@ -62,12 +62,14 @@
"prettier.singleAttributePerLine" = false;
"prettier.useEditorConfig" = true;
"prettier.useTabs" = true;
"SourcePawnLanguageServer.includeDirectories" = [ "/mnt/rae2/steamcmd/css_ds/cstrike/addons/sourcemod/scripting/include" ];
"svelte.enable-ts-plugin" = true;
"telemetry.telemetryLevel" = "off";
"workbench.activityBar.iconClickBehavior" = "toggle";
"workbench.activityBar.location" = "bottom";
"workbench.colorTheme" = "Catppuccin Frappé";
"workbench.iconTheme" = "catppuccin-frappe";
"workbench.sideBar.location" = "right";
"workbench.startupEditor" = "none";
} // builtins.listToAttrs [
(df "css" "esbenp.prettier-vscode")

View file

@ -12,6 +12,7 @@
};
nixpkgs = {
config = {
allowBroken = true;
allowUnfree = true;
nvidia.acceptLicense = true;
};

View file

@ -26,7 +26,7 @@
};
nvidia = {
enable = true;
package = config.boot.kernelPackages.nvidiaPackages.legacy_390;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
};
};
@ -59,15 +59,15 @@
fsType = "ext4";
neededForBoot = false;
};
# # Big fucking thing
# fileSystems."/mnt/rae2" = {
# device = "/dev/disk/by-uuid/fbbcc72f-34af-425c-9151-ef8919a6ae07";
# fsType = "ext4";
# neededForBoot = false;
# };
# Big fucking thing
fileSystems."/mnt/rae2" = {
device = "/dev/disk/by-uuid/fbbcc72f-34af-425c-9151-ef8919a6ae07";
fsType = "ext4";
neededForBoot = false;
};
networking = {
firewall.allowedTCPPorts = [ 80 443 5900 8080 19132 25565 ];
firewall.allowedTCPPorts = [ 80 443 5900 8080 19132 25565 27015 ];
hosts = {
"10.0.0.2" = [ "near" "near.local" ];
};
@ -148,7 +148,10 @@
flatpak.enable = true;
};
security.polkit.enable = true;
security = {
polkit.enable = true;
sudo.package = pkgs.sudo.override { withInsults = true; };
};
xdg = {
mime = {

View file

@ -15,7 +15,7 @@
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
nodejs_24 # Event-driven I/O framework for the V8 JavaScript engine
nurl # Command-line tool to generate Nix fetcher calls from repository URLs
pnpm # Fast, disk space efficient package manager for JavaScript
python313 # High-level dynamically-typed programming language
@ -34,8 +34,8 @@
gzdoom # Modder-friendly OpenGL and Vulkan source port based on the DOOM engine
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; [
(retroarch.withCores ( # Multi-platform emulator frontend for libretro cores
cores: with cores; [
blastem # Sega Genesis
dosbox # MS-DOS
easyrpg # RPG Maker 2000/2003
@ -47,8 +47,8 @@
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
the-powder-toy # Free 2D physics sandbox game
uxn # Assembler and emulator for the Uxn stack machine
@ -69,11 +69,12 @@
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
# doesn't work at the moment (and port forwarding works now anyways)
# playit-agent # The playit program
qbittorrent # Featureful free software BitTorrent client
slack # Desktop client for Slack
tiny # Console IRC client
unstable.vesktop # Alternate client for Discord with Vencord built-in
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
@ -95,13 +96,12 @@
xclip # Tool to access the X clipboard from a console application
zellij # Terminal workspace with batteries included
# text editors
# TODO: remove unstable when you upgrade to 25.05
unstable.neovim # Vim text editor fork focused on extensibility and agility
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
unstable.bespokesynth # Software modular synth with controllers support, scripting and VST
bespokesynth # Software modular synth with controllers support, scripting and VST
# TODO: consider getting rid of this (no mpd support makes me sad......)
fooyin # Customisable music player
mpc # Minimalist command line interface to MPD
@ -123,7 +123,7 @@
yambar # Modular status panel for X11 and Wayland
# misc
anki # Spaced repetition flashcard program
unstable.kdePackages.kdenlive # Free and open source video editor, based on MLT Framework and KDE Frameworks
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
@ -133,16 +133,16 @@
temurin-jre-bin-8 # Eclipse Temurin, prebuilt OpenJDK binary
vlc # Cross-platform media player and streaming server
# programs to consider the retention of
catppuccin-sddm # Soothing pastel theme for SDDM
# catppuccin-sddm # Soothing pastel theme for SDDM
cemu-ti # Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features
flips # Patcher for IPS and BPS files
ghidra # Software reverse engineering (SRE) suite of tools
# flips # Patcher for IPS and BPS files
# ghidra # Software reverse engineering (SRE) suite of tools
libreoffice # Comprehensive, professional-quality productivity suite, a variant of openoffice.org
plugdata # Plugin wrapper around Pure Data to allow patching in a wide selection of DAWs
soteria # Polkit authentication agent written in GTK designed to be used with any desktop environment
sunvox # Small, fast and powerful modular synthesizer with pattern-based sequencer
tilem # Emulator and debugger for Texas Instruments Z80-based graphing calculators
timeshift # System restore tool for Linux
# tilem # Emulator and debugger for Texas Instruments Z80-based graphing calculators
# timeshift # System restore tool for Linux
];
services.flatpak.packages = [

View file

@ -80,7 +80,7 @@ in with lib; {
enable = cfg.graphics.display.x11.enable;
xkb.layout = "us";
windowManager = builtins.listToAttrs (builtins.map (x: { name = x; value = { enable = true; }; }) cfg.graphics.display.x11.windowManagers);
videoDrivers = (optional cfg.graphics.hardwareAcceleration.nvidia.enable "nvidia") ++ [ "modesetting" ];
videoDrivers = if cfg.graphics.hardwareAcceleration.nvidia.enable then [ "nvidia" ] else [ "modesetting" ];
};
displayManager.sddm = {
enable = cfg.graphics.display.x11.enable;