1
0
Fork 0
mirror of https://git.sr.ht/~roxwize/.dotfiles synced 2025-07-23 06:39:05 +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) ![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 # installation
theoretically: 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 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: [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] 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 # openbox hotkeys
the system should boot into openbox and from there you'll have your statusbar and a lot of keybinds to learn x3
## openbox hotkeys
``` ```
Menus Menus
@ -99,29 +97,6 @@ Miscellaneous
Restart 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) # (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. 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; isDefault = true;
extensions = with pkgs.nur.repos.rycee.firefox-addons; [ extensions = with pkgs.nur.repos.rycee.firefox-addons; [
canvasblocker canvasblocker
catppuccin-gh-file-explorer catppuccin-web-file-icons
indie-wiki-buddy indie-wiki-buddy
privacy-badger privacy-badger
simple-tab-groups simple-tab-groups
@ -39,6 +39,8 @@
]; ];
settings = { settings = {
"browser.aboutConfig.showWarning" = false; "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.default.sites" = "https://en.wikipedia.org/";
"browser.newtabpage.activity-stream.discoverystream.enabled" = false; "browser.newtabpage.activity-stream.discoverystream.enabled" = false;
"browser.newtabpage.activity-stream.feeds.telemetry" = false; "browser.newtabpage.activity-stream.feeds.telemetry" = false;
@ -61,6 +63,7 @@
"browser.startup.page" = 3; "browser.startup.page" = 3;
"browser.tabs.closeWindowWithLastTab" = false; "browser.tabs.closeWindowWithLastTab" = false;
"browser.tabs.insertAfterCurrent" = true; "browser.tabs.insertAfterCurrent" = true;
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
"devtools.editor.tabsize" = 4; "devtools.editor.tabsize" = 4;
"datareporting.healthreport.uploadEnabled" = false; "datareporting.healthreport.uploadEnabled" = false;
"extensions.pocket.enabled" = false; "extensions.pocket.enabled" = false;
@ -69,6 +72,7 @@
"font.name.monospace.x-western" = "Fira Code"; "font.name.monospace.x-western" = "Fira Code";
"general.autoScroll" = true; "general.autoScroll" = true;
"layout.css.prefers-color-scheme.content-override" = 0; "layout.css.prefers-color-scheme.content-override" = 0;
"sidebar.visibility" = "hide-sidebar";
"svg.context-properties.content.enabled" = true; "svg.context-properties.content.enabled" = true;
}; };
bookmarks = [ bookmarks = [

View file

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

View file

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

View file

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

View file

@ -15,7 +15,7 @@
jdk23 # Open-source Java Development Kit jdk23 # Open-source Java Development Kit
just # Handy way to save and run project-specific commands just # Handy way to save and run project-specific commands
meson # Open source, fast and friendly build system made in Python 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 nurl # Command-line tool to generate Nix fetcher calls from repository URLs
pnpm # Fast, disk space efficient package manager for JavaScript pnpm # Fast, disk space efficient package manager for JavaScript
python313 # High-level dynamically-typed programming language python313 # High-level dynamically-typed programming language
@ -34,8 +34,8 @@
gzdoom # Modder-friendly OpenGL and Vulkan source port based on the DOOM engine gzdoom # Modder-friendly OpenGL and Vulkan source port based on the DOOM engine
unstable.luanti # An open source voxel game engine (formerly Minetest) unstable.luanti # An open source voxel game engine (formerly Minetest)
prismlauncher # Free, open source launcher for Minecraft prismlauncher # Free, open source launcher for Minecraft
(retroarch.override { # Multi-platform emulator frontend for libretro cores (retroarch.withCores ( # Multi-platform emulator frontend for libretro cores
cores = with libretro; [ cores: with cores; [
blastem # Sega Genesis blastem # Sega Genesis
dosbox # MS-DOS dosbox # MS-DOS
easyrpg # RPG Maker 2000/2003 easyrpg # RPG Maker 2000/2003
@ -47,8 +47,8 @@
ppsspp # PlayStation Portable ppsspp # PlayStation Portable
snes9x # Super Nintendo Entertainment System snes9x # Super Nintendo Entertainment System
yabause # Sega Saturn yabause # Sega Saturn
]; ]
}) ))
steam-run # Run commands in the same FHS environment that is used for Steam steam-run # Run commands in the same FHS environment that is used for Steam
the-powder-toy # Free 2D physics sandbox game the-powder-toy # Free 2D physics sandbox game
uxn # Assembler and emulator for the Uxn stack machine uxn # Assembler and emulator for the Uxn stack machine
@ -69,11 +69,12 @@
cachix # Command-line client for Nix binary cache hosting 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 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 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 qbittorrent # Featureful free software BitTorrent client
slack # Desktop client for Slack slack # Desktop client for Slack
tiny # Console IRC client 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) yt-dlp # Command-line tool to download videos from YouTube.com and other sites (youtube-dl fork)
# system tools # system tools
android-tools # Android SDK platform tools android-tools # Android SDK platform tools
@ -95,13 +96,12 @@
xclip # Tool to access the X clipboard from a console application xclip # Tool to access the X clipboard from a console application
zellij # Terminal workspace with batteries included zellij # Terminal workspace with batteries included
# text editors # text editors
# TODO: remove unstable when you upgrade to 25.05 neovim # Vim text editor fork focused on extensibility and agility
unstable.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) vscodium # Open source source code editor developed by Microsoft for Windows, Linux and macOS (VS Code without MS branding/telemetry/licensing)
# audio # audio
alsa-utils # ALSA, the Advanced Linux Sound Architecture utils alsa-utils # ALSA, the Advanced Linux Sound Architecture utils
audacity # Sound editor with graphical UI 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......) # TODO: consider getting rid of this (no mpd support makes me sad......)
fooyin # Customisable music player fooyin # Customisable music player
mpc # Minimalist command line interface to MPD mpc # Minimalist command line interface to MPD
@ -123,7 +123,7 @@
yambar # Modular status panel for X11 and Wayland yambar # Modular status panel for X11 and Wayland
# misc # misc
anki # Spaced repetition flashcard program 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 kicad-small # Open Source Electronics Design Automation suite, without 3D models
mlt #! Open source multimedia framework, designed for television broadcasting (This is fucking stupid) 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 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 temurin-jre-bin-8 # Eclipse Temurin, prebuilt OpenJDK binary
vlc # Cross-platform media player and streaming server vlc # Cross-platform media player and streaming server
# programs to consider the retention of # 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 cemu-ti # Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features
flips # Patcher for IPS and BPS files # flips # Patcher for IPS and BPS files
ghidra # Software reverse engineering (SRE) suite of tools # ghidra # Software reverse engineering (SRE) suite of tools
libreoffice # Comprehensive, professional-quality productivity suite, a variant of openoffice.org 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 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 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 sunvox # Small, fast and powerful modular synthesizer with pattern-based sequencer
tilem # Emulator and debugger for Texas Instruments Z80-based graphing calculators # tilem # Emulator and debugger for Texas Instruments Z80-based graphing calculators
timeshift # System restore tool for Linux # timeshift # System restore tool for Linux
]; ];
services.flatpak.packages = [ services.flatpak.packages = [

View file

@ -80,7 +80,7 @@ in with lib; {
enable = cfg.graphics.display.x11.enable; enable = cfg.graphics.display.x11.enable;
xkb.layout = "us"; xkb.layout = "us";
windowManager = builtins.listToAttrs (builtins.map (x: { name = x; value = { enable = true; }; }) cfg.graphics.display.x11.windowManagers); 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 = { displayManager.sddm = {
enable = cfg.graphics.display.x11.enable; enable = cfg.graphics.display.x11.enable;